From 20e6fcd1ffd38f108ff14c5aac7273bc42aafe6e Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Tue, 6 Apr 2021 09:30:47 +0800 Subject: [PATCH 1/2] 20210406v1.0 --- .../ccsens/tall/service/InputDocService.java | 26 +------------ .../tall/service/ProTaskDetailService.java | 1 + .../com/ccsens/tall/service/RobotService.java | 39 ++++++++++--------- .../ccsens/tall/web/InputDocController.java | 7 +++- 4 files changed, 29 insertions(+), 44 deletions(-) diff --git a/tall/src/main/java/com/ccsens/tall/service/InputDocService.java b/tall/src/main/java/com/ccsens/tall/service/InputDocService.java index e27f4d0c..ddbb6b89 100644 --- a/tall/src/main/java/com/ccsens/tall/service/InputDocService.java +++ b/tall/src/main/java/com/ccsens/tall/service/InputDocService.java @@ -51,8 +51,6 @@ public class InputDocService implements IInputDocService { private ProTaskInputDocMapper proTaskInputDocMapper; @Resource private Snowflake snowflake; - @Resource - private FileMapper fileMapper; @@ -198,26 +196,6 @@ public class InputDocService implements IInputDocService { } -// if (record.getFileIds().contains(",")){ -// String[] split = record.getFileIds().split(","); -// for (int i = 0; i < split.length; i++) { -// -// -//// File file = fileMapper.selectByPrimaryKey(Long.valueOf(split[i])); -//// InputDocVo.File nowFile = new InputDocVo.File(); -//// nowFile.setFileName(file.getFileName()); -//// nowFile.setFileUrl(file.getVisitLocation()); -//// record.getFileList().add(nowFile); -// } -// }else{ -// if (StrUtil.isNotBlank(record.getFileIds())){ -//// File file = fileMapper.selectByPrimaryKey(Long.valueOf(record.getFileIds())); -//// InputDocVo.File nowFile = new InputDocVo.File(); -//// nowFile.setFileName(file.getFileName()); -//// nowFile.setFileUrl(file.getVisitLocation()); -//// record.getFileList().add(nowFile); -// } -// } } } return docByTasks; @@ -281,6 +259,7 @@ public class InputDocService implements IInputDocService { proTaskInputDocMapper.updateByPrimaryKeySelective(proTaskInputDoc); } + //TODO 发送消息 } @@ -292,8 +271,7 @@ public class InputDocService implements IInputDocService { */ @Override public List viewDocHistory(InputDocDto.ViewDocHistory param) { - List historyRecords = iInputDocDao.viewDocHistory(param.getDocId()); - return historyRecords; + return iInputDocDao.viewDocHistory(param.getDocId()); } /** diff --git a/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java b/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java index 6a46754c..be43e90d 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java @@ -1473,6 +1473,7 @@ public class ProTaskDetailService implements IProTaskDetailService { } else { throw new BaseException(CodeEnum.NOT_TASK); } + //发送消息 robotService.changeTaskRobotSend(currentUserId, normalTask); return normalTask; } diff --git a/tall/src/main/java/com/ccsens/tall/service/RobotService.java b/tall/src/main/java/com/ccsens/tall/service/RobotService.java index a94a4cdc..9ebd1475 100644 --- a/tall/src/main/java/com/ccsens/tall/service/RobotService.java +++ b/tall/src/main/java/com/ccsens/tall/service/RobotService.java @@ -22,6 +22,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; import java.util.Arrays; import java.util.List; import java.util.concurrent.atomic.AtomicBoolean; @@ -31,27 +32,27 @@ import java.util.concurrent.atomic.AtomicInteger; @Service @Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class) public class RobotService implements IRobotService{ - @Autowired + @Resource private SysProjectDao sysProjectDao; - @Autowired + @Resource private SysRobotDao sysRobotDao; - @Autowired + @Resource private SysProjectRobotDao sysProjectRobotDao; - @Autowired + @Resource private SysMessageTypeDao sysMessageTypeDao; - @Autowired + @Resource private SysProjectRobotMessageDao projectRobotMessageDao; - @Autowired + @Resource private RedisUtil redisUtil; - @Autowired + @Resource private IUserService userService; - @Autowired + @Resource private IProRoleService proRoleService; - @Autowired + @Resource private IProMemberService proMemberService; - @Autowired + @Resource private TaskDetailDao taskDetailDao; - @Autowired + @Resource private TaskSubTimeDao taskSubTimeDao; @Override @@ -67,9 +68,7 @@ public class RobotService implements IRobotService{ String content = getRobotTemplate(operateType.value()); //获取发送参数 final String[] builder = {content}; - message.getParams().forEach(param->{ - builder[0] = builder[0].replace(param.getName(),param.getContent()); - }); + message.getParams().forEach(param-> builder[0] = builder[0].replace(param.getName(),param.getContent())); //获取机器人信息 SysRobot sysRobot = sysRobotDao.selectByPrimaryKey(sysProjectRobot.getRobotId()); @@ -111,7 +110,7 @@ public class RobotService implements IRobotService{ @Override public String getRobotTemplate(int code){ String robotKey = TallConstant.getRobotTemplateKey(code); - String template = ""; + String template; template = (String)redisUtil.get(robotKey); if(StrUtil.isEmpty(template)){ SysMessageTypeExample sysMessageTypeExample = new SysMessageTypeExample(); @@ -145,7 +144,7 @@ public class RobotService implements IRobotService{ @Override public void finishTaskRobotSend(Long currentUserId,Long projectId, String projectName, String taskName,Long executorRoleId , int completedStatus) throws Exception { String userName = userService.getUserNameByUserId(currentUserId); - String isFinish = ""; + String isFinish; if(completedStatus == 2){ isFinish = "完成"; }else { @@ -252,7 +251,6 @@ public class RobotService implements IRobotService{ RobotUtil.setWxTemplate(WxTemplateUtil.getChangeTask(normalTask.getProjectId(), userName, normalTask.getName())); } - @Override public void addDeliverRobotSend(Long currentUserId, String deliverName, Long subTimeId,SysProject project) throws Exception { String userName = userService.getUserNameByUserId(currentUserId); @@ -388,7 +386,9 @@ public class RobotService implements IRobotService{ RobotUtil.setWxTemplate(WxTemplateUtil.getAddComment(project.getId(), userName)); } - + /** + * 通过机器人发送提醒消息 + */ @Override public void sendRemindByRobot(TaskVo.RemindTask taskRemind,String content) throws Exception { String[] rolePhone = getMemberPhonesByRoleId(taskRemind.getExecutorRole()); @@ -419,4 +419,7 @@ public class RobotService implements IRobotService{ }); } } + + + } diff --git a/tall/src/main/java/com/ccsens/tall/web/InputDocController.java b/tall/src/main/java/com/ccsens/tall/web/InputDocController.java index c44a22f4..ec6a0e91 100644 --- a/tall/src/main/java/com/ccsens/tall/web/InputDocController.java +++ b/tall/src/main/java/com/ccsens/tall/web/InputDocController.java @@ -9,6 +9,7 @@ import com.ccsens.tall.bean.vo.LabelVo; import com.ccsens.tall.service.IInputDocService; import com.ccsens.util.JsonResponse; import com.ccsens.util.WebConstant; +import com.ccsens.util.annotation.OperateType; import com.ccsens.util.bean.dto.QueryDto; import io.jsonwebtoken.Claims; import io.swagger.annotations.Api; @@ -31,7 +32,7 @@ import java.util.List; @RequestMapping("/inputDoc") public class InputDocController { - @Autowired + @Resource private IInputDocService iInputDocService; /*@MustLogin @@ -54,6 +55,7 @@ public class InputDocController { return JsonResponse.newInstance().ok(docByTask); } + @OperateType(value = 15) @MustLogin @ApiOperation(value = "给输入文档上传文件", notes = "1007:给输入文档上传文件") @RequestMapping(value = "/uploadForDoc", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @@ -93,7 +95,7 @@ public class InputDocController { log.info("修改输入文档"); return JsonResponse.newInstance().ok(); } - + @OperateType(value = 16) @MustLogin @ApiOperation(value = "删除输入文档", notes = "1007:删除输入文档") @RequestMapping(value = "/delDoc", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @@ -114,6 +116,7 @@ public class InputDocController { return JsonResponse.newInstance().ok(); } + @OperateType(value = 14) @MustLogin @ApiOperation(value = "修改上传文件的备注信息", notes = "1007:修改上传文件的备注信息") @RequestMapping(value = "/updateDocOfRemark", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) From 2f7c611b8268e77f063b9b83adfa3f4d4ce45845 Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Tue, 6 Apr 2021 10:22:15 +0800 Subject: [PATCH 2/2] 20210406v1.1 --- .../com/ccsens/tall/aspect/RobotAspect.java | 2 +- .../java/com/ccsens/tall/bean/vo/MessageVo.java | 17 +++++++++++++++++ .../com/ccsens/tall/service/RobotService.java | 6 +++--- .../com/ccsens/tall/web/InputDocController.java | 8 ++++---- 4 files changed, 25 insertions(+), 8 deletions(-) diff --git a/tall/src/main/java/com/ccsens/tall/aspect/RobotAspect.java b/tall/src/main/java/com/ccsens/tall/aspect/RobotAspect.java index 32dc3edb..4bbd4c16 100644 --- a/tall/src/main/java/com/ccsens/tall/aspect/RobotAspect.java +++ b/tall/src/main/java/com/ccsens/tall/aspect/RobotAspect.java @@ -44,7 +44,7 @@ public class RobotAspect { RobotUtil.Message message = RobotUtil.getRobotMessage(); MessageVo.Inform inform = RobotUtil.getInform(); WxTemplateMessage wxTemplate = RobotUtil.getWxTemplate(); - // 3.机器人通知 + // 3.企业微信群机器人通知 asyncService.sendRobotMessage(operateType,message); // 4.ws和公众号通知 asyncService.sendMessage(operateType, inform, wxTemplate); diff --git a/tall/src/main/java/com/ccsens/tall/bean/vo/MessageVo.java b/tall/src/main/java/com/ccsens/tall/bean/vo/MessageVo.java index a09d3c7d..97b0dabd 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/vo/MessageVo.java +++ b/tall/src/main/java/com/ccsens/tall/bean/vo/MessageVo.java @@ -204,4 +204,21 @@ public class MessageVo { .appendMessage(new MessageVo.Message(WebConstant.TemplateParam.TaskName.value,taskName)); return inform; } + + /** + * 上传输入文档 + * @param userId + * @param userName + * @param projectId + * @param projectName + * @param taskName + * @return + */ + public static Inform uploadForDocComment(Long userId, String userName, Long projectId, String projectName, String taskName,String deliverName) { + MessageVo.Inform inform = new MessageVo.Inform(projectId, userId); + inform.appendMessage(new MessageVo.Message(WebConstant.TemplateParam.Operator.value, userName)) + .appendMessage(new MessageVo.Message(WebConstant.TemplateParam.ProjectName.value, projectName, WebConstant.Message.TYPE_LINK, Message.getProjectSettings(projectId))) + .appendMessage(new MessageVo.Message(WebConstant.TemplateParam.TaskName.value,taskName)); + return inform; + } } diff --git a/tall/src/main/java/com/ccsens/tall/service/RobotService.java b/tall/src/main/java/com/ccsens/tall/service/RobotService.java index 9ebd1475..0ccc1521 100644 --- a/tall/src/main/java/com/ccsens/tall/service/RobotService.java +++ b/tall/src/main/java/com/ccsens/tall/service/RobotService.java @@ -172,18 +172,18 @@ public class RobotService implements IRobotService{ @Override public void addTaskRobotSend(Long currentUserId, SysProject project, String taskName, Long executorId) throws Exception { - + //通过userID获取用户名 String userName = userService.getUserNameByUserId(currentUserId); String projectName = ""; - + //获取项目名 if(ObjectUtil.isNotNull(project)){ projectName = project.getName(); } // 获取角色名 TaskVo.RoleCheckList role = proRoleService.selectRoleByCheckOrExecutor(executorId); String executorName = ObjectUtil.isNotNull(role) ? role.getName() : ""; - + //将需填充的信息放到消息内 RobotUtil.Message message = new RobotUtil.Message(project.getId()); message.appendParams( new MessageVo.Message(WebConstant.TemplateParam.Operator.value, userName), diff --git a/tall/src/main/java/com/ccsens/tall/web/InputDocController.java b/tall/src/main/java/com/ccsens/tall/web/InputDocController.java index ec6a0e91..7d20d2e6 100644 --- a/tall/src/main/java/com/ccsens/tall/web/InputDocController.java +++ b/tall/src/main/java/com/ccsens/tall/web/InputDocController.java @@ -45,7 +45,7 @@ public class InputDocController { return JsonResponse.newInstance().ok(); }*/ - @MustLogin + @MustLoginTall @ApiOperation(value = "通过任务id查询输入文档", notes = "1007:通过任务id查询输入文档") @RequestMapping(value = "/docByTask", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse> findDocByTask(@ApiParam @Validated @RequestBody QueryDto params) { @@ -56,7 +56,7 @@ public class InputDocController { } @OperateType(value = 15) - @MustLogin + @MustLoginTall @ApiOperation(value = "给输入文档上传文件", notes = "1007:给输入文档上传文件") @RequestMapping(value = "/uploadForDoc", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse uploadForDoc(@ApiParam @Validated @RequestBody QueryDto params) { @@ -66,7 +66,7 @@ public class InputDocController { return JsonResponse.newInstance().ok(); } - @MustLogin + @MustLoginTall @ApiOperation(value = "查看文档上传历史记录", notes = "1007:查看文档上传历史记录") @RequestMapping(value = "/viewDocHistory", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse viewDocHistory(@ApiParam @Validated @RequestBody QueryDto params) { @@ -76,7 +76,7 @@ public class InputDocController { return JsonResponse.newInstance().ok(historyRecords); } - @MustLogin + @MustLoginTall @ApiOperation(value = "添加输入文档", notes = "1007:添加输入文档") @RequestMapping(value = "/addDoc", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse addDoc(@ApiParam @Validated @RequestBody QueryDto params) {