浏览代码

fix: 月结二维码流程问题修复;

hanchaolong 2 天之前
父节点
当前提交
40f832c4df

+ 13 - 23
jd-logistics-modules/jd-logistics-system/src/main/java/com/ruoyi/logistics/service/impl/MonthQRCodeTaskServiceImpl.java

@@ -12,7 +12,6 @@ import com.ruoyi.common.core.utils.DateUtils;
 import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.common.redis.service.RedisIdGenerator;
 import com.ruoyi.common.redis.service.RedisService;
-import com.ruoyi.common.security.utils.SecurityUtils;
 import com.ruoyi.logistics.constant.RedisCacheConstants;
 import com.ruoyi.logistics.domain.BizFinancialFeeItems;
 import com.ruoyi.logistics.domain.BizMonthQrcodeRecord;
@@ -71,35 +70,26 @@ public class MonthQRCodeTaskServiceImpl implements IMonthQRCodeTaskService {
 
     @Override
     public void consumeQRCode() {
-//        Collection<String> keys = redisService.keys(RedisCacheConstants.MONTH_QRCODE_CACHE_KEY + "*");
-//        if (keys == null || keys.size() == 0) {
-//            return;
-//        }
-
-//        for (String key : keys) {
-//            MonthQRCodeDTO monthQRCodeDTO = redisService.getCacheObject(key);
-        BizMonthQrcodeRecord bizMonthQrcodeRecord = bizMonthQrcodeRecordMapper.selectBizMonthQrcodeRecordByQrcodeId(new Long("47"));
-        MonthQRCodeDTO monthQRCodeDTO = new MonthQRCodeDTO();
-        monthQRCodeDTO.setQrcodeId(bizMonthQrcodeRecord.getQrcodeId());
-        monthQRCodeDTO.setQrCodeContent(bizMonthQrcodeRecord.getQrcodeContent());
-        monthQRCodeDTO.setUserId(bizMonthQrcodeRecord.getUserId());
-        monthQRCodeDTO.setDeptId(bizMonthQrcodeRecord.getDeptId());
-        monthQRCodeDTO.setSource(bizMonthQrcodeRecord.getSource());
-        monthQRCodeDTO.setCreateTime(bizMonthQrcodeRecord.getCreateTime());
-
-
-        // 判断二维码是否在5分钟内生成的,如果是则给第三方处理数据缓冲时间,避免数据处理
+        Collection<String> keys = redisService.keys(RedisCacheConstants.MONTH_QRCODE_CACHE_KEY + "*");
+        if (keys == null || keys.size() == 0) {
+            return;
+        }
+
+        for (String key : keys) {
+            MonthQRCodeDTO monthQRCodeDTO = redisService.getCacheObject(key);
+
+            // 判断二维码是否在5分钟内生成的,如果是则给第三方处理数据缓冲时间,避免数据处理
             if (DateUtils.differentMinutes(monthQRCodeDTO.getCreateTime(), DateUtils.getNowDate()) < 5) {
-//                continue;
+                continue;
             }
 
             SysUser sysUser = sysUserMapper.selectUserById(monthQRCodeDTO.getUserId());
             SysDept sysDept = sysDeptMapper.selectDeptById(monthQRCodeDTO.getDeptId());
 
             if (1 == monthQRCodeDTO.getSource()) {
-                this.jdQRCodeConsume(monthQRCodeDTO, sysUser, sysDept, "1");
+                this.jdQRCodeConsume(monthQRCodeDTO, sysUser, sysDept, key);
             }
-//        }
+        }
     }
 
     private void jdQRCodeConsume(MonthQRCodeDTO monthQRCodeDTO, SysUser sysUser, SysDept sysDept, String key) {
@@ -181,7 +171,7 @@ public class MonthQRCodeTaskServiceImpl implements IMonthQRCodeTaskService {
 
             // 记录二维码处理次数
             monthQRCodeDTO.setProcessNum(monthQRCodeDTO.getProcessNum() + 1);
-//            redisService.setCacheObject(key, monthQRCodeDTO);
+            redisService.setCacheObject(key, monthQRCodeDTO);
 
             // 二维码处理次数大于等于5次,且已处理订单等于二维码包含订单数,则修改二维码状态为已处理
             if (monthQRCodeDTO.getProcessNum() >= 5 && monthQRCodeDTO.getProcessWaybillCodes().size() == response.getWaybillQRVerifyInfoList().size()) {