get_position_list_logic.go 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  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 GetPositionListLogic struct {
  11. logx.Logger
  12. ctx context.Context
  13. svcCtx *svc.ServiceContext
  14. }
  15. func NewGetPositionListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetPositionListLogic {
  16. return &GetPositionListLogic{
  17. Logger: logx.WithContext(ctx),
  18. ctx: ctx,
  19. svcCtx: svcCtx,
  20. }
  21. }
  22. func (l *GetPositionListLogic) GetPositionList(req *types.PositionListReq) (resp *types.PositionListResp, err error) {
  23. data, err := l.svcCtx.CoreRpc.GetPositionList(l.ctx,
  24. &core.PositionListReq{
  25. Page: req.Page,
  26. PageSize: req.PageSize,
  27. Name: req.Name,
  28. Code: req.Code,
  29. Remark: req.Remark,
  30. })
  31. if err != nil {
  32. return nil, err
  33. }
  34. resp = &types.PositionListResp{}
  35. resp.Msg = l.svcCtx.Trans.Trans(l.ctx, i18n.Success)
  36. resp.Data.Total = data.GetTotal()
  37. for _, v := range data.Data {
  38. resp.Data.Data = append(resp.Data.Data,
  39. types.PositionInfo{
  40. BaseIDInfo: types.BaseIDInfo{
  41. Id: v.Id,
  42. CreatedAt: v.CreatedAt,
  43. UpdatedAt: v.UpdatedAt,
  44. },
  45. Trans: l.svcCtx.Trans.Trans(l.ctx, *v.Name),
  46. Status: v.Status,
  47. Sort: v.Sort,
  48. Name: v.Name,
  49. Code: v.Code,
  50. Remark: v.Remark,
  51. })
  52. }
  53. return resp, nil
  54. }