## Opt - 市场动态部分代码

This commit is contained in:
sangelxiu1 2025-06-13 15:06:26 +08:00
parent 8a87410289
commit f74abd210f
5 changed files with 73 additions and 2 deletions

View File

@ -5,6 +5,7 @@ import com.hzs.common.core.web.controller.BaseController;
import com.hzs.common.core.web.domain.AjaxResult; import com.hzs.common.core.web.domain.AjaxResult;
import com.hzs.common.core.web.page.TableDataInfo; import com.hzs.common.core.web.page.TableDataInfo;
import com.hzs.common.security.utils.SecurityUtils; import com.hzs.common.security.utils.SecurityUtils;
import com.hzs.retail.member.param.MarketDynamicsQueryDateParam;
import com.hzs.retail.member.service.ICuMemberRetailAchieveService; import com.hzs.retail.member.service.ICuMemberRetailAchieveService;
import com.hzs.retail.member.vo.CuMemberRetailAchieveVO; import com.hzs.retail.member.vo.CuMemberRetailAchieveVO;
import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsResultVO; import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsResultVO;
@ -174,4 +175,13 @@ public class ApiRetailHomePageController extends BaseController {
List<CuMemberRetailAchieveVO> retailAchieveVOList = retailAchieveService.selectMemberSmallBoxList(cuMemberRetailAchieveVO); List<CuMemberRetailAchieveVO> retailAchieveVOList = retailAchieveService.selectMemberSmallBoxList(cuMemberRetailAchieveVO);
return getDataTable(retailAchieveVOList); return getDataTable(retailAchieveVOList);
} }
/**
* 市场动态
*/
@PostMapping("/market-dynamics")
public AjaxResult getMarketDynamics(@RequestBody MarketDynamicsQueryDateParam param) {
retailAchieveService.getMarketDynamics(param);
return AjaxResult.success();
}
} }

View File

@ -0,0 +1,37 @@
package com.hzs.retail.member.param;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
/**
* 市场动态查询参数
*/
public class MarketDynamicsQueryDateParam implements Serializable {
private Long pkId;
private String nowDate;
private String lastMonthDate;
/**
* 本月日结表名
*/
private String currentMonthTableName;
/**
*
*/
private String lastMonthTableName;
private String currentDayTableName;
/**
* 查询条件 (会员编号/会员姓名)
*/
private String keyWords;
private Integer pageNum = 1;
private Integer pageSize = 10;
}

View File

@ -2,9 +2,11 @@ package com.hzs.retail.member.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.hzs.common.domain.member.achieve.CuMemberRetailRange; import com.hzs.common.domain.member.achieve.CuMemberRetailRange;
import com.hzs.retail.member.param.MarketDynamicsQueryDateParam;
import com.hzs.retail.member.vo.CuMemberRetailAchieveVO; import com.hzs.retail.member.vo.CuMemberRetailAchieveVO;
import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsDetailVO; import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsDetailVO;
import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsResultVO; import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsResultVO;
import com.hzs.retail.member.vo.MarketDynamicsDetailVO;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -111,4 +113,6 @@ public interface ICuMemberRetailAchieveService extends IService<CuMemberRetailRa
* @return * @return
*/ */
CuMemberRetailDataStatisticsResultVO getRetailDataStatisticsDetail(Long pkMember, Integer pkCountry, Integer systemType); CuMemberRetailDataStatisticsResultVO getRetailDataStatisticsDetail(Long pkMember, Integer pkCountry, Integer systemType);
List<MarketDynamicsDetailVO> getMarketDynamics(MarketDynamicsQueryDateParam param);
} }

View File

@ -596,10 +596,11 @@ public class CuMemberRetailAchieveServiceImpl extends ServiceImpl<CuMemberRetail
} }
private String getDayTableName(String localDate) { private String getDayTableName(String localDate) {
int period = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(localDate).getPkId(); CuMemberSettlePeriod cuMemberSettlePeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(localDate);
if(ObjectUtil.isEmpty(period)){ if(ObjectUtil.isEmpty(cuMemberSettlePeriod)){
return null; return null;
} }
int period = cuMemberSettlePeriod.getPkId();
return TableNameConstants.CU_MEMBER_RETAIL_RANGE + period; return TableNameConstants.CU_MEMBER_RETAIL_RANGE + period;
} }

View File

@ -3,11 +3,16 @@ package com.hzs.retail.member.utils;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.hzs.common.core.enums.EYesNo; import com.hzs.common.core.enums.EYesNo;
import com.hzs.common.domain.member.base.CuMember; import com.hzs.common.domain.member.base.CuMember;
import com.hzs.retail.member.param.MarketDynamicsQueryDateParam;
import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsDetailVO; import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsDetailVO;
import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsResultVO; import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsResultVO;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.RoundingMode; import java.math.RoundingMode;
import java.time.LocalDate;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAdjusters;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Comparator; import java.util.Comparator;
import java.util.List; import java.util.List;
@ -230,4 +235,18 @@ public class DataStatisticsUtil {
RoundingMode.FLOOR RoundingMode.FLOOR
); );
} }
public static void setQueryDateParam(MarketDynamicsQueryDateParam param){
LocalDate.now(ZoneId.of("Asia/Shanghai"));
LocalDate currentDate = LocalDate.now();
LocalDate previousMonthDate = currentDate.minusMonths(1);
LocalDate lastDayOfPreviousMonth = previousMonthDate.with(TemporalAdjusters.lastDayOfMonth());
param.setNowDate(currentDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
param.setLastMonthDate(lastDayOfPreviousMonth.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
// System.out.println("当前日期: " + currentDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
// System.out.println("上一个月最后一天: " + lastDayOfPreviousMonth.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
// return MarketDynamicsQueryDateParam.builder()
// .nowDate(currentDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")))
// .lastMonthDate(lastDayOfPreviousMonth.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")))
// .build();
}
} }