From 140400d4ddb11d30798dfe6083c345df488aa494 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Sun, 27 Sep 2020 11:24:38 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=9F=E8=83=BD=EF=BC=88=E8=8F=9C=E5=8D=95?= =?UTF-8?q?=EF=BC=89=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/permission.go | 32 +++++++++++++++++++- business/model/dao/permission.go | 27 +++++++++++++++++ business/partner/purchase/jx/localjx/user.go | 8 ++--- controllers/permission.go | 7 ++++- 4 files changed, 68 insertions(+), 6 deletions(-) create mode 100644 business/model/dao/permission.go diff --git a/business/jxstore/cms/permission.go b/business/jxstore/cms/permission.go index ece49fae8..4f8aad93d 100644 --- a/business/jxstore/cms/permission.go +++ b/business/jxstore/cms/permission.go @@ -1,10 +1,40 @@ package cms import ( + "fmt" + "git.rosy.net.cn/jx-callback/business/jxutils/jxcontext" "git.rosy.net.cn/jx-callback/business/model" + "git.rosy.net.cn/jx-callback/business/model/dao" ) func GetFunction(ctx *jxcontext.Context) (functions []*model.Function, err error) { - return functions, err + return dao.GetFunction(dao.GetDB(), "", 0) +} + +func AddFunction(ctx *jxcontext.Context, function *model.Function) (err error) { + var ( + db = dao.GetDB() + ) + if function == nil { + return fmt.Errorf("添加失败!function nil") + } + if function.Name == "" || function.Level == 0 { + return fmt.Errorf("添加失败!function 名称和等级必须有值!") + } + functions, err := dao.GetFunction(db, function.Name, function.Level) + if len(functions) > 0 { + return fmt.Errorf("添加失败!已存在相同名称的 fuction name : %v", function.Name) + } + dao.Begin(db) + defer func() { + if r := recover(); r != nil { + dao.Rollback(db) + panic(r) + } + }() + dao.WrapAddIDCULDEntity(&function, ctx.GetUserName()) + err = dao.CreateEntity(db, function) + dao.Commit(db) + return err } diff --git a/business/model/dao/permission.go b/business/model/dao/permission.go new file mode 100644 index 000000000..6e855f514 --- /dev/null +++ b/business/model/dao/permission.go @@ -0,0 +1,27 @@ +package dao + +import ( + "git.rosy.net.cn/baseapi/utils" + "git.rosy.net.cn/jx-callback/business/model" +) + +func GetFunction(db *DaoDB, name string, level int) (functions []*model.Function, err error) { + sql := ` + SELECT * + FROM function + WHERE deleted_at = ? + ` + sqlParams := []interface{}{ + utils.DefaultTimeValue, + } + if name != "" { + sql += " AND name LIKE ?" + sqlParams = append(sqlParams, "%"+name+"%") + } + if level != 0 { + sql += " AND level = ?" + sqlParams = append(sqlParams, level) + } + err = GetRows(db, &functions, sql, sqlParams) + return functions, err +} diff --git a/business/partner/purchase/jx/localjx/user.go b/business/partner/purchase/jx/localjx/user.go index 4c217a046..2ab7ef6c4 100644 --- a/business/partner/purchase/jx/localjx/user.go +++ b/business/partner/purchase/jx/localjx/user.go @@ -48,13 +48,13 @@ func GetJxShopUsers(ctx *jxcontext.Context, keyword string, offset, pageSize int sql += "LIMIT ? OFFSET ?" pageSize = jxutils.FormalizePageSize(pageSize) sqlParams = append(sqlParams, pageSize, offset) - for _, v := range requestList { - userMembers, _ := dao.GetUserMember(db, v.UserID, "", model.MemberTypeDiscountCard, model.YES) - v.UserMembers = userMembers - } dao.Begin(db) defer dao.Commit(db) if err = dao.GetRows(db, &requestList, sql, sqlParams...); err == nil { + for _, v := range requestList { + userMembers, _ := dao.GetUserMember(db, v.UserID, "", model.MemberTypeDiscountCard, model.YES) + v.UserMembers = userMembers + } return &model.PagedInfo{ TotalCount: dao.GetLastTotalRowCount(db), Data: requestList, diff --git a/controllers/permission.go b/controllers/permission.go index 607168c54..d29987630 100644 --- a/controllers/permission.go +++ b/controllers/permission.go @@ -1,7 +1,9 @@ package controllers import ( + "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/business/jxstore/cms" + "git.rosy.net.cn/jx-callback/business/model" "github.com/astaxie/beego" ) @@ -18,7 +20,10 @@ type PowerController struct { // @router /AddFunction [post] func (c *PowerController) AddFunction() { c.callAddFunction(func(params *tPowerAddFunctionParams) (retVal interface{}, errCode string, err error) { - + function := &model.Function{} + if err = utils.UnmarshalUseNumber([]byte(params.Payload), function); err == nil { + retVal, err = cms + } return retVal, "", err }) }