Merge remote-tracking branch 'origin/master'

This commit is contained in:
wangzhijiang
2022-03-04 18:03:08 +08:00
16 changed files with 160 additions and 34 deletions
@@ -443,7 +443,10 @@ public class BussDocumentLibraryEOController extends JeroController<BussDocument
@ApiOperation(value = "推送")
@GetMapping(value = "/pullMessage")
public Result<?> pullMessage(String ids) {
public Result<?> pullMessage(String departIds,String userIds,String documentIds) {
bussDocumentLibraryEOService.pullMessage(departIds,userIds,documentIds);
return Result.OK("推送成功");
}
@@ -171,4 +171,6 @@ public interface IBussDocumentLibraryEOService extends IService<BussDocumentLibr
*/
List<Map<String, Object>> getHeaderOrConditionForOcr(String flag, String cut);
String pullMessage(String departIds,String ids,String documentIds);
}
@@ -12,6 +12,7 @@ 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;
import com.jero.common.system.api.ISysBaseAPI;
import com.jero.common.system.vo.LoginUser;
import com.jero.generater.modules.online.cgform.entity.OnlCgformField;
import com.jero.generater.modules.online.cgform.service.impl.OnlCgformFieldServiceImpl;
@@ -34,6 +35,8 @@ 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.ISysAnnouncementService;
import com.jero.modules.system.service.ISysUserService;
import com.jero.modules.system.service.impl.SysBaseApiImpl;
import com.jero.modules.system.service.impl.SysCategoryServiceImpl;
import com.jero.modules.system.service.impl.SysDictItemServiceImpl;
import com.jero.modules.tag.entity.OnlCgformArea;
@@ -113,6 +116,10 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
private DomainUserRelService domainUserRelService;
@Autowired
private SysCategoryServiceImpl sysCategoryService;
@Autowired
private ISysBaseAPI sysBaseAPI;
@Autowired
private ISysUserService sysUserService;
@Value(value = "${jero.path.upload}")
private String uploadpath;
@@ -193,9 +200,18 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
//过滤出搜索条件()
fieldList = fieldList.stream().filter(e -> YesOrNoEnum.YES.getValue().equals(String.valueOf(e.getIsQuery()))).collect(Collectors.toList());
}
//树形数据字典
List<SysCategoryTreeVO> sysCategoryTree = sysCategoryService.getSysCategoryTree();
List<Map<String, Object>> list = new ArrayList<>();
for (OnlCgformField onlCgformField : fieldList) {
Map<String, Object> map = new HashMap<>();
if("technology_territory".equals(onlCgformField.getDbFieldName())){
List<SysCategoryTreeVO> sysCategoryTreeVOList = sysCategoryTree.stream().filter(e -> onlCgformField.getDictId().equals(e.getDictId())).collect(Collectors.toList());
map.put("tree",sysCategoryTreeVOList);
}else{
map.put("tree",new ArrayList<>());
}
map.put("field_show_type", onlCgformField.getFieldShowType());//类型(判断是下拉还是输入框,等等)
map.put("dict_field", onlCgformField.getDictField());
map.put("db_field_name", onlCgformField.getDbFieldName());//字段
@@ -495,10 +511,16 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
}
} else if (fileInfos.size() == 1) {
//单个文件处理
map.put("value", fileInfos.get(0));
mapPut(cut, map, "field_show_type", onlCgformField.getFieldShowType(), "dict_field", onlCgformField.getDictField(), "db_field_name", onlCgformField.getDbFieldName(), "db_field_txt", onlCgformField.getDbFieldTxt(), "db_field_en_name", onlCgformField.getDbFieldEnName(), "area", areaName,null);
resultTemp.add(map);
Map<String, Object> mapNew = new HashMap<>();
mapNew.put("value", fileInfos.get(0));
mapPut(cut, mapNew, "field_show_type", onlCgformField.getFieldShowType(), "dict_field", onlCgformField.getDictField(), "db_field_name", onlCgformField.getDbFieldName(), "db_field_txt", onlCgformField.getDbFieldTxt(), "db_field_en_name", onlCgformField.getDbFieldEnName(), "area", areaName,null);
resultTemp.add(mapNew);
}
}else{
Map<String, Object> mapNew = new HashMap<>();
mapNew.put("value", "");
mapPut(cut, mapNew, "field_show_type", onlCgformField.getFieldShowType(), "dict_field", onlCgformField.getDictField(), "db_field_name", onlCgformField.getDbFieldName(), "db_field_txt", onlCgformField.getDbFieldTxt(), "db_field_en_name", onlCgformField.getDbFieldEnName(), "area", areaName,null);
resultTemp.add(mapNew);
}
} else {
//处理字段类型为文件之外的字段
@@ -729,7 +751,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
if (fieldFile.size() != 0 && ObjectUtils.isNotEmpty(value)) {
//判断文件是否修改
if (!dataList.get(0).get(key).equals(value)) {
if (ObjectUtils.isNotEmpty(dataList.get(0).get(key)) && !dataList.get(0).get(key).equals(value)) {
String valueTemp = UUID.randomUUID().toString().replace("-", "");
//修改文件表关联信息connect_id
List<OSSFile> oSSFileList = new ArrayList<>();
@@ -2085,4 +2107,44 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
}
return list;
}
/**
* 推送
* @param userIds
* @param documentIds
* @return
*/
@Override
public String pullMessage(String departIds,String userIds,String documentIds) {
departIds ="c6d7cb4deeac411cb3384b1b31278596";
// if(StringUtils.isBlank(documentIds)){
// return "请选择文档";
// }
List<String> userIdList = new ArrayList<>();
if(StringUtils.isNotBlank(departIds)){
//查询部门下的人员
List<SysUser> userList = sysUserService.getUserListByDepIds(Arrays.asList(departIds.split(",")));
if(userList.size() != 0){
userIdList = userList.stream().map(SysUser::getId).collect(Collectors.toList());
}
}
userIdList.addAll(Arrays.asList(userIds.split(",")));
//查询文档
LambdaQueryWrapper<BussDocumentLibraryEO> lambdaQueryWrapper = new LambdaQueryWrapper();
lambdaQueryWrapper.in(BussDocumentLibraryEO::getId,Arrays.asList(documentIds.split(",")));
List<Map<String, Object>> mapList = this.listMaps(lambdaQueryWrapper);
List<String> serialNumberList = new ArrayList<>();
for (Map<String, Object> map : mapList) {
serialNumberList.add((String) map.get("serial_number"));
}
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
String content = sysUser.getRealname()+"向内推送了"+StringUtils.join(serialNumberList,",")+",请注意查看。";
String contentInfo = sysUser.getRealname()+"向内推送了"+StringUtils.join(serialNumberList,",")+",请注意查看。";
//封装消息的实体类
SysAnnouncement sysAnnouncement = getSysAnnouncement(userIdList, content, contentInfo);
sysAnnouncementService.saveAnnouncement(sysAnnouncement);
return "推送成功" ;
}
}