package schedule
|
|
|
|
import (
|
|
common "LAPP_LF_MOM_BACKEND/models/base"
|
|
"log"
|
|
"reflect"
|
|
"strings"
|
|
"time"
|
|
)
|
|
|
|
// 基于时间单位获取秒数
|
|
func GetTimeUomSeconds(uomId string)(seconds float64){
|
|
seconds = 0
|
|
switch strings.ToUpper(uomId) {
|
|
case common.TIME_UOM_WEEK:
|
|
seconds = 7 * 24 * 3600
|
|
case common.TIME_UOM_DAY:
|
|
seconds = 24 * 3600
|
|
case common.TIME_UOM_HOUR:
|
|
seconds = 3600
|
|
case common.TIME_UOM_MINUTE:
|
|
seconds = 60
|
|
case common.TIME_UOM_SECOND:
|
|
seconds = 1
|
|
}
|
|
|
|
return
|
|
}
|
|
|
|
// 设置表的更新时间
|
|
func SetTableLastModify(sp interface{},s interface{}, setMode string, lastUser string){
|
|
var (
|
|
hasLastmodify, hasLastuser, hasCreatetime bool
|
|
)
|
|
|
|
avp := reflect.ValueOf(sp)
|
|
av := reflect.ValueOf(s)
|
|
at := reflect.TypeOf(s)
|
|
// 简单判断下是否为结构体
|
|
if at.Kind() != reflect.Struct {
|
|
log.Printf("s must be a struct")
|
|
return
|
|
}
|
|
// 判断是否有LastModify
|
|
hasLastmodify = false
|
|
hasLastuser = false
|
|
hasCreatetime = false
|
|
avp = reflect.ValueOf(avp.Interface())
|
|
|
|
for i := 0; i < av.NumField(); i++ {
|
|
if at.Field(i).Name == "Lastmodify" {
|
|
hasLastmodify = true
|
|
}
|
|
if at.Field(i).Name == "Lastuser" {
|
|
hasLastuser = true
|
|
}
|
|
if at.Field(i).Name == "Createtime" {
|
|
hasCreatetime = true
|
|
}
|
|
}
|
|
if hasLastmodify && hasLastuser && hasCreatetime {
|
|
switch setMode {
|
|
case common.MODIFY_MODE_CREATE:
|
|
f1 := avp.Elem().FieldByName("Createtime")
|
|
f1.Set(reflect.ValueOf(time.Now()))
|
|
f2 := avp.Elem().FieldByName("Lastuser")
|
|
if lastUser != ""{
|
|
f2.Set(reflect.ValueOf(lastUser))
|
|
}else{
|
|
f2.Set(reflect.ValueOf("sys_service"))
|
|
}
|
|
|
|
case common.MODIFY_MODE_UPDATE:
|
|
f1 := avp.Elem().FieldByName("Lastmodify")
|
|
f1.Set(reflect.ValueOf(time.Now()))
|
|
f2 := avp.Elem().FieldByName("Lastuser")
|
|
if lastUser != ""{
|
|
f2.Set(reflect.ValueOf(lastUser))
|
|
}else{
|
|
f2.Set(reflect.ValueOf("sys_service"))
|
|
}
|
|
|
|
case common.MODIFY_MODE_DELETE:
|
|
}
|
|
}
|
|
}
|
|
|