认证-参数项收集-飞书消息修改

This commit is contained in:
liyawei
2022-07-18 18:21:52 +08:00
parent 8c76392498
commit 7207132f01
5 changed files with 59 additions and 8 deletions
@@ -23,4 +23,6 @@ public interface ParamsManifestEOMapper extends BaseMapper<ParamsManifestEO> {
List<ParamsManifestVO> listInfoAll(@Param("idList") List<String> idList); List<ParamsManifestVO> listInfoAll(@Param("idList") List<String> idList);
ParamsManifestVO getProjectById(@Param("projectId") String projectId);
} }
@@ -112,4 +112,16 @@
</foreach> </foreach>
</select> </select>
<select id="getProjectById" resultMap="ParamsManifestEOResultMapForCopy">
select tmp_tb.* from(
select
plb.id as project_id,
concat(pni.project_name,'-',pyni.year_name,' ',target_market) as project_name
from project_library_base plb
left join project_name_info as pni on plb.project_name_id = pni.id
left join project_year_name_info as pyni on plb.year_name_id = pyni.id
) tmp_tb
where project_id = #{projectId}
</select>
</mapper> </mapper>
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.modules.cert.collect.entity.ParamsManifestEO; import com.jero.modules.cert.collect.entity.ParamsManifestEO;
import com.jero.modules.cert.collect.vo.ParamsManifestHistoryVO; import com.jero.modules.cert.collect.vo.ParamsManifestHistoryVO;
import com.jero.modules.cert.collect.vo.ParamsManifestVO;
import com.jero.modules.cert.template.entity.ParamsTemplateEO; import com.jero.modules.cert.template.entity.ParamsTemplateEO;
import java.util.List; import java.util.List;
@@ -79,4 +80,6 @@ public interface IParamsManifestEOService extends IService<ParamsManifestEO> {
IPage getAllManifest(IPage page, String projectName); IPage getAllManifest(IPage page, String projectName);
ParamsManifestEO copy(ParamsManifestEO paramsManifestEO, String sourceManifestId); ParamsManifestEO copy(ParamsManifestEO paramsManifestEO, String sourceManifestId);
ParamsManifestVO getProjectById(String projectId);
} }
@@ -2,12 +2,14 @@ package com.jero.modules.cert.collect.service.impl;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.jero.common.constant.CommonConstant; import com.jero.common.constant.CommonConstant;
import com.jero.common.constant.WebsocketConst;
import com.jero.common.constant.enums.CutEnum; import com.jero.common.constant.enums.CutEnum;
import com.jero.common.constant.enums.MessageTypeEnum; import com.jero.common.constant.enums.MessageTypeEnum;
import com.jero.common.constant.enums.YesOrNoEnum; import com.jero.common.constant.enums.YesOrNoEnum;
@@ -16,10 +18,7 @@ import com.jero.common.system.query.QueryGenerator;
import com.jero.common.system.vo.LoginUser; import com.jero.common.system.vo.LoginUser;
import com.jero.generater.modules.online.cgform.entity.OnlCgformField; import com.jero.generater.modules.online.cgform.entity.OnlCgformField;
import com.jero.generater.modules.online.cgform.service.impl.OnlCgformFieldServiceImpl; import com.jero.generater.modules.online.cgform.service.impl.OnlCgformFieldServiceImpl;
import com.jero.modules.cert.collect.entity.ParamsCollectManifestEO; import com.jero.modules.cert.collect.entity.*;
import com.jero.modules.cert.collect.entity.ParamsConfigDataEO;
import com.jero.modules.cert.collect.entity.ParamsConfigEO;
import com.jero.modules.cert.collect.entity.ParamsManifestEO;
import com.jero.modules.cert.collect.enums.*; import com.jero.modules.cert.collect.enums.*;
import com.jero.modules.cert.collect.mapper.ParamsCollectManifestEOMapper; import com.jero.modules.cert.collect.mapper.ParamsCollectManifestEOMapper;
import com.jero.modules.cert.collect.service.IParamsCollectManifestEOService; import com.jero.modules.cert.collect.service.IParamsCollectManifestEOService;
@@ -28,6 +27,7 @@ import com.jero.modules.cert.collect.service.IParamsConfigEOService;
import com.jero.modules.cert.collect.service.IParamsManifestEOService; import com.jero.modules.cert.collect.service.IParamsManifestEOService;
import com.jero.modules.cert.collect.vo.ParamsCollectManifestVO; import com.jero.modules.cert.collect.vo.ParamsCollectManifestVO;
import com.jero.modules.cert.collect.vo.ParamsConfigDataVO; import com.jero.modules.cert.collect.vo.ParamsConfigDataVO;
import com.jero.modules.cert.collect.vo.ParamsManifestVO;
import com.jero.modules.cert.report.entity.*; import com.jero.modules.cert.report.entity.*;
import com.jero.modules.cert.report.service.*; import com.jero.modules.cert.report.service.*;
import com.jero.modules.cert.template.entity.CertCategoryParamsInfoPublishEO; import com.jero.modules.cert.template.entity.CertCategoryParamsInfoPublishEO;
@@ -37,6 +37,7 @@ import com.jero.modules.cert.template.service.ICertCategoryParamsInfoPublishEOSe
import com.jero.modules.cert.template.service.IParamsInfoPublishEOService; import com.jero.modules.cert.template.service.IParamsInfoPublishEOService;
import com.jero.modules.feishu.service.IFeishuService; import com.jero.modules.feishu.service.IFeishuService;
import com.jero.modules.feishu.vo.FeishuMsgVo; import com.jero.modules.feishu.vo.FeishuMsgVo;
import com.jero.modules.message.websocket.WebSocket;
import com.jero.modules.ocr.service.WebSocketServer; import com.jero.modules.ocr.service.WebSocketServer;
import com.jero.modules.ocr.util.LineHumpUtil; import com.jero.modules.ocr.util.LineHumpUtil;
import com.jero.modules.oss.entity.OSSFile; import com.jero.modules.oss.entity.OSSFile;
@@ -62,6 +63,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 javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.io.IOException; import java.io.IOException;
import java.lang.reflect.Field; import java.lang.reflect.Field;
@@ -120,7 +122,10 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
@Autowired @Autowired
private ProjectLibraryBaseMapper projectLibraryBaseMapper; private ProjectLibraryBaseMapper projectLibraryBaseMapper;
@Autowired @Autowired
private WebSocketServer webSocketServer; private WebSocketServer webSocketServer; // 同步上报库时变更清单状态时使用
@Resource
private WebSocket webSocket; // 消息专用
@@ -1269,18 +1274,29 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
String projectId = paramsCollectManifestVO.getProjectId(); String projectId = paramsCollectManifestVO.getProjectId();
String paramsManifestId = paramsCollectManifestVO.getParamsManifestId(); String paramsManifestId = paramsCollectManifestVO.getParamsManifestId();
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); // 获取当前登录人
ParamsManifestVO projectInfo = paramsManifestEOService.getProjectById(projectId); // 获取项目信息
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String[] paramsCollectManifestIdStr = paramsCollectManifestIds.split(","); String[] paramsCollectManifestIdStr = paramsCollectManifestIds.split(",");
List<ParamsCollectManifestEO> updateEOList = new ArrayList<>(); List<ParamsCollectManifestEO> updateEOList = new ArrayList<>();
StringBuilder connectBuilder = new StringBuilder(); StringBuilder connectBuilder = new StringBuilder();
connectBuilder.append("You are required to fill in "); connectBuilder.append("You are required to fill in ");
for (int i=0; i<paramsCollectManifestIdStr.length; i++) {
ParamsCollectManifestEO paramsCollectManifestEO = getById(paramsCollectManifestIdStr[i]); LambdaQueryWrapper<ParamsCollectManifestEO> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.in(ParamsCollectManifestEO::getId, Arrays.asList(paramsCollectManifestIdStr))
.orderByAsc(ParamsCollectManifestEO::getDeadline).orderByAsc(ParamsCollectManifestEO::getNioNumber);
List<ParamsCollectManifestEO> paramsCollectManifestEOList = list(queryWrapper);
Date deadline = paramsCollectManifestEOList.get(0).getDeadline();
int i = 0;
for (ParamsCollectManifestEO paramsCollectManifestEO : paramsCollectManifestEOList) {
if (i < 3) { if (i < 3) {
connectBuilder.append(paramsCollectManifestEO.getNioNumber()).append("-").append(paramsCollectManifestEO.getParamsName()).append(","); connectBuilder.append(paramsCollectManifestEO.getNioNumber()).append("-").append(paramsCollectManifestEO.getParamsName()).append(",");
} }
i++;
ParamsCollectManifestEO updateEO = new ParamsCollectManifestEO(); ParamsCollectManifestEO updateEO = new ParamsCollectManifestEO();
updateEO.setId(paramsCollectManifestIdStr[i]); updateEO.setId(paramsCollectManifestEO.getId());
updateEO.setDre(dre); // 设置填写人 updateEO.setDre(dre); // 设置填写人
updateEO.setState(CollectManifestStateEnum.WAIT_FILL.getValue()); // 设置状态为:待填写 updateEO.setState(CollectManifestStateEnum.WAIT_FILL.getValue()); // 设置状态为:待填写
updateEOList.add(updateEO); updateEOList.add(updateEO);
@@ -1295,6 +1311,8 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
String href = "<a href='/ParameterItemCollection?id=" + paramsManifestId + "&projectId=" + projectId + "'" + " target='_blank'>the link</a>,"; String href = "<a href='/ParameterItemCollection?id=" + paramsManifestId + "&projectId=" + projectId + "'" + " target='_blank'>the link</a>,";
String content = connectBuilder.substring(0, connectBuilder.toString().length()-1) + " and other parameter items, please enter the link to handle it."; String content = connectBuilder.substring(0, connectBuilder.toString().length()-1) + " and other parameter items, please enter the link to handle it.";
String contentInfo = connectBuilder.substring(0, connectBuilder.toString().length()-1) + " please enter " + href + " to handle it."; String contentInfo = connectBuilder.substring(0, connectBuilder.toString().length()-1) + " please enter " + href + " to handle it.";
String msgTitle = "You have a homo parameter task to complete";
// 发送系统消息 // 发送系统消息
SysAnnouncement sysAnnouncement = new SysAnnouncement(); SysAnnouncement sysAnnouncement = new SysAnnouncement();
sysAnnouncement.setDelFlag("0"); sysAnnouncement.setDelFlag("0");
@@ -1302,11 +1320,18 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
sysAnnouncement.setSendTime(new Date()); sysAnnouncement.setSendTime(new Date());
sysAnnouncement.setMsgCategory(MessageTypeEnum.HOMO_TASK.getValue());//消息类型 sysAnnouncement.setMsgCategory(MessageTypeEnum.HOMO_TASK.getValue());//消息类型
sysAnnouncement.setMsgType(CommonConstant.MSG_TYPE_UESR);//指定用户 sysAnnouncement.setMsgType(CommonConstant.MSG_TYPE_UESR);//指定用户
sysAnnouncement.setTitile(msgTitle);
sysAnnouncement.setMsgContent(content); sysAnnouncement.setMsgContent(content);
sysAnnouncement.setMsgContentInfo(contentInfo); sysAnnouncement.setMsgContentInfo(contentInfo);
sysAnnouncement.setUserIds(sysUser.getId()); sysAnnouncement.setUserIds(sysUser.getId());
sysAnnouncementService.saveAnnouncement(sysAnnouncement); sysAnnouncementService.saveAnnouncement(sysAnnouncement);
JSONObject obj = new JSONObject();
obj.put(WebsocketConst.MSG_CMD, WebsocketConst.CMD_TOPIC);
obj.put(WebsocketConst.MSG_ID, paramsManifestId);
obj.put(WebsocketConst.MSG_TXT, contentInfo);
webSocket.sendMessage(obj.toJSONString());
// 发送飞书消息 // 发送飞书消息
try { try {
FeishuMsgVo feishuMsgVo = new FeishuMsgVo(); FeishuMsgVo feishuMsgVo = new FeishuMsgVo();
@@ -1314,6 +1339,9 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
feishuMsgVo.setContent(content); feishuMsgVo.setContent(content);
feishuMsgVo.setUrl(hrefFeishu); feishuMsgVo.setUrl(hrefFeishu);
feishuMsgVo.setTaskType(MessageTypeEnum.HOMO_TASK.getName()); feishuMsgVo.setTaskType(MessageTypeEnum.HOMO_TASK.getName());
feishuMsgVo.setProject(projectInfo.getProjectName()); // 车型-年款 区域
feishuMsgVo.setInitiator(currentUser.getUsername());
feishuMsgVo.setDueDate(sdf.format(deadline));
feishuService.sendCardMsg(thirdIds, feishuMsgVo); feishuService.sendCardMsg(thirdIds, feishuMsgVo);
} catch (IOException e) { } catch (IOException e) {
log.error("飞书消息推送失败"); log.error("飞书消息推送失败");
@@ -20,6 +20,7 @@ import com.jero.modules.cert.collect.mapper.ParamsConfigEOMapper;
import com.jero.modules.cert.collect.mapper.ParamsManifestEOMapper; import com.jero.modules.cert.collect.mapper.ParamsManifestEOMapper;
import com.jero.modules.cert.collect.service.*; import com.jero.modules.cert.collect.service.*;
import com.jero.modules.cert.collect.vo.ParamsManifestHistoryVO; import com.jero.modules.cert.collect.vo.ParamsManifestHistoryVO;
import com.jero.modules.cert.collect.vo.ParamsManifestVO;
import com.jero.modules.cert.report.service.IParamsReportEOService; import com.jero.modules.cert.report.service.IParamsReportEOService;
import com.jero.modules.cert.template.entity.ParamsInfoPublishEO; import com.jero.modules.cert.template.entity.ParamsInfoPublishEO;
import com.jero.modules.cert.template.entity.ParamsTemplateEO; import com.jero.modules.cert.template.entity.ParamsTemplateEO;
@@ -618,4 +619,9 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl<ParamsManifestEOMap
return paramsManifestEO; return paramsManifestEO;
} }
@Override
public ParamsManifestVO getProjectById(String projectId) {
return paramsManifestEOMapper.getProjectById(projectId);
}
} }