From 71726a1cb05790d6841595ef7daef5173f2cddfa Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期三, 29 三月 2023 09:43:11 +0800 Subject: [PATCH] 1 --- src/main/java/com/lf/server/service/sys/AttachService.java | 90 +++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 86 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/lf/server/service/sys/AttachService.java b/src/main/java/com/lf/server/service/sys/AttachService.java index b7c2994..a469e83 100644 --- a/src/main/java/com/lf/server/service/sys/AttachService.java +++ b/src/main/java/com/lf/server/service/sys/AttachService.java @@ -1,11 +1,19 @@ package com.lf.server.service.sys; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.lf.server.entity.all.BaseEntity; +import com.lf.server.entity.data.FmeLogEntity; +import com.lf.server.entity.data.MetaEntity; import com.lf.server.entity.sys.AttachEntity; +import com.lf.server.helper.ClassHelper; import com.lf.server.helper.StringHelper; +import com.lf.server.mapper.all.BasicMapper; import com.lf.server.mapper.sys.AttachMapper; +import com.lf.server.service.all.UploadAttachService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.lang.reflect.Field; import java.util.List; /** @@ -17,16 +25,18 @@ @Autowired AttachMapper attachMapper; + private static String tabs; + @Override public Integer selectCount(String name) { - name = StringHelper.getLikeStr(name); + name = StringHelper.getLikeUpperStr(name); return attachMapper.selectCount(name); } @Override public List<AttachEntity> selectByPage(String name, Integer limit, Integer offset) { - name = StringHelper.getLikeStr(name); + name = StringHelper.getLikeUpperStr(name); return attachMapper.selectByPage(name, limit, offset); } @@ -47,7 +57,7 @@ } @Override - public List<AttachEntity> selectByGuids(String[] guids) { + public List<AttachEntity> selectByGuids(List<String> guids) { return attachMapper.selectByGuids(guids); } @@ -57,7 +67,7 @@ } @Override - public List<AttachEntity> selectByTabGuids(String tab, String[] guids) { + public List<AttachEntity> selectByTabGuids(String tab, List<String> guids) { return attachMapper.selectByTabGuids(tab, guids); } @@ -95,4 +105,76 @@ public Integer updates(List<AttachEntity> list) { return attachMapper.updates(list); } + + @Override + public List<FmeLogEntity> selectFmeLogs(String tabs) { + return attachMapper.selectFmeLogs(tabs); + } + + /** + * 鏌ヨFME鏃ュ織 + */ + public List<FmeLogEntity> selectFmeLogs() { + if (null == tabs) { + tabs = UploadAttachService.getTabs().replace("'", ""); + } + + return attachMapper.selectFmeLogs(tabs); + } + + @Override + public Integer updateFmeLog(Integer id) { + return attachMapper.updateFmeLog(id); + } + + @Override + public Integer insertAttachByMeta(String metaName, String tab, String tabGuid) { + return attachMapper.insertAttachByMeta(metaName, tab, tabGuid); + } + + /** + * 鍚屾闄勪欢 + */ + public void syncAttaches(FmeLogEntity entity) { + String tab = entity.getPgNs() + "." + entity.getTcdm(); + String fieldName = UploadAttachService.ATTACH_TABS.get(tab); + + List<?> list = selectRowsByParentid(entity.getTcdm().replace("_", ""), entity.getParentid(), fieldName); + if (null == list || list.isEmpty()) { + return; + } + + Field field = UploadAttachService.getAnnexField(list.get(0), tab); + if (null == field) { + return; + } + + for (Object obj : list) { + String[] names = UploadAttachService.getNames(UploadAttachService.getAnnexName(obj, field)); + if (null == names || names.length == 0) { + continue; + } + + BaseEntity be = (BaseEntity) obj; + for (String name : names) { + insertAttachByMeta(name, tab, be.getEventid()); + } + } + } + + /** + * 鏍规嵁鐖禝D鏌ヨ璁板綍 + */ + private List<?> selectRowsByParentid(String entity, String parentid, String field) { + BasicMapper baseMapper = ClassHelper.getBasicMapper(entity); + if (null == baseMapper) { + return null; + } + + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("parentid", parentid); + wrapper.apply(field + " is not null"); + + return baseMapper.selectList(wrapper); + } } -- Gitblit v1.9.3