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