Browse Source

添加角色增加系统消息

recovery
ma 4 years ago
parent
commit
871104abe8
  1. 11
      tall/src/main/java/com/ccsens/tall/bean/vo/MessageVo.java
  2. 68
      tall/src/main/java/com/ccsens/tall/service/IRobotService.java
  3. 9
      tall/src/main/java/com/ccsens/tall/service/ProRoleService.java
  4. 61
      tall/src/main/java/com/ccsens/tall/service/RobotService.java
  5. 14
      tall/src/main/java/com/ccsens/tall/util/WxTemplateUtil.java
  6. 5
      tall/src/main/java/com/ccsens/tall/web/MemberController.java
  7. 4
      tall/src/main/java/com/ccsens/tall/web/RoleController.java
  8. 4
      tall/src/main/resources/application.yml
  9. 2
      util/src/main/java/com/ccsens/util/WebConstant.java

11
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)); .appendMessage(new MessageVo.Message(WebConstant.TemplateParam.Deliverable.value,deliverName));
return inform; 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;
}
} }

68
tall/src/main/java/com/ccsens/tall/service/IRobotService.java

@ -18,85 +18,93 @@ public interface IRobotService {
/** /**
* 添加任务消息 * 添加任务消息
* @param currentUserId * @param currentUserId 登录用户id
* @param project * @param project 项目
* @param taskName * @param taskName 任务名称
* @param executorId * @param executorId 负责人
*/ */
void addTaskRobotSend(Long currentUserId, SysProject project, String taskName, Long executorId) throws Exception; void addTaskRobotSend(Long currentUserId, SysProject project, String taskName, Long executorId) throws Exception;
/** /**
* 删除任务消息 * 删除任务消息
* @param currentUserId * @param currentUserId 登录用户id
* @param taskDetail * @param taskDetail 任务详情
*/ */
void deleteTaskRobotSend(Long currentUserId, ProTaskDetail taskDetail) throws Exception; void deleteTaskRobotSend(Long currentUserId, ProTaskDetail taskDetail) throws Exception;
/** /**
* 修改任务信息 * 修改任务信息
* @param currentUserId * @param currentUserId 登录用户id
* @param normalTask * @param normalTask 任务
*/ */
void changeTaskRobotSend(Long currentUserId, TaskVo.NormalTask normalTask) throws Exception; void changeTaskRobotSend(Long currentUserId, TaskVo.NormalTask normalTask) throws Exception;
/** /**
* 上传交付物信息 * 上传交付物信息
* @param currentUserId * @param currentUserId 登录用户id
* @param subTimeId * @param subTimeId 分解任务id
*/ */
void addDeliverRobotSend(Long currentUserId,String deliverName, Long subTimeId,SysProject project) throws Exception; void addDeliverRobotSend(Long currentUserId,String deliverName, Long subTimeId,SysProject project) throws Exception;
/** /**
* 删除交付物信息 * 删除交付物信息
* @param currentUserId * @param currentUserId 登录用户id
* @param name * @param name 交付物名称
* @param subTimeId * @param subTimeId 分解任务id
*/ */
void deleteDeliverRobotSend(Long currentUserId, String name, Long subTimeId) throws Exception; void deleteDeliverRobotSend(Long currentUserId, String name, Long subTimeId) throws Exception;
/** /**
* 检查交付物信息 * 检查交付物信息
* @param currentUserId * @param currentUserId 当前登录用户id
* @param task * @param task 任务
* @param userIdSet * @param userIdSet 上传用户id
* @param name * @param name 交付物名称
*/ */
void checkDeliverRobotSend(Long currentUserId, ProTaskDetail task, Long userIdSet, String name,Boolean flag) throws Exception; void checkDeliverRobotSend(Long currentUserId, ProTaskDetail task, Long userIdSet, String name,Boolean flag) throws Exception;
/** /**
* 评论任务信息 * 评论任务信息
* @param userId * @param userId 用户id
* @param proTaskDetail * @param proTaskDetail 项目详情
*/ */
void addCommentRobotSend(Long userId, ProTaskDetail proTaskDetail) throws Exception; void addCommentRobotSend(Long userId, ProTaskDetail proTaskDetail) throws Exception;
/** /**
* 上传输入文档的文件消息记录 * 上传输入文档的文件消息记录
* @param currentUserId * @param currentUserId 登录用户id
* @param task * @param task 任务详情
* @param deliverable * @param deliverable 交付物
* @throws Exception * @throws Exception 异常
*/ */
void uploadForDocRobotSend(Long currentUserId,ProTaskDetail task,String deliverable) throws Exception; void uploadForDocRobotSend(Long currentUserId,ProTaskDetail task,String deliverable) throws Exception;
/** /**
* 删除输入文档中的文件消息记录 * 删除输入文档中的文件消息记录
* @param userId * @param userId 登录用户id
* @param taskDetail * @param taskDetail 任务详情
* @param name * @param name 交付物名称
* @throws Exception * @throws Exception
*/ */
void delDocRobotSend(Long userId, ProTaskDetail taskDetail, String name) throws Exception; void delDocRobotSend(Long userId, ProTaskDetail taskDetail, String name) throws Exception;
/** /**
* 修改输入文档中的备注 消息记录 * 修改输入文档中的备注 消息记录
* @param userId * @param userId 登录用户id
* @param taskDetail * @param taskDetail 任务详情
* @param name * @param name 交付物名称
* @throws Exception * @throws Exception 异常
*/ */
void updateRemarkRobotSend(Long userId, ProTaskDetail taskDetail, String 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 * @param code

9
tall/src/main/java/com/ccsens/tall/service/ProRoleService.java

@ -74,6 +74,8 @@ public class ProRoleService implements IProRoleService {
private ProRoleMapper proRoleMapper; private ProRoleMapper proRoleMapper;
@Resource @Resource
private ProRoleExcludeMapper proRoleExcludeMapper; private ProRoleExcludeMapper proRoleExcludeMapper;
@Resource
private RobotService robotService;
@Override @Override
public void saveProRole(ProRole proRole) { public void saveProRole(ProRole proRole) {
proRoleDao.insertSelective(proRole); proRoleDao.insertSelective(proRole);
@ -579,6 +581,13 @@ public class ProRoleService implements IProRoleService {
RoleVo.RoleByProjectId roleInfo = new RoleVo.RoleByProjectId(); RoleVo.RoleByProjectId roleInfo = new RoleVo.RoleByProjectId();
roleInfo.setRoleId(role.getId()); roleInfo.setRoleId(role.getId());
roleInfo.setRoleName(role.getName()); roleInfo.setRoleName(role.getName());
//发送系统消息
try {
robotService.addRoleRobotSend(currentUserId,saveRole.getProjectId(),saveRole.getRoleName(),roleInfo.getRoleId());
}catch (Exception e){
log.info("发送系统消息异常",e);
}
return roleInfo; return roleInfo;
} }

61
tall/src/main/java/com/ccsens/tall/service/RobotService.java

@ -253,11 +253,11 @@ public class RobotService implements IRobotService{
/** /**
* 上传交付物信息 消息 * 上传交付物信息 消息
* @param currentUserId * @param currentUserId 当前用户id
* @param deliverName * @param deliverName 交付物名称
* @param subTimeId * @param subTimeId 分解任务id
* @param project * @param project 项目
* @throws Exception * @throws Exception 异常
*/ */
@Override @Override
public void addDeliverRobotSend(Long currentUserId, String deliverName, Long subTimeId,SysProject project) throws Exception { 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 currentUserId 当前登录用户id
* @param task * @param task 任务详情
* @param uploadUserId * @param uploadUserId 上传用户id
* @param deliverName * @param deliverName 交付物名称
* @throws Exception * @throws Exception 异常
*/ */
@Override @Override
public void checkDeliverRobotSend(Long currentUserId, ProTaskDetail task, Long uploadUserId, String deliverName,Boolean flag) throws Exception { 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); RobotUtil.setInform(inform);
// 添加wx消息通知 // 添加wx消息通知
RobotUtil.setWxTemplate(WxTemplateUtil.uploadFileForDoc(project.getId(), userName,project.getName(),task.getName(),deliverable)); RobotUtil.setWxTemplate(WxTemplateUtil.uploadFileForDoc(project.getId(), userName,project.getName(),task.getName(),deliverable));
} }
/** /**
@ -477,10 +476,10 @@ public class RobotService implements IRobotService{
/** /**
* 修改输入文档备注 消息记录 * 修改输入文档备注 消息记录
* @param userId * @param userId 当前用户id
* @param taskDetail * @param taskDetail 任务详情
* @param name * @param name 交付物名称
* @throws Exception * @throws Exception 异常
*/ */
@Override @Override
public void updateRemarkRobotSend(Long userId, ProTaskDetail taskDetail, String name) throws Exception { 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));
}
} }

