get_credit_balance_by_id_logic.go 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. package credit_balance
  2. import (
  3. "context"
  4. "github.com/suyuan32/simple-admin-common/msg/errormsg"
  5. "github.com/suyuan32/simple-admin-common/utils/pointy"
  6. "github.com/suyuan32/simple-admin-core/rpc/types/core"
  7. "github.com/zeromicro/go-zero/core/logx"
  8. "wechat-api/internal/svc"
  9. "wechat-api/internal/types"
  10. )
  11. type GetCreditBalanceByIdLogic struct {
  12. ctx context.Context
  13. svcCtx *svc.ServiceContext
  14. logx.Logger
  15. }
  16. func NewGetCreditBalanceByIdLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetCreditBalanceByIdLogic {
  17. return &GetCreditBalanceByIdLogic{
  18. ctx: ctx,
  19. svcCtx: svcCtx,
  20. Logger: logx.WithContext(ctx),
  21. }
  22. }
  23. func (l *GetCreditBalanceByIdLogic) GetCreditBalanceById(req *types.IDReq) (*types.CreditBalanceInfoResp, error) {
  24. cbDao := l.svcCtx.WechatQ.CreditBalance
  25. query := cbDao.Where()
  26. if req.Id > 0 {
  27. query = query.Where(cbDao.ID.Eq(int64(req.Id)))
  28. }
  29. data, err := query.First()
  30. if err != nil {
  31. return nil, err
  32. }
  33. departmentInfo, err := l.svcCtx.CoreRpc.GetDepartmentById(l.ctx, &core.IDReq{Id: uint64(data.OrganizationID)})
  34. if err != nil {
  35. return nil, err
  36. }
  37. id := uint64(data.ID)
  38. status := int(data.Status)
  39. balance, _ := data.Balance.Float64()
  40. organizationId := uint64(data.OrganizationID)
  41. organizationName := *departmentInfo.Name
  42. return &types.CreditBalanceInfoResp{
  43. BaseDataInfo: types.BaseDataInfo{
  44. Code: 0,
  45. Msg: errormsg.Success,
  46. },
  47. Data: types.CreditBalanceInfo{
  48. BaseIDInfo: types.BaseIDInfo{
  49. Id: &id,
  50. CreatedAt: pointy.GetPointer(data.CreatedAt.UnixMilli()),
  51. UpdatedAt: pointy.GetPointer(data.UpdatedAt.UnixMilli()),
  52. },
  53. Status: &status,
  54. Balance: &balance,
  55. OrganizationId: &organizationId,
  56. OrganizationName: &organizationName,
  57. },
  58. }, nil
  59. //data, err := l.svcCtx.DB.CreditBalance.Get(l.ctx, req.Id)
  60. //if err != nil {
  61. // return nil, dberrorhandler.DefaultEntError(l.Logger, err, req)
  62. //}
  63. //
  64. //departmentInfo, err := l.svcCtx.CoreRpc.GetDepartmentById(l.ctx, &core.IDReq{Id: data.OrganizationID})
  65. //if err != nil {
  66. // return nil, err
  67. //}
  68. //return &types.CreditBalanceInfoResp{
  69. // BaseDataInfo: types.BaseDataInfo{
  70. // Code: 0,
  71. // Msg: errormsg.Success,
  72. // },
  73. // Data: types.CreditBalanceInfo{
  74. // BaseIDInfo: types.BaseIDInfo{
  75. // Id: &data.ID,
  76. // CreatedAt: pointy.GetPointer(data.CreatedAt.UnixMilli()),
  77. // UpdatedAt: pointy.GetPointer(data.UpdatedAt.UnixMilli()),
  78. // },
  79. // Status: &data.Status,
  80. // Balance: &data.Balance,
  81. // OrganizationId: &data.OrganizationID,
  82. // OrganizationName: departmentInfo.Name,
  83. // },
  84. //}, nil
  85. }