From 3022f77259a934c45b5bfb2ee49bca229f925f9e Mon Sep 17 00:00:00 2001 From: erdanergou Date: Mon, 13 Mar 2023 13:52:16 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9token=E4=B8=8Ekey=E9=AA=8C?= =?UTF-8?q?=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/StockTakingController.java | 55 +++++++++++++++++++ .../service/impl/StockTakingServiceImpl.java | 3 + .../depository_manage/TestForOther.java | 6 +- 3 files changed, 62 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/dreamchaser/depository_manage/controller/StockTakingController.java b/src/main/java/com/dreamchaser/depository_manage/controller/StockTakingController.java index 2ecb9ce6..2e290d12 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/StockTakingController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/StockTakingController.java @@ -20,6 +20,7 @@ import com.dreamchaser.depository_manage.utils.CrudUtil; import com.dreamchaser.depository_manage.utils.DateUtil; import com.dreamchaser.depository_manage.utils.Md5; import com.dreamchaser.depository_manage.utils.ObjectFormatUtil; +import org.apache.ibatis.jdbc.Null; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.web.bind.annotation.*; @@ -350,6 +351,8 @@ public class StockTakingController { int success = 0; int size = 0; if (keys != null && keys.size() > 0) { + Object mainId = null; + size = keys.size(); // 定义用于插入的盘点记录 Map param = new HashMap<>(); @@ -397,6 +400,7 @@ public class StockTakingController { param.remove("id"); } + mainId = param.get("mainId"); redisTemplateForHash.opsForHash().put(key, "flagForSubmit", "true"); } } @@ -405,7 +409,58 @@ public class StockTakingController { success = stockTakingService.insertStockTakingByMaterial(map, keys, userToken); } + + // 用于设置企业微信接收人 + String departmentManagerId = (String) map.get("departmentManager"); + StringBuilder QyWxDepartmentManager = new StringBuilder(); + String[] split = departmentManagerId.split(","); + for (String s : split) { + if ("".equals(s)) { + continue; + } + UserByPort departmentManager = PortConfig.findUserByPortByNumber(s); +// QyWxDepartmentManager.append(departmentManager.getWorkwechat()+","); + } + QyWxDepartmentManager.append("PangFuZhen"); + if(map.containsKey("mainIdList")){ + List mainIdList = (List) map.get("mainIdList"); + for (Object main:mainIdList + ) { + new Thread(new Runnable() { + @Override + public void run() { + JSONObject jsonObject = qyWxOperationService.sendApprovalTemplateStockTaking(crypt, userToken, ObjectFormatUtil.toInteger(main), QyWxDepartmentManager.toString()); + String sp_no = jsonObject.getString("sp_no"); + Map QyWxApprovalMap = new HashMap<>(); + QyWxApprovalMap.put("sp_no", sp_no); + QyWxApprovalMap.put("mainId", main.toString()); + redisTemplateForHash.opsForHash().putAll(sp_no, QyWxApprovalMap); + // 设置过期时间为7天 + redisTemplateForHash.expire(sp_no, 7, TimeUnit.DAYS); + } + }).start(); + } + }else{ + // 用于发送审批 + Object finalMainId = mainId; + new Thread(new Runnable() { + @Override + public void run() { + JSONObject jsonObject = qyWxOperationService.sendApprovalTemplateStockTaking(crypt, userToken, ObjectFormatUtil.toInteger(finalMainId), QyWxDepartmentManager.toString()); + String sp_no = jsonObject.getString("sp_no"); + Map QyWxApprovalMap = new HashMap<>(); + QyWxApprovalMap.put("sp_no", sp_no); + QyWxApprovalMap.put("mainId", finalMainId.toString()); + redisTemplateForHash.opsForHash().putAll(sp_no, QyWxApprovalMap); + // 设置过期时间为7天 + redisTemplateForHash.expire(sp_no, 7, TimeUnit.DAYS); + } + }).start(); + } + + } + return CrudUtil.putHandle(success, size); } } diff --git a/src/main/java/com/dreamchaser/depository_manage/service/impl/StockTakingServiceImpl.java b/src/main/java/com/dreamchaser/depository_manage/service/impl/StockTakingServiceImpl.java index 48f2036d..477afc34 100644 --- a/src/main/java/com/dreamchaser/depository_manage/service/impl/StockTakingServiceImpl.java +++ b/src/main/java/com/dreamchaser/depository_manage/service/impl/StockTakingServiceImpl.java @@ -170,6 +170,7 @@ public class StockTakingServiceImpl implements StockTakingService { } } if (paramForDepositoryAndPid.size() > 0) { + List mainIdList = new ArrayList<>(); Set strings = paramForDepositoryAndPid.keySet(); for (String string : strings ) { @@ -213,7 +214,9 @@ public class StockTakingServiceImpl implements StockTakingService { redisTemplate.opsForHash().put(key, "flagForSubmit", "true"); } + mainIdList.add(param.get("mainId")); } + map.put("mainIdList",mainIdList); } return success; } diff --git a/src/test/java/com/dreamchaser/depository_manage/TestForOther.java b/src/test/java/com/dreamchaser/depository_manage/TestForOther.java index 67b41b56..b94140f9 100644 --- a/src/test/java/com/dreamchaser/depository_manage/TestForOther.java +++ b/src/test/java/com/dreamchaser/depository_manage/TestForOther.java @@ -7,6 +7,7 @@ import com.dreamchaser.depository_manage.pojo.callBackXml.approvalCallBackXml.Ap import com.dreamchaser.depository_manage.pojo.callBackXml.approvalCallBackXml.ApprovalInfo_Details; import com.dreamchaser.depository_manage.pojo.callBackXml.approvalCallBackXml.ApprovalInfo_Details_Approver; import com.dreamchaser.depository_manage.service.DepositoryRecordService; +import com.dreamchaser.depository_manage.service.StockTakingService; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; @@ -28,7 +29,7 @@ public class TestForOther { RedisTemplate redisTemplate; @Autowired - DepositoryRecordService depositoryRecordService; + StockTakingService stockTakingService; @Test public void run() { @@ -36,6 +37,7 @@ public class TestForOther { ApprovalInfo_Details_Approver approver = new ApprovalInfo_Details_Approver(); approver.setUserId("PangFuZhen"); approvalInfo_details.setApprover(approver); - depositoryRecordService.reviewByQyWxApprovalOut("1", approvalInfo_details, "ebc12ec71c6571ad86cd5497581e2262", "2", "202303130012", false, 2); + stockTakingService.reviewByQyWxApproval("9", approvalInfo_details, "ebc12ec71c6571ad86cd5497581e2262", "2", "202303130024"); + } }