Browse Source

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

recovery
ma 4 years ago
parent
commit
2c7bd3bfdf
  1. 2
      tall/src/main/java/com/ccsens/tall/aspect/RobotAspect.java
  2. 17
      tall/src/main/java/com/ccsens/tall/bean/vo/MessageVo.java
  3. 26
      tall/src/main/java/com/ccsens/tall/service/InputDocService.java
  4. 1
      tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java
  5. 45
      tall/src/main/java/com/ccsens/tall/service/RobotService.java
  6. 15
      tall/src/main/java/com/ccsens/tall/web/InputDocController.java

2
tall/src/main/java/com/ccsens/tall/aspect/RobotAspect.java

@ -44,7 +44,7 @@ public class RobotAspect {
RobotUtil.Message message = RobotUtil.getRobotMessage(); RobotUtil.Message message = RobotUtil.getRobotMessage();
MessageVo.Inform inform = RobotUtil.getInform(); MessageVo.Inform inform = RobotUtil.getInform();
WxTemplateMessage wxTemplate = RobotUtil.getWxTemplate(); WxTemplateMessage wxTemplate = RobotUtil.getWxTemplate();
// 3.机器人通知 // 3.企业微信群机器人通知
asyncService.sendRobotMessage(operateType,message); asyncService.sendRobotMessage(operateType,message);
// 4.ws和公众号通知 // 4.ws和公众号通知
asyncService.sendMessage(operateType, inform, wxTemplate); asyncService.sendMessage(operateType, inform, wxTemplate);

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

@ -204,4 +204,21 @@ public class MessageVo {
.appendMessage(new MessageVo.Message(WebConstant.TemplateParam.TaskName.value,taskName)); .appendMessage(new MessageVo.Message(WebConstant.TemplateParam.TaskName.value,taskName));
return inform; return inform;
} }
/**
* 上传输入文档
* @param userId
* @param userName
* @param projectId
* @param projectName
* @param taskName
* @return
*/
public static Inform uploadForDocComment(Long userId, String userName, Long projectId, String projectName, String taskName,String deliverName) {
MessageVo.Inform inform = new MessageVo.Inform(projectId, userId);
inform.appendMessage(new MessageVo.Message(WebConstant.TemplateParam.Operator.value, userName))
.appendMessage(new MessageVo.Message(WebConstant.TemplateParam.ProjectName.value, projectName, WebConstant.Message.TYPE_LINK, Message.getProjectSettings(projectId)))
.appendMessage(new MessageVo.Message(WebConstant.TemplateParam.TaskName.value,taskName));
return inform;
}
} }

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

