Browse Source

Merge branch 'pt' of dd.tall.wiki:ccsens_wiki/ccsenscloud into pt

recovery
zhizhi wu 4 years ago
parent
commit
c0dfbdafec
  1. 85
      tall/src/main/java/com/ccsens/tall/bean/vo/MessageVo.java
  2. 4
      tall/src/main/java/com/ccsens/tall/bean/vo/ProjectMessageVo.java
  3. 4
      tall/src/main/java/com/ccsens/tall/service/ExcelService.java
  4. 2
      tall/src/main/java/com/ccsens/tall/service/IInputDocService.java
  5. 2
      tall/src/main/java/com/ccsens/tall/service/IProMemberService.java
  6. 4
      tall/src/main/java/com/ccsens/tall/service/IProRoleService.java
  7. 2
      tall/src/main/java/com/ccsens/tall/service/IProjectService.java
  8. 68
      tall/src/main/java/com/ccsens/tall/service/IRobotService.java
  9. 2
      tall/src/main/java/com/ccsens/tall/service/ITaskDeliverService.java
  10. 24
      tall/src/main/java/com/ccsens/tall/service/InputDocService.java
  11. 15
      tall/src/main/java/com/ccsens/tall/service/ProMemberService.java
  12. 16
      tall/src/main/java/com/ccsens/tall/service/ProRoleService.java
  13. 11
      tall/src/main/java/com/ccsens/tall/service/ProjectService.java
  14. 282
      tall/src/main/java/com/ccsens/tall/service/RobotService.java
  15. 11
      tall/src/main/java/com/ccsens/tall/service/TaskDeliverService.java
  16. 114
      tall/src/main/java/com/ccsens/tall/util/WxTemplateUtil.java
  17. 3
      tall/src/main/java/com/ccsens/tall/web/DeliverController.java
  18. 2
      tall/src/main/java/com/ccsens/tall/web/ExcelController.java
  19. 3
      tall/src/main/java/com/ccsens/tall/web/InputDocController.java
  20. 3
      tall/src/main/java/com/ccsens/tall/web/ProjectController.java
  21. 6
      tall/src/main/resources/mapper_dao/ProDeliverHistoryRecordDao.xml

85
tall/src/main/java/com/ccsens/tall/bean/vo/MessageVo.java

@ -292,4 +292,89 @@ public class MessageVo {
.appendMessage(new MessageVo.Message(WebConstant.TemplateParam.RoleName.value,roleName)); .appendMessage(new MessageVo.Message(WebConstant.TemplateParam.RoleName.value,roleName));
return inform; return inform;
} }
/**
* 修改角色
*/
public static Inform updateRoleComment(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;
}
/**
* 删除角色
*/
public static Inform delRoleComment(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;
}
/**
* 添加成员
*/
public static Inform saveMember(Long userId,String userName,Long projectId,String projectName,String memberName) {
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.MemberName.value,memberName));
return inform;
}
/**
* 删除成员
*/
public static Inform delMember(Long userId,String userName,Long projectId,String projectName,String memberName) {
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.MemberName.value,memberName));
return inform;
}
/**
* 修改成员
*/
public static Inform updateMember(Long userId,String userName,Long projectId,String projectName,String memberName) {
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.MemberName.value,memberName));
return inform;
}
/**
* 添加项目
*/
public static Inform saveWbs(Long userId,String userName,Long projectId,String projectName) {
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)));
return inform;
}
/**
* 修改项目
*/
public static Inform updateProject(Long userId,String userName,Long projectId,String projectName) {
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)));
return inform;
}
/**
* 删除项目
*/
public static Inform delProject(Long userId,String userName,Long projectId,String projectName) {
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)));
return inform;
}
} }

4
tall/src/main/java/com/ccsens/tall/bean/vo/ProjectMessageVo.java

@ -39,7 +39,7 @@ public class ProjectMessageVo {
private Byte readStatus; private Byte readStatus;
@ApiModelProperty("消息内容") @ApiModelProperty("消息内容")
List<MessageVo.Message> messages; List<MessageVo.Message> messages;
@JsonFormat(pattern="yyyy-MM-dd HH:mm") @JsonFormat(pattern="yyyy-MM-dd HH:mm",timezone="GMT+8")
@ApiModelProperty("发送时间") @ApiModelProperty("发送时间")
private Date createTime; private Date createTime;
} }
@ -53,7 +53,7 @@ public class ProjectMessageVo {
private Long operationId; private Long operationId;
@ApiModelProperty("消息内容") @ApiModelProperty("消息内容")
List<MessageVo.Message> messages; List<MessageVo.Message> messages;
@JsonFormat(pattern="yyyy-MM-dd HH:mm") @JsonFormat(pattern="yyyy-MM-dd HH:mm",timezone="GMT+8")
@ApiModelProperty("发送时间") @ApiModelProperty("发送时间")
private Date createTime; private Date createTime;
} }

4
tall/src/main/java/com/ccsens/tall/service/ExcelService.java