14
tall/src/main/java/com/ccsens/tall/util/WxTemplateUtil.java

@ -221,4 +221,18 @@ public class WxTemplateUtil {
message.setData(data); message.setData(data);
return message; 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;
}
} }

5
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.tall.service.IProMemberService;
import com.ccsens.util.JsonResponse; import com.ccsens.util.JsonResponse;
import com.ccsens.util.WebConstant; import com.ccsens.util.WebConstant;
import com.ccsens.util.annotation.OperateType;
import io.jsonwebtoken.Claims; import io.jsonwebtoken.Claims;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
@ -34,7 +35,7 @@ public class MemberController {
@Resource @Resource
private IProMemberService proMemberService; private IProMemberService proMemberService;
@OperateType(value = 20)
@ApiOperation(value = "添加成员",notes = "") @ApiOperation(value = "添加成员",notes = "")
@ApiImplicitParams({ @ApiImplicitParams({
}) })
@ -47,6 +48,7 @@ public class MemberController {
return JsonResponse.newInstance().ok(memberInfo); return JsonResponse.newInstance().ok(memberInfo);
} }
@OperateType(value = 21)
@ApiOperation(value = "删除成员",notes = "") @ApiOperation(value = "删除成员",notes = "")
@ApiImplicitParams({ @ApiImplicitParams({
}) })
@ -58,6 +60,7 @@ public class MemberController {
return JsonResponse.newInstance().ok(); return JsonResponse.newInstance().ok();
} }
@OperateType(value = 22)
@ApiOperation(value = "修改成员信息",notes = "") @ApiOperation(value = "修改成员信息",notes = "")
@ApiImplicitParams({ @ApiImplicitParams({
}) })

