jiaosong
2023-10-25 c6faae18b9e8fa2bdf9e00aecac4e8152b09ef76
# 用户禁用
已修改4个文件
53 ■■■■■ 文件已修改
server/platform/src/main/java/com/doumee/task/ScheduleTool.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/core/utils/DateUtil.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/MemberRidesService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/platform/src/main/java/com/doumee/task/ScheduleTool.java
@@ -7,6 +7,7 @@
import com.doumee.core.utils.DateUtil;
import com.doumee.dao.business.model.Goodsorder;
import com.doumee.service.business.GoodsorderService;
import com.doumee.service.business.MemberRidesService;
import com.doumee.service.business.WxBillService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -39,6 +40,10 @@
    @Autowired
    private GoodsorderService goodsorderService;
    @Autowired
    private MemberRidesService memberRidesService;
    /**
     * @throws Exception
     */
@@ -53,11 +58,24 @@
     * 測試
     * @throws Exception
     */
    @Scheduled(cron = "0 0/1 * * * ?  ")
    @Scheduled(cron = "0 0 21 * * ? ")
    public void getYesterdayBill() throws Exception {
        log.info("=====================开始每天自动结算=======================");
        goodsorderService.autoCloseOrder();
        log.info("=====================结束每天自动结算=======================");
    }
    /**
     * 定时刷新骑行中的数充值未开锁失败
     * 30 秒刷新一次
     * @throws Exception
     */
    @Scheduled(cron = "0/30 * * * * ? ")
    public void autoRefreshLockStatus() throws Exception {
        log.info("=====================开始每天自动结算=======================");
        memberRidesService.autoRefreshLockStatus();
        log.info("=====================结束每天自动结算=======================");
    }
}
server/services/src/main/java/com/doumee/core/utils/DateUtil.java
@@ -3021,6 +3021,16 @@
        return (int)diff + 1 ;
    }
    public static Integer between(Date begin, Date end) {
        if(begin ==null ){
            return  0;
        }
        long createTime =begin.getTime();//获取创建时间的时间戳
        long currentTime =Objects.isNull(end)?System.currentTimeMillis():end.getTime();//获取当前时间的时间戳
        long diff=(currentTime-createTime)/1000/60;//获取两个时间相差的分钟
        return (int)diff;
    }
    /**
     * 计算耗时
server/services/src/main/java/com/doumee/service/business/MemberRidesService.java
@@ -139,4 +139,6 @@
    int mqttCloseBikeEvent(MemberRides bikes);
    int mqttLockInfoEvent(Locks locks);
    void autoRefreshLockStatus();
}
server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java
@@ -580,6 +580,27 @@
        return 0;
    }
    @Override
    public void autoRefreshLockStatus() {
        QueryWrapper<MemberRides> wrapper = new QueryWrapper<>();
        wrapper.lambda()
                .eq(MemberRides::getStatus,Constants.MEMBER_RIDES_STATUS.LOCKING)
                .eq(MemberRides::getIsdeleted,Constants.ZERO);
        List<MemberRides> memberRides = memberRidesMapper.selectList(wrapper);
        if (!CollectionUtils.isEmpty(memberRides)){
            memberRides.forEach(s->{
                Integer between = DateUtil.between(s.getCreateDate(), new Date());
                // 大于阈值
                if (between > 2){
                    s.setStatus(Constants.MEMBER_RIDES_STATUS.LOCKING_DEFEAT.getKey());
                    memberRidesMapper.updateById(s);
                }
            });
        }
    }
    private Bikes dealBikesByParam(Locks model) {
        if(StringUtils.isNotBlank(model.getBikeCode())){
            UpdateWrapper<Bikes> updateWrapper = new UpdateWrapper<>();