@ -51,8 +51,6 @@ public class InputDocService implements IInputDocService {
private ProTaskInputDocMapper proTaskInputDocMapper; private ProTaskInputDocMapper proTaskInputDocMapper;
@Resource @Resource
private Snowflake snowflake; private Snowflake snowflake;
@Resource
private FileMapper fileMapper;
@ -198,26 +196,6 @@ public class InputDocService implements IInputDocService {
} }
// if (record.getFileIds().contains(",")){
// String[] split = record.getFileIds().split(",");
// for (int i = 0; i < split.length; i++) {
//
//
//// File file = fileMapper.selectByPrimaryKey(Long.valueOf(split[i]));
//// InputDocVo.File nowFile = new InputDocVo.File();
//// nowFile.setFileName(file.getFileName());
//// nowFile.setFileUrl(file.getVisitLocation());
//// record.getFileList().add(nowFile);
// }
// }else{
// if (StrUtil.isNotBlank(record.getFileIds())){
//// File file = fileMapper.selectByPrimaryKey(Long.valueOf(record.getFileIds()));
//// InputDocVo.File nowFile = new InputDocVo.File();
//// nowFile.setFileName(file.getFileName());
//// nowFile.setFileUrl(file.getVisitLocation());
//// record.getFileList().add(nowFile);
// }
// }
} }
} }
return docByTasks; return docByTasks;
@ -281,6 +259,7 @@ public class InputDocService implements IInputDocService {
proTaskInputDocMapper.updateByPrimaryKeySelective(proTaskInputDoc); proTaskInputDocMapper.updateByPrimaryKeySelective(proTaskInputDoc);
} }
//TODO 发送消息
} }
@ -292,8 +271,7 @@ public class InputDocService implements IInputDocService {
*/ */
@Override @Override
public List<InputDocVo.HistoryRecord> viewDocHistory(InputDocDto.ViewDocHistory param) { public List<InputDocVo.HistoryRecord> viewDocHistory(InputDocDto.ViewDocHistory param) {
List<InputDocVo.HistoryRecord> historyRecords = iInputDocDao.viewDocHistory(param.getDocId()); return iInputDocDao.viewDocHistory(param.getDocId());
return historyRecords;
} }
/** /**

1
tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java

@ -1473,6 +1473,7 @@ public class ProTaskDetailService implements IProTaskDetailService {
} else { } else {
throw new BaseException(CodeEnum.NOT_TASK); throw new BaseException(CodeEnum.NOT_TASK);
} }
//发送消息
robotService.changeTaskRobotSend(currentUserId, normalTask); robotService.changeTaskRobotSend(currentUserId, normalTask);
return normalTask; return normalTask;
} }

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

@ -22,6 +22,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicBoolean;
@ -31,27 +32,27 @@ import java.util.concurrent.atomic.AtomicInteger;
@Service @Service
@Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class) @Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class)
public class RobotService implements IRobotService{ public class RobotService implements IRobotService{
@Autowired @Resource
private SysProjectDao sysProjectDao; private SysProjectDao sysProjectDao;
@Autowired @Resource
private SysRobotDao sysRobotDao; private SysRobotDao sysRobotDao;
@Autowired @Resource
private SysProjectRobotDao sysProjectRobotDao; private SysProjectRobotDao sysProjectRobotDao;
@Autowired @Resource
private SysMessageTypeDao sysMessageTypeDao; private SysMessageTypeDao sysMessageTypeDao;
@Autowired @Resource
private SysProjectRobotMessageDao projectRobotMessageDao; private SysProjectRobotMessageDao projectRobotMessageDao;
@Autowired @Resource
private RedisUtil redisUtil; private RedisUtil redisUtil;
@Autowired @Resource
private IUserService userService; private IUserService userService;
@Autowired @Resource
private IProRoleService proRoleService; private IProRoleService proRoleService;
@Autowired @Resource
private IProMemberService proMemberService; private IProMemberService proMemberService;
@Autowired @Resource
private TaskDetailDao taskDetailDao; private TaskDetailDao taskDetailDao;
@Autowired @Resource
private TaskSubTimeDao taskSubTimeDao; private TaskSubTimeDao taskSubTimeDao;
@Override @Override
@ -67,9 +68,7 @@ public class RobotService implements IRobotService{
String content = getRobotTemplate(operateType.value()); String content = getRobotTemplate(operateType.value());
//获取发送参数 //获取发送参数
final String[] builder = {content}; final String[] builder = {content};
message.getParams().forEach(param->{ message.getParams().forEach(param-> builder[0] = builder[0].replace(param.getName(),param.getContent()));
builder[0] = builder[0].replace(param.getName(),param.getContent());
});
//获取机器人信息 //获取机器人信息
SysRobot sysRobot = sysRobotDao.selectByPrimaryKey(sysProjectRobot.getRobotId()); SysRobot sysRobot = sysRobotDao.selectByPrimaryKey(sysProjectRobot.getRobotId());
@ -111,7 +110,7 @@ public class RobotService implements IRobotService{
@Override @Override
public String getRobotTemplate(int code){ public String getRobotTemplate(int code){
String robotKey = TallConstant.getRobotTemplateKey(code); String robotKey = TallConstant.getRobotTemplateKey(code);
String template = ""; String template;
template = (String)redisUtil.get(robotKey); template = (String)redisUtil.get(robotKey);
if(StrUtil.isEmpty(template)){ if(StrUtil.isEmpty(template)){
SysMessageTypeExample sysMessageTypeExample = new SysMessageTypeExample(); SysMessageTypeExample sysMessageTypeExample = new SysMessageTypeExample();
@ -145,7 +144,7 @@ public class RobotService implements IRobotService{
@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);
String isFinish = ""; String isFinish;
if(completedStatus == 2){ if(completedStatus == 2){
isFinish = "完成"; isFinish = "完成";
}else { }else {
@ -173,18 +172,18 @@ public class RobotService implements IRobotService{
@Override @Override
public void addTaskRobotSend(Long currentUserId, SysProject project, String taskName, Long executorId) throws Exception { public void addTaskRobotSend(Long currentUserId, SysProject project, String taskName, Long executorId) throws Exception {
//通过userID获取用户名
String userName = userService.getUserNameByUserId(currentUserId); String userName = userService.getUserNameByUserId(currentUserId);
String projectName = ""; String projectName = "";
//获取项目名
if(ObjectUtil.isNotNull(project)){ if(ObjectUtil.isNotNull(project)){
projectName = project.getName(); projectName = project.getName();
} }
// 获取角色名 // 获取角色名
TaskVo.RoleCheckList role = proRoleService.selectRoleByCheckOrExecutor(executorId); TaskVo.RoleCheckList role = proRoleService.selectRoleByCheckOrExecutor(executorId);
String executorName = ObjectUtil.isNotNull(role) ? role.getName() : ""; String executorName = ObjectUtil.isNotNull(role) ? role.getName() : "";
//将需填充的信息放到消息内
RobotUtil.Message message = new RobotUtil.Message(project.getId()); RobotUtil.Message message = new RobotUtil.Message(project.getId());
message.appendParams( message.appendParams(
new MessageVo.Message(WebConstant.TemplateParam.Operator.value, userName), new MessageVo.Message(WebConstant.TemplateParam.Operator.value, userName),
@ -252,7 +251,6 @@ public class RobotService implements IRobotService{
RobotUtil.setWxTemplate(WxTemplateUtil.getChangeTask(normalTask.getProjectId(), userName, normalTask.getName())); RobotUtil.setWxTemplate(WxTemplateUtil.getChangeTask(normalTask.getProjectId(), userName, normalTask.getName()));
} }
@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 {
String userName = userService.getUserNameByUserId(currentUserId); String userName = userService.getUserNameByUserId(currentUserId);
@ -388,7 +386,9 @@ public class RobotService implements IRobotService{
RobotUtil.setWxTemplate(WxTemplateUtil.getAddComment(project.getId(), userName)); RobotUtil.setWxTemplate(WxTemplateUtil.getAddComment(project.getId(), userName));
} }
/**
* 通过机器人发送提醒消息
*/
@Override @Override
public void sendRemindByRobot(TaskVo.RemindTask taskRemind,String content) throws Exception { public void sendRemindByRobot(TaskVo.RemindTask taskRemind,String content) throws Exception {
String[] rolePhone = getMemberPhonesByRoleId(taskRemind.getExecutorRole()); String[] rolePhone = getMemberPhonesByRoleId(taskRemind.getExecutorRole());
@ -419,4 +419,7 @@ public class RobotService implements IRobotService{
}); });
} }
} }
} }

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