@ -87,6 +87,8 @@ public class ExcelService implements IExcelService {
private ProPluginConfigDao proPluginConfigDao; private ProPluginConfigDao proPluginConfigDao;
@Resource @Resource
private ProTaskDeliverMapper proTaskDeliverMapper; private ProTaskDeliverMapper proTaskDeliverMapper;
@Resource
private RobotService robotService;
@Override @Override
@ -106,6 +108,8 @@ public class ExcelService implements IExcelService {
userAttention.setUserId(currentUserId); userAttention.setUserId(currentUserId);
userAttentionDao.insertSelective(userAttention); userAttentionDao.insertSelective(userAttention);
} }
//发送消息
robotService.saveWbsRobotSend(currentUserId,sysProject);
return selectByProjectId(currentUserId, sysProject); return selectByProjectId(currentUserId, sysProject);
} }

2
tall/src/main/java/com/ccsens/tall/service/IInputDocService.java

@ -97,7 +97,7 @@ public interface IInputDocService {
* 删除输入文档下所有的文件 * 删除输入文档下所有的文件
* @param param 输入文档id * @param param 输入文档id
*/ */
void delAllRecordOfTask(InputDocDto.DelAllRecordOfTask param,Long userId); void delAllRecordOfTask(InputDocDto.DelAllRecordOfTask param,Long userId) throws Exception;
/** /**
* 查看交付物的历史记录 * 查看交付物的历史记录

2
tall/src/main/java/com/ccsens/tall/service/IProMemberService.java

@ -46,7 +46,7 @@ public interface IProMemberService {
* @param currentUserId userId * @param currentUserId userId
* @param deleteMember 被删除的成员的id * @param deleteMember 被删除的成员的id
*/ */
void deleteMember(Long currentUserId, MemberDto.DeleteMember deleteMember); void deleteMember(Long currentUserId, MemberDto.DeleteMember deleteMember) throws Exception;
/** /**
* 修改成员的信息 * 修改成员的信息

4
tall/src/main/java/com/ccsens/tall/service/IProRoleService.java

@ -40,9 +40,9 @@ public interface IProRoleService {
void deleteRoleByProjectId(Long projectId) throws Exception; void deleteRoleByProjectId(Long projectId) throws Exception;
RoleVo.RoleByProjectId saveRole(Long currentUserId, RoleDto.SaveRole saveRole); RoleVo.RoleByProjectId saveRole(Long currentUserId, RoleDto.SaveRole saveRole) throws Exception;
ProjectVo.RoleInfo updateRole(Long currentUserId, RoleDto.UpdateRole updateRole); ProjectVo.RoleInfo updateRole(Long currentUserId, RoleDto.UpdateRole updateRole) throws Exception;
ProjectVo.RoleInfo saveMemberByRole(Long currentUserId, RoleDto.SaveMember saveMember); ProjectVo.RoleInfo saveMemberByRole(Long currentUserId, RoleDto.SaveMember saveMember);

2
tall/src/main/java/com/ccsens/tall/service/IProjectService.java

@ -31,7 +31,7 @@ public interface IProjectService {
ProjectVo.ProjectInfo copyProject(Long userId, ProjectDto.ProjectIdDto projectDto,String token); ProjectVo.ProjectInfo copyProject(Long userId, ProjectDto.ProjectIdDto projectDto,String token);
ProjectVo.ProjectInfo changeProjectInfo(Long currentUserId, ProjectDto.ProjectInfoDto projectInfoDto,String token); ProjectVo.ProjectInfo changeProjectInfo(Long currentUserId, ProjectDto.ProjectInfoDto projectInfoDto,String token) throws Exception;
ProjectVo.ProjectAllDetailed selectByLabelName(Long currentUserId, String labelName,Integer pageSize,Integer page,String token); ProjectVo.ProjectAllDetailed selectByLabelName(Long currentUserId, String labelName,Integer pageSize,Integer page,String token);

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

@ -105,6 +105,26 @@ public interface IRobotService {
*/ */
void addRoleRobotSend(Long currentUserId, Long projectId, String roleName,Long roleId) throws Exception; void addRoleRobotSend(Long currentUserId, Long projectId, String roleName,Long roleId) throws Exception;
/**
* 修改角色 消息记录
* @param currentUserId 当前用户id
* @param projectId 项目id
* @param roleName 角色名称
* @param roleId 角色id
* @throws Exception 异常
*/
void updateRoleRobotSend(Long currentUserId, Long projectId, String roleName,Long roleId) throws Exception;
/**
* 删除角色
* @param userId 用户id
* @param projectId 项目id
* @param name 角色名称
* @param id 角色id
* @throws Exception 异常
*/
void delRoleRobotSend(Long userId, Long projectId, String name, Long id) throws Exception;
/** /**
* 查询模板 * 查询模板
* @param code * @param code
@ -118,5 +138,53 @@ public interface IRobotService {
*/ */
void sendRemindByRobot(TaskVo.RemindTask taskRemind,String content) throws Exception; void sendRemindByRobot(TaskVo.RemindTask taskRemind,String content) throws Exception;
/**
* 增加成员 消息
* @param userId 当前用户id
* @param projectId 项目id
* @param memberName 成员名称
* @param id 成员id
*/
void saveMemberRobotSend(Long userId, Long projectId, String memberName, Long id) throws Exception;
/**
* 删除成员
* @param userId 当前用户id
* @param projectId 项目id
* @param memberName 成员名称
* @param id 成员id
*/
void delMemberRobotSend(Long userId, Long projectId, String memberName, Long id) throws Exception;
/**
* 修改成员
* @param userId 当前用户id
* @param projectId 项目id
* @param memberName 成员名称
* @param id 成员id
*/
void updateMemberRobotSend(Long userId, Long projectId, String memberName, Long id) throws Exception;
/**
* 添加项目
* @param currentUserId 当前登录用户
* @param sysProject 项目信息
* @throws Exception 异常
*/
void saveWbsRobotSend(Long currentUserId,SysProject sysProject) throws Exception;
/**
* 修改i项目
* @param currentUserId 当前登录用户id
* @param sysProject 项目信息
* @throws Exception 异常
*/
void updateProjectRobotSend(Long currentUserId,SysProject sysProject) throws Exception;
/**
* 删除项目
* @param currentUserId 当前登录用户id
* @param projectId 项目id
*/
void delProjectRobotSend(Long currentUserId,Long projectId) throws Exception;
} }

