文档库--系统消息
This commit is contained in:
+69
-11
@@ -6,7 +6,9 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.constant.CommonConstant;
|
||||
import com.jero.common.constant.enums.CutEnum;
|
||||
import com.jero.common.constant.enums.MessageTypeEnum;
|
||||
import com.jero.common.constant.enums.ModuleEnum;
|
||||
import com.jero.common.constant.enums.YesOrNoEnum;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
@@ -25,7 +27,14 @@ import com.jero.modules.oss.entity.OSSFile;
|
||||
import com.jero.modules.oss.service.IOSSFileService;
|
||||
import com.jero.modules.subscribe.entity.OnlCgformSubscribe;
|
||||
import com.jero.modules.subscribe.service.IOnlCgformSubscribeService;
|
||||
import com.jero.modules.system.entity.SysAnnouncement;
|
||||
import com.jero.modules.system.entity.SysAnnouncementSend;
|
||||
import com.jero.modules.system.entity.SysDictItem;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
import com.jero.modules.system.mapper.SysUserMapper;
|
||||
import com.jero.modules.system.service.ISysAnnouncementSendService;
|
||||
import com.jero.modules.system.service.ISysAnnouncementService;
|
||||
import com.jero.modules.system.service.impl.SysBaseApiImpl;
|
||||
import com.jero.modules.system.service.impl.SysDictItemServiceImpl;
|
||||
import com.jero.modules.tag.entity.OnlCgformArea;
|
||||
import com.jero.modules.tag.service.impl.OnlCgformAreaServiceImpl;
|
||||
@@ -96,6 +105,10 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
private IOnlCgformSubscribeService iOnlCgformSubscribeService;
|
||||
@Autowired
|
||||
private IBussLogEOService iBussLogEOService;
|
||||
@Autowired
|
||||
private ISysAnnouncementService sysAnnouncementService;
|
||||
@Autowired
|
||||
private SysUserMapper sysUserMapper;
|
||||
|
||||
@Value(value = "${jero.path.upload}")
|
||||
private String uploadpath;
|
||||
@@ -648,7 +661,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
|
||||
|
||||
//处理修改代替标准,发送通知
|
||||
sendMessage(map, dataList);
|
||||
sendMessage(map, dataList, fieldList, fieldDateList, fieldFileList, fieldPullList,cut);
|
||||
|
||||
|
||||
//字段
|
||||
@@ -745,6 +758,20 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
List<OnlCgformField> fieldFileList,
|
||||
List<OnlCgformField> fieldPullList,
|
||||
String cut) {
|
||||
StringBuilder sb = getUpdateInfo(map, dataList, fieldList, fieldDateList, fieldFileList, fieldPullList, cut);
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
if (StringUtils.isNotBlank(sb)) {
|
||||
String content = sb.substring(0, sb.length() - 1);
|
||||
BussLogEO bussLogEO = new BussLogEO();
|
||||
bussLogEO.setDocumentId((String) map.get("id"));
|
||||
bussLogEO.setContent(content);
|
||||
bussLogEO.setCreateBy(sysUser.getRealname());
|
||||
iBussLogEOService.add(bussLogEO);
|
||||
}
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private StringBuilder getUpdateInfo(Map<String, Object> map, List<Map<String, Object>> dataList, List<OnlCgformField> fieldList, List<OnlCgformField> fieldDateList, List<OnlCgformField> fieldFileList, List<OnlCgformField> fieldPullList, String cut) {
|
||||
Map<String, Object> mapTemp = new HashMap<>();
|
||||
mapCopy(map, mapTemp);
|
||||
//时间类型的字段
|
||||
@@ -860,15 +887,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
}
|
||||
}
|
||||
});
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
if (StringUtils.isNotBlank(sb)) {
|
||||
String content = sb.substring(0, sb.length() - 1);
|
||||
BussLogEO bussLogEO = new BussLogEO();
|
||||
bussLogEO.setDocumentId((String) map.get("id"));
|
||||
bussLogEO.setContent(content);
|
||||
bussLogEO.setCreateBy(sysUser.getRealname());
|
||||
iBussLogEOService.add(bussLogEO);
|
||||
}
|
||||
return sb;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -876,7 +895,43 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
*
|
||||
* @param map
|
||||
*/
|
||||
private void sendMessage(Map<String, Object> map, List<Map<String, Object>> dataList) {
|
||||
private void sendMessage(Map<String, Object> map,
|
||||
List<Map<String, Object>> dataList,
|
||||
List<OnlCgformField> fieldList,
|
||||
List<OnlCgformField> fieldDateList,
|
||||
List<OnlCgformField> fieldFileList,
|
||||
List<OnlCgformField> fieldPullList,
|
||||
String cut) {
|
||||
//修改的内容
|
||||
StringBuilder sb = getUpdateInfo(map, dataList, fieldList, fieldDateList, fieldFileList, fieldPullList, cut);
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
String serialNumber = (String) dataList.get(0).get("serial_number");
|
||||
//只要修改了标准,就需要向订阅用户发送消息(内容为-->XXX对“GB 7258 进行了修改请及时查看”)
|
||||
//1.先判断是否订阅
|
||||
LambdaQueryWrapper<OnlCgformSubscribe> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.in(OnlCgformSubscribe::getDocumentId, (String)map.get("id"));
|
||||
List<OnlCgformSubscribe> onlCgformSubscribeList = iOnlCgformSubscribeService.list(lambdaQueryWrapper);
|
||||
List<String> userNameList = new ArrayList<>();
|
||||
if(onlCgformSubscribeList.size() != 0){
|
||||
for (OnlCgformSubscribe onlCgformSubscribe : onlCgformSubscribeList) {
|
||||
userNameList.add(onlCgformSubscribe.getCreateBy());
|
||||
}
|
||||
List<SysUser> userList = sysUserMapper.getUserListByNames(StringUtils.join(userNameList, ","));
|
||||
List<String> userIdList = userList.stream().map(SysUser::getId).collect(Collectors.toList());
|
||||
|
||||
SysAnnouncement sysAnnouncement = new SysAnnouncement();
|
||||
sysAnnouncement.setDelFlag("0");
|
||||
sysAnnouncement.setSendStatus("0");
|
||||
sysAnnouncement.setSendTime(new Date());
|
||||
sysAnnouncement.setDocumentId((String) dataList.get(0).get("id"));
|
||||
sysAnnouncement.setMsgCategory(MessageTypeEnum.READ.getValue());//消息类型
|
||||
sysAnnouncement.setMsgType(CommonConstant.MSG_TYPE_UESR);//指定用户
|
||||
sysAnnouncement.setMsgContent(sysUser.getRealname()+"对"+serialNumber+"进行了修改请及时查看");
|
||||
sysAnnouncement.setMsgContentInfo(sysUser.getRealname()+"修改标准"+serialNumber+"中"+sb.toString());
|
||||
sysAnnouncement.setUserIds(StringUtils.join(userIdList,","));
|
||||
//111111111111111111111111111111111
|
||||
sysAnnouncementService.saveAnnouncement(sysAnnouncement);
|
||||
}
|
||||
//处理修改代替标准,发送通知
|
||||
//修改时前端传参
|
||||
String replaceStandard = (String) map.get("replace_standard");
|
||||
@@ -1186,13 +1241,16 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
if (idList.size() == 0) {
|
||||
return;
|
||||
}
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
LambdaQueryWrapper<OnlCgformCollection> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.in(OnlCgformCollection::getDocumentId, idList);
|
||||
wrapper.eq(OnlCgformCollection::getCreateBy,sysUser.getUsername());
|
||||
List<OnlCgformCollection> collectList = iOnlCgformCollectionService.list(wrapper);
|
||||
List<String> collectIdList = collectList.stream().map(OnlCgformCollection::getDocumentId).collect(Collectors.toList());
|
||||
//订阅
|
||||
LambdaQueryWrapper<OnlCgformSubscribe> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.in(OnlCgformSubscribe::getDocumentId, idList);
|
||||
lambdaQueryWrapper.eq(OnlCgformSubscribe::getCreateBy,sysUser.getUsername());
|
||||
List<OnlCgformSubscribe> subscribeList = iOnlCgformSubscribeService.list(lambdaQueryWrapper);
|
||||
List<String> subscribeIdList = subscribeList.stream().map(OnlCgformSubscribe::getDocumentId).collect(Collectors.toList());
|
||||
|
||||
|
||||
Reference in New Issue
Block a user