@ -9,6 +9,7 @@ import com.ccsens.tall.bean.vo.LabelVo;
import com.ccsens.tall.service.IInputDocService; import com.ccsens.tall.service.IInputDocService;
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.Api; import io.swagger.annotations.Api;
@ -31,7 +32,7 @@ import java.util.List;
@RequestMapping("/inputDoc") @RequestMapping("/inputDoc")
public class InputDocController { public class InputDocController {
@Autowired @Resource
private IInputDocService iInputDocService; private IInputDocService iInputDocService;
/*@MustLogin /*@MustLogin
@ -44,7 +45,7 @@ public class InputDocController {
return JsonResponse.newInstance().ok(); return JsonResponse.newInstance().ok();
}*/ }*/
@MustLogin @MustLoginTall
@ApiOperation(value = "通过任务id查询输入文档", notes = "1007:通过任务id查询输入文档") @ApiOperation(value = "通过任务id查询输入文档", notes = "1007:通过任务id查询输入文档")
@RequestMapping(value = "/docByTask", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @RequestMapping(value = "/docByTask", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<List<InputDocVo.DocOfTask>> findDocByTask(@ApiParam @Validated @RequestBody QueryDto<InputDocDto.FindDocByTask> params) { public JsonResponse<List<InputDocVo.DocOfTask>> findDocByTask(@ApiParam @Validated @RequestBody QueryDto<InputDocDto.FindDocByTask> params) {
@ -54,7 +55,8 @@ public class InputDocController {
return JsonResponse.newInstance().ok(docByTask); return JsonResponse.newInstance().ok(docByTask);
} }
@MustLogin @OperateType(value = 15)
@MustLoginTall
@ApiOperation(value = "给输入文档上传文件", notes = "1007:给输入文档上传文件") @ApiOperation(value = "给输入文档上传文件", notes = "1007:给输入文档上传文件")
@RequestMapping(value = "/uploadForDoc", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @RequestMapping(value = "/uploadForDoc", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse uploadForDoc(@ApiParam @Validated @RequestBody QueryDto<InputDocDto.UploadForDoc> params) { public JsonResponse uploadForDoc(@ApiParam @Validated @RequestBody QueryDto<InputDocDto.UploadForDoc> params) {
@ -64,7 +66,7 @@ public class InputDocController {
return JsonResponse.newInstance().ok(); return JsonResponse.newInstance().ok();
} }
@MustLogin @MustLoginTall
@ApiOperation(value = "查看文档上传历史记录", notes = "1007:查看文档上传历史记录") @ApiOperation(value = "查看文档上传历史记录", notes = "1007:查看文档上传历史记录")
@RequestMapping(value = "/viewDocHistory", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @RequestMapping(value = "/viewDocHistory", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse viewDocHistory(@ApiParam @Validated @RequestBody QueryDto<InputDocDto.ViewDocHistory> params) { public JsonResponse viewDocHistory(@ApiParam @Validated @RequestBody QueryDto<InputDocDto.ViewDocHistory> params) {
@ -74,7 +76,7 @@ public class InputDocController {
return JsonResponse.newInstance().ok(historyRecords); return JsonResponse.newInstance().ok(historyRecords);
} }
@MustLogin @MustLoginTall
@ApiOperation(value = "添加输入文档", notes = "1007:添加输入文档") @ApiOperation(value = "添加输入文档", notes = "1007:添加输入文档")
@RequestMapping(value = "/addDoc", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @RequestMapping(value = "/addDoc", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse addDoc(@ApiParam @Validated @RequestBody QueryDto<InputDocDto.AddDoc> params) { public JsonResponse addDoc(@ApiParam @Validated @RequestBody QueryDto<InputDocDto.AddDoc> params) {
@ -93,7 +95,7 @@ public class InputDocController {
log.info("修改输入文档"); log.info("修改输入文档");
return JsonResponse.newInstance().ok(); return JsonResponse.newInstance().ok();
} }
@OperateType(value = 16)
@MustLogin @MustLogin
@ApiOperation(value = "删除输入文档", notes = "1007:删除输入文档") @ApiOperation(value = "删除输入文档", notes = "1007:删除输入文档")
@RequestMapping(value = "/delDoc", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @RequestMapping(value = "/delDoc", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
@ -114,6 +116,7 @@ public class InputDocController {
return JsonResponse.newInstance().ok(); return JsonResponse.newInstance().ok();
} }
@OperateType(value = 14)
@MustLogin @MustLogin
@ApiOperation(value = "修改上传文件的备注信息", notes = "1007:修改上传文件的备注信息") @ApiOperation(value = "修改上传文件的备注信息", notes = "1007:修改上传文件的备注信息")
@RequestMapping(value = "/updateDocOfRemark", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @RequestMapping(value = "/updateDocOfRemark", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})

Loading…
Cancel
Save