文档订阅后, 编辑时发送飞书消息
This commit is contained in:
+325
-20
@@ -2980,13 +2980,13 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
if (ObjectUtils.isNotEmpty(value)) {
|
||||
if (ObjectUtils.isNotEmpty(valueTemp) && !value.equals(valueTemp)) {
|
||||
if("1".equals(flag)){
|
||||
sb.append(dbFieldTxt +" from \""+ value + "\" to \"" + valueTemp + "\",");
|
||||
sb.append(dbFieldTxt +" was changed from \""+ value + "\" to \"" + valueTemp + "\",");
|
||||
}else{
|
||||
sb.append(dbFieldTxt + "由\"" + value + "\"改为\"“" + valueTemp + "\",");
|
||||
}
|
||||
} else if (ObjectUtils.isEmpty(valueTemp)) {
|
||||
if("1".equals(flag)){
|
||||
sb.append(dbFieldTxt + " from \""+value + "\" to null " + ",");
|
||||
sb.append(dbFieldTxt + " was changed from \""+value + "\" to null " + ",");
|
||||
}else{
|
||||
sb.append(dbFieldTxt + "由\"" + value + "\"改为空" + ",");
|
||||
}
|
||||
@@ -2994,7 +2994,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
} else {
|
||||
if (ObjectUtils.isNotEmpty(valueTemp)) {
|
||||
if("1".equals(flag)){
|
||||
sb.append(dbFieldTxt + " from null to \"" + valueTemp + "\",");
|
||||
sb.append(dbFieldTxt + " was changed from null to \"" + valueTemp + "\",");
|
||||
}else{
|
||||
sb.append(dbFieldTxt + "由空改为\"" + valueTemp + "\",");
|
||||
}
|
||||
@@ -3023,13 +3023,13 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
if (fileNameListTemp.size() != 0 && !checkDiffrent) {
|
||||
if("1".equals(flag)){
|
||||
//sysUser
|
||||
sb.append(dbFieldTxt +" from \""+ StringUtils.join(fileNameList, ",") + "\" to \"" + StringUtils.join(fileNameListTemp, ",") + "\",");
|
||||
sb.append(dbFieldTxt +" was changed from \""+ StringUtils.join(fileNameList, ",") + "\" to \"" + StringUtils.join(fileNameListTemp, ",") + "\",");
|
||||
}else{
|
||||
sb.append(dbFieldTxt + "由\"" + StringUtils.join(fileNameList, ",") + "\"改为\"" + StringUtils.join(fileNameListTemp, ",") + "\",");
|
||||
}
|
||||
} else if (fileNameListTemp.size() == 0) {
|
||||
if("1".equals(flag)){
|
||||
sb.append(dbFieldTxt + " from \""+StringUtils.join(fileNameList, ",") + "\" to null " + ",");
|
||||
sb.append(dbFieldTxt + " was changed from \""+StringUtils.join(fileNameList, ",") + "\" to null " + ",");
|
||||
}else{
|
||||
sb.append(dbFieldTxt + "由\"" + StringUtils.join(fileNameList, ",") + "\"改为空" + ",");
|
||||
}
|
||||
@@ -3038,7 +3038,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
} else {
|
||||
if (fileNameListTemp.size() != 0) {
|
||||
if("1".equals(flag)){
|
||||
sb.append(dbFieldTxt + " from null to \"" + StringUtils.join(fileNameListTemp, ",") + "\",");
|
||||
sb.append(dbFieldTxt + " was changed from null to \"" + StringUtils.join(fileNameListTemp, ",") + "\",");
|
||||
}else{
|
||||
sb.append(dbFieldTxt + "由空改为\"" + StringUtils.join(fileNameListTemp, ",") + "\",");
|
||||
}
|
||||
@@ -3059,13 +3059,13 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
if (ObjectUtils.isNotEmpty(value)) {
|
||||
if (ObjectUtils.isNotEmpty(valueTemp) && !value.equals(valueTemp)) {
|
||||
if("1".equals(flag)){
|
||||
sb.append(dbFieldTxt +" from \""+ value + "\" to \"" + valueTemp + "\",");
|
||||
sb.append(dbFieldTxt +" was changed from \""+ value + "\" to \"" + valueTemp + "\",");
|
||||
}else{
|
||||
sb.append(dbFieldTxt + "由\"" + value + "\"改为\"" + valueTemp + "\",");
|
||||
}
|
||||
} else if (ObjectUtils.isEmpty(valueTemp)) {
|
||||
if("1".equals(flag)){
|
||||
sb.append(dbFieldTxt + " from \""+value + "\" to null " + ",");
|
||||
sb.append(dbFieldTxt + " was changed from \""+value + "\" to null " + ",");
|
||||
}else{
|
||||
sb.append(dbFieldTxt + "由\"" + value + "\"改为空" + ",");
|
||||
}
|
||||
@@ -3073,7 +3073,203 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
} else {
|
||||
if (ObjectUtils.isNotEmpty(valueTemp)) {
|
||||
if("1".equals(flag)){
|
||||
sb.append(dbFieldTxt + " from null to \"" + valueTemp + "\",");
|
||||
sb.append(dbFieldTxt + " was changed from null to \"" + valueTemp + "\",");
|
||||
}else{
|
||||
sb.append(dbFieldTxt + "由空改为\"" + valueTemp + "\",");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
return sb;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private StringBuilder getUpdateInfoCn(Map<String, Object> map, List<Map<String, Object>> dataList,
|
||||
List<OnlCgformField> fieldList, List<OnlCgformField> fieldDateList,
|
||||
List<OnlCgformField> fieldFileList, List<OnlCgformField> fieldPullList,
|
||||
String cut,String flagTemp) {
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
//调整dataList中map中字段顺序与表单中的一致
|
||||
Map<String, Object> mapNew = new LinkedHashMap<>();
|
||||
for (OnlCgformField onlCgformField : fieldList) {
|
||||
for (Map.Entry<String, Object> entry : dataList.get(0).entrySet()) {
|
||||
if (onlCgformField.getDbFieldName().equals(entry.getKey())) {
|
||||
mapNew.put(entry.getKey(), entry.getValue());
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
dataList.remove(0);
|
||||
dataList.add(mapNew);
|
||||
Map<String, Object> mapTemp = new HashMap<>();
|
||||
mapCopy(map, mapTemp);
|
||||
//时间类型的字段
|
||||
List<String> fieldDate = fieldDateList.stream().map(OnlCgformField::getDbFieldName).collect(Collectors.toList());
|
||||
//文件类型的字段
|
||||
List<String> fieldFile = fieldFileList.stream().map(OnlCgformField::getDbFieldName).collect(Collectors.toList());
|
||||
//下拉类型的字段
|
||||
//过滤出树形字段
|
||||
List<OnlCgformField> treeFieldList = fieldList.stream()
|
||||
.filter(e -> FieldTypeEnum.TREE.getValue().equals(e.getFieldShowType()))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
//数据字典
|
||||
List<SysDictItem> sysDictItems = sysDictItemServiceImpl.selectItemsAll();
|
||||
//树形数据字典
|
||||
List<SysCategory> categoryList = sysCategoryService.list();
|
||||
//下拉选处理数据字典
|
||||
for (Map.Entry<String, Object> entry : dataList.get(0).entrySet()) {
|
||||
//下拉选处理数据字典
|
||||
dictItemCn(sysDictItems, entry, cut, fieldList,flagTemp);
|
||||
treeDictItemCn(categoryList, entry, treeFieldList, cut,flagTemp);
|
||||
}
|
||||
for (Map.Entry<String, Object> entry : mapTemp.entrySet()) {
|
||||
//下拉选处理数据字典
|
||||
dictItemCn(sysDictItems, entry, cut, fieldList,flagTemp);
|
||||
treeDictItemCn(categoryList, entry, treeFieldList, cut,flagTemp);
|
||||
}
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
dataList.get(0).entrySet().forEach(entry -> {
|
||||
String key = entry.getKey();
|
||||
Object value = entry.getValue();
|
||||
//字段中文名
|
||||
List<OnlCgformField> fields = fieldList.stream().filter(e -> e.getDbFieldName().equals(key)).collect(Collectors.toList());
|
||||
|
||||
if (fields.size() != 0) {
|
||||
String dbFieldTxt = fields.get(0).getDbFieldTxt();
|
||||
if("2".equals(flagTemp)){
|
||||
dbFieldTxt = fields.get(0).getDbFieldTxt();
|
||||
}else{
|
||||
dbFieldTxt = fields.get(0).getDbFieldTxt();
|
||||
}
|
||||
dbFieldTxt = "<text class='highlight-class'>" + dbFieldTxt + "</text>";
|
||||
if (value == null) {
|
||||
value = "";
|
||||
}
|
||||
for (Map.Entry<String, Object> entryTemp : mapTemp.entrySet()) {
|
||||
String keyTemp = entryTemp.getKey();
|
||||
Object valueTemp = entryTemp.getValue();
|
||||
if (valueTemp == null) {
|
||||
valueTemp = "";
|
||||
}
|
||||
if (!"create_time".equals(key) && !"update_time".equals(key)) {
|
||||
if (key.equals(keyTemp)) {
|
||||
if (fieldDate.contains(key)) {
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
if (ObjectUtils.isNotEmpty(value)) {
|
||||
value = sdf.format(value);
|
||||
}
|
||||
if (ObjectUtils.isNotEmpty(valueTemp)) {
|
||||
try {
|
||||
valueTemp = sdf.format(sdf.parse((String) valueTemp));
|
||||
} catch (ParseException e) {
|
||||
}
|
||||
}
|
||||
//处理时间类型字段
|
||||
if (ObjectUtils.isNotEmpty(value)) {
|
||||
if (ObjectUtils.isNotEmpty(valueTemp) && !value.equals(valueTemp)) {
|
||||
if("2".equals(flagTemp)){
|
||||
sb.append(dbFieldTxt + "由\"" + value + "\"改为\"“" + valueTemp + "\",");
|
||||
}else{
|
||||
sb.append(dbFieldTxt + "由\"" + value + "\"改为\"“" + valueTemp + "\",");
|
||||
}
|
||||
} else if (ObjectUtils.isEmpty(valueTemp)) {
|
||||
if("2".equals(flagTemp)){
|
||||
sb.append(dbFieldTxt + "由\"" + value + "\"改为空" + ",");
|
||||
}else{
|
||||
sb.append(dbFieldTxt + "由\"" + value + "\"改为空" + ",");
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (ObjectUtils.isNotEmpty(valueTemp)) {
|
||||
if("2".equals(flagTemp)){
|
||||
sb.append(dbFieldTxt + "由空改为\"" + valueTemp + "\",");
|
||||
}else{
|
||||
sb.append(dbFieldTxt + "由空改为\"" + valueTemp + "\",");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
} else if (fieldFile.contains(key)) {
|
||||
//处理文件类型字段
|
||||
List<String> fileNameList = new ArrayList<>();
|
||||
List<String> fileNameListTemp = new ArrayList<>();
|
||||
//之前的文件
|
||||
if (ObjectUtils.isNotEmpty(value)) {
|
||||
List<OSSFile> fileInfos = iOSSFileService.getFileInfosByConnectId((String) value);
|
||||
fileNameList = fileInfos.stream().map(OSSFile::getFileName).collect(Collectors.toList());
|
||||
}
|
||||
//修改的文件
|
||||
if (ObjectUtils.isNotEmpty(valueTemp)) {
|
||||
List<OSSFile> fileInfosTemp = iOSSFileService.getFileInfos((String) valueTemp);
|
||||
fileNameListTemp = fileInfosTemp.stream().map(OSSFile::getFileName).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
if (ObjectUtils.isNotEmpty(value)) {
|
||||
boolean checkDiffrent = checkDiffrent(fileNameList, fileNameListTemp);
|
||||
|
||||
if (fileNameListTemp.size() != 0 && !checkDiffrent) {
|
||||
if("2".equals(flagTemp)){
|
||||
//sysUser
|
||||
sb.append(dbFieldTxt + "由\"" + StringUtils.join(fileNameList, ",") + "\"改为\"" + StringUtils.join(fileNameListTemp, ",") + "\",");
|
||||
}else{
|
||||
sb.append(dbFieldTxt + "由\"" + StringUtils.join(fileNameList, ",") + "\"改为\"" + StringUtils.join(fileNameListTemp, ",") + "\",");
|
||||
}
|
||||
} else if (fileNameListTemp.size() == 0) {
|
||||
if("2".equals(flagTemp)){
|
||||
sb.append(dbFieldTxt + "由\"" + StringUtils.join(fileNameList, ",") + "\"改为空" + ",");
|
||||
}else{
|
||||
sb.append(dbFieldTxt + "由\"" + StringUtils.join(fileNameList, ",") + "\"改为空" + ",");
|
||||
}
|
||||
|
||||
}
|
||||
} else {
|
||||
if (fileNameListTemp.size() != 0) {
|
||||
if("2".equals(flagTemp)){
|
||||
sb.append(dbFieldTxt + "由空改为\"" + StringUtils.join(fileNameListTemp, ",") + "\",");
|
||||
}else{
|
||||
sb.append(dbFieldTxt + "由空改为\"" + StringUtils.join(fileNameListTemp, ",") + "\",");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// if ("replace_standard".equals(key) || "corresponding_standard".equals(key)) {
|
||||
// if (ObjectUtils.isNotEmpty(value)) {
|
||||
// value = getReplaceStandardName(value);
|
||||
// }
|
||||
// if (ObjectUtils.isNotEmpty(valueTemp)) {
|
||||
// valueTemp = getReplaceStandardName(valueTemp);
|
||||
// }
|
||||
// }
|
||||
//其他类型(被代替标准不处理)
|
||||
if (!"replaced_standard".equals(key)) {
|
||||
if (ObjectUtils.isNotEmpty(value)) {
|
||||
if (ObjectUtils.isNotEmpty(valueTemp) && !value.equals(valueTemp)) {
|
||||
if("2".equals(flagTemp)){
|
||||
sb.append(dbFieldTxt + "由\"" + value + "\"改为\"" + valueTemp + "\",");
|
||||
}else{
|
||||
sb.append(dbFieldTxt + "由\"" + value + "\"改为\"" + valueTemp + "\",");
|
||||
}
|
||||
} else if (ObjectUtils.isEmpty(valueTemp)) {
|
||||
if("2".equals(flagTemp)){
|
||||
sb.append(dbFieldTxt + "由\"" + value + "\"改为空" + ",");
|
||||
}else{
|
||||
sb.append(dbFieldTxt + "由\"" + value + "\"改为空" + ",");
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (ObjectUtils.isNotEmpty(valueTemp)) {
|
||||
if("2".equals(flagTemp)){
|
||||
sb.append(dbFieldTxt + "由空改为\"" + valueTemp + "\",");
|
||||
}else{
|
||||
sb.append(dbFieldTxt + "由空改为\"" + valueTemp + "\",");
|
||||
}
|
||||
@@ -3114,20 +3310,34 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
List<OnlCgformField> fieldFileList,
|
||||
List<OnlCgformField> fieldPullList,
|
||||
String cut) {
|
||||
List<Map<String, Object>> dataListTemp = new ArrayList<>();
|
||||
for (Map<String, Object> stringObjectMap : dataList) {
|
||||
Map<String, Object> mapT = new HashMap<>();
|
||||
mapCopy(stringObjectMap, mapT);
|
||||
dataListTemp.add(mapT);
|
||||
}
|
||||
|
||||
String technologyTerritoryNew = (String) dataList.get(0).get("technology_territory");
|
||||
//1. 处理订阅的发送消息
|
||||
//修改的内容
|
||||
String flag ="1";//消息的标识(英文)
|
||||
StringBuilder sb = getUpdateInfo(map, dataList, fieldList, fieldDateList, fieldFileList, fieldPullList, null,flag);
|
||||
String flagTemp ="2";//消息的标识(中文--消息采用卡片型式发送, 消息内容包含中英文, 所以此处需要获取消息的中文)
|
||||
StringBuilder sbCn = getUpdateInfoCn(map, dataListTemp, fieldList, fieldDateList, fieldFileList, fieldPullList, null,flagTemp);
|
||||
//树形数据字典
|
||||
List<SysCategory> categoryList = sysCategoryService.list();
|
||||
String sbStr = "";
|
||||
if (ObjectUtils.isNotEmpty(sb)) {
|
||||
sbStr = sb.substring(0, sb.length() - 1);
|
||||
}
|
||||
String sbStrCn = "";
|
||||
if (ObjectUtils.isNotEmpty(sbCn)) {
|
||||
sbStrCn = sbCn.substring(0, sbCn.length() - 1);
|
||||
}
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
String serialNumber = (String) dataList.get(0).get("serial_number");
|
||||
String category = (String)map.get("lei4_bie2");
|
||||
String categoryCn = (String)map.get("lei4_bie2");
|
||||
String technologyTerritory = (String) map.get("technology_territory");
|
||||
if(StringUtils.isNotBlank(category)){
|
||||
List<SysDictItem> dictItemList = sysDictItemServiceImpl.selectItemsAll();
|
||||
@@ -3137,6 +3347,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
.collect(Collectors.toList());
|
||||
if(stateDictItemList.size() != 0){
|
||||
category = stateDictItemList.get(0).getEnName();
|
||||
categoryCn = stateDictItemList.get(0).getItemText();
|
||||
}
|
||||
}else{
|
||||
category = "";
|
||||
@@ -3272,20 +3483,28 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
}
|
||||
//订阅文档的飞书消息
|
||||
try {
|
||||
//英文消息
|
||||
String contentInfoFei = "In the "+category + " " + serialNumber +" you subscribed to, "+ sbStr.toString();;
|
||||
//中文消息
|
||||
String contentInfoFeiCn ="您所订阅的"+categoryCn+ serialNumber +","+ sbStrCn.toString();;
|
||||
//跳转文档详情
|
||||
String url = backUrl + "/docManage/library/detail?id=" + id;
|
||||
FeishuMsgVo feishuMsgVo = new FeishuMsgVo();
|
||||
feishuMsgVo.setTitle(MessageTypeEnum.READ.getName());
|
||||
feishuMsgVo.setUrl(url);
|
||||
String replaceAll = contentInfoFei.replaceAll("\"", "<");
|
||||
feishuMsgVo.setContentEn(replaceAll);
|
||||
|
||||
String replaceAllCn = contentInfoFeiCn.replaceAll("<text class='highlight-class'>", "")
|
||||
.replaceAll("</text>","").replaceAll("\"", "<");
|
||||
feishuMsgVo.setContent(replaceAllCn);
|
||||
//
|
||||
iFeishuService.sendCardMsgDocument(userIdListUpdateFeishu.toArray(new String[]{}), feishuMsgVo);
|
||||
|
||||
// String contentInfoFei = "In the "+category + " " + serialNumber +" you subscribed to, "+sysUser.getUsername()+" changed the " + sbStr.toString();;
|
||||
// //跳转文档详情
|
||||
// String url = backUrl + "/docManage/library/detail?id=" + id;
|
||||
// FeishuMsgVo feishuMsgVo = new FeishuMsgVo();
|
||||
// feishuMsgVo.setTitle(MessageTypeEnum.READ.getName());
|
||||
// feishuMsgVo.setUrl(url);
|
||||
// String replaceAll = contentInfoFei.replaceAll("\"", "<");
|
||||
// feishuMsgVo.setContent(replaceAll);
|
||||
//
|
||||
// iFeishuService.sendCardMsgDocument(userIdListUpdateFeishu.toArray(new String[]{}), feishuMsgVo);
|
||||
String contentInfoFei = "In the "+category + " " + serialNumber +" you subscribed to, "+sysUser.getUsername()+" changed the " + sbStr.toString();;
|
||||
//跳转文档详情
|
||||
String url = backUrl + "/docManage/library/detail?id=" + id;
|
||||
iFeishuService.batchSendMessage(userIdListUpdateFeishu.toArray(new String[]{}), contentInfoFei, MessageTypeEnum.READ.getName(), url);
|
||||
// iFeishuService.batchSendMessage(userIdListUpdateFeishu.toArray(new String[]{}), contentInfoFei, MessageTypeEnum.READ.getName(), url);
|
||||
} catch (IOException e) {
|
||||
log.error("文档新增飞书消息推送失败");
|
||||
}
|
||||
@@ -3939,6 +4158,64 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
}
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 用于获取飞书消息中的中文消息
|
||||
*
|
||||
* @param sysDictItems
|
||||
* @param entry
|
||||
*/
|
||||
public void dictItemCn(List<SysDictItem> sysDictItems, Map.Entry<String, Object> entry, String cut, List<OnlCgformField> fieldList,String flagTemp) {
|
||||
//通过dictField判断字段是否为下拉选(不为空则为下拉选)
|
||||
List<OnlCgformField> onlCgformFieldList = fieldList.stream().filter(e -> entry.getKey().equals(e.getDbFieldName())).collect(Collectors.toList());
|
||||
//数据字典中文
|
||||
List<String> dictItemsCh = new ArrayList<>();
|
||||
List<String> dictItemsEn = new ArrayList<>();
|
||||
for (OnlCgformField onlCgformField : onlCgformFieldList) {
|
||||
if (FieldTypeEnum.PULL_SINGLE.getValue().equals(onlCgformField.getFieldShowType())
|
||||
|| FieldTypeEnum.PULL_MORE.getValue().equals(onlCgformField.getFieldShowType())) {
|
||||
String value = (String) entry.getValue();
|
||||
if (StringUtils.isNotBlank(value) && onlCgformFieldList.size() != 0 && StringUtils.isNotBlank(onlCgformFieldList.get(0).getDictField())) {
|
||||
for (String itemValue : value.split(",")) {
|
||||
//字段的数据字典
|
||||
List<SysDictItem> dictItemList = sysDictItems.stream()
|
||||
.filter(e -> StringUtils.isNotBlank(e.getDictCode()) && e.getDictCode().equals(onlCgformFieldList.get(0).getDictField()))
|
||||
.collect(Collectors.toList());
|
||||
if (dictItemList.size() != 0) {
|
||||
List<SysDictItem> dictItems = dictItemList.stream()
|
||||
.filter(e -> itemValue.equals(e.getItemValue()))
|
||||
.collect(Collectors.toList());
|
||||
if (dictItems.size() != 0) {
|
||||
List<String> itemText = new ArrayList<>();
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
itemText = dictItems.stream().map(SysDictItem::getItemText).collect(Collectors.toList());
|
||||
} else if(CutEnum.EN.getValue().equals(cut)) {
|
||||
itemText = dictItems.stream().map(SysDictItem::getEnName).collect(Collectors.toList());
|
||||
}else if("2".equals(flagTemp)){
|
||||
itemText = dictItems.stream().map(SysDictItem::getItemText).collect(Collectors.toList());
|
||||
}
|
||||
dictItemsCh.addAll(itemText);
|
||||
dictItemsEn.addAll(itemText);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (onlCgformFieldList.size() != 0 && StringUtils.isNotBlank(onlCgformFieldList.get(0).getDictField())) {
|
||||
if(FieldTypeEnum.PULL_SINGLE.getValue().equals(onlCgformFieldList.get(0).getFieldShowType())
|
||||
|| FieldTypeEnum.PULL_MORE.getValue().equals(onlCgformFieldList.get(0).getFieldShowType())){
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
entry.setValue(StringUtils.join(dictItemsCh, ","));
|
||||
} else if(CutEnum.EN.getValue().equals(cut)){
|
||||
entry.setValue(StringUtils.join(dictItemsEn, ","));
|
||||
}else if("2".equals(flagTemp)){
|
||||
entry.setValue(StringUtils.join(dictItemsEn, ","));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
@@ -4963,6 +5240,34 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
}
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 用于获取飞书消息中的中文消息
|
||||
*
|
||||
* @param categoryList
|
||||
* @param entry
|
||||
* @param treeFieldList
|
||||
* @param cut
|
||||
*/
|
||||
public void treeDictItemCn(List<SysCategory> categoryList, Map.Entry<String, Object> entry, List<OnlCgformField> treeFieldList, String cut,String flagTemp) {
|
||||
List<String> treeFields = treeFieldList.stream().map(OnlCgformField::getDbFieldName).collect(Collectors.toList());
|
||||
String key = entry.getKey();
|
||||
if (treeFields.contains(entry.getKey())) {
|
||||
String value = StringUtils.valueOf(entry.getValue());
|
||||
if (StringUtils.isNotBlank(value)) {
|
||||
List<String> idList = Arrays.asList(value.split(","));
|
||||
List<SysCategory> sysCategoryList = categoryList.stream().filter(e -> idList.contains(e.getId())).collect(Collectors.toList());
|
||||
List<String> nameList = sysCategoryList.stream().map(SysCategory::getName).collect(Collectors.toList());
|
||||
List<String> nameEnList = sysCategoryList.stream().map(SysCategory::getEnName).collect(Collectors.toList());
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
entry.setValue(StringUtils.join(nameList, ","));
|
||||
} else if(CutEnum.EN.getValue().equals(cut)){
|
||||
entry.setValue(StringUtils.join(nameEnList, ","));
|
||||
}else if("2".equals(flagTemp)){
|
||||
entry.setValue(StringUtils.join(nameList, ","));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@SneakyThrows
|
||||
|
||||
+62
-10
@@ -25,6 +25,7 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -299,7 +300,7 @@ public class FeishuServiceImpl implements IFeishuService {
|
||||
StringBuilder contentSb = new StringBuilder();
|
||||
contentSb.append("{");
|
||||
contentSb.append("\"elements\": [");
|
||||
// 补充内容
|
||||
// 内容中文
|
||||
if (StrUtil.isNotEmpty(feishuMsgVo.getContent())){
|
||||
contentSb.append("{");
|
||||
contentSb.append("\"tag\": \"div\",");
|
||||
@@ -309,6 +310,19 @@ public class FeishuServiceImpl implements IFeishuService {
|
||||
contentSb.append("}");
|
||||
contentSb.append("},");
|
||||
};
|
||||
contentSb.append("{\"tag\": \"hr\"},");
|
||||
|
||||
//内容英文
|
||||
if (StrUtil.isNotEmpty(feishuMsgVo.getContentEn())){
|
||||
contentSb.append("{");
|
||||
contentSb.append("\"tag\": \"div\",");
|
||||
contentSb.append("\"text\": {");
|
||||
contentSb.append("\"content\": \"" + feishuMsgVo.getContentEn() + "\",");
|
||||
contentSb.append("\"tag\": \"lark_md\"");
|
||||
contentSb.append("}");
|
||||
contentSb.append("},");
|
||||
};
|
||||
|
||||
|
||||
|
||||
contentSb.append("{\"tag\": \"hr\"},");
|
||||
@@ -341,15 +355,35 @@ public class FeishuServiceImpl implements IFeishuService {
|
||||
|
||||
JSONObject jsonObject = JSONObject.parseObject(contentSb.toString());
|
||||
|
||||
// String content = JSONObject.parseObject(JSONObject.parseObject(JSONArray.parseArray(jsonObject.get("elements").toString()).get(0).toString()).get("text").toString()).get("content").toString();
|
||||
// String contentReplaceAll = content.replaceAll("<", "\"");
|
||||
// JSONObject.parseObject(JSONObject.parseObject(JSONArray.parseArray(jsonObject.get("elements").toString()).get(0).toString()).get("text").toString()).put("content",contentReplaceAll);
|
||||
// JSONObject jsonObject1 = JSONObject.parseObject(JSONObject.parseObject(JSONArray.parseArray(jsonObject.get("elements").toString()).get(0).toString()).get("text").toString());
|
||||
// jsonObject1.put("content",contentReplaceAll);
|
||||
//
|
||||
//
|
||||
// JSONObject text = JSONObject.parseObject(JSONObject.parseObject(JSONArray.parseArray(jsonObject.get("elements").toString()).get(0).toString()).get("text").toString());
|
||||
// text.put("value",jsonObject1);
|
||||
String content = JSONObject.parseObject(
|
||||
JSONObject.parseObject(JSONArray.parseArray(jsonObject.get("elements").toString()).get(0).toString()).get("text").toString())
|
||||
.get("content").toString();
|
||||
String contentEn = JSONObject.parseObject(
|
||||
JSONObject.parseObject(JSONArray.parseArray(jsonObject.get("elements").toString()).get(2).toString()).get("text").toString())
|
||||
.get("content").toString();
|
||||
|
||||
JSONObject elementTwo =
|
||||
JSONObject.parseObject(JSONArray.parseArray(jsonObject.get("elements").toString()).get(1).toString());
|
||||
JSONObject elementFour =
|
||||
JSONObject.parseObject(JSONArray.parseArray(jsonObject.get("elements").toString()).get(3).toString());
|
||||
JSONObject elementFive =
|
||||
JSONObject.parseObject(JSONArray.parseArray(jsonObject.get("elements").toString()).get(4).toString());
|
||||
|
||||
//处理内容中的双引号(将尖括号替换成双引号)
|
||||
JSONObject elementOne = getJsonObject(jsonObject, content);
|
||||
JSONObject elementThree = getJsonObject(jsonObject, contentEn);
|
||||
|
||||
JSONArray jsonArray = new JSONArray();
|
||||
jsonArray.add(elementOne);
|
||||
jsonArray.add(elementTwo);
|
||||
jsonArray.add(elementThree);
|
||||
jsonArray.add(elementFour);
|
||||
jsonArray.add(elementFive);
|
||||
|
||||
jsonObject.put("elements",jsonArray);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// 设置请求参数
|
||||
@@ -368,6 +402,24 @@ public class FeishuServiceImpl implements IFeishuService {
|
||||
return tokenJson.get("msg").toString();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private JSONObject getJsonObject(JSONObject jsonObject, String content) {
|
||||
String contentReplaceAll = content.replaceAll("<", "\"");
|
||||
|
||||
JSONObject jsonObject1 = JSONObject.parseObject(
|
||||
JSONObject.parseObject(
|
||||
JSONArray.parseArray(jsonObject.get("elements").toString()).get(0).toString())
|
||||
.get("text").toString());
|
||||
jsonObject1.put("content",contentReplaceAll);
|
||||
|
||||
|
||||
JSONObject elementOne =
|
||||
JSONObject.parseObject(JSONArray.parseArray(jsonObject.get("elements").toString()).get(0).toString());
|
||||
|
||||
elementOne.put("text",jsonObject1);
|
||||
return elementOne;
|
||||
}
|
||||
|
||||
/**
|
||||
* 翻译文本
|
||||
* 参数:
|
||||
|
||||
@@ -12,6 +12,8 @@ public class FeishuMsgVo {
|
||||
|
||||
private String content; //内容
|
||||
|
||||
private String contentEn; //内容英文
|
||||
|
||||
private String taskType; //任务类型
|
||||
|
||||
private String regulationNo; //法规编号
|
||||
|
||||
Reference in New Issue
Block a user