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 a2d4e62d..d73e93bd 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 @@ -281,4 +281,15 @@ public class MessageVo { .appendMessage(new MessageVo.Message(WebConstant.TemplateParam.Deliverable.value,deliverName)); return inform; } + + /** + * 添加角色 + */ + public static Inform addRoleComment(Long userId,String userName,Long projectId,String projectName,String roleName) { + 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.RoleName.value,roleName)); + return inform; + } } diff --git a/tall/src/main/java/com/ccsens/tall/service/IRobotService.java b/tall/src/main/java/com/ccsens/tall/service/IRobotService.java index e7eddc6a..20fbe0fc 100644 --- a/tall/src/main/java/com/ccsens/tall/service/IRobotService.java +++ b/tall/src/main/java/com/ccsens/tall/service/IRobotService.java @@ -18,85 +18,93 @@ public interface IRobotService { /** * 添加任务消息 - * @param currentUserId - * @param project - * @param taskName - * @param executorId + * @param currentUserId 登录用户id + * @param project 项目 + * @param taskName 任务名称 + * @param executorId 负责人 */ void addTaskRobotSend(Long currentUserId, SysProject project, String taskName, Long executorId) throws Exception; /** * 删除任务消息 - * @param currentUserId - * @param taskDetail + * @param currentUserId 登录用户id + * @param taskDetail 任务详情 */ void deleteTaskRobotSend(Long currentUserId, ProTaskDetail taskDetail) throws Exception; /** * 修改任务信息 - * @param currentUserId - * @param normalTask + * @param currentUserId 登录用户id + * @param normalTask 任务 */ void changeTaskRobotSend(Long currentUserId, TaskVo.NormalTask normalTask) throws Exception; /** * 上传交付物信息 - * @param currentUserId - * @param subTimeId + * @param currentUserId 登录用户id + * @param subTimeId 分解任务id */ void addDeliverRobotSend(Long currentUserId,String deliverName, Long subTimeId,SysProject project) throws Exception; /** * 删除交付物信息 - * @param currentUserId - * @param name - * @param subTimeId + * @param currentUserId 登录用户id + * @param name 交付物名称 + * @param subTimeId 分解任务id */ void deleteDeliverRobotSend(Long currentUserId, String name, Long subTimeId) throws Exception; /** * 检查交付物信息 - * @param currentUserId - * @param task - * @param userIdSet - * @param name + * @param currentUserId 当前登录用户id + * @param task 任务 + * @param userIdSet 上传用户id + * @param name 交付物名称 */ void checkDeliverRobotSend(Long currentUserId, ProTaskDetail task, Long userIdSet, String name,Boolean flag) throws Exception; /** * 评论任务信息 - * @param userId - * @param proTaskDetail + * @param userId 用户id + * @param proTaskDetail 项目详情 */ void addCommentRobotSend(Long userId, ProTaskDetail proTaskDetail) throws Exception; /** * 上传输入文档的文件消息记录 - * @param currentUserId - * @param task - * @param deliverable - * @throws Exception + * @param currentUserId 登录用户id + * @param task 任务详情 + * @param deliverable 交付物 + * @throws Exception 异常 */ void uploadForDocRobotSend(Long currentUserId,ProTaskDetail task,String deliverable) throws Exception; /** * 删除输入文档中的文件消息记录 - * @param userId - * @param taskDetail - * @param name + * @param userId 登录用户id + * @param taskDetail 任务详情 + * @param name 交付物名称 * @throws Exception */ void delDocRobotSend(Long userId, ProTaskDetail taskDetail, String name) throws Exception; /** * 修改输入文档中的备注 消息记录 - * @param userId - * @param taskDetail - * @param name - * @throws Exception + * @param userId 登录用户id + * @param taskDetail 任务详情 + * @param name 交付物名称 + * @throws Exception 异常 */ void updateRemarkRobotSend(Long userId, ProTaskDetail taskDetail, String name) throws Exception; + /** + * 添加角色 消息记录 + * @param currentUserId 当前用户id + * @param projectId 项目id + * @param roleName 角色名称 + */ + void addRoleRobotSend(Long currentUserId, Long projectId, String roleName,Long roleId) throws Exception; + /** * 查询模板 * @param code diff --git a/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java b/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java index f468cff6..d99c09e5 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java @@ -74,6 +74,8 @@ public class ProRoleService implements IProRoleService { private ProRoleMapper proRoleMapper; @Resource private ProRoleExcludeMapper proRoleExcludeMapper; + @Resource + private RobotService robotService; @Override public void saveProRole(ProRole proRole) { proRoleDao.insertSelective(proRole); @@ -579,6 +581,13 @@ public class ProRoleService implements IProRoleService { RoleVo.RoleByProjectId roleInfo = new RoleVo.RoleByProjectId(); roleInfo.setRoleId(role.getId()); roleInfo.setRoleName(role.getName()); + + //发送系统消息 + try { + robotService.addRoleRobotSend(currentUserId,saveRole.getProjectId(),saveRole.getRoleName(),roleInfo.getRoleId()); + }catch (Exception e){ + log.info("发送系统消息异常",e); + } return roleInfo; } 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 1ae86cf2..f03ce528 100644 --- a/tall/src/main/java/com/ccsens/tall/service/RobotService.java +++ b/tall/src/main/java/com/ccsens/tall/service/RobotService.java @@ -253,11 +253,11 @@ public class RobotService implements IRobotService{ /** * 上传交付物信息 消息 - * @param currentUserId - * @param deliverName - * @param subTimeId - * @param project - * @throws Exception + * @param currentUserId 当前用户id + * @param deliverName 交付物名称 + * @param subTimeId 分解任务id + * @param project 项目 + * @throws Exception 异常 */ @Override public void addDeliverRobotSend(Long currentUserId, String deliverName, Long subTimeId,SysProject project) throws Exception { @@ -334,11 +334,11 @@ public class RobotService implements IRobotService{ /** * 检查交付物 消息 - * @param currentUserId - * @param task - * @param uploadUserId - * @param deliverName - * @throws Exception + * @param currentUserId 当前登录用户id + * @param task 任务详情 + * @param uploadUserId 上传用户id + * @param deliverName 交付物名称 + * @throws Exception 异常 */ @Override public void checkDeliverRobotSend(Long currentUserId, ProTaskDetail task, Long uploadUserId, String deliverName,Boolean flag) throws Exception { @@ -436,7 +436,6 @@ public class RobotService implements IRobotService{ RobotUtil.setInform(inform); // 添加wx消息通知 RobotUtil.setWxTemplate(WxTemplateUtil.uploadFileForDoc(project.getId(), userName,project.getName(),task.getName(),deliverable)); - } /** @@ -477,10 +476,10 @@ public class RobotService implements IRobotService{ /** * 修改输入文档备注 消息记录 - * @param userId - * @param taskDetail - * @param name - * @throws Exception + * @param userId 当前用户id + * @param taskDetail 任务详情 + * @param name 交付物名称 + * @throws Exception 异常 */ @Override public void updateRemarkRobotSend(Long userId, ProTaskDetail taskDetail, String name) throws Exception { @@ -548,4 +547,36 @@ public class RobotService implements IRobotService{ + /** + *新增角色 系统消息 + */ + @Override + public void addRoleRobotSend(Long currentUserId, Long projectId, String roleName,Long roleId) throws Exception { + String userName = userService.getUserNameByUserId(currentUserId); + String projectName = ""; + SysProject project = sysProjectDao.selectByPrimaryKey(projectId); + if (ObjectUtil.isNotNull(project)){ + projectName = project.getName(); + } + + //生成消息 + RobotUtil.Message message = new RobotUtil.Message(project.getId()); + message.appendParams( + new MessageVo.Message(WebConstant.TemplateParam.Operator.value,userName), + new MessageVo.Message(WebConstant.TemplateParam.ProjectName.value,projectName), + new MessageVo.Message(WebConstant.TemplateParam.RoleName.value,roleName) + ); + //获取角色内成员的手机号 + String[] memberPhone = getMemberPhonesByRoleId(roleId); + if(memberPhone.length != 0){ + message.appendMentionedMobileList(memberPhone); + } + RobotUtil.setRobotMessage(message); + + MessageVo.Inform inform = MessageVo.addRoleComment(currentUserId, userName, project.getId(), project.getName(),roleName); + RobotUtil.setInform(inform); + // 添加wx消息通知 + RobotUtil.setWxTemplate(WxTemplateUtil.addRoleRemark(project.getId(), userName,project.getName(),roleName)); + } + } diff --git a/tall/src/main/java/com/ccsens/tall/util/WxTemplateUtil.java b/tall/src/main/java/com/ccsens/tall/util/WxTemplateUtil.java index 533a99cf..5c0e230e 100644 --- a/tall/src/main/java/com/ccsens/tall/util/WxTemplateUtil.java +++ b/tall/src/main/java/com/ccsens/tall/util/WxTemplateUtil.java @@ -221,4 +221,18 @@ public class WxTemplateUtil { message.setData(data); return message; } + + /** + * 添加角色 + */ + public static WxTemplateMessage addRoleRemark(Long projectId, String userName,String projectName,String roleName) { + WxTemplateMessage message = getWxTemplateMessage(projectId); + message.setTemplate_id(WxGzhUtil.Template.TASK_PROGRESS.templateId); + WxTemplateMessage.TemplateData data = new WxTemplateMessage.TemplateData(); + data.setFirst(new WxTemplateMessage.TemplateSettings("")); + data.setKeyword1(new WxTemplateMessage.TemplateSettings(userName + "在项目《"+projectName+"》内的新增了角色" + roleName)); + data.setKeyword2(new WxTemplateMessage.TemplateSettings("新增角色")); + message.setData(data); + return message; + } } diff --git a/tall/src/main/java/com/ccsens/tall/web/MemberController.java b/tall/src/main/java/com/ccsens/tall/web/MemberController.java index 2f6fd750..0ca2cfb3 100644 --- a/tall/src/main/java/com/ccsens/tall/web/MemberController.java +++ b/tall/src/main/java/com/ccsens/tall/web/MemberController.java @@ -7,6 +7,7 @@ import com.ccsens.tall.bean.vo.RoleVo; import com.ccsens.tall.service.IProMemberService; import com.ccsens.util.JsonResponse; import com.ccsens.util.WebConstant; +import com.ccsens.util.annotation.OperateType; import io.jsonwebtoken.Claims; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParams; @@ -34,7 +35,7 @@ public class MemberController { @Resource private IProMemberService proMemberService; - + @OperateType(value = 20) @ApiOperation(value = "添加成员",notes = "") @ApiImplicitParams({ }) @@ -47,6 +48,7 @@ public class MemberController { return JsonResponse.newInstance().ok(memberInfo); } + @OperateType(value = 21) @ApiOperation(value = "删除成员",notes = "") @ApiImplicitParams({ }) @@ -58,6 +60,7 @@ public class MemberController { return JsonResponse.newInstance().ok(); } + @OperateType(value = 22) @ApiOperation(value = "修改成员信息",notes = "") @ApiImplicitParams({ }) diff --git a/tall/src/main/java/com/ccsens/tall/web/RoleController.java b/tall/src/main/java/com/ccsens/tall/web/RoleController.java index 1ca21552..62ed2015 100644 --- a/tall/src/main/java/com/ccsens/tall/web/RoleController.java +++ b/tall/src/main/java/com/ccsens/tall/web/RoleController.java @@ -12,6 +12,7 @@ import com.ccsens.tall.bean.vo.TaskVo; import com.ccsens.tall.service.IProRoleService; 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.*; @@ -35,6 +36,7 @@ public class RoleController { @Resource private IProRoleService proRoleService; + @OperateType(value = 18) @ApiOperation(value = "删除角色",notes = "") @ApiImplicitParams({ }) @@ -46,6 +48,7 @@ public class RoleController { return JsonResponse.newInstance().ok(); } + @OperateType(value = 17) @ApiOperation(value = "添加角色",notes = "") @ApiImplicitParams({ }) @@ -57,6 +60,7 @@ public class RoleController { return JsonResponse.newInstance().ok(roleInfo); } + @OperateType(value = 19) @ApiOperation(value = "修改角色信息",notes = "") @ApiImplicitParams({ }) diff --git a/tall/src/main/resources/application.yml b/tall/src/main/resources/application.yml index b5408a3a..ebc544af 100644 --- a/tall/src/main/resources/application.yml +++ b/tall/src/main/resources/application.yml @@ -1,5 +1,5 @@ spring: profiles: - active: dev - include: util-dev,common + active: test + include: util-test,common diff --git a/util/src/main/java/com/ccsens/util/WebConstant.java b/util/src/main/java/com/ccsens/util/WebConstant.java index fc45fc14..930c663b 100644 --- a/util/src/main/java/com/ccsens/util/WebConstant.java +++ b/util/src/main/java/com/ccsens/util/WebConstant.java @@ -71,6 +71,8 @@ public class WebConstant { Deliverable("{{deliverable}}", "交付物"), Operate("{{operate}}", "操作"), Principal("{{principal}}", "负责人"), + RoleName("{{roleName}}", "角色名"), + MemberName("{{memberName}}", "成员名"), ; public String value;