|
|
package BaseRoleMenuService
|
|
|
|
|
|
import (
|
|
|
"context"
|
|
|
"dsBaseRpc/Const"
|
|
|
"dsBaseRpc/Const/ErrorConst"
|
|
|
"dsBaseRpc/RpcService/BaseRoleMenu/BaseRoleMenuDao"
|
|
|
"dsBaseRpc/RpcService/BaseRoleMenu/BaseRoleMenuProto"
|
|
|
"dsBaseRpc/Utils/CommonUtil"
|
|
|
"dsBaseRpc/Utils/LogUtil"
|
|
|
"dsBaseRpc/models"
|
|
|
"fmt"
|
|
|
)
|
|
|
|
|
|
type Rpc struct{} //服务对象
|
|
|
|
|
|
//获取角色菜单对应关系
|
|
|
func (s *Rpc) GetBaseRoleMenuCorr(ctx context.Context, in *BaseRoleMenuProto.GetCorrArg) (*BaseRoleMenuProto.Reply, error) {
|
|
|
//异常处理
|
|
|
defer func() {
|
|
|
if err := recover(); err != nil {
|
|
|
fmt.Printf("%s\n", err)
|
|
|
}
|
|
|
}()
|
|
|
//rpc响应
|
|
|
var reply BaseRoleMenuProto.Reply
|
|
|
list, count, err := BaseRoleMenuDao.GetBaseRoleMenuCorr(in)
|
|
|
//错误处理
|
|
|
if err != nil {
|
|
|
reply.Success = false
|
|
|
reply.Message = Const.DataBaseActionError
|
|
|
LogUtil.Error(ErrorConst.SqlQueryError, "执行GetBaseRoleMenuCorr时发生严重错误:"+err.Error())
|
|
|
return &reply, err
|
|
|
}
|
|
|
reply.Count = count
|
|
|
reply.Success = true
|
|
|
reply.Message = Const.SuccessDataBaseAction
|
|
|
reply.List = CommonUtil.SerializeToString(list)
|
|
|
return &reply, nil
|
|
|
}
|
|
|
|
|
|
//设置角色菜单对应关系
|
|
|
func (s *Rpc) SetBaseRoleMenuCorr(ctx context.Context, in *BaseRoleMenuProto.SetCorrArg) (*BaseRoleMenuProto.Reply, error) {
|
|
|
//异常处理
|
|
|
defer func() {
|
|
|
if err := recover(); err != nil {
|
|
|
fmt.Printf("%s\n", err)
|
|
|
}
|
|
|
}()
|
|
|
//声明实体数组
|
|
|
modelArray := make([]models.TBaseRoleMenu, 0)
|
|
|
|
|
|
for i := 0; i < len(in.MenuIds); i++ {
|
|
|
model := new(models.TBaseRoleMenu)
|
|
|
model.Id = CommonUtil.GetUUID()
|
|
|
model.MenuId = in.MenuIds[i]
|
|
|
model.RoleId = in.RoleId
|
|
|
model.BUse = 1
|
|
|
//添加到实体数组
|
|
|
modelArray = append(modelArray, *model)
|
|
|
}
|
|
|
//rpc响应
|
|
|
var reply BaseRoleMenuProto.Reply
|
|
|
//删除指定角色的所有菜单关系
|
|
|
BaseRoleMenuDao.DeleteRoleMenuCorr(in.RoleId)
|
|
|
//批量增加
|
|
|
_, err := BaseRoleMenuDao.SetBaseRoleMenuCorr(modelArray)
|
|
|
if err != nil {
|
|
|
reply.Success = false
|
|
|
reply.Message = Const.DataBaseActionError
|
|
|
LogUtil.Error(ErrorConst.SqlUpdateError, "执行SetBaseRoleMenuCorr时发生严重错误:"+err.Error())
|
|
|
} else {
|
|
|
reply.Success = true
|
|
|
reply.Message = Const.SuccessDataBaseAction
|
|
|
}
|
|
|
return &reply, nil
|
|
|
}
|