|
@@ -6,15 +6,21 @@ import com.redxun.common.base.db.BaseDao;
|
|
|
import com.redxun.common.base.db.BaseService;
|
|
|
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.dto.user.OsUserDto;
|
|
|
+import com.redxun.knowledge.common.MessageService;
|
|
|
+import com.redxun.knowledge.common.UserService;
|
|
|
import com.redxun.knowledge.entity.dao.Knowledge;
|
|
|
import com.redxun.knowledge.entity.dao.KnowledgeApprove;
|
|
|
import com.redxun.knowledge.entity.vo.KnowledgeApprovalListVo;
|
|
|
import com.redxun.knowledge.entity.vo.KnowledgeCategoryAdminVo;
|
|
|
import com.redxun.knowledge.mapper.KnowledgeApproveMapper;
|
|
|
import com.redxun.knowledge.mapper.KnowledgeMapper;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import java.util.*;
|
|
@@ -24,6 +30,7 @@ import java.util.stream.Collectors;
|
|
|
* [业务--知识审批表]业务服务类
|
|
|
*/
|
|
|
@Service
|
|
|
+@Slf4j
|
|
|
public class KnowledgeApproveServiceImpl extends SuperServiceImpl<KnowledgeApproveMapper, KnowledgeApprove> implements BaseService<KnowledgeApprove> {
|
|
|
|
|
|
@Resource
|
|
@@ -35,6 +42,12 @@ public class KnowledgeApproveServiceImpl extends SuperServiceImpl<KnowledgeAppro
|
|
|
@Autowired
|
|
|
private KnowledgeMapper knowledgeMapper;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private MessageService messageService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private UserService userService;
|
|
|
+
|
|
|
@Override
|
|
|
public BaseDao<KnowledgeApprove> getRepository() {
|
|
|
return knowledgeApproveMapper;
|
|
@@ -47,9 +60,8 @@ public class KnowledgeApproveServiceImpl extends SuperServiceImpl<KnowledgeAppro
|
|
|
*/
|
|
|
public IPage findAllKnowledgeApprove(QueryFilter filter) {
|
|
|
Map<String, Object> params = PageHelper.constructParams(filter);
|
|
|
+ //查询出全部记录
|
|
|
List<KnowledgeApprovalListVo> allKnowledgeApprove = knowledgeApproveMapper.findAllKnowledgeApprove(filter.getParams(), params);
|
|
|
- // 查询出全部记录
|
|
|
- // List<KnowledgeApprovalListVo> knowledgeApprovalListVos = page.getRecords();
|
|
|
// 根据知识Id进行数据分组
|
|
|
Map<String, List<KnowledgeApprovalListVo>> result =
|
|
|
allKnowledgeApprove.stream().collect(Collectors.groupingBy(KnowledgeApprovalListVo::getKnowledgerId));
|
|
@@ -102,6 +114,7 @@ public class KnowledgeApproveServiceImpl extends SuperServiceImpl<KnowledgeAppro
|
|
|
* @param entity
|
|
|
* @return
|
|
|
*/
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
public int update(KnowledgeApprove entity) {
|
|
|
KnowledgeApprove knowledgeApprove = knowledgeApproveMapper.selectById(entity.getPkId());
|
|
@@ -111,6 +124,9 @@ public class KnowledgeApproveServiceImpl extends SuperServiceImpl<KnowledgeAppro
|
|
|
knowledge.setPkId(knowledgeApprove.getKnowledgerId());
|
|
|
knowledge.setApprovalStatus(2);
|
|
|
knowledgeMapper.updateById(knowledge);
|
|
|
+ //给知识创建人发送站内信和企业微信消息
|
|
|
+ String createBy = knowledgeMapper.selectById(knowledgeApprove.getKnowledgerId()).getCreateBy();
|
|
|
+ sendMessage(createBy,entity.getRemark());
|
|
|
}
|
|
|
// 如果审核节点是终审节点且知识未通过,修改知识状态为最终驳回 4
|
|
|
if (knowledgeApprove.getIsFinal() == 1 && entity.getResult() == 0){
|
|
@@ -118,6 +134,9 @@ public class KnowledgeApproveServiceImpl extends SuperServiceImpl<KnowledgeAppro
|
|
|
knowledge.setPkId(knowledgeApprove.getKnowledgerId());
|
|
|
knowledge.setApprovalStatus(4);
|
|
|
knowledgeMapper.updateById(knowledge);
|
|
|
+ //给知识创建人发送站内信和企业微信消息
|
|
|
+ String createBy = knowledgeMapper.selectById(knowledgeApprove.getKnowledgerId()).getCreateBy();
|
|
|
+ sendMessage(createBy,entity.getRemark());
|
|
|
}
|
|
|
// 如果审核节点是终审节点且知识通过,修改知识状态为最终通过 5
|
|
|
if (knowledgeApprove.getIsFinal() == 1 && entity.getResult() == 1){
|
|
@@ -125,7 +144,32 @@ public class KnowledgeApproveServiceImpl extends SuperServiceImpl<KnowledgeAppro
|
|
|
knowledge.setPkId(knowledgeApprove.getKnowledgerId());
|
|
|
knowledge.setApprovalStatus(5);
|
|
|
knowledgeMapper.updateById(knowledge);
|
|
|
+ //给知识创建人发送站内信和企业微信消息
|
|
|
+ String createBy = knowledgeMapper.selectById(knowledgeApprove.getKnowledgerId()).getCreateBy();
|
|
|
+ sendMessage(createBy,entity.getRemark());
|
|
|
+ }
|
|
|
+ // 如果审核通过了,发送短信通知下一个人审核
|
|
|
+ if (knowledgeApprove.getResult() == 1 && knowledgeApprove.getIsFinal() != 1){
|
|
|
+ // TODO: 2022/12/9
|
|
|
}
|
|
|
return this.getRepository().updateById(entity);
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 给知识创建人发送站内信和企业微信消息(知识被驳回时,或者最终节点审核通过时)
|
|
|
+ * @param createBy,remark
|
|
|
+ */
|
|
|
+ private void sendMessage(String createBy,String remark){
|
|
|
+ List<OsUserDto> osUserDtoList = new ArrayList<>();
|
|
|
+ //查询用户信息
|
|
|
+ OsUserDto osUserDto = userService.queryOsUserDto(createBy);
|
|
|
+ osUserDtoList.add(osUserDto);
|
|
|
+ if (remark != null){
|
|
|
+ messageService.sendWechatMsg("[关于知识审核不通过通知]",remark,osUserDtoList);
|
|
|
+ messageService.sendInnerMsg("[关于知识审核不通过通知]",remark,osUserDtoList);
|
|
|
+ } else {
|
|
|
+ messageService.sendWechatMsg("[关于知识审核不通过通知]","知识未通过",osUserDtoList);
|
|
|
+ messageService.sendInnerMsg("[关于知识审核不通过通知]","知识未通过",osUserDtoList);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|