功能(菜单)接口

This commit is contained in:
苏尹岚
2020-09-27 11:24:38 +08:00
parent 542968ee85
commit 140400d4dd
4 changed files with 68 additions and 6 deletions

View File

@@ -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
}

View File

@@ -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
}

View File

@@ -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,

View File

@@ -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
})
}