From 1c8b2509fe7d990fd0b9f9ed6b338c6203d54758 Mon Sep 17 00:00:00 2001
From: 陶杰 <1378534974@qq.com>
Date: 星期一, 02 九月 2024 17:04:16 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master-v2' into master-v2
---
src/main/java/com/mzl/flower/mapper/point/CustomerPointDetailMapper.java | 2 +-
src/main/resources/mapper/point/CustomerPointDetailMapper.xml | 3 +++
src/main/定时任务说明.txt | 3 ++-
src/main/java/com/mzl/flower/schedule/PointScheduleService.java | 13 +++----------
src/main/java/com/mzl/flower/service/point/CustomerPointService.java | 12 +++++++-----
5 files changed, 16 insertions(+), 17 deletions(-)
diff --git a/src/main/java/com/mzl/flower/mapper/point/CustomerPointDetailMapper.java b/src/main/java/com/mzl/flower/mapper/point/CustomerPointDetailMapper.java
index 6482846..b1b6235 100644
--- a/src/main/java/com/mzl/flower/mapper/point/CustomerPointDetailMapper.java
+++ b/src/main/java/com/mzl/flower/mapper/point/CustomerPointDetailMapper.java
@@ -19,5 +19,5 @@
List<CustomerPointDetailVO> queryPage(@Param("dto") CustomerPointDetailQueryDTO dto, Page page);
- List<ExpiredPointDTO> tongjiExpiredPoint(@Param("lastYear") LocalDate lastYear);
+ List<ExpiredPointDTO> tongjiExpiredPoint(@Param("lastYear") LocalDate lastYear,@Param("userId") String userId);
}
diff --git a/src/main/java/com/mzl/flower/schedule/PointScheduleService.java b/src/main/java/com/mzl/flower/schedule/PointScheduleService.java
index ca05ac0..ad3cd3d 100644
--- a/src/main/java/com/mzl/flower/schedule/PointScheduleService.java
+++ b/src/main/java/com/mzl/flower/schedule/PointScheduleService.java
@@ -39,12 +39,12 @@
/**
* 定时计算用户过期积分
*/
- @Scheduled(cron = "0 20 9 * * ?")
+ @Scheduled(cron = "0 10 1 * * ?")
public void calculatingExpiredPoint() {
log.info("过期积分计算开始:" + DateFormatUtils.format(System.currentTimeMillis(), "yyyy-MM-dd HH:mm:ss"));
LocalDate now = LocalDate.now().minusDays(1);//前一天
LocalDate lastYear = now.minus(1, ChronoUnit.YEARS); // 日期减去一年
- List<ExpiredPointDTO> pointDTOS = customerPointDetailMapper.tongjiExpiredPoint(lastYear);
+ List<ExpiredPointDTO> pointDTOS = customerPointDetailMapper.tongjiExpiredPoint(lastYear,null);
if(pointDTOS != null && pointDTOS.size() > 0){
for (ExpiredPointDTO pointDTO : pointDTOS) {
if(pointDTO.getAddPoint().intValue()> pointDTO.getReducePoint().intValue()){ //积分增加大于减少
@@ -65,14 +65,7 @@
.eq(CustomerPoint::getCustomerId, pointDTO.getCustomerId())
.eq(CustomerPoint::getUserId, pointDTO.getUserId()));
if(customerPoint == null ){
- customerPoint = new CustomerPoint();
- customerPoint.setCustomerId(pointDTO.getCustomerId());
- customerPoint.setUserId(pointDTO.getUserId());
- customerPoint.setTotalPoint(0);
- customerPoint.setUsedPoint(0);
- customerPoint.setExpiredPoint(0);
- customerPoint.create("sys");
- customerPointMapper.insert(customerPoint);
+ log.error("用户积分记录不存在,userId={},customerId={}",pointDTO.getUserId(),pointDTO.getCustomerId());
}else {
customerPoint.setExpiredPoint(expiredPoint);
customerPointMapper.updateById(customerPoint);
diff --git a/src/main/java/com/mzl/flower/service/point/CustomerPointService.java b/src/main/java/com/mzl/flower/service/point/CustomerPointService.java
index 04800ee..a75a7a9 100644
--- a/src/main/java/com/mzl/flower/service/point/CustomerPointService.java
+++ b/src/main/java/com/mzl/flower/service/point/CustomerPointService.java
@@ -85,13 +85,15 @@
if(POINT_CHANGE_TYPE.add.name().equals(detail.getChangeType())){
point.setTotalPoint(point.getTotalPoint() + detail.getPoint());
}else if(POINT_CHANGE_TYPE.reduce.name().equals(detail.getChangeType())){
- if(point.getTotalPoint()!= null && point.getTotalPoint()!=0 && point.getTotalPoint()>= detail.getPoint()){
- point.setTotalPoint(point.getTotalPoint() - detail.getPoint());
+ Integer balancePoint = point.getTotalPoint() - point.getUsedPoint()-point.getExpiredPoint();//可用积分
+ balancePoint = balancePoint.intValue()>0?balancePoint.intValue():0;
+ if(balancePoint.intValue() >= detail.getPoint().intValue()){
+ point.setUsedPoint(point.getUsedPoint() + detail.getPoint());
}else{
//积分不足,直接清0
- point.setTotalPoint(0);
- detail.setPoint(point.getTotalPoint());
- detail.setRemarks(detail.getRemarks()+",积分不足,扣除剩余积分"+point.getTotalPoint());
+ point.setUsedPoint(point.getUsedPoint() + balancePoint);
+ detail.setPoint(balancePoint);
+ detail.setRemarks(detail.getRemarks()+",积分不足,扣除积分"+balancePoint);
}
}
if(isAdd){
diff --git a/src/main/resources/mapper/point/CustomerPointDetailMapper.xml b/src/main/resources/mapper/point/CustomerPointDetailMapper.xml
index 6e4689e..6c228fb 100644
--- a/src/main/resources/mapper/point/CustomerPointDetailMapper.xml
+++ b/src/main/resources/mapper/point/CustomerPointDetailMapper.xml
@@ -32,6 +32,9 @@
and p.record_date <= #{lastYear}
]]>
</if>
+ <if test="userId!=null and userId!=''">
+ and p.user_id = #{userId}
+ </if>
GROUP BY
p.user_id,
p.customer_id
diff --git "a/src/main/\345\256\232\346\227\266\344\273\273\345\212\241\350\257\264\346\230\216.txt" "b/src/main/\345\256\232\346\227\266\344\273\273\345\212\241\350\257\264\346\230\216.txt"
index f6775e5..4f7d204 100644
--- "a/src/main/\345\256\232\346\227\266\344\273\273\345\212\241\350\257\264\346\230\216.txt"
+++ "b/src/main/\345\256\232\346\227\266\344\273\273\345\212\241\350\257\264\346\230\216.txt"
@@ -6,4 +6,5 @@
6、计算上月供应商销售数量:每月1日凌晨执行一次
7、自动收货:每隔1小时执行一次
8、结算:每日凌晨0点钟执行
-9、确认转账:每隔10分钟执行一次
\ No newline at end of file
+9、确认转账:每隔10分钟执行一次
+10、统计过期积分:凌晨1:10执行一次
\ No newline at end of file
--
Gitblit v1.9.3