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();
MessageVo.Inform inform = RobotUtil.getInform();
WxTemplateMessage wxTemplate = RobotUtil.getWxTemplate();
// 3.机器人通知
// 3.企业微信群机器人通知
asyncService.sendRobotMessage(operateType,message);
// 4.ws和公众号通知
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));
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;
@Resource
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;
@ -281,6 +259,7 @@ public class InputDocService implements IInputDocService {
proTaskInputDocMapper.updateByPrimaryKeySelective(proTaskInputDoc);
}
//TODO 发送消息
}
@ -292,8 +271,7 @@ public class InputDocService implements IInputDocService {
*/
@Override
public List<InputDocVo.HistoryRecord> viewDocHistory(InputDocDto.ViewDocHistory param) {
List<InputDocVo.HistoryRecord> historyRecords = iInputDocDao.viewDocHistory(param.getDocId());
return historyRecords;
return iInputDocDao.viewDocHistory(param.getDocId());
}
/**

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

@ -1473,6 +1473,7 @@ public class ProTaskDetailService implements IProTaskDetailService {
} else {
throw new BaseException(CodeEnum.NOT_TASK);
}
//发送消息
robotService.changeTaskRobotSend(currentUserId, 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.Transactional;
import javax.annotation.Resource;
import java.util.Arrays;
import java.util.List;
import java.util.concurrent.atomic.AtomicBoolean;
@ -31,27 +32,27 @@ import java.util.concurrent.atomic.AtomicInteger;
@Service
@Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class)
public class RobotService implements IRobotService{
@Autowired
@Resource
private SysProjectDao sysProjectDao;
@Autowired
@Resource
private SysRobotDao sysRobotDao;
@Autowired
@Resource
private SysProjectRobotDao sysProjectRobotDao;
@Autowired
@Resource
private SysMessageTypeDao sysMessageTypeDao;
@Autowired
@Resource
private SysProjectRobotMessageDao projectRobotMessageDao;
@Autowired
@Resource
private RedisUtil redisUtil;
@Autowired
@Resource
private IUserService userService;
@Autowired
@Resource
private IProRoleService proRoleService;
@Autowired
@Resource
private IProMemberService proMemberService;
@Autowired
@Resource
private TaskDetailDao taskDetailDao;
@Autowired
@Resource
private TaskSubTimeDao taskSubTimeDao;
@Override
@ -67,9 +68,7 @@ public class RobotService implements IRobotService{
String content = getRobotTemplate(operateType.value());
//获取发送参数
final String[] builder = {content};
message.getParams().forEach(param->{
builder[0] = builder[0].replace(param.getName(),param.getContent());
});
message.getParams().forEach(param-> builder[0] = builder[0].replace(param.getName(),param.getContent()));
//获取机器人信息
SysRobot sysRobot = sysRobotDao.selectByPrimaryKey(sysProjectRobot.getRobotId());
@ -111,7 +110,7 @@ public class RobotService implements IRobotService{
@Override
public String getRobotTemplate(int code){
String robotKey = TallConstant.getRobotTemplateKey(code);
String template = "";
String template;
template = (String)redisUtil.get(robotKey);
if(StrUtil.isEmpty(template)){
SysMessageTypeExample sysMessageTypeExample = new SysMessageTypeExample();
@ -145,7 +144,7 @@ public class RobotService implements IRobotService{
@Override
public void finishTaskRobotSend(Long currentUserId,Long projectId, String projectName, String taskName,Long executorRoleId , int completedStatus) throws Exception {
String userName = userService.getUserNameByUserId(currentUserId);
String isFinish = "";
String isFinish;
if(completedStatus == 2){
isFinish = "完成";
}else {
@ -173,18 +172,18 @@ public class RobotService implements IRobotService{
@Override
public void addTaskRobotSend(Long currentUserId, SysProject project, String taskName, Long executorId) throws Exception {
//通过userID获取用户名
String userName = userService.getUserNameByUserId(currentUserId);
String projectName = "";
//获取项目名
if(ObjectUtil.isNotNull(project)){
projectName = project.getName();
}
// 获取角色名
TaskVo.RoleCheckList role = proRoleService.selectRoleByCheckOrExecutor(executorId);
String executorName = ObjectUtil.isNotNull(role) ? role.getName() : "";
//将需填充的信息放到消息内
RobotUtil.Message message = new RobotUtil.Message(project.getId());
message.appendParams(
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()));
}
@Override
public void addDeliverRobotSend(Long currentUserId, String deliverName, Long subTimeId,SysProject project) throws Exception {
String userName = userService.getUserNameByUserId(currentUserId);
@ -388,7 +386,9 @@ public class RobotService implements IRobotService{
RobotUtil.setWxTemplate(WxTemplateUtil.getAddComment(project.getId(), userName));
}
/**
* 通过机器人发送提醒消息
*/
@Override
public void sendRemindByRobot(TaskVo.RemindTask taskRemind,String content) throws Exception {
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.util.JsonResponse;
import com.ccsens.util.WebConstant;
import com.ccsens.util.annotation.OperateType;
import com.ccsens.util.bean.dto.QueryDto;
import io.jsonwebtoken.Claims;
import io.swagger.annotations.Api;
@ -31,7 +32,7 @@ import java.util.List;
@RequestMapping("/inputDoc")
public class InputDocController {
@Autowired
@Resource
private IInputDocService iInputDocService;
/*@MustLogin
@ -44,7 +45,7 @@ public class InputDocController {
return JsonResponse.newInstance().ok();
}*/
@MustLogin
@MustLoginTall
@ApiOperation(value = "通过任务id查询输入文档", notes = "1007:通过任务id查询输入文档")
@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) {
@ -54,7 +55,8 @@ public class InputDocController {
return JsonResponse.newInstance().ok(docByTask);
}
@MustLogin
@OperateType(value = 15)
@MustLoginTall
@ApiOperation(value = "给输入文档上传文件", notes = "1007:给输入文档上传文件")
@RequestMapping(value = "/uploadForDoc", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse uploadForDoc(@ApiParam @Validated @RequestBody QueryDto<InputDocDto.UploadForDoc> params) {
@ -64,7 +66,7 @@ public class InputDocController {
return JsonResponse.newInstance().ok();
}
@MustLogin
@MustLoginTall
@ApiOperation(value = "查看文档上传历史记录", notes = "1007:查看文档上传历史记录")
@RequestMapping(value = "/viewDocHistory", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse viewDocHistory(@ApiParam @Validated @RequestBody QueryDto<InputDocDto.ViewDocHistory> params) {
@ -74,7 +76,7 @@ public class InputDocController {
return JsonResponse.newInstance().ok(historyRecords);
}
@MustLogin
@MustLoginTall
@ApiOperation(value = "添加输入文档", notes = "1007:添加输入文档")
@RequestMapping(value = "/addDoc", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse addDoc(@ApiParam @Validated @RequestBody QueryDto<InputDocDto.AddDoc> params) {
@ -93,7 +95,7 @@ public class InputDocController {
log.info("修改输入文档");
return JsonResponse.newInstance().ok();
}
@OperateType(value = 16)
@MustLogin
@ApiOperation(value = "删除输入文档", notes = "1007:删除输入文档")
@RequestMapping(value = "/delDoc", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
@ -114,6 +116,7 @@ public class InputDocController {
return JsonResponse.newInstance().ok();
}
@OperateType(value = 14)
@MustLogin
@ApiOperation(value = "修改上传文件的备注信息", notes = "1007:修改上传文件的备注信息")
@RequestMapping(value = "/updateDocOfRemark", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})

Loading…
Cancel
Save