DeptBalanceController.java 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. package com.ydtech.modules.admin.controller.deptBalance;
  2. import com.baomidou.mybatisplus.core.metadata.IPage;
  3. import com.ydtech.core.page.HttpResult;
  4. import com.ydtech.modules.admin.model.dto.DeptBalanceDto;
  5. import com.ydtech.modules.admin.model.dto.SysPartnerConsoleDto;
  6. import com.ydtech.modules.admin.model.vo.DeptBalanceVo;
  7. import com.ydtech.modules.admin.model.vo.PartnerBalanceVo;
  8. import com.ydtech.modules.admin.service.DeptBalanceService;
  9. import com.ydtech.modules.admin.utils.SliceUpDateUtil;
  10. import io.swagger.annotations.Api;
  11. import io.swagger.annotations.ApiOperation;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.web.bind.annotation.*;
  14. import java.util.Date;
  15. import java.util.HashMap;
  16. import java.util.List;
  17. @Api(tags = "机构管理费统计")
  18. @RequestMapping("/deptBalance")
  19. @RestController
  20. public class DeptBalanceController {
  21. @Autowired
  22. private DeptBalanceService deptBalanceService;
  23. /**
  24. * @version
  25. * @author: whp
  26. * @Date: 2024/08/14 9:04
  27. * @Description: 机构负责人统计
  28. */
  29. @PostMapping("deptLeaderStatistics")
  30. @ApiOperation(value = "机构负责人统计")
  31. public HttpResult<IPage<DeptBalanceDto>> queryDeptLeaderStatistics(@RequestBody DeptBalanceVo deptBalanceVo) {
  32. HashMap<String, String> map = getDateMapByType(deptBalanceVo.getDays(), deptBalanceVo.getBeginDate(), deptBalanceVo.getEndDate());
  33. deptBalanceVo.setBeginDate(map.get("startDate"));
  34. deptBalanceVo.setEndDate(map.get("endDate"));
  35. HttpResult<IPage<DeptBalanceDto>> result = deptBalanceService.queryDeptLeaderStatistics(deptBalanceVo);
  36. return result;
  37. }
  38. /**
  39. * @version
  40. * @author: whp
  41. * @Date: 2024/08/23 9:04
  42. * @Description: 合伙人统计
  43. */
  44. @PostMapping("queryPartnerStatistics")
  45. @ApiOperation(value = "合伙人统计")
  46. public HttpResult<IPage<SysPartnerConsoleDto>> queryPartnerStatistics(@RequestBody DeptBalanceVo deptBalanceVo) {
  47. HashMap<String, String> map = getDateMapByType(deptBalanceVo.getDays(), deptBalanceVo.getBeginDate(), deptBalanceVo.getEndDate());
  48. deptBalanceVo.setBeginDate(map.get("startDate"));
  49. deptBalanceVo.setEndDate(map.get("endDate"));
  50. HttpResult<IPage<SysPartnerConsoleDto>> result = deptBalanceService.queryPartnerStatistics(deptBalanceVo);
  51. return result;
  52. }
  53. /**
  54. * @version
  55. * @author: whp
  56. * @Date: 2024/08/26
  57. * @Description: 机构树形
  58. */
  59. @PostMapping("treeDeptUser")
  60. @ApiOperation(value = "机构用户树形")
  61. public HttpResult<List<SysPartnerConsoleDto>> getTreeDeptUser(@RequestBody PartnerBalanceVo deptBalanceVo) {
  62. List<SysPartnerConsoleDto> result = deptBalanceService.getTreeDeptUser(deptBalanceVo);
  63. return HttpResult.ok(result);
  64. }
  65. /**
  66. * @version
  67. * @author: whp
  68. * @Date: 2024/08/26
  69. * @Description: 钱包代理人
  70. */
  71. @PostMapping("walletAgent")
  72. @ApiOperation(value = "钱包代理人")
  73. public HttpResult<IPage<SysPartnerConsoleDto>> getWalletAgent(@RequestBody DeptBalanceVo deptBalanceVo) {
  74. HashMap<String, String> map = getDateMapByType(deptBalanceVo.getDays(), deptBalanceVo.getBeginDate(), deptBalanceVo.getEndDate());
  75. deptBalanceVo.setBeginDate(map.get("startDate"));
  76. deptBalanceVo.setEndDate(map.get("endDate"));
  77. IPage<SysPartnerConsoleDto> result = deptBalanceService.getWalletAgent(deptBalanceVo);
  78. return HttpResult.ok(result);
  79. }
  80. /**
  81. * @version
  82. * @author: hxl
  83. * @Date: 2024/6/19 11:57
  84. * @Description: 通过时间类型判断
  85. */
  86. private static HashMap<String,String> getDateMapByType(String type, String startDate, String endDate) {
  87. HashMap<String,String> map =new HashMap<>();
  88. String startDateStr="";
  89. String endDateStr="";
  90. if(org.apache.commons.lang3.StringUtils.isNotBlank(startDate) && org.apache.commons.lang3.StringUtils.isNotBlank(endDate)){
  91. startDateStr= org.apache.commons.lang3.StringUtils.isNotBlank(startDate)?startDate+" 00:00:00":null;
  92. endDateStr= org.apache.commons.lang3.StringUtils.isNotBlank(endDate)?endDate+" 23:59:59":null;
  93. }else{
  94. if("1".equals(type)){
  95. // 近1天
  96. startDateStr= SliceUpDateUtil.getBeforeDay(new Date(),0)+" 00:00:00";
  97. endDateStr=SliceUpDateUtil.getBeforeDay(new Date(),0)+" 23:59:59";
  98. }else if("2".equals(type)){
  99. // 近7天
  100. startDateStr=SliceUpDateUtil.getBeforeDay(new Date(),1)+" 00:00:00";
  101. endDateStr=SliceUpDateUtil.getBeforeDay(new Date(),0)+" 23:59:59";
  102. }else if("3".equals(type)){
  103. // 近30天
  104. startDateStr=SliceUpDateUtil.getBeforeDay(new Date(),6)+" 00:00:00";
  105. endDateStr=SliceUpDateUtil.getBeforeDay(new Date(),0)+" 23:59:59";
  106. }
  107. }
  108. map.put("startDate",startDateStr);
  109. map.put("endDate",endDateStr);
  110. return map;
  111. }
  112. }