DeviceSimChargeController.java 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. package com.xy.controller;
  2. import cn.hutool.core.bean.BeanUtil;
  3. import cn.hutool.core.collection.CollUtil;
  4. import com.xy.annotate.RestMappingController;
  5. import com.xy.dto.DeviceSimChargeDto;
  6. import com.xy.dto.DeviceSimDto;
  7. import com.xy.service.DeviceSimChargeServiceImpl;
  8. import com.xy.service.DeviceSimServiceImpl;
  9. import com.xy.util.ExcelUtils;
  10. import com.xy.utils.MercAuthUtils;
  11. import com.xy.utils.PageBean;
  12. import com.xy.utils.R;
  13. import io.swagger.annotations.Api;
  14. import io.swagger.annotations.ApiOperation;
  15. import lombok.AllArgsConstructor;
  16. import org.springframework.stereotype.Service;
  17. import org.springframework.validation.annotation.Validated;
  18. import org.springframework.web.bind.annotation.PostMapping;
  19. import org.springframework.web.bind.annotation.RequestBody;
  20. import javax.servlet.http.HttpServletResponse;
  21. import javax.validation.Valid;
  22. import java.io.IOException;
  23. import java.util.List;
  24. @Service
  25. @AllArgsConstructor
  26. @Api(tags = "小程序-设备流量卡充值表")
  27. @RestMappingController("merc-mini/deviceSimCharge")
  28. public class DeviceSimChargeController {
  29. private DeviceSimChargeServiceImpl deviceSimChargeService;
  30. private DeviceSimServiceImpl deviceSimService;
  31. @PostMapping("page")
  32. @ApiOperation("分页查询")
  33. public R<PageBean<DeviceSimChargeDto.Vo>> page(@RequestBody DeviceSimChargeDto.Page page) {
  34. page.setMercId(MercAuthUtils.getMercId());
  35. return deviceSimChargeService.page(page);
  36. }
  37. @ApiOperation("商管端-月统计分页")
  38. @PostMapping("mercMoonCountPage")
  39. public R<PageBean<DeviceSimChargeDto.MoonCountVo>> mercMoonCountPage(@RequestBody DeviceSimChargeDto.MoonCountPage moonCountPage) {
  40. moonCountPage.setMercIds(CollUtil.newArrayList(MercAuthUtils.getMercId()));
  41. return deviceSimChargeService.moonCountPage(moonCountPage);
  42. }
  43. @PostMapping("deviceSimDetailPage")
  44. @ApiOperation("商管端-流量卡明细")
  45. public R<PageBean<DeviceSimDto.PageVo>> deviceSimDetailPage(@RequestBody @Validated DeviceSimDto.Page page) {
  46. page.setMercId(MercAuthUtils.getMercId());
  47. return deviceSimService.page(page);
  48. }
  49. @PostMapping("mySpendPage")
  50. @ApiOperation("财务管理-支出管理-流量卡费明细")
  51. public R<PageBean<DeviceSimChargeDto.MySpendPageVO>> mySpendPage(@RequestBody @Validated DeviceSimChargeDto.PageByTopMerc page) {
  52. page.setCurMercId(MercAuthUtils.getMercId());
  53. return deviceSimChargeService.mySpendPage(page);
  54. }
  55. @ApiOperation("财务管理-支出管理-流量卡费明细")
  56. @PostMapping("exportMySpendPage")
  57. public void exportMySpendPage(HttpServletResponse response, @RequestBody @Valid DeviceSimChargeDto.PageByTopMerc page) throws IOException {
  58. page.setCurMercId(MercAuthUtils.getMercId());
  59. R<PageBean<DeviceSimChargeDto.MySpendPageVO>> data = deviceSimChargeService.mySpendPage(page);
  60. List<DeviceSimChargeDto.MySpendPageVO> records = data.getData().getRecords();
  61. if (CollUtil.isNotEmpty(records)) {
  62. for (DeviceSimChargeDto.MySpendPageVO record : records) {
  63. Integer status = record.getStatus();
  64. if (status.intValue() != 2) {
  65. record.setCreateTime(null);
  66. }
  67. }
  68. }
  69. List<DeviceSimChargeDto.SpendPageExcelVo> deviceExcelVOS = BeanUtil.copyToList(records, DeviceSimChargeDto.SpendPageExcelVo.class);
  70. // 输出
  71. ExcelUtils.write(response, "流量卡费用明细.xls", "流量卡费用明细", DeviceSimChargeDto.SpendPageExcelVo.class, deviceExcelVOS);
  72. }
  73. @PostMapping("mySpendPageCount")
  74. @ApiOperation("财务管理-支出管理-流量卡费统计")
  75. public R<Integer> mySpendPageCount(@RequestBody @Validated DeviceSimChargeDto.PageByTopMerc page) {
  76. page.getPage().setSize(-1);
  77. page.setCurMercId(MercAuthUtils.getMercId());
  78. PageBean<DeviceSimChargeDto.MySpendPageVO> pageVoPageBean = R.feignCheckData(deviceSimChargeService.mySpendPage(page));
  79. List<DeviceSimChargeDto.MySpendPageVO> records = pageVoPageBean.getRecords();
  80. int totaMoney = 0;
  81. if (CollUtil.isNotEmpty(records)) {
  82. for (DeviceSimChargeDto.MySpendPageVO r : records) {
  83. totaMoney += r.getMoney();
  84. }
  85. }
  86. return R.ok(totaMoney);
  87. }
  88. @PostMapping("pageByTopMerc")
  89. @ApiOperation("加盟商-服务费管理-流量卡费明细")
  90. public R<PageBean<DeviceSimChargeDto.PageByTopMercVO>> pageByTopMerc(@RequestBody @Validated DeviceSimChargeDto.PageByTopMerc page) {
  91. page.setCurMercId(MercAuthUtils.getMercId());
  92. return deviceSimChargeService.pageByTopMerc(page);
  93. }
  94. @PostMapping("pageByTopMercCount")
  95. @ApiOperation("加盟商-服务费管理-流量卡费佣金统计")
  96. public R<Integer> pageByTopMercCount(@RequestBody @Validated DeviceSimChargeDto.PageByTopMerc page) {
  97. page.getPage().setSize(-1);
  98. page.setCurMercId(MercAuthUtils.getMercId());
  99. PageBean<DeviceSimChargeDto.PageByTopMercVO> pageVoPageBean = R.feignCheckData(deviceSimChargeService.pageByTopMerc(page));
  100. if (pageVoPageBean == null) {
  101. return R.ok(0);
  102. }
  103. List<DeviceSimChargeDto.PageByTopMercVO> records = pageVoPageBean.getRecords();
  104. int totalAgentMoney = 0;
  105. if (CollUtil.isNotEmpty(records)) {
  106. for (DeviceSimChargeDto.PageByTopMercVO r : records) {
  107. totalAgentMoney += r.getAgentMoney();
  108. }
  109. }
  110. return R.ok(totalAgentMoney);
  111. }
  112. @ApiOperation("加盟商-服务费管理-流量卡明细导出")
  113. @PostMapping("exportPageByTopMerc")
  114. public void exportPageByTopMerc(HttpServletResponse response, @RequestBody @Valid DeviceSimChargeDto.PageByTopMerc page) throws IOException {
  115. page.setCurMercId(MercAuthUtils.getMercId());
  116. R<PageBean<DeviceSimChargeDto.PageByTopMercVO>> data = deviceSimChargeService.pageByTopMerc(page);
  117. List<DeviceSimChargeDto.PageByTopMercVO> records = data.getData().getRecords();
  118. if (CollUtil.isNotEmpty(records)) {
  119. for (DeviceSimChargeDto.PageByTopMercVO record : records) {
  120. Integer status = record.getStatus();
  121. if (status.intValue() != 2) {
  122. record.setCreateTime(null);
  123. }
  124. }
  125. }
  126. List<DeviceSimChargeDto.PageExcelVo> deviceExcelVOS = BeanUtil.copyToList(records, DeviceSimChargeDto.PageExcelVo.class);
  127. // 输出
  128. ExcelUtils.write(response, "流量卡费用明细.xls", "流量卡费用明细", DeviceSimChargeDto.PageExcelVo.class, deviceExcelVOS);
  129. }
  130. }