gc-core/src/main/java/com/xzx/gc/entity/ScoreOrder.java | ●●●●● patch | view | raw | blame | history | |
gc-shop/src/main/java/com/xzx/gc/shop/job/ShopJob.java | ●●●●● patch | view | raw | blame | history | |
gc-shop/src/main/java/com/xzx/gc/shop/mapper/ScoreOrderMapper.java | ●●●●● patch | view | raw | blame | history | |
gc-shop/src/main/java/com/xzx/gc/shop/service/JhyService.java | ●●●●● patch | view | raw | blame | history | |
gc-shop/src/main/java/com/xzx/gc/shop/service/OrderService.java | ●●●●● patch | view | raw | blame | history | |
gc-shop/src/main/resources/mapper/shop/ScoreOrderMapper.xml | ●●●●● patch | view | raw | blame | history | |
gc-shop/src/main/resources/sql | ●●●●● patch | view | raw | blame | history |
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; } gc-shop/src/main/java/com/xzx/gc/shop/job/ShopJob.java
New file @@ -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(); } } 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); } 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); 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()); } } } } 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> 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`;