|
|
@@ -24,6 +24,9 @@ import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import javax.validation.Valid;
|
|
|
|
|
|
+import org.springblade.client.entity.Message;
|
|
|
+import org.springblade.client.feign.IMessageClient;
|
|
|
+import org.springblade.client.feign.IWechatClient;
|
|
|
import org.springblade.core.mp.support.Condition;
|
|
|
import org.springblade.core.mp.support.Query;
|
|
|
import org.springblade.core.secure.BladeUser;
|
|
|
@@ -31,6 +34,8 @@ import org.springblade.core.secure.utils.AuthUtil;
|
|
|
import org.springblade.core.tool.api.R;
|
|
|
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.web.bind.annotation.*;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import org.springblade.mocha.entity.Task;
|
|
|
@@ -38,7 +43,10 @@ import org.springblade.mocha.vo.TaskVO;
|
|
|
import org.springblade.mocha.service.ITaskService;
|
|
|
import org.springblade.core.boot.ctrl.BladeController;
|
|
|
|
|
|
+import java.math.BigDecimal;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
import java.time.LocalDateTime;
|
|
|
+import java.time.format.DateTimeFormatter;
|
|
|
import java.util.*;
|
|
|
|
|
|
/**
|
|
|
@@ -55,6 +63,12 @@ public class TaskController extends BladeController {
|
|
|
|
|
|
private final ITaskService taskService;
|
|
|
|
|
|
+// private final IWechatClient wechatClient;
|
|
|
+// //消息
|
|
|
+// private final IMessageClient messageClient;
|
|
|
+//
|
|
|
+// private final IUserClient userClient;
|
|
|
+
|
|
|
/**
|
|
|
* 详情
|
|
|
*/
|
|
|
@@ -74,7 +88,7 @@ public class TaskController extends BladeController {
|
|
|
@ApiOperation(value = "分页", notes = "传入task")
|
|
|
public R list(Task task, Query query) {
|
|
|
|
|
|
- TaskStatisticsVO taskStatisticsVO = taskService.statistics(AuthUtil.getTenantId());
|
|
|
+ TaskStatisticsVO taskStatisticsVO = taskService.statistics(AuthUtil.getTenantId(), task);
|
|
|
|
|
|
// QueryWrapper<Task> qw = Condition.getQueryWrapper(task).orderByDesc("create_time", "responsible_user_name");
|
|
|
QueryWrapper<Task> qw = new QueryWrapper<>();
|
|
|
@@ -144,6 +158,84 @@ public class TaskController extends BladeController {
|
|
|
@ApiOperation(value = "新增", notes = "传入task")
|
|
|
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());
|
|
|
+//
|
|
|
+// 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信息发送消息失败");
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// System.out.println("==== 任务看板添加发送消息租户号:" + AuthUtil.getTenantId() + "。接收人ids:" + sb + " ====");
|
|
|
+// String rest = wechatClient.sendMessage(
|
|
|
+// sb.toString(),
|
|
|
+// "新任务通知", "新任务通知",
|
|
|
+// date1,
|
|
|
+// task.getCreateUserName(),
|
|
|
+// task.getResponsibleUserId().toString(),
|
|
|
+// "",
|
|
|
+// "",
|
|
|
+// task.getTsInfo(),
|
|
|
+// new BigDecimal("0.00"),
|
|
|
+// "1",
|
|
|
+// AuthUtil.getTenantId());
|
|
|
+// System.out.println("=========发送返回值=========" + rest);
|
|
|
return R.status(taskService.save(task));
|
|
|
}
|
|
|
|
|
|
@@ -155,6 +247,102 @@ public class TaskController extends BladeController {
|
|
|
@ApiOperation(value = "修改", notes = "传入task")
|
|
|
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());
|
|
|
+//
|
|
|
+// 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信息发送消息失败");
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// if (originalTask.getType() != task.getType()) {
|
|
|
+// System.out.println("==== 任务看板修改发送消息租户号:" + AuthUtil.getTenantId() + "。接收人ids:" + sb + " ====");
|
|
|
+// String rest = wechatClient.sendMessage(
|
|
|
+// sb.toString(),
|
|
|
+// "任务状态更新!", "任务状态更新!",
|
|
|
+// date1,
|
|
|
+// task.getCreateUserName(),
|
|
|
+// task.getResponsibleUserId().toString(),
|
|
|
+// "",
|
|
|
+// "",
|
|
|
+// info,
|
|
|
+// new BigDecimal("0.00"),
|
|
|
+// "1",
|
|
|
+// AuthUtil.getTenantId());
|
|
|
+// System.out.println("=========发送返回值=========" + rest);
|
|
|
+// }
|
|
|
+
|
|
|
return R.status(taskService.updateById(task));
|
|
|
}
|
|
|
|