|
|
@ -5,6 +5,7 @@ import cn.hutool.core.util.ObjectUtil; |
|
|
|
import cn.hutool.core.util.StrUtil; |
|
|
|
import com.ccsens.tall.bean.po.*; |
|
|
|
import com.ccsens.tall.bean.vo.MessageVo; |
|
|
|
import com.ccsens.tall.bean.vo.ProjectVo; |
|
|
|
import com.ccsens.tall.bean.vo.TaskVo; |
|
|
|
import com.ccsens.tall.persist.dao.*; |
|
|
|
import com.ccsens.tall.util.RobotUtil; |
|
|
@ -141,6 +142,23 @@ public class RobotService implements IRobotService{ |
|
|
|
return memberPhone; |
|
|
|
} |
|
|
|
|
|
|
|
private String[] getMemberPhonesByProject(Long projectId) throws Exception { |
|
|
|
String[] memberPhone = new String[]{}; |
|
|
|
List<ProjectVo.MembersByProject> memberList = proMemberService.selectMembersByProjectId(projectId); |
|
|
|
if(CollectionUtil.isNotEmpty(memberList)){ |
|
|
|
String[] phones = new String[memberList.size()]; |
|
|
|
AtomicInteger i = new AtomicInteger(0); |
|
|
|
memberList.forEach(proMember -> { |
|
|
|
if(StrUtil.isNotEmpty(proMember.getPhone())) { |
|
|
|
phones[i.get()] = proMember.getPhone(); |
|
|
|
i.set(i.get() + 1); |
|
|
|
} |
|
|
|
}); |
|
|
|
memberPhone = phones; |
|
|
|
} |
|
|
|
return memberPhone; |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void finishTaskRobotSend(Long currentUserId,Long projectId, String projectName, String taskName,Long executorRoleId , int completedStatus) throws Exception { |
|
|
|
String userName = userService.getUserNameByUserId(currentUserId); |
|
|
@ -300,11 +318,15 @@ public class RobotService implements IRobotService{ |
|
|
|
public void deleteDeliverRobotSend(Long currentUserId, String deliverName, Long subTimeId) throws Exception { |
|
|
|
String userName = userService.getUserNameByUserId(currentUserId); |
|
|
|
String projectName = ""; |
|
|
|
ProTaskDetail taskDetail = null; |
|
|
|
ProTaskSubTime proTaskSubTime = taskSubTimeDao.selectByPrimaryKey(subTimeId); |
|
|
|
if(ObjectUtil.isNull(proTaskSubTime)){ |
|
|
|
throw new BaseException(CodeEnum.NOT_TASK); |
|
|
|
// throw new BaseException(CodeEnum.NOT_TASK);
|
|
|
|
taskDetail = taskDetailDao.selectByPrimaryKey(subTimeId); |
|
|
|
}else { |
|
|
|
taskDetail = taskDetailDao.selectByPrimaryKey(proTaskSubTime.getTaskDetailId()); |
|
|
|
} |
|
|
|
ProTaskDetail taskDetail = taskDetailDao.selectByPrimaryKey(proTaskSubTime.getTaskDetailId()); |
|
|
|
|
|
|
|
if(ObjectUtil.isNull(taskDetail)){ |
|
|
|
throw new BaseException(CodeEnum.NOT_TASK); |
|
|
|
} |
|
|
@ -576,7 +598,259 @@ public class RobotService implements IRobotService{ |
|
|
|
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)); |
|
|
|
RobotUtil.setWxTemplate(WxTemplateUtil.addRole(project.getId(), userName,project.getName(),roleName)); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
*修改角色 系统消息 |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public void updateRoleRobotSend(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.updateRoleComment(currentUserId, userName, project.getId(), project.getName(),roleName); |
|
|
|
RobotUtil.setInform(inform); |
|
|
|
// 添加wx消息通知
|
|
|
|
RobotUtil.setWxTemplate(WxTemplateUtil.updateRole(project.getId(), userName,project.getName(),roleName)); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
*删除角色 系统消息 |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public void delRoleRobotSend(Long userId, Long projectId, String name, Long id) throws Exception { |
|
|
|
String userName = userService.getUserNameByUserId(userId); |
|
|
|
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,name) |
|
|
|
); |
|
|
|
//获取角色内成员的手机号
|
|
|
|
String[] memberPhone = getMemberPhonesByRoleId(id); |
|
|
|
if(memberPhone.length != 0){ |
|
|
|
message.appendMentionedMobileList(memberPhone); |
|
|
|
} |
|
|
|
RobotUtil.setRobotMessage(message); |
|
|
|
|
|
|
|
MessageVo.Inform inform = MessageVo.delRoleComment(userId, userName, project.getId(), project.getName(),name); |
|
|
|
RobotUtil.setInform(inform); |
|
|
|
// 添加wx消息通知
|
|
|
|
RobotUtil.setWxTemplate(WxTemplateUtil.delRole(project.getId(), userName,project.getName(),name)); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
*添加成员 系统消息 |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public void saveMemberRobotSend(Long userId, Long projectId, String memberName, Long id) throws Exception { |
|
|
|
String userName = userService.getUserNameByUserId(userId); |
|
|
|
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.MemberName.value,memberName) |
|
|
|
); |
|
|
|
//获取角色内成员的手机号(给项目中所有成员发送消息)
|
|
|
|
String[] memberPhone = getMemberPhonesByProject(projectId); |
|
|
|
if(memberPhone.length != 0){ |
|
|
|
message.appendMentionedMobileList(memberPhone); |
|
|
|
} |
|
|
|
RobotUtil.setRobotMessage(message); |
|
|
|
|
|
|
|
MessageVo.Inform inform = MessageVo.saveMember(userId, userName, project.getId(), project.getName(),memberName); |
|
|
|
RobotUtil.setInform(inform); |
|
|
|
// 添加wx消息通知
|
|
|
|
RobotUtil.setWxTemplate(WxTemplateUtil.saveMember(project.getId(), userName,project.getName(),memberName)); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
*删除成员 系统消息 |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public void delMemberRobotSend(Long userId, Long projectId, String memberName, Long id) throws Exception { |
|
|
|
String userName = userService.getUserNameByUserId(userId); |
|
|
|
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.MemberName.value,memberName) |
|
|
|
); |
|
|
|
//获取角色内成员的手机号
|
|
|
|
String[] memberPhone = getMemberPhonesByProject(projectId); |
|
|
|
if(memberPhone.length != 0){ |
|
|
|
message.appendMentionedMobileList(memberPhone); |
|
|
|
} |
|
|
|
RobotUtil.setRobotMessage(message); |
|
|
|
|
|
|
|
MessageVo.Inform inform = MessageVo.delMember(userId, userName, project.getId(), project.getName(),memberName); |
|
|
|
RobotUtil.setInform(inform); |
|
|
|
// 添加wx消息通知
|
|
|
|
RobotUtil.setWxTemplate(WxTemplateUtil.delMember(project.getId(), userName,project.getName(),memberName)); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
*修改成员 系统消息 |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public void updateMemberRobotSend(Long userId, Long projectId, String memberName, Long id) throws Exception { |
|
|
|
String userName = userService.getUserNameByUserId(userId); |
|
|
|
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.MemberName.value,memberName) |
|
|
|
); |
|
|
|
//获取角色内成员的手机号
|
|
|
|
String[] memberPhone = getMemberPhonesByProject(projectId); |
|
|
|
if(memberPhone.length != 0){ |
|
|
|
message.appendMentionedMobileList(memberPhone); |
|
|
|
} |
|
|
|
RobotUtil.setRobotMessage(message); |
|
|
|
|
|
|
|
MessageVo.Inform inform = MessageVo.updateMember(userId, userName, project.getId(), project.getName(),memberName); |
|
|
|
RobotUtil.setInform(inform); |
|
|
|
// 添加wx消息通知
|
|
|
|
RobotUtil.setWxTemplate(WxTemplateUtil.updateMember(project.getId(), userName,project.getName(),memberName)); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
*添加项目 系统消息 |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public void saveWbsRobotSend(Long currentUserId,SysProject sysProject) throws Exception { |
|
|
|
String userName = userService.getUserNameByUserId(currentUserId); |
|
|
|
String projectName = ""; |
|
|
|
SysProject project = sysProjectDao.selectByPrimaryKey(sysProject.getId()); |
|
|
|
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) |
|
|
|
); |
|
|
|
//获取角色内成员的手机号
|
|
|
|
String[] memberPhone = getMemberPhonesByProject(project.getId()); |
|
|
|
if(memberPhone.length != 0){ |
|
|
|
message.appendMentionedMobileList(memberPhone); |
|
|
|
} |
|
|
|
RobotUtil.setRobotMessage(message); |
|
|
|
|
|
|
|
MessageVo.Inform inform = MessageVo.saveWbs(currentUserId,userName, project.getId(), project.getName()); |
|
|
|
RobotUtil.setInform(inform); |
|
|
|
// 添加wx消息通知
|
|
|
|
RobotUtil.setWxTemplate(WxTemplateUtil.saveWbs(project.getId(),userName,project.getName())); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
*修改项目 系统消息 |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public void updateProjectRobotSend(Long currentUserId,SysProject sysProject) throws Exception { |
|
|
|
String userName = userService.getUserNameByUserId(currentUserId); |
|
|
|
String projectName = ""; |
|
|
|
SysProject project = sysProjectDao.selectByPrimaryKey(sysProject.getId()); |
|
|
|
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) |
|
|
|
); |
|
|
|
//获取角色内成员的手机号
|
|
|
|
String[] memberPhone = getMemberPhonesByProject(project.getId()); |
|
|
|
if(memberPhone.length != 0){ |
|
|
|
message.appendMentionedMobileList(memberPhone); |
|
|
|
} |
|
|
|
RobotUtil.setRobotMessage(message); |
|
|
|
|
|
|
|
MessageVo.Inform inform = MessageVo.updateProject(currentUserId,userName, project.getId(), project.getName()); |
|
|
|
RobotUtil.setInform(inform); |
|
|
|
// 添加wx消息通知
|
|
|
|
RobotUtil.setWxTemplate(WxTemplateUtil.updateProject(project.getId(),userName,project.getName())); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
*删除项目 系统消息 |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public void delProjectRobotSend(Long currentUserId,Long projectId) 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) |
|
|
|
); |
|
|
|
//获取角色内成员的手机号
|
|
|
|
String[] memberPhone = getMemberPhonesByProject(project.getId()); |
|
|
|
if(memberPhone.length != 0){ |
|
|
|
message.appendMentionedMobileList(memberPhone); |
|
|
|
} |
|
|
|
RobotUtil.setRobotMessage(message); |
|
|
|
|
|
|
|
MessageVo.Inform inform = MessageVo.delProject(currentUserId,userName, project.getId(), project.getName()); |
|
|
|
RobotUtil.setInform(inform); |
|
|
|
// 添加wx消息通知
|
|
|
|
RobotUtil.setWxTemplate(WxTemplateUtil.delProject(project.getId(),userName,project.getName())); |
|
|
|
} |
|
|
|
} |
|
|
|