2
tall/src/main/java/com/ccsens/tall/service/ITaskDeliverService.java

@ -45,7 +45,7 @@ public interface ITaskDeliverService {
* 删除输出文档下所有的文件 * 删除输出文档下所有的文件
* @param param * @param param
*/ */
void delAllFileOfDeliver(DeliverDto.DelAllFileOfDeliver param,Long userId); void delAllFileOfDeliver(DeliverDto.DelAllFileOfDeliver param,Long userId) throws Exception;
/** /**
* 修改输出文档下的备注信息 * 修改输出文档下的备注信息

24
tall/src/main/java/com/ccsens/tall/service/InputDocService.java

@ -617,7 +617,7 @@ public class InputDocService implements IInputDocService {
* @param param 输入文档id * @param param 输入文档id
*/ */
@Override @Override
public void delAllRecordOfTask(InputDocDto.DelAllRecordOfTask param,Long userId) { public void delAllRecordOfTask(InputDocDto.DelAllRecordOfTask param,Long userId) throws Exception {
ProTaskInputRecordExample example = new ProTaskInputRecordExample(); ProTaskInputRecordExample example = new ProTaskInputRecordExample();
example.createCriteria().andInputDocIdEqualTo(param.getDocId()).andRecStatusEqualTo((byte)0); example.createCriteria().andInputDocIdEqualTo(param.getDocId()).andRecStatusEqualTo((byte)0);
List<ProTaskInputRecord> records = proTaskInputRecordMapper.selectByExample(example); List<ProTaskInputRecord> records = proTaskInputRecordMapper.selectByExample(example);
@ -626,7 +626,7 @@ public class InputDocService implements IInputDocService {
example2.createCriteria().andInputDocIdEqualTo(param.getDocId()); example2.createCriteria().andInputDocIdEqualTo(param.getDocId());
ProTaskInputRecord proTaskInputRecord = new ProTaskInputRecord(); ProTaskInputRecord proTaskInputRecord = new ProTaskInputRecord();
proTaskInputRecord.setRecStatus((byte)2); proTaskInputRecord.setRecStatus((byte)2);
proTaskInputRecordMapper.updateByExampleSelective(proTaskInputRecord,example2);
//文档 改回未上传状态 //文档 改回未上传状态
ProTaskInputDoc doc = new ProTaskInputDoc(); ProTaskInputDoc doc = new ProTaskInputDoc();
@ -636,22 +636,24 @@ public class InputDocService implements IInputDocService {
//将操作保存到历史信息记录表 //将操作保存到历史信息记录表
//查找项目id //查找项目id
try { ProTaskInputDoc inputDoc = proTaskInputDocMapper.selectByPrimaryKey(doc.getId());
ProTaskDetail taskDetail = proTaskDetailMapper.selectByPrimaryKey(doc.getTaskDetailId()); ProTaskDetail taskDetail = proTaskDetailMapper.selectByPrimaryKey(inputDoc.getTaskDetailId());
ProMember proMember = iProMemberService.selectByUserId(userId, taskDetail.getProjectId());
ProMember proMember = iProMemberService.selectByUserId(userId, taskDetail.getProjectId());
//将操作记录添加到历史记录表中 //将操作记录添加到历史记录表中
ProDeliverHistoryRecord historyRecord = new ProDeliverHistoryRecord(); ProDeliverHistoryRecord historyRecord = new ProDeliverHistoryRecord();
historyRecord.setId(snowflake.nextId()); historyRecord.setId(snowflake.nextId());
historyRecord.setDeliverId(doc.getId()); historyRecord.setDeliverId(doc.getId());
historyRecord.setDeliverType((byte)0); historyRecord.setDeliverType((byte)0);
historyRecord.setDoType((byte)6); historyRecord.setDoType((byte)6);
historyRecord.setMemberId(proMember.getId()); historyRecord.setMemberId(proMember.getId());
deliverHistoryRecordDao.insertSelective(historyRecord); deliverHistoryRecordDao.insertSelective(historyRecord);
}catch (Exception e){
log.info("删除输入文档下所有文件记录",e); //发送消息
if (ObjectUtil.isNotNull(taskDetail)){
robotService.delDocRobotSend(userId,taskDetail,inputDoc.getName());
} }
proTaskInputRecordMapper.updateByExampleSelective(proTaskInputRecord,example2);
} }
} }
@ -683,7 +685,6 @@ public class InputDocService implements IInputDocService {
deliverHistory.setFileList(fileList); deliverHistory.setFileList(fileList);
} }
} }
}
}else{ }else{
if (StrUtil.isNotBlank(deliverHistory.getFileIds())){ if (StrUtil.isNotBlank(deliverHistory.getFileIds())){
List<String> idList = new ArrayList<>(); List<String> idList = new ArrayList<>();
@ -700,6 +701,7 @@ public class InputDocService implements IInputDocService {
} }
} }
} }
}
return new PageInfo<>(historyList); return new PageInfo<>(historyList);
} }
@ -723,8 +725,7 @@ public class InputDocService implements IInputDocService {
deliverHistory.setFileList(fileList); deliverHistory.setFileList(fileList);
} }
} }
} }else {
}else{
if (StrUtil.isNotBlank(deliverHistory.getFileIds())){ if (StrUtil.isNotBlank(deliverHistory.getFileIds())){
List<String> idList = new ArrayList<>(); List<String> idList = new ArrayList<>();
idList.add(deliverHistory.getFileIds()); idList.add(deliverHistory.getFileIds());
@ -740,6 +741,7 @@ public class InputDocService implements IInputDocService {
} }
} }
} }
}
return new PageInfo<>(historyList); return new PageInfo<>(historyList);
} }
return null; return null;

