diff --git a/src/main/java/com/lz/config/ShiroConfig.java b/src/main/java/com/lz/config/ShiroConfig.java index 08bbc15d..7cf0b01b 100644 --- a/src/main/java/com/lz/config/ShiroConfig.java +++ b/src/main/java/com/lz/config/ShiroConfig.java @@ -75,6 +75,7 @@ public class ShiroConfig { filterMap.put("/luck/getLuckById", "anon"); filterMap.put("/luck/updateLuck", "anon"); filterMap.put("/doc.html**", "anon"); + filterMap.put("/thirdAppConfig/reSendDingTalkMst", "anon"); filterMap.put("/**", "oauth2"); shiroFilter.setFilterChainDefinitionMap(filterMap); diff --git a/src/main/java/com/lz/modules/flow/req/FlowReSendDingTalkMsgReq.java b/src/main/java/com/lz/modules/flow/req/FlowReSendDingTalkMsgReq.java new file mode 100644 index 00000000..9bc3edc1 --- /dev/null +++ b/src/main/java/com/lz/modules/flow/req/FlowReSendDingTalkMsgReq.java @@ -0,0 +1,29 @@ +package com.lz.modules.flow.req; + +import lombok.Data; + +import java.util.Date; +import java.util.List; + +/** +*

+* 菜单权限表 +*

*流转表 +* @author quyixiao +* @since 2020-08-18 +*/ + + +@Data +public class FlowReSendDingTalkMsgReq implements java.io.Serializable { + + + // + private List id;//用户id + + //自己部门小伙伴 走的 流程id + private Long startId; + // + + +} \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java index 8987bfbc..226462b4 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java @@ -196,6 +196,7 @@ public class FlowStartServiceImpl extends ServiceImpl maps = ids.stream().collect(Collectors.toMap(e->e, e->e)); + System.out.println(maps); } diff --git a/src/main/java/com/lz/modules/job/business/DingtalkBusiness.java b/src/main/java/com/lz/modules/job/business/DingtalkBusiness.java index 1f0aece5..816a0e57 100644 --- a/src/main/java/com/lz/modules/job/business/DingtalkBusiness.java +++ b/src/main/java/com/lz/modules/job/business/DingtalkBusiness.java @@ -901,8 +901,11 @@ public class DingtalkBusiness { public String sendWorkMSGWithAsyn(StaffSimpleInfo fromStaff, List toStaffids, int type) { - - if (toStaffids != null && toStaffids.size() > 0 && (toStaffids.get(0).getEmployeeId() == null || toStaffids.get(0).getEmployeeId().length() == 0)) { + logger.info("推送人员个数:{}", toStaffids.size()); + if (toStaffids != null + && toStaffids.size() > 0 + && (toStaffids.get(0).getEmployeeId() == null || + toStaffids.get(0).getEmployeeId().length() == 0)) { //查询第三方id List ids = toStaffids.stream().map(new Function() { @Override @@ -915,7 +918,7 @@ public class DingtalkBusiness { for (StaffSimpleInfo staff : staffSimpleInfos ) { StaffSimpleInfo staff1 = map.get(staff.getId()); - staff1.setEmployeeId(staff1.getEmployeeId()); + staff1.setEmployeeId(staff.getEmployeeId()); } } WorkMsgTypeEnum workMsgTypeEnum = WorkMsgTypeEnum.findRoleTypeByCode(type); diff --git a/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java b/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java index e6501ce2..8ccff835 100644 --- a/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java +++ b/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java @@ -1838,8 +1838,7 @@ public class ResultRecordServiceImpl extends ServiceImpl staffSimpleInfos = staffService.selectStaffSimpleInfos(flowReSendDingTalkMsgReq.getId()); + List toStaffids = new ArrayList<>(); + //List staffEntities = staffService.selectByIds(flowReSendDingTalkMsgReq.getId()); + if(staffSimpleInfos.size() > 0){ + FlowStart flowStart = flowStartService.selectFlowStartById(flowReSendDingTalkMsgReq.getStartId()); + if(flowStart != null){ + List resultRecords = resultRecordService.selectResultRecordsByStartId(flowStart.getId()); + if(resultRecords.size() > 0){ + Map resultRecordMap = resultRecords.stream().collect(Collectors.toMap(ResultRecord::getStaffId, + Function.identity(), (e, r) -> e)); + for (StaffSimpleInfo staffSimpleInfo:staffSimpleInfos + ) { + ResultRecord resultRecord = resultRecordMap.get(staffSimpleInfo.getId()); + if(resultRecord != null){ + // StaffSimpleInfo staffSimpleInfo = new StaffSimpleInfo(); + //staffSimpleInfo.setId(resultRecord.getStaffId()); + staffSimpleInfo.setResultRecord(resultRecord); + staffSimpleInfo.setFlowStart(flowStart); + toStaffids.add(staffSimpleInfo); + }else{ + + } + } + //通知评分 + if(toStaffids.size() > 0){ + try { + String s = dingtalkBusiness.sendWorkMSGWithAsyn(toStaffids, WorkMsgTypeEnum.START_SCORE.getType()); + log.info("钉钉评分响应返回,res:" + s); + return R.ok(); + } catch (Exception e) { + log.error("通知评分异常:ids: " + JSON.toJSONString(toStaffids) + " ,e: " ,e); + return R.error("通知评分异常:ids: " + JSON.toJSONString(toStaffids) + " ,e: "+e); + } + } + return R.error("有效推送人员个数为0"); + } + return R.error("无效考核记录"); + } + return R.error("无效考核任务"); + } + return R.error("无有效人员"); + + } +