package com.ydtech.modules.admin.controller.deptBalance; import com.baomidou.mybatisplus.core.metadata.IPage; import com.ydtech.core.page.HttpResult; import com.ydtech.modules.admin.model.dto.DeptBalanceDto; import com.ydtech.modules.admin.model.dto.SysPartnerConsoleDto; import com.ydtech.modules.admin.model.vo.DeptBalanceVo; import com.ydtech.modules.admin.model.vo.PartnerBalanceVo; import com.ydtech.modules.admin.service.DeptBalanceService; import com.ydtech.modules.admin.utils.SliceUpDateUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.Date; import java.util.HashMap; import java.util.List; @Api(tags = "机构管理费统计") @RequestMapping("/deptBalance") @RestController public class DeptBalanceController { @Autowired private DeptBalanceService deptBalanceService; /** * @version * @author: whp * @Date: 2024/08/14 9:04 * @Description: 机构负责人统计 */ @PostMapping("deptLeaderStatistics") @ApiOperation(value = "机构负责人统计") public HttpResult> queryDeptLeaderStatistics(@RequestBody DeptBalanceVo deptBalanceVo) { HashMap map = getDateMapByType(deptBalanceVo.getDays(), deptBalanceVo.getBeginDate(), deptBalanceVo.getEndDate()); deptBalanceVo.setBeginDate(map.get("startDate")); deptBalanceVo.setEndDate(map.get("endDate")); HttpResult> result = deptBalanceService.queryDeptLeaderStatistics(deptBalanceVo); return result; } /** * @version * @author: whp * @Date: 2024/08/23 9:04 * @Description: 合伙人统计 */ @PostMapping("queryPartnerStatistics") @ApiOperation(value = "合伙人统计") public HttpResult> queryPartnerStatistics(@RequestBody DeptBalanceVo deptBalanceVo) { HashMap map = getDateMapByType(deptBalanceVo.getDays(), deptBalanceVo.getBeginDate(), deptBalanceVo.getEndDate()); deptBalanceVo.setBeginDate(map.get("startDate")); deptBalanceVo.setEndDate(map.get("endDate")); HttpResult> result = deptBalanceService.queryPartnerStatistics(deptBalanceVo); return result; } /** * @version * @author: whp * @Date: 2024/08/26 * @Description: 机构树形 */ @PostMapping("treeDeptUser") @ApiOperation(value = "机构用户树形") public HttpResult> getTreeDeptUser(@RequestBody PartnerBalanceVo deptBalanceVo) { List result = deptBalanceService.getTreeDeptUser(deptBalanceVo); return HttpResult.ok(result); } /** * @version * @author: whp * @Date: 2024/08/26 * @Description: 钱包代理人 */ @PostMapping("walletAgent") @ApiOperation(value = "钱包代理人") public HttpResult> getWalletAgent(@RequestBody DeptBalanceVo deptBalanceVo) { HashMap map = getDateMapByType(deptBalanceVo.getDays(), deptBalanceVo.getBeginDate(), deptBalanceVo.getEndDate()); deptBalanceVo.setBeginDate(map.get("startDate")); deptBalanceVo.setEndDate(map.get("endDate")); IPage result = deptBalanceService.getWalletAgent(deptBalanceVo); return HttpResult.ok(result); } /** * @version * @author: hxl * @Date: 2024/6/19 11:57 * @Description: 通过时间类型判断 */ private static HashMap getDateMapByType(String type, String startDate, String endDate) { HashMap map =new HashMap<>(); String startDateStr=""; String endDateStr=""; if(org.apache.commons.lang3.StringUtils.isNotBlank(startDate) && org.apache.commons.lang3.StringUtils.isNotBlank(endDate)){ startDateStr= org.apache.commons.lang3.StringUtils.isNotBlank(startDate)?startDate+" 00:00:00":null; endDateStr= org.apache.commons.lang3.StringUtils.isNotBlank(endDate)?endDate+" 23:59:59":null; }else{ if("1".equals(type)){ // 近1天 startDateStr= SliceUpDateUtil.getBeforeDay(new Date(),0)+" 00:00:00"; endDateStr=SliceUpDateUtil.getBeforeDay(new Date(),0)+" 23:59:59"; }else if("2".equals(type)){ // 近7天 startDateStr=SliceUpDateUtil.getBeforeDay(new Date(),1)+" 00:00:00"; endDateStr=SliceUpDateUtil.getBeforeDay(new Date(),0)+" 23:59:59"; }else if("3".equals(type)){ // 近30天 startDateStr=SliceUpDateUtil.getBeforeDay(new Date(),6)+" 00:00:00"; endDateStr=SliceUpDateUtil.getBeforeDay(new Date(),0)+" 23:59:59"; } } map.put("startDate",startDateStr); map.put("endDate",endDateStr); return map; } }