From fa074e6bfce456256a4f9aa42c89e69a0582f6e7 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期三, 25 九月 2024 15:05:16 +0800 Subject: [PATCH] 大屏考核分数保留一位数 --- ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java | 20 +++++++++----------- 1 files changed, 9 insertions(+), 11 deletions(-) diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java index c156006..6f47e90 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java @@ -93,7 +93,7 @@ @Override @Transactional(rollbackFor = Exception.class) - //TODO锛歊edis鍔犻攣锛屼粠Redis璇诲彇褰撴棩宸ュ崟鏁版嵁閲� + //TODO锛氭竻绌篟edis瀹氭椂浠诲姟 public synchronized Boolean innerAddWorkOrder(List<WorkOrder> workOrderList) { int total = workOrderList.size(); workOrderList.stream().filter(item -> { @@ -199,7 +199,7 @@ // 濡傛灉鍗冲皢鐢熸垚宸ュ崟锛屼絾鏄澶囧浗鏍囩爜鏌ヤ笉鍒扮偣浣嶏紝鍒欎笉娣诲姞锛� List<WorkOrder> notAddList = new ArrayList<>(); //鏌edis浠婃棩宸ュ崟鏁伴噺 - int workOrderNum = 1; + int workOrderNum = 0; //UUID浣滀负value锛屼繚璇佷笂閿佺殑绾跨▼鑷繁瑙i攣 String requestId = IdUtils.fastSimpleUUID(); try { @@ -208,7 +208,7 @@ if (result) { //鏌ヤ粖鏃ュ伐鍗曢噺 Object redisNum = redisCache.getCacheObject(RedisConstant.WORKORDER_NUM); - workOrderNum = redisNum == null ? 1 : (Integer) redisNum; + workOrderNum = redisNum == null ? 0 : (Integer) redisNum; break; } else { if (i == 2) { @@ -216,16 +216,13 @@ return Boolean.FALSE; } //绛夊緟涓�娈垫椂闂村悗缁х画 - Thread.sleep(3000); + Thread.sleep(5000); } } } catch (InterruptedException e) { log.error("鑾峰彇閿佸紓甯�"); return Boolean.FALSE; - } finally { - redisCache.releaseLock(RedisConstant.WORKORDER_NUM_LOCK, requestId); } - for (WorkOrder workOrder : waitAddList) { YwPoint point = pointMapping.get(workOrder.getSerialNumber()); if (Objects.isNull(point)) { @@ -233,8 +230,8 @@ continue; } //鏁板瓧鍓嶉潰琛�0 - workOrder.setWorkOrderNo(IdUtils.randomNO(now, String.format("%05d", workOrderNum))); workOrderNum++; + workOrder.setWorkOrderNo(IdUtils.workOrderNO(now, String.format("%05d", workOrderNum))); if (Objects.nonNull(point.getUnitId())) { workOrder.setUnitId(Math.toIntExact(point.getUnitId())); } @@ -259,6 +256,7 @@ } //璁板綍宸ュ崟鏁� redisCache.setCacheObject(RedisConstant.WORKORDER_NUM, workOrderNum); + redisCache.releaseLock(RedisConstant.WORKORDER_NUM_LOCK, requestId); // 淇濆瓨宸ュ崟鍜屾晠闅滅被鍨� baseMapper.addMany(waitAddList); if (!CollectionUtils.isEmpty(waitAddErrorTypeList)) { @@ -302,6 +300,8 @@ //鏌ヤ粖鏃ュ伐鍗曢噺 Object redisNum = redisCache.getCacheObject(RedisConstant.WORKORDER_NUM); workOrderNum = redisNum == null ? 1 : (Integer) redisNum; + workOrderNum++; + redisCache.setCacheObject(RedisConstant.WORKORDER_NUM, workOrderNum); redisCache.releaseLock(RedisConstant.WORKORDER_NUM_LOCK, requestId); } else { return Result.error("宸ュ崟姝e湪娣诲姞锛岃绋嶅悗鍐嶈瘯"); @@ -312,9 +312,7 @@ Date now = new Date(); entity.setCreateTime(now); entity.setUpdateTime(now); - entity.setWorkOrderNo(IdUtils.randomNO(now, String.format("%05d", workOrderNum))); - workOrderNum++; - redisCache.setCacheObject(RedisConstant.WORKORDER_NUM, workOrderNum); + entity.setWorkOrderNo(IdUtils.workOrderNO(now, String.format("%05d", workOrderNum))); entity.setErrorType(String.join(",", form.getErrorType())); List<WorkOrderErrorType> workOrderErrorTypes = form.getErrorType().stream().map(errorType -> new WorkOrderErrorType(entity.getWorkOrderNo(), errorType)).toList(); workOrderErrorTypeService.getBaseMapper().insertWorkOrderErrorTypeList(workOrderErrorTypes); -- Gitblit v1.8.0