From 8b98fa02322caea99476dc90808f353f7ea6c412 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期日, 05 二月 2023 16:08:19 +0800 Subject: [PATCH] 1 --- src/main/java/com/lf/server/service/all/UploadAttachService.java | 92 ++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 80 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/lf/server/service/all/UploadAttachService.java b/src/main/java/com/lf/server/service/all/UploadAttachService.java index e43b9cf..dac906f 100644 --- a/src/main/java/com/lf/server/service/all/UploadAttachService.java +++ b/src/main/java/com/lf/server/service/all/UploadAttachService.java @@ -1,17 +1,16 @@ package com.lf.server.service.all; import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.lf.server.controller.all.BaseController; -import com.lf.server.entity.all.HttpStatus; -import com.lf.server.entity.all.ResponseMsg; -import com.lf.server.entity.all.SettingData; -import com.lf.server.entity.all.StaticData; +import com.lf.server.entity.all.*; import com.lf.server.entity.ctrl.KeyValueEntity; import com.lf.server.entity.data.MetaEntity; import com.lf.server.entity.data.MetaFileEntity; import com.lf.server.entity.sys.AttachEntity; import com.lf.server.entity.sys.UserEntity; import com.lf.server.helper.*; +import com.lf.server.mapper.all.BasicMapper; import com.lf.server.service.sys.AttachService; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -21,6 +20,7 @@ import javax.servlet.http.HttpServletResponse; import java.io.File; +import java.lang.reflect.Field; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -40,7 +40,7 @@ private static String tabs = "''"; - private static Map<String, String> attachTabs = new HashMap<>(); + private final static Map<String, String> ATTACH_TABS = new HashMap<>(); private final static Log log = LogFactory.getLog(UploadAttachService.class); @@ -68,11 +68,11 @@ List<String> keys = new ArrayList<>(); for (String str : strs) { - if (attachTabs.containsKey(str)) { + if (ATTACH_TABS.containsKey(str)) { continue; } - attachTabs.put(str, str.contains("bd.") ? "materiname" : "photono"); + ATTACH_TABS.put(str, str.contains("bd.") ? "materiname" : "photono"); keys.add("'" + str + "'"); } tabs = StringHelper.join(keys, ","); @@ -174,9 +174,9 @@ } List<KeyValueEntity> rs = new ArrayList<>(); - for (MetaEntity me : ms) { - int rows = uploadXlsAnnex(me, files); - rs.add(new KeyValueEntity(me.getName(), String.valueOf(rows))); + for (MetaEntity meta : ms) { + int rows = uploadXlsAnnex(meta, files); + rs.add(new KeyValueEntity(meta.getName(), String.valueOf(rows))); } return rs; @@ -253,9 +253,77 @@ /** * 涓婁紶Excel闄勪欢 */ - private int uploadXlsAnnex(MetaEntity me, List<String> files) { + private int uploadXlsAnnex(MetaEntity meta, List<String> files) { + List<?> list = queryXlsData(meta); + if (null == list || list.size() == 0) { + return 0; + } + + Field field = getAnnexField(list.get(0), meta); - return 0; + int rows = 0; + for (Object obj : list) { + BaseEntity be = (BaseEntity) obj; + rows += insertXlsAnnex(be, files); + } + + return rows; + } + + /** + * 鏌ヨExcel鏁版嵁 + */ + private List<?> queryXlsData(MetaEntity meta) { + String entity = meta.getTab().substring(meta.getTab().indexOf(".") + 1).replace("_", "").toLowerCase(); + BasicMapper basicMapper = ClassHelper.getBasicMapper(entity); + if (null == basicMapper) { + return null; + } + + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("parentid", meta.getEventid()); + + List<?> list = basicMapper.selectList(wrapper); + if (null == list || list.size() == 0) { + return null; + } + if (!(list.get(0) instanceof BaseEntity)) { + return null; + } + + return list; + } + + /** + * 鑾峰彇闄勪欢瀛楁 + */ + private Field getAnnexField(Object obj, MetaEntity meta) { + try { + String str = ATTACH_TABS.get(meta.getTab()); + Field field = obj.getClass().getDeclaredField(str); + field.setAccessible(true); + + return field; + } catch (Exception ex) { + return null; + } + } + + /** + * 鏌ユ壘Excel闄勪欢 + */ + private String findXlsAnnex(Object obj) { + + + return null; + } + + /** + * 鎻掑叆Excel闄勪欢 + */ + private int insertXlsAnnex(BaseEntity be, List<String> files) { + + return 1; } } -- Gitblit v1.9.3