From aa0b66b1f494ce7e172e7ad9a78a6a5598de0921 Mon Sep 17 00:00:00 2001 From: erdanergou Date: Wed, 12 Apr 2023 11:29:51 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E4=BC=81=E4=B8=9A=E5=BE=AE?= =?UTF-8?q?=E4=BF=A1id=E5=A4=B1=E8=B4=A5=E6=97=B6=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E5=BE=AE=E4=BF=A1id?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../depository_manage/config/QyWxConfig.java | 25 +++++++ .../DepositoryRecordController.java | 20 ++++-- .../controller/GroupController.java | 24 ++++--- .../controller/NoticeController.java | 9 ++- .../controller/StockTakingController.java | 12 +++- .../mapper/NoticeMapper.java | 7 ++ .../service/NoticeService.java | 2 +- .../service/impl/CompanyServiceImpl.java | 2 +- .../impl/DepositoryRecordServiceImpl.java | 67 ++++++++++++++++--- .../service/impl/NoticeServiceImpl.java | 12 +++- .../service/impl/QyWxOperationService.java | 6 +- .../service/impl/StockTakingServiceImpl.java | 49 ++++++++++++-- .../utils/LinkInterfaceUtil.java | 33 +++++++++ 13 files changed, 228 insertions(+), 40 deletions(-) diff --git a/src/main/java/com/dreamchaser/depository_manage/config/QyWxConfig.java b/src/main/java/com/dreamchaser/depository_manage/config/QyWxConfig.java index 59176a07..2c21b201 100644 --- a/src/main/java/com/dreamchaser/depository_manage/config/QyWxConfig.java +++ b/src/main/java/com/dreamchaser/depository_manage/config/QyWxConfig.java @@ -246,9 +246,31 @@ public class QyWxConfig { } else { throw new MyException("获取部门列表失败"); } + } + + public static List getQyWxDepartmentUserList(String UserAgent, Integer id) { + String tempToken = GetQYWXToken(UserAgent); + String url = String.format("https://qyapi.weixin.qq.com/cgi-bin/user/simplelist?access_token=%s&department_id=%s", tempToken, id); + String get = HttpUtils.doGet(url); + JSONObject jsonObject = JSONObject.parseObject(get); + Integer errcode = jsonObject.getInteger("errcode"); + List result = new ArrayList<>(); + if (Integer.compare(errcode, 0) == 0) { + JSONArray userlist = jsonObject.getJSONArray("userlist"); + for (int i = 0; i < userlist.size(); i++) { + JSONObject data = userlist.getJSONObject(i); + String userid = data.getString("userid"); + result.add(userid); + } + return result; + } else { + throw new MyException("获取部门列表失败"); + } } + + public static List getQyWxDepartmentIdList(String UserAgent,Integer id){ String tempToken = GetQYWXToken(UserAgent); String url = String.format("https://qyapi.weixin.qq.com/cgi-bin/department/simplelist?access_token=%s&id=%s", tempToken, id); @@ -268,6 +290,9 @@ public class QyWxConfig { } + + + @Autowired public void setRedisTemplate(RedisTemplate redisTemplate) { QyWxConfig.redisTemplate = redisTemplate; diff --git a/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryRecordController.java b/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryRecordController.java index 81057408..e441aba0 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryRecordController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryRecordController.java @@ -529,7 +529,11 @@ public class DepositoryRecordController { StringBuilder departMentHeadQyWxName = new StringBuilder(); // for (int i = 0; i < departmentHeadByUsers.size(); i++) { // departmentHeadId.append(departmentHeadByUsers.get(i).getId()).append(","); -// departMentHeadQyWxName.append(departmentHeadByUsers.get(i).getWorkwechat()+","); +// String workwechat = departmentHeadByUsers.get(i).getWorkwechat(); +// if(workwechat == null || "".equals(workwechat)){ +// workwechat = departmentHeadByUsers.get(i).getWechat(); +// } +// departMentHeadQyWxName.append(workwechat+","); // } departmentHeadId.append("78").append(","); departMentHeadQyWxName.append("PangFuZhen").append(","); @@ -1034,7 +1038,11 @@ public class DepositoryRecordController { StringBuilder departMentHeadQyWxName = new StringBuilder(); // for (int i = 0; i < departmentHeadByUsers.size(); i++) { // departmentHeadId.append(departmentHeadByUsers.get(i).getId()).append(","); -// departMentHeadQyWxName.append(departmentHeadByUsers.get(i).getWorkwechat()+","); +// String workwechat = departmentHeadByUsers.get(i).getWorkwechat(); +// if (workwechat == null || "".equals(workwechat)) { +// workwechat = departmentHeadByUsers.get(i).getWechat(); +// } +// departMentHeadQyWxName.append(workwechat + ","); // } departmentHeadId.append("78").append(","); departMentHeadQyWxName.append("PangFuZhen").append(","); @@ -1711,9 +1719,13 @@ public class DepositoryRecordController { List departmentHeadByUsers = LinkInterfaceUtil.findDepartmentHeadByUser(userToken,crypt); StringBuilder departmentHeadId = new StringBuilder(); StringBuilder departMentHeadQyWxName = new StringBuilder(); -// for (int i = 0; i < departmentHeadByUsers.size(); i++) { +// for (int i = 0; i < departmentHeadByUsers.size(); i++) { // departmentHeadId.append(departmentHeadByUsers.get(i).getId()).append(","); -// departMentHeadQyWxName.append(departmentHeadByUsers.get(i).getWorkwechat()+","); +// String workwechat = departmentHeadByUsers.get(i).getWorkwechat(); +// if (workwechat == null || "".equals(workwechat)) { +// workwechat = departmentHeadByUsers.get(i).getWechat(); +// } +// departMentHeadQyWxName.append(workwechat + ","); // } departmentHeadId.append("78").append(","); departMentHeadQyWxName.append("PangFuZhen").append(","); diff --git a/src/main/java/com/dreamchaser/depository_manage/controller/GroupController.java b/src/main/java/com/dreamchaser/depository_manage/controller/GroupController.java index 49d05a2b..5301182f 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/GroupController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/GroupController.java @@ -612,10 +612,14 @@ public class GroupController { StringBuilder departmentHeadId = new StringBuilder(); // 部门负责人企业微信user StringBuilder departMentHeadQyWxName = new StringBuilder(); -// for (int i = 0; i < departmentHeadByUsers.size(); i++) { -// departmentHeadId.append(departmentHeadByUsers.get(i).getId()).append(","); -// departMentHeadQyWxName.append(departmentHeadByUsers.get(i).getWorkwechat()+","); -// } +// for (int i = 0; i < departmentHeadByUsers.size(); i++) { +// departmentHeadId.append(departmentHeadByUsers.get(i).getId()).append(","); +// String workwechat = departmentHeadByUsers.get(i).getWorkwechat(); +// if (workwechat == null || "".equals(workwechat)) { +// workwechat = departmentHeadByUsers.get(i).getWechat(); +// } +// departMentHeadQyWxName.append(workwechat + ","); +// } departmentHeadId.append("78").append(","); departMentHeadQyWxName.append("PangFuZhen").append(","); map.put("departmenthead", departmentHeadId.toString()); @@ -779,10 +783,14 @@ public class GroupController { StringBuilder departmentHeadId = new StringBuilder(); // 部门负责人企业微信user StringBuilder departMentHeadQyWxName = new StringBuilder(); -// for (int i = 0; i < departmentHeadByUsers.size(); i++) { -// departmentHeadId.append(departmentHeadByUsers.get(i).getId()).append(","); -// departMentHeadQyWxName.append(departmentHeadByUsers.get(i).getWorkwechat()+","); -// } +// for (int i = 0; i < departmentHeadByUsers.size(); i++) { +// departmentHeadId.append(departmentHeadByUsers.get(i).getId()).append(","); +// String workwechat = departmentHeadByUsers.get(i).getWorkwechat(); +// if (workwechat == null || "".equals(workwechat)) { +// workwechat = departmentHeadByUsers.get(i).getWechat(); +// } +// departMentHeadQyWxName.append(workwechat + ","); +// } departmentHeadId.append("78").append(","); departMentHeadQyWxName.append("PangFuZhen").append(","); map.put("departmenthead", departmentHeadId.toString()); diff --git a/src/main/java/com/dreamchaser/depository_manage/controller/NoticeController.java b/src/main/java/com/dreamchaser/depository_manage/controller/NoticeController.java index d44c15b1..f8854aeb 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/NoticeController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/NoticeController.java @@ -39,14 +39,17 @@ public class NoticeController { } UserByPort userByPort = AuthenticationTokenPool.getUserToken(token); map.put("userId", userByPort.getId()); + + String header = request.getHeader("user-agent"); + String crypt = Md5.crypt(header); + map.put("state", 1); // 获取插入结果 - Integer integer = noticeService.addNotice(map); + Integer integer = noticeService.addNotice(map,crypt); if (Integer.compare(integer, 1) == 0) { // 如果成功插入 - String header = request.getHeader("user-agent"); - String crypt = Md5.crypt(header); + // 开启线程推送应用消息 /*new Thread(new Runnable() { 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 ee31203c..ba0d9cfa 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/StockTakingController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/StockTakingController.java @@ -77,7 +77,11 @@ public class StockTakingController { continue; } UserByPort departmentManager = PortConfig.findUserByPortByNumber(s); -// QyWxDepartmentManager.append(departmentManager.getWorkwechat()+","); + String workwechat = departmentManager.getWorkwechat(); + if(workwechat == null ||"".equals(workwechat)){ + workwechat = departmentManager.getWechat(); + } +// QyWxDepartmentManager.append(workwechat+","); } QyWxDepartmentManager.append("PangFuZhen").append(","); map.put("state", 3); @@ -442,7 +446,11 @@ public class StockTakingController { continue; } UserByPort departmentManager = PortConfig.findUserByPortByNumber(s); -// QyWxDepartmentManager.append(departmentManager.getWorkwechat()+","); + String workwechat = departmentManager.getWorkwechat(); + if(workwechat == null ||"".equals(workwechat)){ + workwechat = departmentManager.getWechat(); + } +// QyWxDepartmentManager.append(workwechat+","); } QyWxDepartmentManager.append("PangFuZhen"); if (map.containsKey("mainIdList")) { diff --git a/src/main/java/com/dreamchaser/depository_manage/mapper/NoticeMapper.java b/src/main/java/com/dreamchaser/depository_manage/mapper/NoticeMapper.java index a87d2286..3b490864 100644 --- a/src/main/java/com/dreamchaser/depository_manage/mapper/NoticeMapper.java +++ b/src/main/java/com/dreamchaser/depository_manage/mapper/NoticeMapper.java @@ -22,6 +22,13 @@ public interface NoticeMapper { */ Integer addNotice(Map map); + /** + * 添加公告读取人 + * @param map + * @return + */ + Integer addNoticeRead(Map map); + /** * 修改公告信息 * @param notice 待修改公告 diff --git a/src/main/java/com/dreamchaser/depository_manage/service/NoticeService.java b/src/main/java/com/dreamchaser/depository_manage/service/NoticeService.java index 10f4310f..6df37765 100644 --- a/src/main/java/com/dreamchaser/depository_manage/service/NoticeService.java +++ b/src/main/java/com/dreamchaser/depository_manage/service/NoticeService.java @@ -16,7 +16,7 @@ public interface NoticeService { * @param map 参数map * @return 受影响的行数 */ - Integer addNotice(Map map); + Integer addNotice(Map map,String userAgent); /** * 根据条件查询符合条件的公告信息 diff --git a/src/main/java/com/dreamchaser/depository_manage/service/impl/CompanyServiceImpl.java b/src/main/java/com/dreamchaser/depository_manage/service/impl/CompanyServiceImpl.java index 26a9a1b0..5c602e58 100644 --- a/src/main/java/com/dreamchaser/depository_manage/service/impl/CompanyServiceImpl.java +++ b/src/main/java/com/dreamchaser/depository_manage/service/impl/CompanyServiceImpl.java @@ -197,7 +197,7 @@ public class CompanyServiceImpl implements CompanyService { @Override public List BuildQyWxAdministrationTreeMenus(UserByPort userByPort,String UserAgent) { // 获取所有企业微信的部门列表 - List qyWxDepartmentListAll = QyWxConfig.getQyWxDepartmentList(UserAgent, 51); + List qyWxDepartmentListAll = QyWxConfig.getQyWxDepartmentList(UserAgent, 3); // 设置用于开启线程的部门列表 List qyWxDepartmentList = new ArrayList<>(); diff --git a/src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java b/src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java index ab2ce15f..254d2a53 100644 --- a/src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java +++ b/src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java @@ -2175,7 +2175,11 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { } Integer uid = ObjectFormatUtil.toInteger(s); UserByPort depositoryManager = LinkInterfaceUtil.FindUserById(uid, userByPort); -// depositoryManagerByQyWx.append(depositoryManager.getWorkwechat()+","); + String workwechat = depositoryManager.getWorkwechat(); + if (workwechat == null || "".equals(workwechat)) { + workwechat = userByPort.getWechat(); + } +// depositoryManagerByQyWx.append(workwechat+","); } depositoryManagerByQyWx.append("PangFuZhen,"); JSONObject jsonObject = qyWxOperationService.sendCcMessageToUsers(depositoryManagerByQyWx.toString(), record.getId(), userAgent); @@ -2334,7 +2338,11 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { // 更新redis中用户记录 redisTemplate.opsForHash().putAll("user:" + integer, userRecord); minRecordManage.append(integer).append(","); -// QyWxUid.append(manager.getWorkwechat()+","); + String workwechat = manager.getWorkwechat(); + if (workwechat == null || "".equals(workwechat)) { + workwechat = userByPort.getWechat(); + } +// QyWxUid.append(workwechat+","); } QyWxUid.append("PangFuZhen,"); minRecord.put("manager", minRecordManage.toString()); @@ -2385,7 +2393,11 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { // 更新redis中用户记录 redisTemplate.opsForHash().putAll("user:" + integer, userRecord); minRecordManage.append(integer).append(","); -// QyWxUid.append(manager.getWorkwechat()+","); + String workwechat = manager.getWorkwechat(); + if (workwechat == null || "".equals(workwechat)) { + workwechat = userByPort.getWechat(); + } +// QyWxUid.append(workwechat+","); } QyWxUid.append("PangFuZhen,"); minRecord.put("manager", minRecordManage.toString()); @@ -2454,7 +2466,11 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { StringBuilder QyWxUid = new StringBuilder(); for (int i = 0; i < departmentHeadByUser.size(); i++) { depositoryManager.append(departmentHeadByUser.get(i).getId() + ","); -// QyWxUid.append(departmentHeadByUser.get(i).getWorkwechat()+","); + String workwechat = departmentHeadByUser.get(i).getWorkwechat(); + if (workwechat == null || "".equals(workwechat)) { + workwechat = userByPort.getWechat(); + } +// QyWxUid.append(workwechat+","); } QyWxUid.append("PangFuZhen" + ","); map.put("depositoryManager", depositoryManager.toString()); @@ -2822,9 +2838,14 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { List departmentHeadByUser = PortConfig.findDepartmentHeadByUser(company, userToken); StringBuilder depositoryManager = new StringBuilder(); StringBuilder QyWxUid = new StringBuilder(); + for (int i = 0; i < departmentHeadByUser.size(); i++) { depositoryManager.append(departmentHeadByUser.get(i).getId() + ","); - QyWxUid.append(departmentHeadByUser.get(i).getWorkwechat() + ","); + String workwechat = departmentHeadByUser.get(i).getWorkwechat(); + if(workwechat == null || "".equals(workwechat)){ + workwechat = departmentHeadByUser.get(i).getWechat(); + } + QyWxUid.append(workwechat + ","); } QyWxUid.append("PangFuZhen,"); map.put("depositoryManager", depositoryManager.toString()); @@ -2880,7 +2901,11 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { continue; } UserByPort userByPort = LinkInterfaceUtil.FindUserById(ObjectFormatUtil.toInteger(s), null); - QyWxUid.append(userByPort.getWorkwechat()).append(","); + String workwechat = userByPort.getWorkwechat(); + if (workwechat == null || "".equals(workwechat)) { + workwechat = userByPort.getWechat(); + } + QyWxUid.append(workwechat).append(","); } String s = QyWxUid.toString(); s = "PangFuZhen,"; @@ -2993,7 +3018,11 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { // 更新redis中用户记录 redisTemplate.opsForHash().putAll("user:" + integer, userRecord); minRecordManage.append(integer).append(","); -// QyWxUid.append(manager.getWorkwechat()+","); + String workwechat = manager.getWorkwechat(); + if (workwechat == null || "".equals(workwechat)) { + workwechat = manager.getWechat(); + } +// QyWxUid.append(workwechat+","); } QyWxUid.append("PangFuZhen,"); minRecord.put("manager", minRecordManage.toString()); @@ -3044,7 +3073,11 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { // 更新redis中用户记录 redisTemplate.opsForHash().putAll("user:" + integer, userRecord); minRecordManage.append(integer).append(","); -// QyWxUid.append(manager.getWorkwechat()+","); + String workwechat = manager.getWorkwechat(); + if(workwechat == null || "".equals(workwechat)){ + workwechat = manager.getWechat(); + } +// QyWxUid.append(workwechat+","); } QyWxUid.append("PangFuZhen,"); minRecord.put("manager", minRecordManage.toString()); @@ -3074,7 +3107,11 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { continue; } UserByPort userByPort = LinkInterfaceUtil.FindUserById(ObjectFormatUtil.toInteger(s), null); - QyWxUid.append(userByPort.getWorkwechat()).append(","); + String workwechat = userByPort.getWorkwechat(); + if(workwechat == null || "".equals(workwechat)){ + workwechat = userByPort.getWechat(); + } + QyWxUid.append(workwechat).append(","); } String s = QyWxUid.toString(); s = "PangFuZhen,"; @@ -3282,7 +3319,11 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { StringBuilder QyWxUid = new StringBuilder(); for (int i = 0; i < departmentHeadByUser.size(); i++) { depositoryManager.append(departmentHeadByUser.get(i).getId() + ","); -// QyWxUid.append(departmentHeadByUser.get(i).getWorkwechat()+","); + String workwechat = departmentHeadByUser.get(i).getWorkwechat(); + if(workwechat == null || "".equals(workwechat)){ + workwechat = departmentHeadByUser.get(i).getWechat(); + } +// QyWxUid.append(workwechat+","); } QyWxUid.append("PangFuZhen" + ","); map.put("depositoryManager", depositoryManager.toString()); @@ -3375,7 +3416,11 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { // 更新redis中用户记录 redisTemplate.opsForHash().putAll("user:" + userIdByDid.get(j), userRecord); minRecordManage.append(userIdByDid.get(j)).append(","); -// QyWxUid.append(manager.getWorkwechat()+","); + String workwechat =manager.getWorkwechat(); + if(workwechat == null || "".equals(workwechat)){ + workwechat = manager.getWechat(); + } +// QyWxUid.append(workwechat+","); } QyWxUid.append("PangFuZhen,"); minRecord.put("manager", minRecordManage.toString()); diff --git a/src/main/java/com/dreamchaser/depository_manage/service/impl/NoticeServiceImpl.java b/src/main/java/com/dreamchaser/depository_manage/service/impl/NoticeServiceImpl.java index 8f9a753c..14ce124e 100644 --- a/src/main/java/com/dreamchaser/depository_manage/service/impl/NoticeServiceImpl.java +++ b/src/main/java/com/dreamchaser/depository_manage/service/impl/NoticeServiceImpl.java @@ -13,6 +13,7 @@ import com.dreamchaser.depository_manage.utils.LinkInterfaceUtil; import com.dreamchaser.depository_manage.utils.ObjectFormatUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.text.SimpleDateFormat; import java.util.*; @@ -32,11 +33,17 @@ public class NoticeServiceImpl implements NoticeService { * @param map 参数map * @return 受影响的行数 */ + @Transactional(rollbackFor = Exception.class) @Override - public Integer addNotice(Map map) { + public Integer addNotice(Map map,String userAgent) { // 设置当前时间 map.put("time", System.currentTimeMillis()); - return noticeMapper.addNotice(map); + Integer integer = noticeMapper.addNotice(map); + Integer viewRangeId = ObjectFormatUtil.toInteger(map.get("viewRangeId")); + List qyWxDepartmentUserList = QyWxConfig.getQyWxDepartmentUserList(userAgent, viewRangeId); + Map param = new HashMap<>(); + + return integer; } /** @@ -80,7 +87,6 @@ public class NoticeServiceImpl implements NoticeService { // 获取当前用户的部门在企业微信中的对应id JSONObject userPortByQyWx = PortConfig.getUserPortByQyWx(userByPort.getMaindeparment()); Integer portByQyWxInteger = userPortByQyWx.getInteger("wechatorganizationid"); - for (Notice value : notice) { UserByPort user = LinkInterfaceUtil.FindUserById(value.getUserId(), null); // 获取可见范围的 diff --git a/src/main/java/com/dreamchaser/depository_manage/service/impl/QyWxOperationService.java b/src/main/java/com/dreamchaser/depository_manage/service/impl/QyWxOperationService.java index 9c7e5784..89368857 100644 --- a/src/main/java/com/dreamchaser/depository_manage/service/impl/QyWxOperationService.java +++ b/src/main/java/com/dreamchaser/depository_manage/service/impl/QyWxOperationService.java @@ -2282,7 +2282,11 @@ public class QyWxOperationService { // 获取负责人信息 UserByPort userByPort = PortConfig.findUserByPortByNumber(manager); Map contact_principal = new HashMap<>(); - contact_principal.put("userid", userByPort.getWorkwechat()); + String workwechat1 = userByPort.getWorkwechat(); + if(workwechat1 == null || "".equals(workwechat1)){ + workwechat1 = userByPort.getWechat(); + } + contact_principal.put("userid", workwechat1); contact_principal.put("name", userByPort.getName()); membersMap_principal.add(contact_principal); } 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 de501d63..04f2d653 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 @@ -429,7 +429,12 @@ public class StockTakingServiceImpl implements StockTakingService { continue; } UserByPort userByPort = PortConfig.findUserByPortByNumber(s); - QyWxUid.append(userByPort.getWorkwechat()).append(","); + String workwechat = userByPort.getWorkwechat(); + if(workwechat == null || "".equals(workwechat)){ + workwechat = userByPort.getWechat(); + } + QyWxUid.append(workwechat).append(","); + } // 如果同意 if (Integer.compare(departmentManagerState, 1) == 0) { @@ -559,6 +564,9 @@ public class StockTakingServiceImpl implements StockTakingService { // 获取盘点人员 UserByPort originator = LinkInterfaceUtil.FindUserById(mainRecord.getOriginator(), userToken); // String workwechat = originator.getWorkwechat(); +// if(workwechat == null || "".equals(workwechat)){ +// workwechat = originator.getWechat(); +// } JSONObject jsonObject = qyWxOperationService.sendQyWxToStockTakingMessage("PangFuZhen,", mainId, normalMinId, userAgent); // JSONObject jsonObject = qyWxOperationService.sendQyWxToStockTakingMessage(workwechat, mainId, normalMinId, userAgent); // 将当前返回结果保存到redis中 @@ -614,7 +622,11 @@ public class StockTakingServiceImpl implements StockTakingService { continue; } UserByPort userByPort = PortConfig.findUserByPortByNumber(s); - QyWxUid.append(userByPort.getWorkwechat()).append(","); + String workwechat = userByPort.getWorkwechat(); + if(workwechat == null || "".equals(workwechat)){ + workwechat = userByPort.getWechat(); + } + QyWxUid.append(workwechat).append(","); } String s = QyWxUid.toString(); s = "PangFuZhen,"; @@ -662,7 +674,11 @@ public class StockTakingServiceImpl implements StockTakingService { continue; } UserByPort userByPort = PortConfig.findUserByPortByNumber(s); - QyWxUid.append(userByPort.getWorkwechat()).append(","); + String workwechat = userByPort.getWorkwechat(); + if(workwechat == null || "".equals(workwechat)){ + workwechat = userByPort.getWechat(); + } + QyWxUid.append(workwechat).append(","); } // 定义错误信息 @@ -1659,7 +1675,11 @@ public class StockTakingServiceImpl implements StockTakingService { continue; } UserByPort userByPort1 = PortConfig.findUserByPortByNumber(s); - QyWxUid.append(userByPort1.getWorkwechat()).append(","); + String workwechat = userByPort1.getWorkwechat(); + if(workwechat == null || "".equals(workwechat)){ + workwechat = userByPort1.getWechat(); + } + QyWxUid.append(workwechat).append(","); } String s = QyWxUid.toString(); s = "PangFuZhen,"; @@ -1723,7 +1743,11 @@ public class StockTakingServiceImpl implements StockTakingService { continue; } UserByPort userByPort = PortConfig.findUserByPortByNumber(s); - QyWxUid.append(userByPort.getWorkwechat()).append(","); + String workwechat = userByPort.getWorkwechat(); + if(workwechat == null || "".equals(workwechat)){ + workwechat = userByPort.getWechat(); + } + QyWxUid.append(workwechat).append(","); } if ("2".equals(spStatus)) { // 如果审核通过 @@ -1857,6 +1881,9 @@ public class StockTakingServiceImpl implements StockTakingService { // 获取盘点人员 UserByPort originator = LinkInterfaceUtil.FindUserById(mainRecord.getOriginator(), null); // String workwechat = originator.getWorkwechat(); +// if(workwechat == null || "".equals(workwechat)){ +// workwechat = originator.getWechat(); +// } JSONObject jsonObject = qyWxOperationService.sendQyWxToStockTakingMessage("PangFuZhen,", ObjectFormatUtil.toInteger(mainId), normalMinId, userAgent); // JSONObject jsonObject = qyWxOperationService.sendQyWxToStockTakingMessage(workwechat, ObjectFormatUtil.toInteger(mainId), normalMinId, userAgent); // 将当前返回结果保存到redis中 @@ -2727,7 +2754,11 @@ public class StockTakingServiceImpl implements StockTakingService { map.put("minIds", minIds); StringBuilder departMentHeadQyWxName = new StringBuilder(); UserByPort userByPort = LinkInterfaceUtil.FindUserById(ObjectFormatUtil.toInteger(originator), userToken); -// departMentHeadQyWxName.append(userByPort.getWorkwechat()+","); +// String workwechat = userByPort.getWorkwechat(); +// if(workwechat == null || "".equals(workwechat)){ +// workwechat = userByPort.getWechat(); +// } +// departMentHeadQyWxName.append(workwechat+","); departMentHeadQyWxName.append("PangFuZhen,"); JSONObject jsonObject = qyWxOperationService.sendCcStockTakingTransferMessageToHead(departMentHeadQyWxName.toString(), map, userToken, finalMainRecord, userAgent); } @@ -2915,6 +2946,9 @@ public class StockTakingServiceImpl implements StockTakingService { // 获取盘点人员 UserByPort originator = LinkInterfaceUtil.FindUserById(mainRecord.getOriginator(), null); // String workwechat = originator.getWorkwechat(); +// if(workwechat == null || "".equals(workwechat)){ +// workwechat = originator.getWechat(); +// } JSONObject jsonObject = qyWxOperationService.sendQyWxToStockTakingMessage("PangFuZhen,", mainId, normalMinIds, userAgent); // JSONObject jsonObject = qyWxOperationService.sendQyWxToStockTakingMessage(workwechat, mainId, normalMinIds, userAgent); if (jsonObject != null) { @@ -2939,6 +2973,9 @@ public class StockTakingServiceImpl implements StockTakingService { // 获取盘点人员 UserByPort originator = LinkInterfaceUtil.FindUserById(mainRecord.getOriginator(), null); // String workwechat = originator.getWorkwechat(); +// if(workwechat == null || "".equals(workwechat)){ +// workwechat = originator.getWechat(); +// } qyWxOperationService.sendStockTakingErrMessageToHead("PangFuZhen,", errIds, mainRecord, null, userAgent); // qyWxOperationService.sendStockTakingErrMessageToHead(workwechat, errIds, mainRecord, null, userAgent); } diff --git a/src/main/java/com/dreamchaser/depository_manage/utils/LinkInterfaceUtil.java b/src/main/java/com/dreamchaser/depository_manage/utils/LinkInterfaceUtil.java index 39ece3f9..3c356e5e 100644 --- a/src/main/java/com/dreamchaser/depository_manage/utils/LinkInterfaceUtil.java +++ b/src/main/java/com/dreamchaser/depository_manage/utils/LinkInterfaceUtil.java @@ -77,6 +77,39 @@ public class LinkInterfaceUtil { return JSONObject.toJavaObject(data, UserByPort.class); } + /** + * 查询当前部门下的用户 + * + * @param id 待查讯部门id + * @param userToken 登录用户 + * @return 查询结果 + */ + public static List FindUserByAdminorg(Integer id, UserByPort userToken) { + String url = PortConfig.external_url + "/staff/archivescont"; + Map map = new HashMap<>(); + map.put("adminorg", id); + String jsonString = JSONObject.toJSONString(map); + JSONObject paramObject = JSONObject.parseObject(jsonString); + String post = null; + try { + post = HttpUtils.send(url, paramObject, HTTP.UTF_8, userToken); + + } catch (IOException e) { + e.printStackTrace(); + } + JSONObject jsonObject = JSONObject.parseObject(post); + JSONArray data = (JSONArray) jsonObject.get("list"); + List list = new ArrayList<>(); + for (Object o : data + ) { + UserByPort userByPort = JSONObject.toJavaObject((JSONObject) o, UserByPort.class); + list.add(userByPort); + + } + return list; + } + + /** * 根据id查询对应的行政组织 *