CpsApplyMoneyController.java 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. package com.cyksj.web.controller.cps;
  2. import com.cyksj.dto.Result;
  3. import com.cyksj.enums.GatewayResponse;
  4. import com.cyksj.mapper.UserMapper;
  5. import com.cyksj.mapper.manage.distribute.DistributeMoneyApplyMapper;
  6. import com.cyksj.model.entity.User;
  7. import com.cyksj.model.request.ApplyMoneyReq;
  8. import com.cyksj.model.views.CpsApplyMoneyView;
  9. import com.cyksj.model.views.CpsDistributeSubView;
  10. import com.cyksj.model.views.UserDistributeSubDetailView;
  11. import com.cyksj.model.views.UserSubApplyMoneyDetailView;
  12. import com.cyksj.service.pay.TransferFuncService;
  13. import com.cyksj.web.util.StpCpsManageUser;
  14. import com.ejlchina.searcher.BeanSearcher;
  15. import com.ejlchina.searcher.SearchResult;
  16. import com.ejlchina.searcher.util.MapBuilder;
  17. import com.ejlchina.searcher.util.MapUtils;
  18. import lombok.RequiredArgsConstructor;
  19. import org.springframework.web.bind.annotation.*;
  20. import javax.servlet.http.HttpServletRequest;
  21. import java.math.BigDecimal;
  22. /**
  23. * cps后台/提现中心
  24. * 项目名: yhlxj
  25. * 文件名: CpsApplyMoneyController
  26. * 创建者: JavaZou
  27. * 创建时间:2023/10/31 15:26
  28. */
  29. @RestController
  30. @RequestMapping("/cps/manage/applyMoney")
  31. @RequiredArgsConstructor
  32. public class CpsApplyMoneyController {
  33. private final TransferFuncService transferFuncService;
  34. private final BeanSearcher beanSearcher;
  35. private final DistributeMoneyApplyMapper distributeMoneyApplyMapper;
  36. private final UserMapper userMapper;
  37. private final HttpServletRequest request;
  38. /**
  39. * cps用户提现
  40. */
  41. @PostMapping
  42. public Result<String> applyMoney(@RequestBody ApplyMoneyReq applyMoneyReq) throws Exception {
  43. long cpsUserId = StpCpsManageUser.getLoginIdAsLong();
  44. applyMoneyReq.setUserId(cpsUserId);
  45. return transferFuncService.distributeApply(applyMoneyReq);
  46. }
  47. /**
  48. * 提现列表
  49. */
  50. @GetMapping("/get")
  51. public Result<SearchResult<CpsApplyMoneyView>> getApplyMoneyList() {
  52. long cpsUserId = StpCpsManageUser.getLoginIdAsLong();
  53. SearchResult<CpsApplyMoneyView> search = beanSearcher.search(CpsApplyMoneyView.class,
  54. MapUtils.flatBuilder(request.getParameterMap())
  55. .field(CpsApplyMoneyView::getUserId, cpsUserId)
  56. .build());
  57. return GatewayResponse.SUCCESS.newBuilder().toResult(search);
  58. }
  59. /**
  60. * 渠道关于下级渠道提现详情
  61. */
  62. @GetMapping("/get/sub/applyMoney/detail")
  63. public Result<UserSubApplyMoneyDetailView> getSubApplyMoneyDetail() {
  64. long cpsUserId = StpCpsManageUser.getLoginIdAsLong();
  65. UserSubApplyMoneyDetailView userSubApplyMoneyDetailView = new UserSubApplyMoneyDetailView();
  66. BigDecimal gotMoney = distributeMoneyApplyMapper.getSubGotAppyMoney(cpsUserId);
  67. userSubApplyMoneyDetailView.setGotMoney(gotMoney);
  68. User user = userMapper.selectById(cpsUserId);
  69. userSubApplyMoneyDetailView.setCanApplyMoney(user.getSubApplyMoney());
  70. return GatewayResponse.SUCCESS.newBuilder().toResult(userSubApplyMoneyDetailView);
  71. }
  72. /**
  73. * 下级渠道数据
  74. */
  75. @GetMapping("/get/sub")
  76. public Result<SearchResult<CpsDistributeSubView>> getSubDistributeData() {
  77. long cpsUserId = StpCpsManageUser.getLoginIdAsLong();
  78. MapBuilder builder = MapUtils.flatBuilder(request.getParameterMap());
  79. builder.put("uid", String.format("user_id = %s", cpsUserId));
  80. SearchResult<CpsDistributeSubView> search = beanSearcher.search(CpsDistributeSubView.class, builder.build());
  81. search.getDataList().forEach(data -> {
  82. data.setDetailView(beanSearcher.searchFirst(UserDistributeSubDetailView.class, MapUtils.builder().put("sid", data.getSubUserId()).build()));
  83. });
  84. return GatewayResponse.SUCCESS.newBuilder().toResult(search);
  85. }
  86. /**
  87. * 下级渠道奖金提现
  88. */
  89. @PostMapping("/sub")
  90. public Result<String> subApplyMoney(@RequestBody ApplyMoneyReq applyMoneyReq) throws Exception {
  91. long cpsUserId = StpCpsManageUser.getLoginIdAsLong();
  92. applyMoneyReq.setUserId(cpsUserId);
  93. return transferFuncService.subApplyMoney(applyMoneyReq);
  94. }
  95. }