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