master
黄海 5 years ago
parent 76cd2283d9
commit 2fb372d5f5

@ -0,0 +1,68 @@
package BaseRoleDao
import (
"dsBaseRpc/RpcService/BaseRole/BaseRoleProto"
"dsBaseRpc/Utils/CommonUtil"
"dsBaseRpc/Utils/DbUtil"
"dsBaseRpc/Utils/SqlKit"
"dsBaseRpc/models"
"github.com/xormplus/builder"
)
var db = DbUtil.Engine
//批量增加
func AddBaseRole(ms models.TBaseRole) (int64, error) {
return db.Insert(ms)
}
//检查一个角色编码是不是已存在
func ExistRoleCode(roleCode string) (bool, error) {
sql := `select count(1) as c from t_base_role where b_use=1 and role_code=?`
list, err := db.SQL(sql, roleCode).Query().List()
if err != nil {
return false, err
}
c := list[0]["c"].(int32)
if c == 0 {
return false, nil
} else {
return true, nil
}
}
//更新
func UpdateBaseRole(model models.TBaseRole, ForceUpdateFields []string) (int64, error) {
//1、清除Redis缓存
var ids = []string{model.RoleId}
var selector = SqlKit.GetBean("t_base_role")
SqlKit.DeleteCacheByIds(ids, selector)
//2、计算本次操作有哪些字段需要更新
NeedUpdateFields := CommonUtil.GetNeedUpdateFields(model)
//3、合并强制更新的字段
ForceUpdateFields = append(ForceUpdateFields, NeedUpdateFields...)
//4、去重
ForceUpdateFields = CommonUtil.RemoveDuplicatesAndEmpty(ForceUpdateFields)
//5、更新操作,强制更新这些列
affected, err := db.ID(model.RoleId).Cols(ForceUpdateFields...).Update(model)
return affected, err
}
//分页查询
func PageBaseRole(in *BaseRoleProto.QueryArg) ([]map[string]interface{}, int32, error) {
//接收传入参数
var limit = int(in.Limit)
var offset = int((in.Page - 1) * in.Limit)
var myBuilder = builder.Dialect(builder.MYSQL).Select("t1.*").From("t_base_role as t1")
myBuilder.And(builder.Eq{"t1.app_id": in.AppId})
myBuilder.And(builder.Eq{"t1.identity_id": in.IdentityId})
//获取拼接完成的SQL语句
sql, err := myBuilder.OrderBy("t1.sort_id").Limit(limit, offset).ToBoundSQL()
if err != nil {
return nil, 0, err
}
//调用多查询字段通用方法
list, count, err := SqlKit.Query(sql)
return list, count, err
}

