xiaoyong931011
2021-11-17 7c4afff8f6e3a011a4c24526fdd616f60cb3ef45
20211117
6 files modified
1 files added
72 ■■■■■ changed files
gc-core/src/main/java/com/xzx/gc/entity/ScoreOrder.java 5 ●●●●● patch | view | raw | blame | history
gc-shop/src/main/java/com/xzx/gc/shop/job/ShopJob.java 25 ●●●●● patch | view | raw | blame | history
gc-shop/src/main/java/com/xzx/gc/shop/mapper/ScoreOrderMapper.java 4 ●●●● patch | view | raw | blame | history
gc-shop/src/main/java/com/xzx/gc/shop/service/JhyService.java 5 ●●●●● patch | view | raw | blame | history
gc-shop/src/main/java/com/xzx/gc/shop/service/OrderService.java 15 ●●●●● patch | view | raw | blame | history
gc-shop/src/main/resources/mapper/shop/ScoreOrderMapper.xml 15 ●●●●● patch | view | raw | blame | history
gc-shop/src/main/resources/sql 3 ●●●●● 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 &gt;= #{qgStartTime}
          and a.CREATED_TIME &lt;= #{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 &lt;= #{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`;