15
tall/src/main/java/com/ccsens/tall/service/ProMemberService.java

@ -54,6 +54,8 @@ public class ProMemberService implements IProMemberService {
private UserAttentionDao userAttentionDao; private UserAttentionDao userAttentionDao;
@Resource @Resource
private SysImitationMapper imitationMapper; private SysImitationMapper imitationMapper;
@Resource
private RobotService robotService;
@Override @Override
@ -339,6 +341,10 @@ public class ProMemberService implements IProMemberService {
userAttentionDao.insertSelective(userAttention); userAttentionDao.insertSelective(userAttention);
} }
} }
//发送系统消息
robotService.saveMemberRobotSend(currentUserId,saveMember.getProjectId(),saveMember.getMemberName(),proMember.getId());
} else { } else {
throw new BaseException(CodeEnum.NOT_POWER); throw new BaseException(CodeEnum.NOT_POWER);
} }
@ -346,7 +352,7 @@ public class ProMemberService implements IProMemberService {
} }
@Override @Override
public void deleteMember(Long currentUserId, MemberDto.DeleteMember deleteMember) { public void deleteMember(Long currentUserId, MemberDto.DeleteMember deleteMember) throws Exception {
//查找要删除的成员 //查找要删除的成员
ProMember proMember = proMemberDao.selectByPrimaryKey(deleteMember.getMemberId()); ProMember proMember = proMemberDao.selectByPrimaryKey(deleteMember.getMemberId());
if (ObjectUtil.isNull(proMember)) { if (ObjectUtil.isNull(proMember)) {
@ -357,6 +363,10 @@ public class ProMemberService implements IProMemberService {
if (power < 2) { if (power < 2) {
throw new BaseException(CodeEnum.NOT_POWER); throw new BaseException(CodeEnum.NOT_POWER);
} }
//发送系统消息
robotService.delMemberRobotSend(currentUserId,proMember.getProjectId(),proMember.getNickname(),proMember.getId());
//修改成员状态来删除 //修改成员状态来删除
proMember.setRecStatus((byte) 2); proMember.setRecStatus((byte) 2);
proMemberDao.updateByPrimaryKeySelective(proMember); proMemberDao.updateByPrimaryKeySelective(proMember);
@ -442,6 +452,9 @@ public class ProMemberService implements IProMemberService {
proMember.setStakeholderId(stakeholderId); proMember.setStakeholderId(stakeholderId);
// } // }
proMemberDao.updateByPrimaryKeySelective(proMember); proMemberDao.updateByPrimaryKeySelective(proMember);
//发送系统消息
robotService.updateMemberRobotSend(currentUserId,proMember.getProjectId(),proMember.getNickname(),proMember.getId());
//查找被修改的成员的信息并返回 //查找被修改的成员的信息并返回
return proMemberDao.getMemberInfoByMemberId(updateMemberInfo.getMemberId()); return proMemberDao.getMemberInfoByMemberId(updateMemberInfo.getMemberId());
} }

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

@ -471,7 +471,7 @@ public class ProRoleService implements IProRoleService {
* 删除角色 * 删除角色
*/ */
@Override @Override
public void deleteRole(Long userId, Long roleId) { public void deleteRole(Long userId, Long roleId) throws Exception {
ProRole role = proRoleDao.selectByPrimaryKey(roleId); ProRole role = proRoleDao.selectByPrimaryKey(roleId);
//TODO 项目经理不能被删除 //TODO 项目经理不能被删除
Integer i = proRoleDao.isPmByRoleId(roleId); Integer i = proRoleDao.isPmByRoleId(roleId);
@ -484,6 +484,9 @@ public class ProRoleService implements IProRoleService {
if (ObjectUtil.isNotNull(role)) { if (ObjectUtil.isNotNull(role)) {
int power = selectPowerByRoleName(userId, role.getProjectId()); int power = selectPowerByRoleName(userId, role.getProjectId());
if (power > 1) { if (power > 1) {
//发送系统消息
robotService.delRoleRobotSend(userId,role.getProjectId(),role.getName(),role.getId());
//修改删除状态 //修改删除状态
role.setRecStatus(WebConstant.REC_STATUS.Deleted.value); role.setRecStatus(WebConstant.REC_STATUS.Deleted.value);
proRoleDao.updateByPrimaryKeySelective(role); proRoleDao.updateByPrimaryKeySelective(role);
@ -557,7 +560,7 @@ public class ProRoleService implements IProRoleService {
@Override @Override
public RoleVo.RoleByProjectId saveRole(Long currentUserId, RoleDto.SaveRole saveRole) { public RoleVo.RoleByProjectId saveRole(Long currentUserId, RoleDto.SaveRole saveRole) throws Exception {
//检查操作者的权限 //检查操作者的权限
int power = selectPowerByRoleName(currentUserId, saveRole.getProjectId()); int power = selectPowerByRoleName(currentUserId, saveRole.getProjectId());
if (power < 2) { if (power < 2) {
@ -583,16 +586,12 @@ public class ProRoleService implements IProRoleService {
roleInfo.setRoleName(role.getName()); roleInfo.setRoleName(role.getName());
//发送系统消息 //发送系统消息
try {
robotService.addRoleRobotSend(currentUserId,saveRole.getProjectId(),saveRole.getRoleName(),roleInfo.getRoleId()); robotService.addRoleRobotSend(currentUserId,saveRole.getProjectId(),saveRole.getRoleName(),roleInfo.getRoleId());
}catch (Exception e){
log.info("发送系统消息异常",e);
}
return roleInfo; return roleInfo;
} }
@Override @Override
public ProjectVo.RoleInfo updateRole(Long currentUserId, RoleDto.UpdateRole updateRole) { public ProjectVo.RoleInfo updateRole(Long currentUserId, RoleDto.UpdateRole updateRole) throws Exception {
//查找角色 //查找角色
ProRole proRole = proRoleDao.selectByPrimaryKey(updateRole.getRoleId()); ProRole proRole = proRoleDao.selectByPrimaryKey(updateRole.getRoleId());
if (ObjectUtil.isNull(proRole)) { if (ObjectUtil.isNull(proRole)) {
@ -620,6 +619,9 @@ public class ProRoleService implements IProRoleService {
} }
} }
proRoleDao.updateByPrimaryKeySelective(proRole); proRoleDao.updateByPrimaryKeySelective(proRole);
//发送系统消息
robotService.updateRoleRobotSend(currentUserId,proRole.getProjectId(),updateRole.getRoleName(),updateRole.getRoleId());
return getRoleInfoByRoleId(proRole.getId()); return getRoleInfoByRoleId(proRole.getId());
} }

11
tall/src/main/java/com/ccsens/tall/service/ProjectService.java

@ -80,6 +80,8 @@ public class ProjectService implements IProjectService {
private SysAuthDao sysAuthDao; private SysAuthDao sysAuthDao;
@Resource @Resource
private SysProjectLabelDao sysProjectLabelDao; private SysProjectLabelDao sysProjectLabelDao;
@Resource
private RobotService robotService;
@Override @Override
@ -576,11 +578,14 @@ public class ProjectService implements IProjectService {
proRoleDao.updateByPrimaryKeySelective(role); proRoleDao.updateByPrimaryKeySelective(role);
}); });
} }
//发送消息
robotService.delProjectRobotSend(currentUserId,projectId);
//修改项目状态 //修改项目状态
project.setRecStatus(WebConstant.REC_STATUS.Deleted.value); project.setRecStatus(WebConstant.REC_STATUS.Deleted.value);
sysProjectDao.updateByPrimaryKeySelective(project); sysProjectDao.updateByPrimaryKeySelective(project);
} else { } else {
throw new BaseException(CodeEnum.NOT_POWER); throw new BaseException(CodeEnum.NOT_POWER);
} }
@ -892,7 +897,7 @@ public class ProjectService implements IProjectService {
* 修改项目信息 * 修改项目信息
*/ */
@Override @Override
public ProjectVo.ProjectInfo changeProjectInfo(Long currentUserId, ProjectDto.ProjectInfoDto projectInfoDto,String token) { public ProjectVo.ProjectInfo changeProjectInfo(Long currentUserId, ProjectDto.ProjectInfoDto projectInfoDto,String token) throws Exception {
//查找项目 //查找项目
SysProject project = sysProjectDao.selectByPrimaryKey(projectInfoDto.getId()); SysProject project = sysProjectDao.selectByPrimaryKey(projectInfoDto.getId());
if (ObjectUtil.isNotNull(project)) { if (ObjectUtil.isNotNull(project)) {
@ -935,6 +940,8 @@ public class ProjectService implements IProjectService {
project.setHighlight(projectInfoDto.getHighlight()); project.setHighlight(projectInfoDto.getHighlight());
} }
sysProjectDao.updateByPrimaryKeySelective(project); sysProjectDao.updateByPrimaryKeySelective(project);
//发送消息
robotService.updateProjectRobotSend(currentUserId,project);
} else { } else {
throw new BaseException(CodeEnum.NOT_POWER); throw new BaseException(CodeEnum.NOT_POWER);

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

@ -5,6 +5,7 @@ import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.ccsens.tall.bean.po.*; import com.ccsens.tall.bean.po.*;
import com.ccsens.tall.bean.vo.MessageVo; 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.bean.vo.TaskVo;
import com.ccsens.tall.persist.dao.*; import com.ccsens.tall.persist.dao.*;
import com.ccsens.tall.util.RobotUtil; import com.ccsens.tall.util.RobotUtil;
@ -59,7 +60,7 @@ public class RobotService implements IRobotService{
public void robotMessage(OperateType operateType,RobotUtil.Message message){ public void robotMessage(OperateType operateType,RobotUtil.Message message){
//获取机器人信息 //获取机器人信息
SysProjectRobotExample sysProjectRobotExample = new SysProjectRobotExample(); SysProjectRobotExample sysProjectRobotExample = new SysProjectRobotExample();
sysProjectRobotExample.createCriteria().andProjectIdEqualTo( message.getProjectId()); sysProjectRobotExample.createCriteria().andProjectIdEqualTo(message.getProjectId());
List<SysProjectRobot> sysProjectRobotList = sysProjectRobotDao.selectByExample(sysProjectRobotExample); List<SysProjectRobot> sysProjectRobotList = sysProjectRobotDao.selectByExample(sysProjectRobotExample);
if(CollectionUtil.isNotEmpty(sysProjectRobotList)){ if(CollectionUtil.isNotEmpty(sysProjectRobotList)){
sysProjectRobotList.forEach(sysProjectRobot -> { sysProjectRobotList.forEach(sysProjectRobot -> {
@ -141,6 +142,23 @@ public class RobotService implements IRobotService{
return memberPhone; 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 @Override
public void finishTaskRobotSend(Long currentUserId,Long projectId, String projectName, String taskName,Long executorRoleId , int completedStatus) throws Exception { public void finishTaskRobotSend(Long currentUserId,Long projectId, String projectName, String taskName,Long executorRoleId , int completedStatus) throws Exception {
String userName = userService.getUserNameByUserId(currentUserId); 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 { public void deleteDeliverRobotSend(Long currentUserId, String deliverName, Long subTimeId) throws Exception {
String userName = userService.getUserNameByUserId(currentUserId); String userName = userService.getUserNameByUserId(currentUserId);
String projectName = ""; String projectName = "";
ProTaskDetail taskDetail = null;
ProTaskSubTime proTaskSubTime = taskSubTimeDao.selectByPrimaryKey(subTimeId); ProTaskSubTime proTaskSubTime = taskSubTimeDao.selectByPrimaryKey(subTimeId);
if(ObjectUtil.isNull(proTaskSubTime)){ 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)){ if(ObjectUtil.isNull(taskDetail)){
throw new BaseException(CodeEnum.NOT_TASK); 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); MessageVo.Inform inform = MessageVo.addRoleComment(currentUserId, userName, project.getId(), project.getName(),roleName);
RobotUtil.setInform(inform); RobotUtil.setInform(inform);
// 添加wx消息通知 // 添加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()));
}
} }

11
tall/src/main/java/com/ccsens/tall/service/TaskDeliverService.java

@ -1144,7 +1144,7 @@ public class TaskDeliverService implements ITaskDeliverService {
* @param param * @param param
*/ */
@Override @Override
public void delAllFileOfDeliver(DeliverDto.DelAllFileOfDeliver param,Long userId) { public void delAllFileOfDeliver(DeliverDto.DelAllFileOfDeliver param,Long userId) throws Exception {
ProTaskDeliverPostLogExample example = new ProTaskDeliverPostLogExample(); ProTaskDeliverPostLogExample example = new ProTaskDeliverPostLogExample();
example.createCriteria().andDeliverIdEqualTo(param.getDeliverId()); example.createCriteria().andDeliverIdEqualTo(param.getDeliverId());
List<ProTaskDeliverPostLog> proTaskDeliverPostLogs = deliverPostLogDao.selectByExample(example); List<ProTaskDeliverPostLog> proTaskDeliverPostLogs = deliverPostLogDao.selectByExample(example);
@ -1159,7 +1159,7 @@ public class TaskDeliverService implements ITaskDeliverService {
taskDeliver.setIsUpload(0); taskDeliver.setIsUpload(0);
taskDeliverDao.updateByPrimaryKeySelective(taskDeliver); taskDeliverDao.updateByPrimaryKeySelective(taskDeliver);
try {
//向交付物历史记录表中添加数据 //向交付物历史记录表中添加数据
//查找成员 //查找成员
ProTaskDeliver deliver = taskDeliverDao.selectByPrimaryKey(param.getDeliverId()); ProTaskDeliver deliver = taskDeliverDao.selectByPrimaryKey(param.getDeliverId());
@ -1174,9 +1174,10 @@ public class TaskDeliverService implements ITaskDeliverService {
historyRecord.setDoType((byte)6); historyRecord.setDoType((byte)6);
historyRecord.setMemberId(proMember.getId()); historyRecord.setMemberId(proMember.getId());
deliverHistoryRecordDao.insertSelective(historyRecord); deliverHistoryRecordDao.insertSelective(historyRecord);
}catch (Exception e){
log.info("删除交付下所有文件",e);
} //用智能助手发送消息
robotService.deleteDeliverRobotSend(userId,deliver.getName(),taskDetail.getId());
} }
} }

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

@ -225,7 +225,7 @@ public class WxTemplateUtil {
/** /**
* 添加角色 * 添加角色
*/ */
public static WxTemplateMessage addRoleRemark(Long projectId, String userName,String projectName,String roleName) { public static WxTemplateMessage addRole(Long projectId, String userName,String projectName,String roleName) {
WxTemplateMessage message = getWxTemplateMessage(projectId); WxTemplateMessage message = getWxTemplateMessage(projectId);
message.setTemplate_id(WxGzhUtil.Template.TASK_PROGRESS.templateId); message.setTemplate_id(WxGzhUtil.Template.TASK_PROGRESS.templateId);
WxTemplateMessage.TemplateData data = new WxTemplateMessage.TemplateData(); WxTemplateMessage.TemplateData data = new WxTemplateMessage.TemplateData();
@ -235,4 +235,116 @@ public class WxTemplateUtil {
message.setData(data); message.setData(data);
return message; return message;
} }
/**
* 修改角色
*/
public static WxTemplateMessage updateRole(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;
}
/**
* 删除角色
*/
public static WxTemplateMessage delRole(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;
}
/**
* 添加成员
*/
public static WxTemplateMessage saveMember(Long projectId, String userName,String projectName,String memberName) {
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+"》内的添加了成员" + memberName));
data.setKeyword2(new WxTemplateMessage.TemplateSettings("添加成员"));
message.setData(data);
return message;
}
/**
* 删除成员
*/
public static WxTemplateMessage delMember(Long projectId, String userName,String projectName,String memberName) {
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+"》内的删除了成员" + memberName));
data.setKeyword2(new WxTemplateMessage.TemplateSettings("删除成员"));
message.setData(data);
return message;
}
/**
* 修改成员
*/
public static WxTemplateMessage updateMember(Long projectId, String userName,String projectName,String memberName) {
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+"》内的修改了成员" + memberName));
data.setKeyword2(new WxTemplateMessage.TemplateSettings("修改成员"));
message.setData(data);
return message;
}
/**
* 添加项目
*/
public static WxTemplateMessage saveWbs(Long projectId, String userName,String projectName) {
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+"》"));
data.setKeyword2(new WxTemplateMessage.TemplateSettings("添加项目"));
message.setData(data);
return message;
}
/**
* 修改项目
*/
public static WxTemplateMessage updateProject(Long projectId, String userName,String projectName) {
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+"》"));
data.setKeyword2(new WxTemplateMessage.TemplateSettings("修改项目"));
message.setData(data);
return message;
}
/**
* 删除项目
*/
public static WxTemplateMessage delProject(Long projectId, String userName,String projectName) {
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+"》"));
data.setKeyword2(new WxTemplateMessage.TemplateSettings("删除项目"));
message.setData(data);
return message;
}
} }

3
tall/src/main/java/com/ccsens/tall/web/DeliverController.java

@ -188,10 +188,11 @@ public class DeliverController {
return JsonResponse.newInstance().ok(queryDeliverByTaskIds); return JsonResponse.newInstance().ok(queryDeliverByTaskIds);
} }
@OperateType(value = 8)
@MustLoginTall @MustLoginTall
@ApiOperation(value = "删除输出文档下所有的文件", notes = "m:删除输出文档下所有的文件") @ApiOperation(value = "删除输出文档下所有的文件", notes = "m:删除输出文档下所有的文件")
@RequestMapping(value = "/delAllFileOfDeliver", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @RequestMapping(value = "/delAllFileOfDeliver", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse delAllFileOfDeliver(@ApiParam @Validated @RequestBody QueryDto<DeliverDto.DelAllFileOfDeliver> params) { public JsonResponse delAllFileOfDeliver(@ApiParam @Validated @RequestBody QueryDto<DeliverDto.DelAllFileOfDeliver> params) throws Exception {
log.info("删除输出文档下所有的文件:{}",params); log.info("删除输出文档下所有的文件:{}",params);
deliverService.delAllFileOfDeliver(params.getParam(),params.getUserId()); deliverService.delAllFileOfDeliver(params.getParam(),params.getUserId());
log.info("删除输出文档下所有的文件"); log.info("删除输出文档下所有的文件");

2
tall/src/main/java/com/ccsens/tall/web/ExcelController.java

@ -7,6 +7,7 @@ import com.ccsens.tall.service.IExportWbsService;
import com.ccsens.util.JsonResponse; import com.ccsens.util.JsonResponse;
import com.ccsens.util.UploadFileUtil_Servlet3; import com.ccsens.util.UploadFileUtil_Servlet3;
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.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
@ -31,6 +32,7 @@ public class ExcelController {
@Resource @Resource
private IExportWbsService exportWbsService; private IExportWbsService exportWbsService;
@OperateType(value = 1)
@ApiOperation(value = "导入WBS",notes = "文件大小不能超过20M,支持后缀:.xls|.xlsx") @ApiOperation(value = "导入WBS",notes = "文件大小不能超过20M,支持后缀:.xls|.xlsx")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "file", value = "WBS表", required = true, paramType = "form",dataType = "__file") @ApiImplicitParam(name = "file", value = "WBS表", required = true, paramType = "form",dataType = "__file")

3
tall/src/main/java/com/ccsens/tall/web/InputDocController.java

@ -140,10 +140,11 @@ public class InputDocController {
return JsonResponse.newInstance().ok(docRecordByTask); return JsonResponse.newInstance().ok(docRecordByTask);
} }
@OperateType(value = 16)
@MustLoginTall @MustLoginTall
@ApiOperation(value = "删除输入文档下所有的文件", notes = "1007:删除输入文档下所有的文件") @ApiOperation(value = "删除输入文档下所有的文件", notes = "1007:删除输入文档下所有的文件")
@RequestMapping(value = "/delAllRecordOfTask", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @RequestMapping(value = "/delAllRecordOfTask", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse delAllRecordOfTask(@ApiParam @Validated @RequestBody QueryDto<InputDocDto.DelAllRecordOfTask> params) { public JsonResponse delAllRecordOfTask(@ApiParam @Validated @RequestBody QueryDto<InputDocDto.DelAllRecordOfTask> params) throws Exception {
log.info("删除输入文档下所有的文件:{}",params); log.info("删除输入文档下所有的文件:{}",params);
iInputDocService.delAllRecordOfTask(params.getParam(),params.getUserId()); iInputDocService.delAllRecordOfTask(params.getParam(),params.getUserId());
log.info("删除输入文档下所有的文件"); log.info("删除输入文档下所有的文件");

3
tall/src/main/java/com/ccsens/tall/web/ProjectController.java

@ -10,6 +10,7 @@ import com.ccsens.tall.service.IProTaskDetailService;
import com.ccsens.tall.service.IProjectService; import com.ccsens.tall.service.IProjectService;
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.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
@ -230,6 +231,7 @@ public class ProjectController {
//============================================================== //==============================================================
@OperateType(value = 23)
@ApiOperation(value = "删除项目(修改状态)", notes = "") @ApiOperation(value = "删除项目(修改状态)", notes = "")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "projectId", value = "项目id", required = true, paramType = "query") @ApiImplicitParam(name = "projectId", value = "项目id", required = true, paramType = "query")
@ -255,6 +257,7 @@ public class ProjectController {
return JsonResponse.newInstance().ok(projectInfo); return JsonResponse.newInstance().ok(projectInfo);
} }
@OperateType(value = 2)
@ApiOperation(value = "修改项目信息", notes = "") @ApiOperation(value = "修改项目信息", notes = "")
@ApiImplicitParams({ @ApiImplicitParams({
}) })

6
tall/src/main/resources/mapper_dao/ProDeliverHistoryRecordDao.xml

@ -18,11 +18,12 @@
FROM FROM
t_pro_deliver_history_record AS pdhr t_pro_deliver_history_record AS pdhr
LEFT JOIN t_pro_role AS pr ON pdhr.role_id = pr.id and pr.rec_status = 0 LEFT JOIN t_pro_role AS pr ON pdhr.role_id = pr.id and pr.rec_status = 0
LEFT JOIN t_pro_task_input_record AS ptir ON ptir.id = pdhr.deliver_record_id and ptir.rec_status = 0 LEFT JOIN t_pro_task_input_record AS ptir ON ptir.id = pdhr.deliver_record_id
LEFT JOIN t_pro_member AS pm ON pm.id = pdhr.member_id and pm.rec_status = 0 LEFT JOIN t_pro_member AS pm ON pm.id = pdhr.member_id and pm.rec_status = 0
WHERE WHERE
pdhr.deliver_id = #{deliverId} pdhr.deliver_id = #{deliverId}
and pdhr.rec_status = 0 and pdhr.rec_status = 0
ORDER BY pdhr.created_at DESC
</select> </select>
<select id="finOutPutHistory" resultType="com.ccsens.tall.bean.vo.InputDocVo$DeliverHistory"> <select id="finOutPutHistory" resultType="com.ccsens.tall.bean.vo.InputDocVo$DeliverHistory">
@ -40,11 +41,12 @@
FROM FROM
t_pro_deliver_history_record AS pdhr t_pro_deliver_history_record AS pdhr
LEFT JOIN t_pro_role AS pr ON pdhr.role_id = pr.id and pr.rec_status = 0 LEFT JOIN t_pro_role AS pr ON pdhr.role_id = pr.id and pr.rec_status = 0
LEFT JOIN t_pro_task_deliver_post_log AS ptdpl ON ptdpl.id = pdhr.deliver_record_id and ptdpl.rec_status = 0 LEFT JOIN t_pro_task_deliver_post_log AS ptdpl ON ptdpl.id = pdhr.deliver_record_id
LEFT JOIN t_pro_member AS pm ON pm.id = pdhr.member_id and pm.rec_status = 0 LEFT JOIN t_pro_member AS pm ON pm.id = pdhr.member_id and pm.rec_status = 0
WHERE WHERE
pdhr.deliver_id = #{deliverId} pdhr.deliver_id = #{deliverId}
and pdhr.rec_status = 0 and pdhr.rec_status = 0
ORDER BY pdhr.created_at DESC
</select> </select>
</mapper> </mapper>
Loading…
Cancel
Save