From 2a64b537e8e3bce9ce030585a3da17d48379c0ad Mon Sep 17 00:00:00 2001 From: sfd <sun.sunshine@163.com> Date: 星期一, 26 五月 2025 15:04:45 +0800 Subject: [PATCH] 修改json类型转换错误 --- aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlanTaskServiceImpl.java | 78 ++++++++++++++++++++++++++++---------- 1 files changed, 57 insertions(+), 21 deletions(-) diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlanTaskServiceImpl.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlanTaskServiceImpl.java index 6469be7..7965f89 100644 --- a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlanTaskServiceImpl.java +++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlanTaskServiceImpl.java @@ -1,7 +1,6 @@ package com.aps.core.service.impl; import cn.hutool.core.util.IdUtil; -import com.aps.common.core.domain.R; import com.aps.common.core.utils.DateUtils; import com.aps.common.core.web.domain.AjaxResult; import com.aps.common.redis.service.RedisLockUtils; @@ -10,9 +9,9 @@ import com.aps.core.enums.PLAN_TASK_TYPE; import com.aps.core.enums.REDIS_LOCK_KEY; import com.aps.core.mapper.ApsPlateStandardRequireOrderEndDayMapper; +import com.aps.core.service.ApsPlate.IApsPlateProcessShopStatService; import com.aps.core.service.ApsPlate.IApsPlateStandardRequireBatchService; import com.aps.core.service.ApsPlate.IApsPlateStandardRequireService; -import com.aps.core.service.ApsPlateStandardRequireOrderEndDayService; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -26,6 +25,7 @@ import static com.aps.common.core.web.domain.AjaxResult.success; import static com.aps.core.enums.REDIS_LOCK_KEY.PLATE_ORDER_PLAN; + /** * @author zhl @@ -50,6 +50,9 @@ @Resource ApsPlateStandardRequireOrderEndDayMapper orderEndDayMapper; + + @Resource + IApsPlateProcessShopStatService plateProcessShopStatService; @Override public Page<ApsPlanTask> pagingList(Page<ApsPlanTask> page ,ApsPlanTask task){ @@ -90,36 +93,69 @@ } @Override - public AjaxResult generatorPlan() - { + public AjaxResult generatorPlan() { String plateOrderPlanKey = PLATE_ORDER_PLAN.getKey(); boolean existsLock = redisLockUtils.existLock(plateOrderPlanKey, PLAN_TASK_TYPE.PLATE_PLAN.getCode()); - if (existsLock){ + if (existsLock) { return AjaxResult.warn("閽i噾宸ュ崟璁″垝浠诲姟姝e湪鎵ц涓�!"); } - LambdaQueryWrapper<ApsPlanTask> queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper.eq(ApsPlanTask::getTaskType,PLAN_TASK_TYPE.PLATE_PLAN.getCode()); - queryWrapper.eq(ApsPlanTask::getTaskStatus,PLAN_TASK_STATUS.IN_PROCESS.getCode()); + LambdaQueryWrapper<ApsPlanTask> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(ApsPlanTask::getTaskType, PLAN_TASK_TYPE.PLATE_PLAN.getCode()); + queryWrapper.eq(ApsPlanTask::getTaskStatus, PLAN_TASK_STATUS.IN_PROCESS.getCode()); boolean existsDbTask = mapper.exists(queryWrapper); - if (existsDbTask){ + if (existsDbTask) { return AjaxResult.warn("閽i噾宸ュ崟璁″垝浠诲姟姝e湪鎵ц涓�!!"); } + String currentBatchNum = requireBatchService.getNewBatchNumber(); try { - redisLockUtils.getLock(plateOrderPlanKey,PLAN_TASK_TYPE.PLATE_PLAN.getCode(), 3*60L); - String batchNum= requireBatchService.getNewBatchNumber(); - this.savePlanTask(batchNum); - apsPlateStandardRequireService.generatorPlan(batchNum); - this.updateTaskStatus(batchNum, PLAN_TASK_STATUS.FINISHED); + redisLockUtils.getLock(plateOrderPlanKey, PLAN_TASK_TYPE.PLATE_PLAN.getCode(), 15 * 60L); + this.savePlanTask(currentBatchNum); + //Thread.sleep(60*1000); + apsPlateStandardRequireService.generatorPlan(currentBatchNum); /*娓呴櫎宸茬粡瀛樺湪鐨� 宸ュ崟璁″垝瀹屽伐鏃堕棿*/ orderEndDayMapper.batchRemove(); - log.info("璁″垝浠诲姟鎵ц瀹屾垚!"+batchNum); + this.updateTaskStatus(currentBatchNum, PLAN_TASK_STATUS.FINISHED); + log.info("璁″垝浠诲姟鎵ц瀹屾垚!" + currentBatchNum); return success(); - }catch (Exception e){ - redisLockUtils.releaseLock(plateOrderPlanKey,PLAN_TASK_TYPE.PLATE_PLAN.getCode()); - log.error("璁″垝浠诲姟鎵ц澶辫触!"+e.getMessage()); - return AjaxResult.error("璁″垝浠诲姟鎵ц澶辫触!"+e.getMessage()); - }finally { - redisLockUtils.releaseLock(plateOrderPlanKey,PLAN_TASK_TYPE.PLATE_PLAN.getCode()); + } catch (Exception e) { + redisLockUtils.releaseLock(plateOrderPlanKey, PLAN_TASK_TYPE.PLATE_PLAN.getCode()); + log.error("璁″垝浠诲姟鎵ц澶辫触!" + e.getMessage()); + this.updateTaskStatus(currentBatchNum, PLAN_TASK_STATUS.ERROR); + return AjaxResult.error("璁″垝浠诲姟鎵ц澶辫触!" + e.getMessage()); + } finally { + redisLockUtils.releaseLock(plateOrderPlanKey, PLAN_TASK_TYPE.PLATE_PLAN.getCode()); + } + } + @Override + public AjaxResult generatorPlatePlanTable() { + String plateOrderPlanKey = REDIS_LOCK_KEY.PLATE_SHOP_PLAN_TABLE.getKey(); + boolean existsLock = redisLockUtils.existLock(plateOrderPlanKey, PLAN_TASK_TYPE.PLATE_SHOP_PLAN_TABLE.getCode()); + if (existsLock) { + return AjaxResult.warn("閽i噾璁″垝澶ц〃璁″垝浠诲姟姝e湪鎵ц涓�!"); + } + LambdaQueryWrapper<ApsPlanTask> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(ApsPlanTask::getTaskType, PLAN_TASK_TYPE.PLATE_SHOP_PLAN_TABLE.getCode()); + queryWrapper.eq(ApsPlanTask::getTaskStatus, PLAN_TASK_STATUS.IN_PROCESS.getCode()); + boolean existsDbTask = mapper.exists(queryWrapper); + if (existsDbTask) { + return AjaxResult.warn("閽i噾璁″垝澶ц〃浠诲姟姝e湪鎵ц涓�!!"); + } + String currentBatchNum = String.valueOf(IdUtil.getSnowflakeNextId()) ; + try { + redisLockUtils.getLock(plateOrderPlanKey, PLAN_TASK_TYPE.PLATE_SHOP_PLAN_TABLE.getCode(), 15 * 60L); + this.savePlanTask( currentBatchNum); + Thread.sleep(60000); + plateProcessShopStatService.saveShopStat(); + this.updateTaskStatus(currentBatchNum, PLAN_TASK_STATUS.FINISHED); + log.info("閽i噾璁″垝澶ц〃浠诲姟鎵ц瀹屾垚!" + currentBatchNum); + return success(); + } catch (Exception e) { + redisLockUtils.releaseLock(plateOrderPlanKey, PLAN_TASK_TYPE.PLATE_SHOP_PLAN_TABLE.getCode()); + log.error("閽i噾璁″垝澶ц〃浠诲姟鎵ц澶辫触!" + e.getMessage()); + this.updateTaskStatus(currentBatchNum, PLAN_TASK_STATUS.ERROR); + return AjaxResult.error("閽i噾璁″垝澶ц〃浠诲姟鎵ц澶辫触!" + e.getMessage()); + } finally { + redisLockUtils.releaseLock(plateOrderPlanKey, PLAN_TASK_TYPE.PLATE_SHOP_PLAN_TABLE.getCode()); } } -- Gitblit v1.9.3