@ -1,16 +1,161 @@
package BaseRoleService
import (
"context"
"dsBaseRpc/Const"
"dsBaseRpc/Const/ErrorConst"
"dsBaseRpc/RpcService/BaseRole/BaseRoleDao"
"dsBaseRpc/RpcService/BaseRole/BaseRoleProto"
"dsBaseRpc/Utils/CommonUtil"
"dsBaseRpc/Utils/LogUtil"
"dsBaseRpc/Utils/SqlKit"
"dsBaseRpc/models"
"fmt"
)
type Rpc struct{} //服务对象
/*
//获取单条
rpc GetBaseRole (ModelArg) returns (Reply) {}
//选择单条
func (s *Rpc) GetBaseRole(ctx context.Context, in *BaseRoleProto.ModelArg) (*BaseRoleProto.Reply, error) {
//异常处理
defer func() {
if err := recover(); err != nil {
fmt.Printf("%s\n", err)
}
}()
//rpc响应
var reply BaseRoleProto.Reply
//通用获取单条
list := SqlKit.QueryByIds([]string{in.RoleId}, "t_base_role")
//将结果序列化
reply.Success = true
reply.Count = 1
reply.Message = Const.SuccessDataBaseAction
reply.List = CommonUtil.SerializeToString(list)
return &reply, nil
}
//增加
rpc AddBaseRole (ModelArg) returns (Reply) {}
//批量删除
rpc DeleteBaseRole (DeleteIdsArg) returns (Reply) {}
func (s *Rpc) AddBaseRole(ctx context.Context, in *BaseRoleProto.ModelArg) (*BaseRoleProto.Reply, error) {
//异常处理
defer func() {
if err := recover(); err != nil {
fmt.Printf("%s\n", err)
}
}()
//rpc响应
var reply BaseRoleProto.Reply
//调用dao
model := new(models.TBaseRole)
//检查一下RoleCode是不是已存在
exist, err := BaseRoleDao.ExistRoleCode(in.RoleCode)
if err != nil {
reply.Success = false
reply.Message = "检查角色代码是否存在时发生严重错误!"
return &reply, err
}
if exist {
reply.Success = false
reply.Message = "角色代码已存在!"
return &reply, nil
}
// 通过,则保存
model.RoleId = CommonUtil.GetUUID()
model.RoleName = in.RoleName
model.RoleCode = in.RoleCode
model.RoleLevel = in.RoleLevel
model.IdentityId = in.IdentityId
model.SortId = in.SortId
model.BUse = 1
//增加
_, err = BaseRoleDao.AddBaseRole(*model)
if err != nil {
reply.Success = false
reply.Message = Const.DataBaseActionError
LogUtil.Error(ErrorConst.SqlUpdateError, "执行AddBaseRole时发生严重错误"+err.Error())
} else {
reply.Success = true
reply.Message = Const.SuccessDataBaseAction
}
return &reply, err
}
//删除
func (s *Rpc) DeleteBaseRole(ctx context.Context, in *BaseRoleProto.DeleteIdsArg) (*BaseRoleProto.Reply, error) {
//异常处理
defer func() {
if err := recover(); err != nil {
fmt.Printf("%s\n", err)
}
}()
//rpc响应
var reply BaseRoleProto.Reply
//调用通用删除命令进行删除
err := SqlKit.DeleteIds("t_base_role", in.Ids)
//错误处理
if err != nil {
LogUtil.Error(ErrorConst.SqlUpdateError, "执行DeleteBaseRole时发生严重错误"+err.Error())
reply.Success = false
reply.Message = Const.DataBaseActionError
return &reply, err
}
reply.Success = true
reply.Message = Const.SuccessDataBaseAction
return &reply, err
}
//修改
rpc UpdateBaseRole (ModelArg) returns (Reply) {}
//查询(分页)
rpc PageBaseRole (QueryArg) returns (Reply) {}
*/
func (s *Rpc) UpdateBaseRole(ctx context.Context, in *BaseRoleProto.ModelArg) (*BaseRoleProto.Reply, error) {
//异常处理
defer func() {
if err := recover(); err != nil {
fmt.Printf("%s\n", err)
}
}()
//rpc响应
var reply BaseRoleProto.Reply
//修改
model := new(models.TBaseRole)
model.RoleId = in.RoleId
model.IdentityId = in.IdentityId
model.BUse = in.BUse
_, err := BaseRoleDao.UpdateBaseRole(*model, in.ForceUpdateFields)
//错误处理
if err != nil {
reply.Success = false
reply.Message = Const.DataBaseActionError
LogUtil.Error(ErrorConst.SqlUpdateError, "执行UpdateBaseRole时发生严重错误"+err.Error())
return &reply, err
}
reply.Success = true
reply.Message = Const.SuccessDataBaseAction
return &reply, nil
}
//分页查询
func (s *Rpc) PageBaseRole(ctx context.Context, in *BaseRoleProto.QueryArg) (*BaseRoleProto.Reply, error) {
//异常处理
defer func() {
if err := recover(); err != nil {
fmt.Printf("%s\n", err)
}
}()
//rpc响应
var reply BaseRoleProto.Reply
list, count, err := BaseRoleDao.PageBaseRole(in)
//错误处理
if err != nil {
reply.Success = false
reply.Message = Const.DataBaseActionError
LogUtil.Error(ErrorConst.SqlQueryError, "执行PageBaseRole时发生严重错误"+err.Error())
return &reply, err
}
reply.Count = count
reply.Success = true
reply.Message = Const.SuccessDataBaseAction
reply.List = CommonUtil.SerializeToString(list)
return &reply, nil
}

@ -120,7 +120,6 @@ func main() {
BaseRolePersonProto.RegisterBaseRolePersonManageServer(s, &BaseRolePersonService.Rpc{})
//职务
BasePositionProto.RegisterBasePositionManageServer(s, &BasePositionService.Rpc{})
//菜单
BaseMenuProto.RegisterBaseMenuManageServer(s, &BaseMenuService.Rpc{})
//角色

Loading…
Cancel
Save