Browse Source

Merge remote-tracking branch 'origin/dev' into dev

纪新园 2 years ago
parent
commit
9eb5248e7f

+ 72 - 0
blade-service/blade-mocha-item/src/main/java/org/springblade/mocha/controller/TaskController.java

@@ -427,6 +427,78 @@ public class TaskController extends BladeController {
 			}
 		}
 
+		R<List<WechatMessageConfigurationItem>> resItem = wechatClient.getTemplateType("2", task.getTenantId());
+		if (resItem.isSuccess() && ObjectUtils.isNotNull(resItem.getData())) {
+
+			if (resItem.isSuccess() && ObjectUtils.isNotNull(resItem.getData())) {
+				List<WxMpTemplateData> data = new ArrayList<>();
+				TaskVO taskWX = new TaskVO();
+				// 标题
+//				if (task.getIsUrgency() == 0) {
+//					taskWX.setTitle("新任务");
+//				} else {
+//					taskWX.setTitle("新紧急任务!");
+//				}
+				// 任务状态
+				switch (task.getType()) {
+					case 1:
+						taskWX.setTaskStatus("待执行");
+						break;
+					case 2:
+						taskWX.setTaskStatus("执行中");
+						break;
+					case 3:
+						taskWX.setTaskStatus("已提交");
+						break;
+					case 4:
+						taskWX.setTaskStatus("工单关闭");
+						break;
+				}
+				// 要求完成时间
+				DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+				String askForATimeToComplete = dtf.format(task.getCompletionTime());
+				taskWX.setAskForATimeToComplete(askForATimeToComplete);
+				// 需求方
+				taskWX.setDemandSide(task.getCreateUserName());
+				// 负责人
+				taskWX.setHead(task.getResponsibleUserName());
+				// 任务信息
+				taskWX.setTaskInformation(task.getTsInfo());
+				// 备注
+				taskWX.setRemarks(task.getRemarks());
+
+				for (WechatMessageConfigurationItem item : resItem.getData()) {
+					try {
+						// 根据方法名获取对应的Method对象
+						Method method = taskWX.getClass().getMethod(item.getMethod());
+						// 调用get方法并打印结果
+						Object result = method.invoke(taskWX);
+						System.out.println(result);
+						if (ObjectUtils.isNotNull(result)) {
+							data.add(new WxMpTemplateData(item.getDataValue(), result.toString()));
+						} else {
+							data.add(new WxMpTemplateData(item.getDataValue(), "无"));
+						}
+					} catch (Exception e) {
+						e.printStackTrace();
+					}
+				}
+
+				if (data.size() > 0) {
+//					List<User> xcxUserList = userClient.getXcxUserListByWebUserId(ids);
+					String openidS = userList.stream().map(User::getOaOpenId).filter(Objects::nonNull).collect(Collectors.joining(","));
+					WxMpTemplateDto wxMpTemplateDto = new WxMpTemplateDto();
+					wxMpTemplateDto.setOpenid(openidS);
+					wxMpTemplateDto.setTenantId(task.getTenantId());
+					wxMpTemplateDto.setType("1");
+					wxMpTemplateDto.setPagePath("pages/tabBar/task/list");
+					wxMpTemplateDto.setData(data);
+					String rest = wechatClient.sendMessageNew(wxMpTemplateDto);
+					System.out.println("=========发送返回值=========" + rest);
+				}
+			}
+		}
+
 //		if (originalTask.getType() != task.getType()) {
 //			System.out.println("==== 任务看板修改发送消息租户号:" + AuthUtil.getTenantId() + "。接收人ids:" + sb + " ====");
 //			String rest = wechatClient.sendMessage(