get_position_by_id_logic.go 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package position
  2. import (
  3. "context"
  4. "github.com/suyuan32/simple-admin-core/api/internal/svc"
  5. "github.com/suyuan32/simple-admin-core/api/internal/types"
  6. "github.com/suyuan32/simple-admin-core/rpc/types/core"
  7. "github.com/zeromicro/go-zero/core/logx"
  8. "github.com/suyuan32/simple-admin-common/i18n"
  9. )
  10. type GetPositionByIdLogic struct {
  11. logx.Logger
  12. ctx context.Context
  13. svcCtx *svc.ServiceContext
  14. }
  15. func NewGetPositionByIdLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetPositionByIdLogic {
  16. return &GetPositionByIdLogic{
  17. Logger: logx.WithContext(ctx),
  18. ctx: ctx,
  19. svcCtx: svcCtx,
  20. }
  21. }
  22. func (l *GetPositionByIdLogic) GetPositionById(req *types.IDReq) (resp *types.PositionInfoResp, err error) {
  23. data, err := l.svcCtx.CoreRpc.GetPositionById(l.ctx, &core.IDReq{Id: req.Id})
  24. if err != nil {
  25. return nil, err
  26. }
  27. return &types.PositionInfoResp{
  28. BaseDataInfo: types.BaseDataInfo{
  29. Code: 0,
  30. Msg: l.svcCtx.Trans.Trans(l.ctx, i18n.Success),
  31. },
  32. Data: types.PositionInfo{
  33. BaseIDInfo: types.BaseIDInfo{
  34. Id: data.Id,
  35. CreatedAt: data.CreatedAt,
  36. UpdatedAt: data.UpdatedAt,
  37. },
  38. Status: data.Status,
  39. Sort: data.Sort,
  40. Name: data.Name,
  41. Code: data.Code,
  42. Remark: data.Remark,
  43. },
  44. }, nil
  45. }