|
@@ -1,6 +1,8 @@
|
|
|
|
|
|
package com.redxun.knowledge.service;
|
|
|
|
|
|
+import cn.hutool.core.date.DatePattern;
|
|
|
+import cn.hutool.core.date.DateUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
@@ -11,6 +13,9 @@ import com.redxun.common.base.db.PageHelper;
|
|
|
import com.redxun.common.base.search.QueryFilter;
|
|
|
import com.redxun.common.model.JPaasUser;
|
|
|
import com.redxun.common.service.impl.SuperServiceImpl;
|
|
|
+import com.redxun.common.tool.DateUtils;
|
|
|
+import com.redxun.common.tool.StringUtils;
|
|
|
+import com.redxun.common.utils.ContextUtil;
|
|
|
import com.redxun.dto.user.OsUserDto;
|
|
|
import com.redxun.knowledge.common.MessageService;
|
|
|
import com.redxun.knowledge.common.UserService;
|
|
@@ -27,6 +32,7 @@ import com.redxun.search.utils.MD5;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
+import org.springframework.scheduling.annotation.Async;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
@@ -145,6 +151,10 @@ public class KnowledgeApproveServiceImpl extends SuperServiceImpl<KnowledgeAppro
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
public int update(KnowledgeApprove entity) {
|
|
|
+ // 如果审批结论为null,置位空字符串
|
|
|
+ if (StringUtils.isEmpty(entity.getRemark())){
|
|
|
+ entity.setRemark("");
|
|
|
+ }
|
|
|
// 当前记录
|
|
|
KnowledgeApprove knowledgeApprove = knowledgeApproveMapper.selectById(entity.getPkId());
|
|
|
// 当前记录的下一条记录
|
|
@@ -159,7 +169,7 @@ public class KnowledgeApproveServiceImpl extends SuperServiceImpl<KnowledgeAppro
|
|
|
//给知识创建人发送站内信和企业微信消息
|
|
|
Knowledge knowledgeEnd = knowledgeMapper.selectById(knowledgeApprove.getKnowledgerId());
|
|
|
String createBy = knowledgeEnd.getCreateBy();
|
|
|
- sendMessage(createBy,knowledgeEnd.getTitles(),false);
|
|
|
+ sendMessage(createBy,knowledgeEnd.getTitles(),entity.getRemark(),false);
|
|
|
}
|
|
|
// 如果审核节点是终审节点且知识未通过,修改知识状态为最终驳回 4
|
|
|
if (knowledgeApprove.getIsFinal() == 1 && entity.getResult() == 0){
|
|
@@ -170,7 +180,7 @@ public class KnowledgeApproveServiceImpl extends SuperServiceImpl<KnowledgeAppro
|
|
|
//给知识创建人发送站内信和企业微信消息
|
|
|
Knowledge knowledgeEnd = knowledgeMapper.selectById(knowledgeApprove.getKnowledgerId());
|
|
|
String createBy = knowledgeEnd.getCreateBy();
|
|
|
- sendMessage(createBy,knowledgeEnd.getTitles(),false);
|
|
|
+ sendMessage(createBy,knowledgeEnd.getTitles(),entity.getRemark(),false);
|
|
|
}
|
|
|
// 如果审核节点是终审节点且知识通过,修改知识状态为最终通过 5
|
|
|
if (knowledgeApprove.getIsFinal() == 1 && entity.getResult() == 1){
|
|
@@ -181,7 +191,7 @@ public class KnowledgeApproveServiceImpl extends SuperServiceImpl<KnowledgeAppro
|
|
|
//给知识创建人发送站内信和企业微信消息
|
|
|
Knowledge knowledgeEnd = knowledgeMapper.selectById(knowledgeApprove.getKnowledgerId());
|
|
|
String createBy = knowledgeEnd.getCreateBy();
|
|
|
- sendMessage(createBy,knowledgeEnd.getTitles(),true);
|
|
|
+ sendMessage(createBy,knowledgeEnd.getTitles(),entity.getRemark(),true);
|
|
|
//把该知识附件信息传入搜索平台
|
|
|
Knowledge knowledges = knowledgeMapper.selectById(knowledgeApprove.getKnowledgerId());
|
|
|
// 获取知识上传人头像
|
|
@@ -234,7 +244,8 @@ public class KnowledgeApproveServiceImpl extends SuperServiceImpl<KnowledgeAppro
|
|
|
String approverId = knowledgeApproveNext.getApproverId();
|
|
|
JPaasUser jPaasUser = userService.queryByUsername(approverId);
|
|
|
if (jPaasUser != null){
|
|
|
- sendMessage(jPaasUser.getUserId());
|
|
|
+ Knowledge knowledge = knowledgeMapper.selectById(knowledgeApprove.getKnowledgerId());
|
|
|
+ sendMessage(jPaasUser.getUserId(),knowledge.getTitles(),knowledge.getCreateBy(),knowledge.getCreateTime());
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -250,34 +261,50 @@ public class KnowledgeApproveServiceImpl extends SuperServiceImpl<KnowledgeAppro
|
|
|
* 给知识创建人发送站内信和企业微信消息(知识被驳回时,或者最终节点审核通过时)(flag为true,知识通过;为false,知识不通过)
|
|
|
* @param createBy,remark,flag
|
|
|
*/
|
|
|
- private void sendMessage(String createBy,String titles,Boolean flag){
|
|
|
+ private void sendMessage(String createBy,String titles,String remark,Boolean flag){
|
|
|
List<OsUserDto> osUserDtoList = new ArrayList<>();
|
|
|
//查询用户信息
|
|
|
OsUserDto osUserDto = userService.queryOsUserDto(createBy);
|
|
|
osUserDtoList.add(osUserDto);
|
|
|
// 知识通过
|
|
|
if (flag){
|
|
|
- messageService.sendWechatMsg("您的提交的申请已经通过审批!","提交内容:" + titles + "审批时间:" + new Date(),osUserDtoList);
|
|
|
- messageService.sendInnerMsg("您的提交的申请已经通过审批!","提交内容:" + titles + "审批时间:" + new Date(),osUserDtoList);
|
|
|
+ messageService.sendWechatMsg("您提交的申请已经通过审批!",
|
|
|
+ "提交内容:" + titles + "<br>" +
|
|
|
+ "审批时间:" + DateUtil.format(new Date(), DatePattern.NORM_DATETIME_PATTERN) ,osUserDtoList);
|
|
|
+ messageService.sendInnerMsg("您提交的申请已经通过审批!",
|
|
|
+ "提交内容:" + titles + "<br>" +
|
|
|
+ "审批时间:" + DateUtil.format(new Date(), DatePattern.NORM_DATETIME_PATTERN),osUserDtoList);
|
|
|
} else {
|
|
|
// 知识不通过
|
|
|
- messageService.sendWechatMsg("您的提交的申请已被驳回!","提交内容:" + titles + "审批时间:" + new Date(),osUserDtoList);
|
|
|
- messageService.sendInnerMsg("您的提交的申请已被驳回!","提交内容:" + titles + "审批时间:" + new Date(),osUserDtoList);
|
|
|
+ messageService.sendWechatMsg("您提交的申请已被驳回!","" +
|
|
|
+ "提交内容:" + titles + "<br>" + "审批时间:" + DateUtil.format(new Date(), DatePattern.NORM_DATETIME_PATTERN),osUserDtoList);
|
|
|
+ messageService.sendInnerMsg("您提交的申请已被驳回!",
|
|
|
+ "提交内容:" + titles + "<br>" +
|
|
|
+ "驳回原因:" + remark + "<br>" +
|
|
|
+ "审核人:" + ContextUtil.getCurrentUser().getFullName() + "<br>" +
|
|
|
+ "审批时间:" + DateUtil.format(new Date(), DatePattern.NORM_DATETIME_PATTERN),osUserDtoList);
|
|
|
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 给下一节点审核人发消息(不包含部门)
|
|
|
- * @param createBy,remark
|
|
|
+ * @param
|
|
|
*/
|
|
|
- private void sendMessage(String createBy){
|
|
|
+ public void sendMessage(String sender,String titles,String userId,Date date){
|
|
|
List<OsUserDto> osUserDtoList = new ArrayList<>();
|
|
|
//查询用户信息
|
|
|
- OsUserDto osUserDto = userService.queryOsUserDto(createBy);
|
|
|
+ OsUserDto osUserDto = userService.queryOsUserDto(sender);
|
|
|
osUserDtoList.add(osUserDto);
|
|
|
// 发消息通过前来审核
|
|
|
- messageService.sendWechatMsg("您有一条待审核任务,请尽快完成审核!","",osUserDtoList);
|
|
|
- messageService.sendInnerMsg("您有一条待审核任务,请尽快完成审核!","",osUserDtoList);
|
|
|
+ messageService.sendWechatMsg("您有一条待审核任务,请尽快完成审核!",
|
|
|
+ "审核类型:知识审核" + "<br>" +
|
|
|
+ "提交内容:" + titles + "<br>" +
|
|
|
+ "提交人:" + userService.queryUser(userId).getFullName() + "<br>" +
|
|
|
+ "提交时间:" + DateUtil.format(date, DatePattern.NORM_DATETIME_PATTERN),osUserDtoList);
|
|
|
+ messageService.sendInnerMsg("您有一条待审核任务,请尽快完成审核!","审核类型:知识审核" + "<br>" +
|
|
|
+ "提交内容:" + titles + "<br>" +
|
|
|
+ "提交人:" + userService.queryUser(userId).getFullName() + "<br>" +
|
|
|
+ "提交时间:" + DateUtil.format(date, DatePattern.NORM_DATETIME_PATTERN),osUserDtoList);
|
|
|
}
|
|
|
}
|