package BasePositionService import ( "context" "dsBaseRpc/Const" "dsBaseRpc/Const/ErrorConst" "dsBaseRpc/RpcService/BasePosition/BasePositionDao" "dsBaseRpc/RpcService/BasePosition/BasePositionProto" "dsBaseRpc/Utils/CommonUtil" "dsBaseRpc/Utils/LogUtil" "dsBaseRpc/Utils/SqlKit" "dsBaseRpc/models" "fmt" ) type Rpc struct{} //服务对象 //选择单条 func (s *Rpc) GetBasePosition(ctx context.Context, in *BasePositionProto.ModelArg) (*BasePositionProto.Reply, error) { //异常处理 defer func() { if err := recover(); err != nil { fmt.Printf("%s\n", err) } }() //统一返回的结构体 var reply BasePositionProto.Reply //通用获取单条 list := SqlKit.QueryByIds([]string{in.Id}, "t_base_position") //将结果序列化 reply.Success = true reply.Count = 1 reply.Message = Const.SuccessDataBaseAction reply.List = CommonUtil.SerializeToString(list) return &reply, nil } //增加 func (s *Rpc) AddBasePosition(ctx context.Context, in *BasePositionProto.ModelArg) (*BasePositionProto.Reply, error) { //异常处理 defer func() { if err := recover(); err != nil { fmt.Printf("%s\n", err) } }() //rpc响应 var reply BasePositionProto.Reply model := new(models.TBasePosition) model.Id = CommonUtil.GetUUID() model.NodeName = in.NodeName model.ParentId = in.ParentId model.AreaLevel = in.AreaLevel model.OrgType = in.OrgType model.Xxbxlxm = in.Xxbxlxm model.PostionFlag = 1 //职务肯定是1 //parent_id-->下-->找出最大的sort_id+1 model.SortId = in.SortId model.MaintainId = "011" //增加,删除,修改 model.BUse = 1 //调用dao _, err := BasePositionDao.AddBasePosition(*model) //错误处理 if err != nil { reply.Success = false reply.Message = "增加失败,请检查原因!" return &reply, err } reply.Success = true reply.Message = Const.SuccessDataBaseAction return &reply, nil } //删除 func (s *Rpc) DeleteBasePosition(ctx context.Context, in *BasePositionProto.DeleteIdsArg) (*BasePositionProto.Reply, error) { //异常处理 defer func() { if err := recover(); err != nil { fmt.Printf("%s\n", err) } }() //rpc响应 var reply BasePositionProto.Reply //调用通用删除命令进行删除 err := SqlKit.DeleteIds("t_base_position", in.Ids) //错误处理 if err != nil { LogUtil.Error(ErrorConst.SqlUpdateError, "执行DeleteBasePosition时发生严重错误:"+err.Error()) reply.Success = false reply.Message = Const.DataBaseActionError return &reply, err } reply.Success = true reply.Message = Const.SuccessDataBaseAction return &reply, err } //修改 func (s *Rpc) UpdateBasePosition(ctx context.Context, in *BasePositionProto.ModelArg) (*BasePositionProto.Reply, error) { //异常处理 defer func() { if err := recover(); err != nil { fmt.Printf("%s\n", err) } }() var reply BasePositionProto.Reply model := new(models.TBasePosition) //修改 model.Id = in.Id model.NodeName = in.NodeName model.SortId = in.SortId _, err := BasePositionDao.UpdateBasePosition(*model, []string{}) //错误处理 if err != nil { reply.Success = false reply.Message = Const.DataBaseActionError LogUtil.Error(ErrorConst.SqlUpdateError, "执行UpdateBasePosition时发生严重错误:"+err.Error()) return &reply, err } reply.Success = true reply.Message = Const.SuccessDataBaseAction return &reply, nil } //同步获取所有表中数据 func (s *Rpc) TreeBasePosition(ctx context.Context, in *BasePositionProto.QueryArg) (*BasePositionProto.Reply, error) { //异常处理 defer func() { if err := recover(); err != nil { fmt.Printf("%s\n", err) } }() var reply BasePositionProto.Reply list, count, err := BasePositionDao.TreeBasePosition() //错误处理 if err != nil { reply.Success = false reply.Message = Const.DataBaseActionError LogUtil.Error(ErrorConst.SqlQueryError, "执行TreeBasePosition时发生严重错误:"+err.Error()) return &reply, err } reply.Count = int32(count) reply.Success = true reply.Message = Const.SuccessDataBaseAction reply.List = CommonUtil.SerializeToString(list) return &reply, nil } //根据单位ID获取职务信息 func (s *Rpc) ListBasePositionByBureauId(ctx context.Context, in *BasePositionProto.ListBasePositionByBureauIdArg) (*BasePositionProto.Reply, error) { //异常处理 defer func() { if err := recover(); err != nil { fmt.Printf("%s\n", err) } }() var reply BasePositionProto.Reply list, count, err := BasePositionDao.ListBasePositionByBureauId(in) //错误处理 if err != nil { reply.Success = false reply.Message = Const.DataBaseActionError LogUtil.Error(ErrorConst.SqlQueryError, "执行ListBasePositionByBureauId时发生严重错误:"+err.Error()) return &reply, err } reply.Count = int32(count) reply.Success = true reply.Message = Const.SuccessDataBaseAction reply.List = CommonUtil.SerializeToString(list) return &reply, nil }