4
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.tall.service.IProRoleService;
import com.ccsens.util.JsonResponse; import com.ccsens.util.JsonResponse;
import com.ccsens.util.WebConstant; import com.ccsens.util.WebConstant;
import com.ccsens.util.annotation.OperateType;
import com.ccsens.util.bean.dto.QueryDto; import com.ccsens.util.bean.dto.QueryDto;
import io.jsonwebtoken.Claims; import io.jsonwebtoken.Claims;
import io.swagger.annotations.*; import io.swagger.annotations.*;
@ -35,6 +36,7 @@ public class RoleController {
@Resource @Resource
private IProRoleService proRoleService; private IProRoleService proRoleService;
@OperateType(value = 18)
@ApiOperation(value = "删除角色",notes = "") @ApiOperation(value = "删除角色",notes = "")
@ApiImplicitParams({ @ApiImplicitParams({
}) })
@ -46,6 +48,7 @@ public class RoleController {
return JsonResponse.newInstance().ok(); return JsonResponse.newInstance().ok();
} }
@OperateType(value = 17)
@ApiOperation(value = "添加角色",notes = "") @ApiOperation(value = "添加角色",notes = "")
@ApiImplicitParams({ @ApiImplicitParams({
}) })
@ -57,6 +60,7 @@ public class RoleController {
return JsonResponse.newInstance().ok(roleInfo); return JsonResponse.newInstance().ok(roleInfo);
} }
@OperateType(value = 19)
@ApiOperation(value = "修改角色信息",notes = "") @ApiOperation(value = "修改角色信息",notes = "")
@ApiImplicitParams({ @ApiImplicitParams({
}) })

4
tall/src/main/resources/application.yml

@ -1,5 +1,5 @@
spring: spring:
profiles: profiles:
active: dev active: test
include: util-dev,common include: util-test,common

2
util/src/main/java/com/ccsens/util/WebConstant.java

@ -71,6 +71,8 @@ public class WebConstant {
Deliverable("{{deliverable}}", "交付物"), Deliverable("{{deliverable}}", "交付物"),
Operate("{{operate}}", "操作"), Operate("{{operate}}", "操作"),
Principal("{{principal}}", "负责人"), Principal("{{principal}}", "负责人"),
RoleName("{{roleName}}", "角色名"),
MemberName("{{memberName}}", "成员名"),
; ;
public String value; public String value;

Loading…
Cancel
Save