From 7c4afff8f6e3a011a4c24526fdd616f60cb3ef45 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Wed, 17 Nov 2021 15:03:51 +0800
Subject: [PATCH] 20211117
---
gc-shop/src/main/java/com/xzx/gc/shop/service/JhyService.java | 5 +-
gc-shop/src/main/resources/sql | 3 +
gc-shop/src/main/java/com/xzx/gc/shop/job/ShopJob.java | 25 ++++++++++++
gc-core/src/main/java/com/xzx/gc/entity/ScoreOrder.java | 5 ++
gc-shop/src/main/java/com/xzx/gc/shop/mapper/ScoreOrderMapper.java | 4 ++
gc-shop/src/main/java/com/xzx/gc/shop/service/OrderService.java | 15 +++++++
gc-shop/src/main/resources/mapper/shop/ScoreOrderMapper.xml | 15 +++++++
7 files changed, 70 insertions(+), 2 deletions(-)
diff --git a/gc-core/src/main/java/com/xzx/gc/entity/ScoreOrder.java b/gc-core/src/main/java/com/xzx/gc/entity/ScoreOrder.java
index febd1c7..3ffbf8c 100644
--- a/gc-core/src/main/java/com/xzx/gc/entity/ScoreOrder.java
+++ b/gc-core/src/main/java/com/xzx/gc/entity/ScoreOrder.java
@@ -1,10 +1,12 @@
package com.xzx.gc.entity;
+import com.fasterxml.jackson.annotation.JsonFormat;
import com.xzx.gc.common.entity.BaseEntity;
import lombok.Data;
import javax.persistence.Table;
import java.math.BigDecimal;
+import java.util.Date;
/**
* @author wzy
@@ -44,5 +46,8 @@
public static final Integer ISFINISH_YES = 1;
public static final Integer ISFINISH_NO = 2;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date isFinishTime;
+
private String remark;
}
diff --git a/gc-shop/src/main/java/com/xzx/gc/shop/job/ShopJob.java b/gc-shop/src/main/java/com/xzx/gc/shop/job/ShopJob.java
new file mode 100644
index 0000000..3e47177
--- /dev/null
+++ b/gc-shop/src/main/java/com/xzx/gc/shop/job/ShopJob.java
@@ -0,0 +1,25 @@
+package com.xzx.gc.shop.job;
+
+import com.xzx.gc.shop.service.OrderService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+
+@EnableAsync
+@Slf4j
+@Component
+public class ShopJob {
+
+ @Resource
+ private OrderService orderService;
+ /**
+ 时间是每1个小时变动一次
+ */
+ @Scheduled(cron = "0 0 0/1 * * ?")
+ public void changeOrderStatue() {
+ orderService.changeOrderStatue();
+ }
+}
diff --git a/gc-shop/src/main/java/com/xzx/gc/shop/mapper/ScoreOrderMapper.java b/gc-shop/src/main/java/com/xzx/gc/shop/mapper/ScoreOrderMapper.java
index 8de12ef..ff605af 100644
--- a/gc-shop/src/main/java/com/xzx/gc/shop/mapper/ScoreOrderMapper.java
+++ b/gc-shop/src/main/java/com/xzx/gc/shop/mapper/ScoreOrderMapper.java
@@ -37,4 +37,8 @@
@Param("goodsId")Long id,
@Param("qgStartTime")Date qgStartTime,
@Param("qgEndTime")Date qgEndTime);
+
+ List<ScoreOrder> selectOrderByIsFinish(@Param("dateTime")Date dateTime);
+
+ void updateOrderStatusToDone(@Param("id") Long id);
}
diff --git a/gc-shop/src/main/java/com/xzx/gc/shop/service/JhyService.java b/gc-shop/src/main/java/com/xzx/gc/shop/service/JhyService.java
index 87fd537..e594674 100644
--- a/gc-shop/src/main/java/com/xzx/gc/shop/service/JhyService.java
+++ b/gc-shop/src/main/java/com/xzx/gc/shop/service/JhyService.java
@@ -154,14 +154,15 @@
Integer jhyUserCnt = jhyOrderMapper.selectJhyOrderCnt(userId);
Integer allCnt = scoreOrderMapper.selectScoreOrderCnt(null);
+ Integer userCnt = scoreOrderMapper.selectScoreOrderCnt(userId);
BigDecimal score = jhyOrderMapper.selectTotalScoreHasGet(userId);
StatisticsVo result = new StatisticsVo();
result.setTotalReduceCarbon(allCarbon.divide(BigDecimal.valueOf(1000), 2, BigDecimal.ROUND_DOWN));
result.setReduceCarbon(userCarbon.setScale(2, BigDecimal.ROUND_DOWN));
- result.setOrderCnt(qsUserCnt + jhyUserCnt);
- result.setTotalOrderCnt(qsAllCnt + jhyAllCnt);
+ result.setOrderCnt(qsUserCnt + jhyUserCnt + userCnt);
+ result.setTotalOrderCnt(qsAllCnt + jhyAllCnt + allCnt);
result.setTotalBuyCnt(allCnt);
result.setScore(score);
diff --git a/gc-shop/src/main/java/com/xzx/gc/shop/service/OrderService.java b/gc-shop/src/main/java/com/xzx/gc/shop/service/OrderService.java
index 501c1f7..0f4a660 100644
--- a/gc-shop/src/main/java/com/xzx/gc/shop/service/OrderService.java
+++ b/gc-shop/src/main/java/com/xzx/gc/shop/service/OrderService.java
@@ -2,6 +2,8 @@
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert;
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.fasterxml.jackson.databind.DeserializationFeature;
@@ -198,6 +200,7 @@
}
// scoreOrder.setStatus(ScoreOrder.STATUS_DONE);
scoreOrder.setIsFinish(ScoreOrder.ISFINISH_YES);
+ scoreOrder.setIsFinishTime(new Date());
scoreOrder.setVoucherImg(CollUtil.join(model.getVoucherImgs(),","));
scoreOrderMapper.updateByPrimaryKeySelective(scoreOrder);
return scoreOrder.getId();
@@ -490,4 +493,16 @@
statisticsVo.setTotalBuyCnt(Integer.parseInt(allData.get("totalBuy").toString()));
return statisticsVo;
}
+
+ public void changeOrderStatue() {
+ //获取七天之前后台点击确认提货的订单
+ DateTime dateTime = DateUtil.offsetDay(new Date(), -7);
+ //
+ List<ScoreOrder> orders = scoreOrderMapper.selectOrderByIsFinish(dateTime);
+ if(CollUtil.isNotEmpty(orders)){
+ for(ScoreOrder order : orders){
+ scoreOrderMapper.updateOrderStatusToDone(order.getId());
+ }
+ }
+ }
}
diff --git a/gc-shop/src/main/resources/mapper/shop/ScoreOrderMapper.xml b/gc-shop/src/main/resources/mapper/shop/ScoreOrderMapper.xml
index 4dcd053..fb8685a 100644
--- a/gc-shop/src/main/resources/mapper/shop/ScoreOrderMapper.xml
+++ b/gc-shop/src/main/resources/mapper/shop/ScoreOrderMapper.xml
@@ -142,4 +142,19 @@
and a.CREATED_TIME >= #{qgStartTime}
and a.CREATED_TIME <= #{qgEndTime}
</select>
+
+ <select id="selectOrderByIsFinish" resultType="com.xzx.gc.entity.ScoreOrder">
+ select
+ a.*
+ from xzx_score_order a
+ where a.is_finish = 1
+ and a.status = 2
+ and a.is_finish_time <= #{dateTime}
+ </select>
+
+ <update id="updateOrderStatusToDone">
+ update xzx_score_order
+ set status = 4
+ where id = #{id}
+ </update>
</mapper>
diff --git a/gc-shop/src/main/resources/sql b/gc-shop/src/main/resources/sql
index 5827971..48eefe5 100644
--- a/gc-shop/src/main/resources/sql
+++ b/gc-shop/src/main/resources/sql
@@ -104,6 +104,9 @@
ALTER TABLE `xzx_jhy_order`
ADD COLUMN `house_number` varchar(32) NULL COMMENT '门牌号' AFTER `unit_name`;
+ALTER TABLE `xzx_score_order`
+ADD COLUMN `is_finish_time` datetime NULL COMMENT '确认提货时间' AFTER `is_finish`;
+
--
Gitblit v1.9.1