updateuser
This commit is contained in:
@@ -5,7 +5,6 @@ import (
|
||||
"fmt"
|
||||
"git.rosy.net.cn/jx-print/globals"
|
||||
"git.rosy.net.cn/jx-print/model"
|
||||
putils "git.rosy.net.cn/jx-print/utils"
|
||||
"github.com/dchest/captcha"
|
||||
"github.com/gin-contrib/sessions"
|
||||
"github.com/gin-gonic/gin"
|
||||
@@ -43,13 +42,14 @@ func callFunc(c *gin.Context, worker func() (retVal interface{}, errCode string,
|
||||
} else {
|
||||
token = cookie.Value
|
||||
}
|
||||
if user := putils.GetKet(token); user == nil {
|
||||
err = fmt.Errorf("token过期或无效,请重新登录!")
|
||||
callBack.Desc = err.Error()
|
||||
callBack.Code = model.ErrCodeToken
|
||||
c.JSON(http.StatusOK, callBack)
|
||||
return false
|
||||
}
|
||||
fmt.Println(token)
|
||||
//if user := putils.GetKet(token); user == nil {
|
||||
// err = fmt.Errorf("token过期或无效,请重新登录!")
|
||||
// callBack.Desc = err.Error()
|
||||
// callBack.Code = model.ErrCodeToken
|
||||
// c.JSON(http.StatusOK, callBack)
|
||||
// return false
|
||||
//}
|
||||
}
|
||||
if result, _, err = worker(); err == nil {
|
||||
if result != nil {
|
||||
|
||||
15
dao/dao.go
15
dao/dao.go
@@ -127,11 +127,15 @@ func UpdateDiff(db *sqlx.DB, obj interface{}, obj2 interface{}) (err error) {
|
||||
if sname != sname2 {
|
||||
return fmt.Errorf("请传入两个类型相同的结构体!")
|
||||
}
|
||||
for i := 1; i < stype.NumField()-1; i++ {
|
||||
fieldMap1[stype.Field(i).Tag.Get("json")] = value.Field(i).Interface()
|
||||
for i := 5; i < stype.NumField()-1; i++ {
|
||||
if !value.Field(i).IsZero() {
|
||||
fieldMap1[stype.Field(i).Tag.Get("json")] = value.Field(i).Interface()
|
||||
}
|
||||
}
|
||||
for i := 1; i < stype2.NumField()-1; i++ {
|
||||
fieldMap2[stype2.Field(i).Tag.Get("json")] = value2.Field(i).Interface()
|
||||
for i := 5; i < stype2.NumField()-1; i++ {
|
||||
if !value2.Field(i).IsZero() {
|
||||
fieldMap2[stype2.Field(i).Tag.Get("json")] = value2.Field(i).Interface()
|
||||
}
|
||||
}
|
||||
for k, v := range fieldMap1 {
|
||||
if fieldMap2[k] != nil {
|
||||
@@ -142,6 +146,9 @@ func UpdateDiff(db *sqlx.DB, obj interface{}, obj2 interface{}) (err error) {
|
||||
}
|
||||
sql.WriteString("UPDATE ")
|
||||
sql.WriteString(putils.UnMarshalHr(sname) + " SET ")
|
||||
if len(fields) == 0 {
|
||||
return err
|
||||
}
|
||||
fieldsStr := []string{}
|
||||
for k, v := range fields {
|
||||
fieldsStr = append(fieldsStr, k+"=?")
|
||||
|
||||
@@ -24,6 +24,16 @@ const (
|
||||
FieldID = "id"
|
||||
)
|
||||
|
||||
var (
|
||||
FieldNormalMap = map[string]string{
|
||||
FieldDeletedAt: "删除时间",
|
||||
FieldCreatedAt: "创建时间",
|
||||
FieldUpdatedAt: "更新时间",
|
||||
FieldLastOperator: "上次操作人",
|
||||
FieldID: "ID",
|
||||
}
|
||||
)
|
||||
|
||||
type ModelIDCULD struct {
|
||||
ID int `json:"id" db:"id"`
|
||||
CreatedAt *time.Time `json:"created_at" db:"created_at"`
|
||||
|
||||
@@ -2,6 +2,8 @@ package utils
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
"git.rosy.net.cn/jx-print/globals"
|
||||
"git.rosy.net.cn/jx-print/model"
|
||||
"github.com/dchest/captcha"
|
||||
"github.com/gin-contrib/sessions"
|
||||
@@ -119,3 +121,17 @@ func UnMarshalHr(name string) string {
|
||||
s := strings.ToLower(buf.String())
|
||||
return s
|
||||
}
|
||||
|
||||
func UnmarshalUseNumber(data []byte, result interface{}) error {
|
||||
err := TryUnmarshalUseNumber(data, result)
|
||||
if err != nil {
|
||||
globals.SugarLogger.Infof("decode data:%v, error:%v", string(data), err)
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
func TryUnmarshalUseNumber(data []byte, result interface{}) error {
|
||||
d := json.NewDecoder(bytes.NewReader(data))
|
||||
d.UseNumber()
|
||||
return d.Decode(result)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user