|
|
@@ -36,6 +36,7 @@ import org.springblade.core.tool.utils.Func;
|
|
|
import org.springblade.mocha.vo.TaskStatisticsVO;
|
|
|
import org.springblade.system.user.entity.User;
|
|
|
import org.springblade.system.user.feign.IUserClient;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import org.springblade.mocha.entity.Task;
|
|
|
@@ -64,10 +65,10 @@ public class TaskController extends BladeController {
|
|
|
private final ITaskService taskService;
|
|
|
|
|
|
// private final IWechatClient wechatClient;
|
|
|
-// //消息
|
|
|
-// private final IMessageClient messageClient;
|
|
|
-//
|
|
|
-// private final IUserClient userClient;
|
|
|
+ //消息
|
|
|
+ private final IMessageClient messageClient;
|
|
|
+
|
|
|
+ private final IUserClient userClient;
|
|
|
|
|
|
/**
|
|
|
* 详情
|
|
|
@@ -156,72 +157,79 @@ public class TaskController extends BladeController {
|
|
|
@PostMapping("/save")
|
|
|
@ApiOperationSupport(order = 4)
|
|
|
@ApiOperation(value = "新增", notes = "传入task")
|
|
|
+ @Transactional
|
|
|
public R save(@Valid @RequestBody Task task) {
|
|
|
task.setCreateTime(LocalDateTime.now());
|
|
|
-// StringBuilder sb = new StringBuilder();
|
|
|
-// sb.append(task.getResponsibleUserId()).append(",");
|
|
|
-// sb.append(task.getCreateUser()).append(",");
|
|
|
-// sb.append(task.getCcId());
|
|
|
-// SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日 HH:mm");
|
|
|
-// String date1 = format.format(new Date());
|
|
|
-//
|
|
|
+ StringBuilder sb = new StringBuilder();
|
|
|
+ sb.append(task.getResponsibleUserId()).append(",");
|
|
|
+ sb.append(task.getCreateUser()).append(",");
|
|
|
+ sb.append(task.getCcId());
|
|
|
+ SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日 HH:mm");
|
|
|
+ String date1 = format.format(new Date());
|
|
|
+
|
|
|
// boolean save = taskService.save(task);
|
|
|
-//
|
|
|
-// List<Long> ids = new ArrayList<>();
|
|
|
-// ids.add(task.getCreateUser());
|
|
|
-// ids.add(task.getResponsibleUserId());
|
|
|
-// List<String> idList = Arrays.asList(task.getCcId().split(","));
|
|
|
-// idList.forEach(id -> ids.add(Long.valueOf(id)));
|
|
|
-// List<User> userList = userClient.userListGetByIds(ids);
|
|
|
-//
|
|
|
-// String type = "";
|
|
|
-// if (task.getType() == 1) {
|
|
|
-// type = "待执行";
|
|
|
-// } else if (task.getType() == 2) {
|
|
|
-// type = "执行中";
|
|
|
-// } else if (task.getType() == 3) {
|
|
|
-// type = "已提交";
|
|
|
-// } else if (task.getType() == 4) {
|
|
|
-// type = "工单关闭";
|
|
|
-// }
|
|
|
-//
|
|
|
-// for (User datum : userList) {
|
|
|
-// //循环发送消息
|
|
|
-// Message sendMessage = new Message();
|
|
|
-// sendMessage.setParameter(null);
|
|
|
-// sendMessage.setUserName(AuthUtil.getUserName());
|
|
|
-// sendMessage.setUserId(null);
|
|
|
-// sendMessage.setToUserId(datum.getId());
|
|
|
-// sendMessage.setToUserName(datum.getName());
|
|
|
-// sendMessage.setMessageType(1);
|
|
|
-// sendMessage.setTenantId(AuthUtil.getTenantId());
|
|
|
-// sendMessage.setCreateUser(null);
|
|
|
-// sendMessage.setCreateTime(new Date());
|
|
|
-// sendMessage.setUrl("/TaskKanban/index");
|
|
|
-// sendMessage.setPageLabel("任务看板");
|
|
|
-// sendMessage.setPageStatus(null);
|
|
|
-// DateTimeFormatter dfDateTime = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss");
|
|
|
-// String date = dfDateTime.format(task.getCompletionTime().plusYears(1));
|
|
|
-// if (task.getIsUrgency() == 0) {
|
|
|
-// sendMessage.setMessageBody("您有新的任务" +
|
|
|
-// "\n需求方:" + task.getCreateUserName() +
|
|
|
-// "\n要求完成时间: " + date +
|
|
|
-// "\n当前状态:" + type +
|
|
|
-// "\n任务内容:" + task.getTsInfo());
|
|
|
-// } else {
|
|
|
-// sendMessage.setMessageBody("紧急任务!" +
|
|
|
-// "\n需求方:" + task.getCreateUserName() +
|
|
|
-// "\n要求完成时间: " + date +
|
|
|
-// "\n任务内容:" + task.getTsInfo());
|
|
|
-// }
|
|
|
-// R webSave = messageClient.save(sendMessage);
|
|
|
-// System.out.println("web信息发送结果:" + webSave);
|
|
|
-//
|
|
|
-// if (!webSave.isSuccess()) {
|
|
|
-// throw new SecurityException("web信息发送消息失败");
|
|
|
-// }
|
|
|
-// }
|
|
|
-//
|
|
|
+
|
|
|
+ List<Long> ids = new ArrayList<>();
|
|
|
+ ids.add(task.getCreateUser());
|
|
|
+ ids.add(task.getResponsibleUserId());
|
|
|
+ List<String> idList = Arrays.asList(task.getCcId().split(","));
|
|
|
+ idList.forEach(id -> ids.add(Long.valueOf(id)));
|
|
|
+ List<User> userList = userClient.userListGetByIds(ids);
|
|
|
+
|
|
|
+ String type = "";
|
|
|
+ if (task.getType() == 1) {
|
|
|
+ type = "待执行";
|
|
|
+ } else if (task.getType() == 2) {
|
|
|
+ type = "执行中";
|
|
|
+ } else if (task.getType() == 3) {
|
|
|
+ type = "已提交";
|
|
|
+ } else if (task.getType() == 4) {
|
|
|
+ type = "工单关闭";
|
|
|
+ }
|
|
|
+
|
|
|
+ for (User datum : userList) {
|
|
|
+
|
|
|
+ if (Objects.equals(datum.getId(), AuthUtil.getUserId())) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ //循环发送消息
|
|
|
+ Message sendMessage = new Message();
|
|
|
+ sendMessage.setParameter(null);
|
|
|
+ sendMessage.setUserName(AuthUtil.getUserName());
|
|
|
+ sendMessage.setUserId(null);
|
|
|
+ sendMessage.setToUserId(datum.getId());
|
|
|
+ sendMessage.setToUserName(datum.getName());
|
|
|
+ sendMessage.setMessageType(1);
|
|
|
+ sendMessage.setTenantId(AuthUtil.getTenantId());
|
|
|
+ sendMessage.setCreateUser(null);
|
|
|
+ sendMessage.setCreateTime(new Date());
|
|
|
+ sendMessage.setUrl("/TaskKanban/index");
|
|
|
+ sendMessage.setPageLabel("任务看板");
|
|
|
+ sendMessage.setPageStatus(null);
|
|
|
+ DateTimeFormatter dfDateTime = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss");
|
|
|
+ String date = dfDateTime.format(task.getCompletionTime().plusYears(1));
|
|
|
+ if (task.getIsUrgency() == 0) {
|
|
|
+ sendMessage.setMessageBody("您有新的任务" +
|
|
|
+ "\n需求方:" + task.getCreateUserName() +
|
|
|
+ "\n要求完成时间: " + date +
|
|
|
+ "\n当前状态:" + type +
|
|
|
+ "\n任务内容:" + task.getTsInfo());
|
|
|
+ } else {
|
|
|
+ sendMessage.setMessageBody("紧急任务!" +
|
|
|
+ "\n需求方:" + task.getCreateUserName() +
|
|
|
+ "\n要求完成时间: " + date +
|
|
|
+ "\n当前状态:" + type +
|
|
|
+ "\n任务内容:" + task.getTsInfo());
|
|
|
+ }
|
|
|
+ R webSave = messageClient.save(sendMessage);
|
|
|
+ System.out.println("web信息发送结果:" + webSave);
|
|
|
+
|
|
|
+ if (!webSave.isSuccess()) {
|
|
|
+ throw new SecurityException("web信息发送消息失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
// System.out.println("==== 任务看板添加发送消息租户号:" + AuthUtil.getTenantId() + "。接收人ids:" + sb + " ====");
|
|
|
// String rest = wechatClient.sendMessage(
|
|
|
// sb.toString(),
|
|
|
@@ -245,87 +253,97 @@ public class TaskController extends BladeController {
|
|
|
@PostMapping("/update")
|
|
|
@ApiOperationSupport(order = 5)
|
|
|
@ApiOperation(value = "修改", notes = "传入task")
|
|
|
+ @Transactional
|
|
|
public R update(@Valid @RequestBody Task task) {
|
|
|
task.setUpdateTime(LocalDateTime.now());
|
|
|
-//
|
|
|
-// task.setCreateTime(LocalDateTime.now());
|
|
|
-// StringBuilder sb = new StringBuilder();
|
|
|
-// sb.append(task.getResponsibleUserId()).append(",");
|
|
|
-// sb.append(task.getCreateUser()).append(",");
|
|
|
-// sb.append(task.getCcId());
|
|
|
-// SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日 HH:mm");
|
|
|
-// String date1 = format.format(new Date());
|
|
|
-//
|
|
|
-// String info = "\"" + task.getTsInfo() + "\"" + "为 ";
|
|
|
-// if (task.getType() == 1) {
|
|
|
-// info += "待执行";
|
|
|
-// } else if (task.getType() == 2) {
|
|
|
-// info += "执行中";
|
|
|
-// } else if (task.getType() == 3) {
|
|
|
-// info += "已提交";
|
|
|
-// } else if (task.getType() == 4) {
|
|
|
-// info += "工单关闭";
|
|
|
-// }
|
|
|
-//
|
|
|
-// Task originalTask = taskService.getById(task.getId());
|
|
|
-//
|
|
|
+
|
|
|
+ task.setCreateTime(LocalDateTime.now());
|
|
|
+ StringBuilder sb = new StringBuilder();
|
|
|
+ sb.append(task.getResponsibleUserId()).append(",");
|
|
|
+ sb.append(task.getCreateUser()).append(",");
|
|
|
+ sb.append(task.getCcId());
|
|
|
+ SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日 HH:mm");
|
|
|
+ String date1 = format.format(new Date());
|
|
|
+
|
|
|
+ String info = "\"" + task.getTsInfo() + "\"" + "为 ";
|
|
|
+ if (task.getType() == 1) {
|
|
|
+ info += "待执行";
|
|
|
+ } else if (task.getType() == 2) {
|
|
|
+ info += "执行中";
|
|
|
+ } else if (task.getType() == 3) {
|
|
|
+ info += "已提交";
|
|
|
+ } else if (task.getType() == 4) {
|
|
|
+ info += "工单关闭";
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
// boolean b = taskService.updateById(task);
|
|
|
-//
|
|
|
-// List<Long> ids = new ArrayList<>();
|
|
|
-// ids.add(task.getCreateUser());
|
|
|
-// ids.add(task.getResponsibleUserId());
|
|
|
-// List<String> idList = Arrays.asList(task.getCcId().split(","));
|
|
|
-// idList.forEach(id -> ids.add(Long.valueOf(id)));
|
|
|
-// List<User> userList = userClient.userListGetByIds(ids);
|
|
|
-//
|
|
|
-// String type = "";
|
|
|
-// if (task.getType() == 1) {
|
|
|
-// type = "待执行";
|
|
|
-// } else if (task.getType() == 2) {
|
|
|
-// type = "执行中";
|
|
|
-// } else if (task.getType() == 3) {
|
|
|
-// type = "已提交";
|
|
|
-// } else if (task.getType() == 4) {
|
|
|
-// type = "工单关闭";
|
|
|
-// }
|
|
|
-//
|
|
|
-// for (User datum : userList) {
|
|
|
-// //循环发送消息
|
|
|
-// Message sendMessage = new Message();
|
|
|
-// sendMessage.setParameter(null);
|
|
|
-// sendMessage.setUserName(AuthUtil.getUserName());
|
|
|
-// sendMessage.setUserId(null);
|
|
|
-// sendMessage.setToUserId(datum.getId());
|
|
|
-// sendMessage.setToUserName(datum.getName());
|
|
|
-// sendMessage.setMessageType(1);
|
|
|
-// sendMessage.setTenantId(AuthUtil.getTenantId());
|
|
|
-// sendMessage.setCreateUser(null);
|
|
|
-// sendMessage.setCreateTime(new Date());
|
|
|
-// sendMessage.setUrl("/TaskKanban/index");
|
|
|
-// sendMessage.setPageLabel("任务看板");
|
|
|
-// sendMessage.setPageStatus(null);
|
|
|
-// DateTimeFormatter dfDateTime = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss");
|
|
|
-// String date = dfDateTime.format(task.getCompletionTime().plusYears(1));
|
|
|
-// if (task.getIsUrgency() == 0) {
|
|
|
-// sendMessage.setMessageBody("任务看板" +
|
|
|
-// "\n需求方:" + task.getCreateUserName() +
|
|
|
-// "\n要求完成时间: " + date +
|
|
|
-// "\n当前状态:" + type +
|
|
|
-// "\n任务内容:" + task.getTsInfo());
|
|
|
-// } else {
|
|
|
-// sendMessage.setMessageBody("紧急任务!" +
|
|
|
-// "\n需求方:" + task.getCreateUserName() +
|
|
|
-// "\n要求完成时间: " + date +
|
|
|
-// "\n任务内容:" + task.getTsInfo());
|
|
|
-// }
|
|
|
-// R webSave = messageClient.save(sendMessage);
|
|
|
-// System.out.println("web信息发送结果:" + webSave);
|
|
|
-//
|
|
|
-// if (!webSave.isSuccess()) {
|
|
|
-// throw new SecurityException("web信息发送消息失败");
|
|
|
-// }
|
|
|
-// }
|
|
|
-//
|
|
|
+
|
|
|
+ Task originalTask = taskService.getById(task.getId());
|
|
|
+
|
|
|
+ List<Long> ids = new ArrayList<>();
|
|
|
+ ids.add(task.getCreateUser());
|
|
|
+ ids.add(task.getResponsibleUserId());
|
|
|
+ List<String> idList = Arrays.asList(task.getCcId().split(","));
|
|
|
+ idList.forEach(id -> ids.add(Long.valueOf(id)));
|
|
|
+ List<User> userList = userClient.userListGetByIds(ids);
|
|
|
+
|
|
|
+ String type = "";
|
|
|
+ if (task.getType() == 1) {
|
|
|
+ type = "待执行";
|
|
|
+ } else if (task.getType() == 2) {
|
|
|
+ type = "执行中";
|
|
|
+ } else if (task.getType() == 3) {
|
|
|
+ type = "已提交";
|
|
|
+ } else if (task.getType() == 4) {
|
|
|
+ type = "工单关闭";
|
|
|
+ }
|
|
|
+
|
|
|
+ for (User datum : userList) {
|
|
|
+
|
|
|
+
|
|
|
+ if (Objects.equals(datum.getId(), AuthUtil.getUserId())) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ //循环发送消息
|
|
|
+ Message sendMessage = new Message();
|
|
|
+ sendMessage.setParameter(null);
|
|
|
+ sendMessage.setUserName(AuthUtil.getUserName());
|
|
|
+ sendMessage.setUserId(null);
|
|
|
+ sendMessage.setToUserId(datum.getId());
|
|
|
+ sendMessage.setToUserName(datum.getName());
|
|
|
+ sendMessage.setMessageType(1);
|
|
|
+ sendMessage.setTenantId(AuthUtil.getTenantId());
|
|
|
+ sendMessage.setCreateUser(null);
|
|
|
+ sendMessage.setCreateTime(new Date());
|
|
|
+ sendMessage.setUrl("/TaskKanban/index");
|
|
|
+ sendMessage.setPageLabel("任务看板");
|
|
|
+ sendMessage.setPageStatus(null);
|
|
|
+ DateTimeFormatter dfDateTime = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss");
|
|
|
+ String date = dfDateTime.format(task.getCompletionTime().plusYears(1));
|
|
|
+ if (task.getIsUrgency() == 0) {
|
|
|
+ sendMessage.setMessageBody("任务看板" +
|
|
|
+ "\n需求方:" + task.getCreateUserName() +
|
|
|
+ "\n要求完成时间: " + date +
|
|
|
+ "\n当前状态:" + type +
|
|
|
+ "\n任务内容:" + task.getTsInfo());
|
|
|
+ } else {
|
|
|
+ sendMessage.setMessageBody("紧急任务!" +
|
|
|
+ "\n需求方:" + task.getCreateUserName() +
|
|
|
+ "\n要求完成时间: " + date +
|
|
|
+ "\n当前状态:" + type +
|
|
|
+ "\n任务内容:" + task.getTsInfo());
|
|
|
+ }
|
|
|
+ R webSave = messageClient.save(sendMessage);
|
|
|
+ System.out.println("web信息发送结果:" + webSave);
|
|
|
+
|
|
|
+ if (!webSave.isSuccess()) {
|
|
|
+ throw new SecurityException("web信息发送消息失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
// if (originalTask.getType() != task.getType()) {
|
|
|
// System.out.println("==== 任务看板修改发送消息租户号:" + AuthUtil.getTenantId() + "。接收人ids:" + sb + " ====");
|
|
|
// String rest = wechatClient.sendMessage(
|