From 88f72df1efba56e731aac80de4d9f3b879cc85cf Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期四, 29 一月 2026 14:29:17 +0800
Subject: [PATCH] 提交忽略文件

---
 admin/src/components/business/OperaMemberImportWindow.vue                                   |    1 
 admin/src/assets/style/style.scss                                                           |   15 +
 admin/src/views/business/importRecord.vue                                                   |  134 +++++++++++++
 server/services/src/main/java/com/doumee/core/utils/DateUtil.java                           |    4 
 admin/src/views/business/member.vue                                                         |    6 
 server/services/src/main/java/com/doumee/core/annotation/excel/ExcelImporter.java           |   30 ++
 server/services/src/main/java/com/doumee/dao/business/dto/MemberImport.java                 |    6 
 server/services/src/main/java/com/doumee/dao/business/model/ImportRecord.java               |   14 +
 server/services/src/main/java/com/doumee/core/annotation/excel/ExcelPictureUtil.java        |   11 +
 server/services/src/main/java/com/doumee/core/utils/tyyun/TyyZosUtil.java                   |   19 +
 server/services/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java       |   33 ++
 server/services/src/main/java/com/doumee/dao/business/model/Member.java                     |    9 
 server/services/src/main/java/com/doumee/service/business/impl/ImportRecordServiceImpl.java |  317 ++++++++++++++++++++++++++-----
 13 files changed, 520 insertions(+), 79 deletions(-)

diff --git a/admin/src/assets/style/style.scss b/admin/src/assets/style/style.scss
index a2ed35a..a818cfb 100644
--- a/admin/src/assets/style/style.scss
+++ b/admin/src/assets/style/style.scss
@@ -56,3 +56,18 @@
     }
   }
 }
+
+.red{
+  color: red;
+}
+.grey{
+  color: grey;
+}
+.green{
+  color: green;
+}
+.blue{
+  color: #216EEE;
+}.orange{
+   color: orange;
+ }
diff --git a/admin/src/components/business/OperaMemberImportWindow.vue b/admin/src/components/business/OperaMemberImportWindow.vue
index 4f2c245..8737cae 100644
--- a/admin/src/components/business/OperaMemberImportWindow.vue
+++ b/admin/src/components/business/OperaMemberImportWindow.vue
@@ -71,6 +71,7 @@
         })
         .catch(err => {
           this.fileName = ''
+          this.$message.error(err)
         })
         .finally(() => {
           this.$refs.fileExcel.value = null
diff --git a/admin/src/views/business/importRecord.vue b/admin/src/views/business/importRecord.vue
new file mode 100644
index 0000000..2cd48c9
--- /dev/null
+++ b/admin/src/views/business/importRecord.vue
@@ -0,0 +1,134 @@
+<template>
+  <TableLayout :permissions="['business:importrecord:query']">
+    <!-- 鎼滅储琛ㄥ崟 -->
+    <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
+      <el-form-item label="鎿嶄綔浜�" prop="name">
+        <el-input v-model="searchForm.updateUserName" placeholder="璇疯緭鍏ユ搷浣滀汉濮撳悕" @keypress.enter.native="search"></el-input>
+      </el-form-item>
+      <el-form-item label="涓氬姟绫诲瀷" prop="type">
+        <el-select v-model="searchForm.type"    placeholder="璇烽�夋嫨涓氬姟绫诲瀷" clearable   @change="search" >
+          <el-option :key="0" :value="0" label="鑰佸笀瀵煎叆"></el-option>
+          <el-option :key="1" :value="1" label="妗堜緥瀵煎叆"></el-option>
+        </el-select>
+      </el-form-item>
+      <div class="date-style" style="display: inline">
+        <el-form-item label="瀵煎叆鏃堕棿" prop="starttime" >
+          <el-date-picker
+              style="width: 160px"
+              clearable
+              @change="search"
+              v-model="searchForm.starttime"
+              type="datetime"
+              value-format="yyyy-MM-dd HH:mm:ss"
+              format="yyyy-MM-dd HH:mm:ss"
+              range-separator="鑷�"
+              placeholder="寮�濮嬫椂闂�"
+          ></el-date-picker>
+        </el-form-item>
+        <el-form-item label="-" label-width="10px" prop="endtime" >
+          <el-date-picker
+              style="width: 160px"
+              clearable
+              v-model="searchForm.endtime"
+              type="datetime"
+              @change="search"
+              value-format="yyyy-MM-dd HH:mm:ss"
+              format="yyyy-MM-dd HH:mm:ss"
+              range-separator="鑷�"
+              placeholder="鎴鏃堕棿"
+          ></el-date-picker>
+        </el-form-item>
+      </div>
+      <section>
+        <el-button type="primary" @click="search">鎼滅储</el-button>
+        <el-button @click="reset">閲嶇疆</el-button>
+      </section>
+    </el-form>
+    <!-- 琛ㄦ牸鍜屽垎椤� -->
+    <template v-slot:table-wrap>
+      <el-table
+          :height="tableHeightNew"
+        v-loading="isWorking.search"
+        :data="tableData.list"
+        stripe
+        @selection-change="handleSelectionChange"
+      >
+        <el-table-column prop="title" label="鍐呭" min-width="200px" show-overflow-tooltip></el-table-column>
+        <el-table-column label="涓氬姟绫诲瀷">
+          <template slot-scope="{row}">
+            <span v-if="row.type ==0 " >鑰佸笀瀵煎叆</span>
+            <span v-if="row.type == 1"  >妗堜緥瀵煎叆</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="鐘舵��">
+          <template slot-scope="{row}">
+            <span v-if="row.status ==0 " class="blue">鏈鐞�</span>
+            <span v-if="row.status == 1" class="red">澶勭悊涓�</span>
+            <span v-if="row.status == 2" class="grey">宸插鐞�</span>
+          </template>
+        </el-table-column>
+        <el-table-column prop="totalNum" label="鎬昏褰曟暟" min-width="100px"></el-table-column>
+        <el-table-column prop="doneNum" label="鎴愬姛褰曞叆鏁伴噺" min-width="100px"></el-table-column>
+        <el-table-column prop="errorNum" label="褰曞叆澶辫触鏁伴噺" min-width="100px"></el-table-column>
+        <el-table-column prop="updateUserName" label="鎿嶄綔浜�" min-width="100px"></el-table-column>
+        <el-table-column prop="updateTime" label="鏈�杩戞搷浣滄椂闂�" min-width="150px"></el-table-column>
+      </el-table>
+      <pagination
+        @size-change="handleSizeChange"
+        @current-change="handlePageChange"
+        :pagination="tableData.pagination"
+      >
+      </pagination>
+    </template>
+    <!-- 鏂板缓/淇敼 -->
+    <OperaCategoryWindow ref="operaCategoryWindow" @success="handlePageChange"/>
+  </TableLayout>
+</template>
+
+<script>
+import BaseTable from '@/components/base/BaseTable'
+import TableLayout from '@/layouts/TableLayout'
+import Pagination from '@/components/common/Pagination'
+import OperaCategoryWindow from '@/components/business/OperaCategoryWindow'
+export default {
+  name: 'Category',
+  extends: BaseTable,
+  components: { TableLayout, Pagination, OperaCategoryWindow },
+  data () {
+    return {
+      // 鎼滅储
+      searchForm: {
+        updateUserName: '',
+        starttime: null,
+        endtime: null,
+        type: ''
+      }
+    }
+  },
+  created () {
+    this.config({
+      module: '鍒嗙被淇℃伅琛�',
+      api: '/business/importRecord',
+      'field.id': 'id',
+      'field.main': 'id'
+    })
+    this.search()
+  },
+  methods: {
+    changeStatus (e, row) {
+      this.working = true
+      this.api.updateStatus({ id: row.id, status: e })
+        .then(res => {
+          this.$tip.apiSuccess(res || '鎿嶄綔鎴愬姛')
+          this.search()
+        })
+        .catch(e => {
+          this.$tip.apiFailed(e)
+        })
+        .finally(() => {
+          this.working = false
+        })
+    }
+  }
+}
+</script>
diff --git a/admin/src/views/business/member.vue b/admin/src/views/business/member.vue
index c89fec6..b632c08 100644
--- a/admin/src/views/business/member.vue
+++ b/admin/src/views/business/member.vue
@@ -110,8 +110,8 @@
         <el-table-column type="selection" width="55"></el-table-column>
         <el-table-column  prop="imgurl" label="鍥剧墖" min-width="100px">
           <template slot-scope="{row}">
-            <el-image v-if="row.imgurlfull" style="width: 50px; height: 50px; margin-right: 10px" :src="row.imgurlfull"
-                      :preview-src-list="[row.imgurlfull]">
+            <el-image v-if="row.fullImgurl" style="width: 50px; height: 50px; margin-right: 10px" :src="row.fullImgurl"
+                      :preview-src-list="[row.fullImgurl]">
             </el-image>
           </template>
         </el-table-column>
@@ -123,7 +123,7 @@
             <span v-if="row.sex ==1">濂�</span>
           </template>
         </el-table-column>
-        <el-table-column prop="position" label="宀椾綅" min-width="120px"></el-table-column>
+        <el-table-column prop="positon" label="宀椾綅" min-width="120px"></el-table-column>
         <el-table-column prop="levelName" label="绛夌骇" min-width="100px"></el-table-column>
         <el-table-column prop="jobYear" label="浠庝笟骞翠唤" min-width="100px"></el-table-column>
         <el-table-column prop="serveNum" label="鏈嶅姟鍟嗗満" min-width="100px">
diff --git a/server/services/src/main/java/com/doumee/core/annotation/excel/ExcelImporter.java b/server/services/src/main/java/com/doumee/core/annotation/excel/ExcelImporter.java
index a1d7252..56eb9a9 100644
--- a/server/services/src/main/java/com/doumee/core/annotation/excel/ExcelImporter.java
+++ b/server/services/src/main/java/com/doumee/core/annotation/excel/ExcelImporter.java
@@ -10,10 +10,7 @@
 import org.slf4j.LoggerFactory;
 import org.springframework.web.multipart.MultipartFile;
 
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
+import java.io.*;
 import java.lang.reflect.Field;
 import java.lang.reflect.Method;
 import java.util.*;
@@ -147,12 +144,13 @@
     }
     public ExcelImporter(String fileName, InputStream in, int headerNum, int sheetIndex,CellType cellType)
         throws InvalidFormatException, IOException {
+        ByteArrayOutputStream buffer = toByteArray(in);
         if (StringUtils.isBlank(fileName)){
             throw new RuntimeException("瀵煎叆鏂囨。涓虹┖!");
         }else if(fileName.toLowerCase().endsWith("xls")){
-            this.wb = new HSSFWorkbook(in);
+            this.wb = new HSSFWorkbook(new ByteArrayInputStream(buffer.toByteArray()));
         }else if(fileName.toLowerCase().endsWith("xlsx")){
-            this.wb = new XSSFWorkbook(in);
+            this.wb = new XSSFWorkbook(new ByteArrayInputStream(buffer.toByteArray()));
         }else{
             throw new RuntimeException("鏂囨。鏍煎紡涓嶆纭�!");
         }
@@ -162,10 +160,27 @@
         this.sheet = this.wb.getSheetAt(sheetIndex);
         this.headerNum = headerNum;
         this.changeType = cellType;
-        this.pictureList = ExcelPictureUtil.getExcelPictures(in);
+        this.pictureList = ExcelPictureUtil.getExcelPictures(new ByteArrayInputStream(buffer.toByteArray()));
         log.debug("Initialize success.");
     }
 
+    public static ByteArrayOutputStream toByteArray(InputStream inputStream) {
+        try {
+            // 缂撳瓨鏂囦欢娴�
+            ByteArrayOutputStream buffer = new ByteArrayOutputStream();
+            byte[] data = new byte[1024];
+            int nRead;
+            while ((nRead = inputStream.read(data, 0, data.length))!= -1) {
+                buffer.write(data, 0, nRead);
+            }
+            buffer.flush();
+
+           return  buffer;
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
 
 
     /**
@@ -357,6 +372,7 @@
                                     "fieldtype."+valType.getSimpleName()+"Type")).getMethod("getValue", String.class).invoke(null, val.toString());
                             }
                         }
+
                     } catch (Exception ex) {
                         log.info("Get cell value ["+i+","+column+"] error: " + ex.toString());
                         val = null;
diff --git a/server/services/src/main/java/com/doumee/core/annotation/excel/ExcelPictureUtil.java b/server/services/src/main/java/com/doumee/core/annotation/excel/ExcelPictureUtil.java
index de3c552..4850f08 100644
--- a/server/services/src/main/java/com/doumee/core/annotation/excel/ExcelPictureUtil.java
+++ b/server/services/src/main/java/com/doumee/core/annotation/excel/ExcelPictureUtil.java
@@ -33,7 +33,7 @@
 
     public static Map<String, XSSFPictureData> getExcelPictures(InputStream is) {
         try {
-            byte[] fileData =  getFileStream(is);
+            byte[] fileData = toByteArray(is);
             Map<String, XSSFPictureData> pictures = getPictures(fileData);
             pictures.forEach((id, xssfPictureData) -> {
                 System.out.println("id锛�" + id);
@@ -46,6 +46,15 @@
         }
 
     }
+    public static byte[] toByteArray(InputStream input) throws IOException {
+        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
+        int bytesRead;
+        byte[] buffer = new byte[1024]; // 鍙互鏍规嵁闇�瑕佽皟鏁寸紦鍐插尯澶у皬
+        while ((bytesRead = input.read(buffer)) != -1) {
+            byteArrayOutputStream.write(buffer, 0, bytesRead);
+        }
+        return byteArrayOutputStream.toByteArray();
+    }
 
     /**
      * 鑾峰彇娴姩鍥剧墖锛屼互 map 褰㈠紡杩斿洖锛岄敭涓鸿鍒楁牸寮� x-y銆�
diff --git a/server/services/src/main/java/com/doumee/core/utils/DateUtil.java b/server/services/src/main/java/com/doumee/core/utils/DateUtil.java
index 02efdb3..66505d9 100644
--- a/server/services/src/main/java/com/doumee/core/utils/DateUtil.java
+++ b/server/services/src/main/java/com/doumee/core/utils/DateUtil.java
@@ -438,7 +438,7 @@
      * @return String
      * @throws Exception
      */
-    public static String getNowShortDate() throws Exception {
+    public static String getNowShortDate() {
         String nowDate = "";
         try {
             java.sql.Date date = null;
@@ -446,7 +446,7 @@
             nowDate = sdfShort.format(date);
             return nowDate;
         } catch (Exception e) {
-            throw e;
+            return  null;
         }
     }
 
diff --git a/server/services/src/main/java/com/doumee/core/utils/tyyun/TyyZosUtil.java b/server/services/src/main/java/com/doumee/core/utils/tyyun/TyyZosUtil.java
index 81bff86..8a44d7d 100644
--- a/server/services/src/main/java/com/doumee/core/utils/tyyun/TyyZosUtil.java
+++ b/server/services/src/main/java/com/doumee/core/utils/tyyun/TyyZosUtil.java
@@ -163,7 +163,6 @@
     }
     public boolean uploadInputstreamObject(InputStream inputStream, String bucketName, String key )     {
         try {
-
             if (inputStream != null) {
                 ObjectMetadata metadata = new ObjectMetadata();
                 metadata.setContentLength(inputStream.available());
@@ -181,5 +180,23 @@
         return false;
 
     }
+    public boolean uploadInputstreamObjectNoShutdown(InputStream inputStream, String bucketName, String key )     {
+        try {
+            if (inputStream != null) {
+                ObjectMetadata metadata = new ObjectMetadata();
+                metadata.setContentLength(inputStream.available());
+
+                PutObjectRequest request = new PutObjectRequest(bucketName, key, inputStream,metadata);
+                request.setCannedAcl(CannedAccessControlList.PublicRead);
+                PutObjectResult result = client.putObject(request);
+                return true;
+            }
+        }catch (Exception e){
+            log.error("瀵硅薄瀛樺偍==================== 鏂囦欢涓婁紶澶辫触"+e.getMessage());
+        }finally {
+        }
+        return false;
+
+    }
 
 }
diff --git a/server/services/src/main/java/com/doumee/dao/business/dto/MemberImport.java b/server/services/src/main/java/com/doumee/dao/business/dto/MemberImport.java
index 6b1e4e2..a2cc4ed 100644
--- a/server/services/src/main/java/com/doumee/dao/business/dto/MemberImport.java
+++ b/server/services/src/main/java/com/doumee/dao/business/dto/MemberImport.java
@@ -1,8 +1,12 @@
 package com.doumee.dao.business.dto;
 
 import com.doumee.core.annotation.excel.ExcelColumn;
+import com.doumee.core.constants.Constants;
+import com.doumee.dao.business.model.Category;
 import io.swagger.annotations.ApiModel;
 import lombok.Data;
+
+import java.util.List;
 
 /**
  * 鍛樺伐淇℃伅瀵煎叆琛�
@@ -39,4 +43,6 @@
     @ExcelColumn(name="鑰佸笀绠�浠�", value = "fee",index = 13)
     private String info;
 
+
+
 }
diff --git a/server/services/src/main/java/com/doumee/dao/business/model/ImportRecord.java b/server/services/src/main/java/com/doumee/dao/business/model/ImportRecord.java
index c301749..4a87d87 100644
--- a/server/services/src/main/java/com/doumee/dao/business/model/ImportRecord.java
+++ b/server/services/src/main/java/com/doumee/dao/business/model/ImportRecord.java
@@ -83,11 +83,19 @@
     @ExcelColumn(name="瀵煎叆澶辫触璁板綍鏁�",index=18 ,width=10)
     private Integer errorNum;
     @TableField(exist = false)
-    private List<CasesImport> caseList;
+    private List<Cases> caseList;
     @TableField(exist = false)
-    private List<MemberImport> memberList;
+    private List<Member> memberList;
     @TableField(exist = false)
     private  List<PictureData> pictureDataList;
 
-
+    @ApiModelProperty(value = "鏈�鍚庢搷浣滀汉鍛橈紱", example = "1")
+    @TableField(exist = false)
+    private String updateUserName;
+    @ApiModelProperty(value = "缁撴潫鏃堕棿锛�", example = "1")
+    @TableField(exist = false)
+    private Date starttime;
+    @ApiModelProperty(value = "缁撴潫鏃堕棿锛�", example = "1")
+    @TableField(exist = false)
+    private Date endtime;
 }
diff --git a/server/services/src/main/java/com/doumee/dao/business/model/Member.java b/server/services/src/main/java/com/doumee/dao/business/model/Member.java
index 405d4ab..4d6af13 100644
--- a/server/services/src/main/java/com/doumee/dao/business/model/Member.java
+++ b/server/services/src/main/java/com/doumee/dao/business/model/Member.java
@@ -148,10 +148,17 @@
     @ApiModelProperty("鎿呴暱棰嗗煙")
     @TableField(exist = false)
     private List<Category> fieldList;
+    @ApiModelProperty("鎴樺尯闆嗗悎")
+    @TableField(exist = false)
+    private List<Category> zqList;
+    @ApiModelProperty("鍟嗕笟鍖栫被鍨�")
+    @TableField(exist = false)
+    private List<Category> typeList;
 
     @ApiModelProperty("妗堜緥淇℃伅")
     @TableField(exist = false)
     private List<Cases> casesList;
 
-
+    @TableField(exist = false)
+    private byte[] imgurlData;
 }
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/ImportRecordServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/ImportRecordServiceImpl.java
index 074a1db..778f95c 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/ImportRecordServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/ImportRecordServiceImpl.java
@@ -1,5 +1,6 @@
 package com.doumee.service.business.impl;
 
+import com.doumee.biz.system.SystemDictDataBiz;
 import com.doumee.core.annotation.excel.ExcelImporter;
 import com.doumee.core.constants.Constants;
 import com.doumee.core.constants.ResponseStatus;
@@ -8,21 +9,33 @@
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.DateUtil;
+import com.doumee.core.utils.tyyun.TyyZosUtil;
+import com.doumee.dao.business.CasesMapper;
+import com.doumee.dao.business.CategoryMapper;
+import com.doumee.dao.business.MemberMapper;
 import com.doumee.dao.business.dto.CasesImport;
 import com.doumee.dao.business.dto.MemberImport;
+import com.doumee.dao.business.model.Cases;
+import com.doumee.dao.business.model.Category;
 import com.doumee.dao.business.model.ImportRecord;
 import com.doumee.core.utils.Utils;
 import com.doumee.dao.business.ImportRecordMapper;
 import com.doumee.dao.business.model.Member;
+import com.doumee.dao.system.model.SystemUser;
 import com.doumee.service.business.ImportRecordService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import com.sun.xml.internal.messaging.saaj.util.ByteInputStream;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.poi.ss.usermodel.CellType;
+import org.apache.poi.xssf.usermodel.XSSFPictureData;
 import org.apache.shiro.SecurityUtils;
+import org.checkerframework.checker.units.qual.A;
+import org.checkerframework.checker.units.qual.C;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.scheduling.annotation.Async;
@@ -32,9 +45,9 @@
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.io.ByteArrayInputStream;
+import java.math.BigDecimal;
+import java.util.*;
 import java.util.concurrent.TimeUnit;
 
 /**
@@ -43,12 +56,21 @@
  * @date 2026-01-27 16:02:37
  */
 @Service
+@Slf4j
 public class ImportRecordServiceImpl implements ImportRecordService {
 
     @Autowired
     private ImportRecordMapper importRecordMapper;
+    @Autowired
+    private CategoryMapper categoryMapper;
+    @Autowired
+    private MemberMapper memberMapper;
+    @Autowired
+    private CasesMapper casesMapper;
     @Resource
     private RedisTemplate<String, Object> redisTemplate;
+    @Resource
+    private SystemDictDataBiz systemDictDataBiz;
 
     @Override
     public Integer create(ImportRecord importRecord) {
@@ -120,45 +142,29 @@
     @Override
     public PageData<ImportRecord> findPage(PageWrap<ImportRecord> pageWrap) {
         IPage<ImportRecord> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
-        QueryWrapper<ImportRecord> queryWrapper = new QueryWrapper<>();
+        MPJLambdaWrapper<ImportRecord> queryWrapper = new MPJLambdaWrapper<>();
         Utils.MP.blankToNull(pageWrap.getModel());
-               queryWrapper.lambda().eq(pageWrap.getModel().getId() != null,ImportRecord::getId, pageWrap.getModel().getId());
-               queryWrapper.lambda().eq(pageWrap.getModel().getDeleted() != null,ImportRecord::getDeleted, pageWrap.getModel().getDeleted());
-               queryWrapper.lambda().eq(pageWrap.getModel().getCreateUser() != null,ImportRecord::getCreateUser, pageWrap.getModel().getCreateUser());
-             if (pageWrap.getModel().getId() != null) {
-                  queryWrapper.lambda().ge(ImportRecord::getCreateTime, Utils.Date.getStart(pageWrap.getModel().getCreateTime()));
-                  queryWrapper.lambda().le(ImportRecord::getCreateTime, Utils.Date.getEnd(pageWrap.getModel().getCreateTime()));
-             }
-               queryWrapper.lambda().eq(pageWrap.getModel().getUpdateUser() != null,ImportRecord::getUpdateUser, pageWrap.getModel().getUpdateUser());
-             if (pageWrap.getModel().getId() != null) {
-                  queryWrapper.lambda().ge(ImportRecord::getUpdateTime, Utils.Date.getStart(pageWrap.getModel().getUpdateTime()));
-                  queryWrapper.lambda().le(ImportRecord::getUpdateTime, Utils.Date.getEnd(pageWrap.getModel().getUpdateTime()));
-             }
-               queryWrapper.lambda().eq(pageWrap.getModel().getRemark() != null,ImportRecord::getRemark, pageWrap.getModel().getRemark());
-               queryWrapper.lambda().eq(pageWrap.getModel().getStatus() != null,ImportRecord::getStatus, pageWrap.getModel().getStatus());
-               queryWrapper.lambda().eq(pageWrap.getModel().getTitle() != null,ImportRecord::getTitle, pageWrap.getModel().getTitle());
-               queryWrapper.lambda().eq(pageWrap.getModel().getTotalNum() != null,ImportRecord::getTotalNum, pageWrap.getModel().getTotalNum());
-               queryWrapper.lambda().eq(pageWrap.getModel().getDetail() != null,ImportRecord::getDetail, pageWrap.getModel().getDetail());
-               queryWrapper.lambda().eq(pageWrap.getModel().getImgurl() != null,ImportRecord::getImgurl, pageWrap.getModel().getImgurl());
-             if (pageWrap.getModel().getId() != null) {
-                  queryWrapper.lambda().ge(ImportRecord::getStartDate, Utils.Date.getStart(pageWrap.getModel().getStartDate()));
-                  queryWrapper.lambda().le(ImportRecord::getStartDate, Utils.Date.getEnd(pageWrap.getModel().getStartDate()));
-             }
-             if (pageWrap.getModel().getId() != null) {
-                  queryWrapper.lambda().ge(ImportRecord::getEndDate, Utils.Date.getStart(pageWrap.getModel().getEndDate()));
-                  queryWrapper.lambda().le(ImportRecord::getEndDate, Utils.Date.getEnd(pageWrap.getModel().getEndDate()));
-             }
-               queryWrapper.lambda().eq(pageWrap.getModel().getSortnum() != null,ImportRecord::getSortnum, pageWrap.getModel().getSortnum());
-               queryWrapper.lambda().eq(pageWrap.getModel().getType() != null,ImportRecord::getType, pageWrap.getModel().getType());
-               queryWrapper.lambda().eq(pageWrap.getModel().getDoneNum() != null,ImportRecord::getDoneNum, pageWrap.getModel().getDoneNum());
-               queryWrapper.lambda().eq(pageWrap.getModel().getErrorNum() != null,ImportRecord::getErrorNum, pageWrap.getModel().getErrorNum());
-        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
-            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
-                queryWrapper.orderByDesc(sortData.getProperty());
-            } else {
-                queryWrapper.orderByAsc(sortData.getProperty());
-            }
-        }
+        queryWrapper.selectAll(ImportRecord.class )
+        .selectAs(SystemUser::getRealname,ImportRecord::getUpdateUserName)
+                .leftJoin(SystemUser.class,SystemUser::getId,ImportRecord::getUpdateUser);
+       queryWrapper.eq(pageWrap.getModel().getId() != null,ImportRecord::getId, pageWrap.getModel().getId());
+       queryWrapper.eq(pageWrap.getModel().getDeleted() != null,ImportRecord::getDeleted, pageWrap.getModel().getDeleted());
+       queryWrapper.eq(pageWrap.getModel().getCreateUser() != null,ImportRecord::getCreateUser, pageWrap.getModel().getCreateUser());
+       queryWrapper.eq(pageWrap.getModel().getUpdateUser() != null,ImportRecord::getUpdateUser, pageWrap.getModel().getUpdateUser());
+       queryWrapper.eq(pageWrap.getModel().getRemark() != null,ImportRecord::getRemark, pageWrap.getModel().getRemark());
+       queryWrapper.eq(pageWrap.getModel().getStatus() != null,ImportRecord::getStatus, pageWrap.getModel().getStatus());
+       queryWrapper.eq(pageWrap.getModel().getTitle() != null,ImportRecord::getTitle, pageWrap.getModel().getTitle());
+       queryWrapper.eq(pageWrap.getModel().getTotalNum() != null,ImportRecord::getTotalNum, pageWrap.getModel().getTotalNum());
+       queryWrapper.eq(pageWrap.getModel().getDetail() != null,ImportRecord::getDetail, pageWrap.getModel().getDetail());
+       queryWrapper.eq(pageWrap.getModel().getImgurl() != null,ImportRecord::getImgurl, pageWrap.getModel().getImgurl());
+       queryWrapper.eq(pageWrap.getModel().getSortnum() != null,ImportRecord::getSortnum, pageWrap.getModel().getSortnum());
+       queryWrapper.eq(pageWrap.getModel().getType() != null,ImportRecord::getType, pageWrap.getModel().getType());
+       queryWrapper.eq(pageWrap.getModel().getDoneNum() != null,ImportRecord::getDoneNum, pageWrap.getModel().getDoneNum());
+       queryWrapper.eq(pageWrap.getModel().getErrorNum() != null,ImportRecord::getErrorNum, pageWrap.getModel().getErrorNum());
+       queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getUpdateUserName()),SystemUser::getRealname, pageWrap.getModel().getUpdateUserName());
+       queryWrapper.ge(pageWrap.getModel().getEndtime() != null,ImportRecord::getCreateTime, pageWrap.getModel().getEndtime());
+       queryWrapper.ne(pageWrap.getModel().getStarttime() != null,ImportRecord::getCreateTime, pageWrap.getModel().getStarttime());
+       queryWrapper.orderByDesc(ImportRecord::getId);
         return PageData.from(importRecordMapper.selectPage(page, queryWrapper));
     }
 
@@ -175,6 +181,13 @@
         }
         redisTemplate.opsForValue().set(Constants.RedisKeys.IMPORTING_RECORD,true,30, TimeUnit.MINUTES);
         try {
+            List<Category> categoryList = null;
+            if(type == 0){
+              categoryList = categoryMapper.selectList(new QueryWrapper<Category>().lambda().eq(Category::getDeleted,Constants.ZERO));
+                if(categoryList == null || categoryList.size()==0){
+                    throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝 璇诲彇鑰佸笀鍩烘暟鏁版嵁閰嶇疆鍑洪敊锛岃鍏堥厤缃熀纭�鏁版嵁淇℃伅锛�");
+                }
+            }
             ImportRecord model = new ImportRecord();
             LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
             model.setDeleted(Constants.ZERO);
@@ -184,30 +197,199 @@
             model.setUpdateTime(model.getCreateTime());
             model.setUpdateUser(loginUserInfo.getId());
             model.setType(type);
-            model.setTitle((type==1?"妗堜緥淇℃伅鎵归噺瀵煎叆":"鑰佸笀淇℃伅鎵归噺瀵煎叆")+ DateUtil.getPlusTime2(model.getCreateTime()));
+            model.setTitle((type==1?"妗堜緥淇℃伅鎵归噺瀵煎叆":"鑰佸笀淇℃伅鎵归噺瀵煎叆,")+"鏂囦欢锛�"+file.getOriginalFilename());
             model.setTotalNum(0);
             ExcelImporter ie= new ExcelImporter(file,0,0, CellType.STRING); // 纭繚鍗曞厓鏍肩被鍨嬩负瀛楃涓�);
+            Map<String, XSSFPictureData> pics = ie.getExcelPictures();
             if(type == 1) {
-              model.setCaseList(ie.getDataList(CasesImport.class,null));
-              if(model.getCaseList() ==null || model.getCaseList().size()==0){
+              List<CasesImport> importList =  (ie.getDataList(CasesImport.class,null));
+              if(importList==null || importList.size()==0){
                   throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵煎叆鏂囦欢妗堜緥淇℃伅鍐呭涓虹┖锛�");
               }
               model.setTotalNum(model.getCaseList().size());
             }else{
-              model.setMemberList(ie.getDataList(MemberImport.class,null));
-              if(model.getMemberList() ==null || model.getMemberList().size()==0){
-                  throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵煎叆鏂囦欢鑰佸笀淇℃伅鍐呭涓虹┖锛�");
-              }
-              model.setTotalNum(model.getMemberList().size());
+               List<MemberImport> importList = (ie.getDataList(MemberImport.class,null));
+               model.setMemberList(isvalidImpartMemberParam(loginUserInfo,categoryList,pics,importList));
+               model.setTotalNum(model.getMemberList().size());
             }
-//            model.setPictureDataList(ie);
             importRecordMapper.insert(model);
             return model;
+        }catch (BusinessException e){
+            redisTemplate.delete(Constants.RedisKeys.IMPORTING_RECORD);
+            throw  e;
         }catch (Exception e){
+            redisTemplate.delete(Constants.RedisKeys.IMPORTING_RECORD);
             throw  new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏂囦欢淇℃伅璇诲彇澶辫触锛岃妫�鏌ユ枃浠跺唴瀹瑰悗閲嶈瘯锛�");
         }finally {
-            redisTemplate.delete(Constants.RedisKeys.IMPORTING_RECORD);
+//            redisTemplate.delete(Constants.RedisKeys.IMPORTING_RECORD);
         }
+    }
+    private  List<Member> isvalidImpartMemberParam(LoginUserInfo user, List<Category> categoryList ,Map<String, XSSFPictureData> pics, List<MemberImport> memberList) {
+        if(memberList ==null || memberList.size()==0){
+            throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝鏈鍙栧埌鏈夋晥鏁版嵁");
+        }
+        if(pics ==null || pics.size()==0){
+            throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝鏈鍙栧埌浠讳綍鑱屼笟鐓у浘鐗囨暟鎹�");
+        }
+        List<Member> insertMember = new ArrayList<>();
+        List<Member> allList = memberMapper.selectList(new QueryWrapper<Member>().lambda()
+                .eq(Member::getDeleted,Constants.ZERO));
+        if(categoryList == null || categoryList.size()==0){
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝 璇诲彇鑰佸笀鍩烘暟鏁版嵁閰嶇疆鍑洪敊锛岃鍏堥厤缃熀纭�鏁版嵁淇℃伅锛�");
+        }
+        Date date = new Date();
+        int index = 1;
+         for(MemberImport param :memberList){
+             index ++;
+             if(StringUtils.isBlank(param.getImgurl())
+             ||StringUtils.isBlank(param.getFee())
+             ||StringUtils.isBlank(param.getName())
+             ||StringUtils.isBlank(param.getInfo())
+             ||StringUtils.isBlank(param.getJobYear())
+             ||StringUtils.isBlank(param.getPosition())
+             ||StringUtils.isBlank(param.getFieldNames())
+             ||StringUtils.isBlank(param.getSex())
+             ||StringUtils.isBlank(param.getCode())
+             ||StringUtils.isBlank(param.getZqNames())
+             ||StringUtils.isBlank(param.getLevelName())
+             ||StringUtils.isBlank(param.getServeNum())
+             ||StringUtils.isBlank(param.getTypeNames())){
+                 continue;
+             }
+             Member member = new Member();
+             if(StringUtils.isBlank(param.getCode())){
+                 throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗�"+index+"琛屾暟鎹紝 宸ュ彿淇℃伅涓嶈兘涓虹┖");
+             }
+             for(Member m : allList){
+                 if(StringUtils.equals(param.getCode(),m.getCode())){
+                     throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗�"+index+"琛屾暟鎹紝 宸ュ彿銆�"+param.getCode()+"銆戜俊鎭凡瀛樺湪锛岃纭涓嶈閲嶅褰曞叆");
+                 }
+             }
+             for(Member m : insertMember){
+                 if(StringUtils.equals(param.getCode(),m.getCode())){
+                     throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗�"+index+"琛屾暟鎹紝 宸ュ彿銆�"+param.getCode()+"銆戝湪鏂囨。涓噸澶嶅嚭鐜�");
+                 }
+             }
+             if(StringUtils.isBlank(param.getName())){
+                 throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗�"+index+"琛屾暟鎹紝 濮撳悕淇℃伅涓嶈兘涓虹┖");
+             }
+             if(StringUtils.isBlank(param.getLevelName())){
+                 throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗�"+index+"琛屾暟鎹紝 绛夌骇淇℃伅涓嶈兘涓虹┖");
+             }
+             if(StringUtils.isBlank(param.getJobYear())){
+                 throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗�"+index+"琛屾暟鎹紝 浠庝笟骞翠唤淇℃伅涓嶈兘涓虹┖");
+             }
+             Integer year ;
+             try {
+                 year = Integer.parseInt(param.getJobYear());
+             }catch (Exception e){
+                 throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗�"+index+"琛屾暟鎹紝 浠庝笟骞翠唤淇℃伅涓嶆纭�");
+             }
+             if(StringUtils.isBlank(param.getZqNames())){
+                 throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗�"+index+"琛屾暟鎹紝 鏈嶅姟鎴樺尯淇℃伅涓嶈兘涓虹┖");
+             }
+             if(StringUtils.isBlank(param.getTypeNames())){
+                 throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗�"+index+"琛屾暟鎹紝 鍟嗕笟鍖栫被鍨嬩俊鎭笉鑳戒负绌�");
+             }
+             if(StringUtils.isBlank(param.getFee())){
+                 throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗�"+index+"琛屾暟鎹紝 璐圭敤鏍囧噯淇℃伅涓嶈兘涓虹┖");
+             }
+             if(pics!=null && StringUtils.isNotBlank(param.getImgurl())){
+                log.info("===================="+param.getImgurl());
+                int start = param.getImgurl().indexOf("(\"")+2;
+                int end = param.getImgurl().indexOf("\",");
+                if(start>=0&& end>=1 && end>start){
+                    String picId = param.getImgurl().substring(start,end);
+                    log.info("====================PICID:"+param.getImgurl());
+                    XSSFPictureData data = pics.get(picId);
+                    if(data!= null && data.getData() != null){
+                        member.setImgurlData(data.getData());
+                    }
+                }
+            }
+             if(member.getImgurlData() ==null || member.getImgurlData().length==0){
+                 throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗�"+index+"琛屻��"+param.getName()+"銆戞暟鎹紝 鏈鍙栧埌浠讳綍鑱屼笟鐓у浘鐗囨暟鎹�");
+             }
+             //绫诲瀷:0=鎴樺尯;1=鍟嗕笟鍖�;2=鎿呴暱棰嗗煙;3=璁插笀绛夌骇;"
+             List<Category> list0 =  isValidCategoryParam(param.getZqNames(),Constants.ZERO,categoryList,index );//鎴樺尯
+             List<Category> list1 =  isValidCategoryParam(param.getTypeNames(),Constants.ONE,categoryList,index);//鍟嗕笟鍖�
+             List<Category> list2 =  isValidCategoryParam(param.getFieldNames(),Constants.TWO,categoryList,index);//鎿呴暱棰嗗煙
+             Category levelCate =  getCategoryModelByName(param.getLevelName(),Constants.THREE,categoryList);//璁插笀绛夌骇
+             if(levelCate == null){
+                 throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗�"+index+"琛屾暟鎹紝 绛夌骇淇℃伅銆�"+param.getLevelName()+"銆戝皻鏈厤缃�");
+             }
+             member.setCreateTime(date);
+             member.setUpdateTime(date);
+             member.setCreateUser(user.getId());
+             member.setUpdateUser(user.getId());
+             member.setAddType(Constants.ONE);
+             member.setStatus(Constants.ZERO);
+             member.setName(param.getName());
+             member.setContent(param.getInfo());
+             member.setJobYear(year);
+             member.setCode(param.getCode());
+             member.setPositon(param.getPosition());
+             try {
+                 member.setServeNum(Integer.parseInt(param.getServeNum()));
+             }catch (Exception e){
+             }
+             try {
+                 member.setFee(new BigDecimal(param.getFee()));
+             }catch (Exception e){
+             }
+             member.setSex(StringUtils.equals(param.getSex(),"鐢�")?Constants.ZERO:(StringUtils.equals(param.getSex(),"濂�")?Constants.ZERO:null));
+             member.setZhanquIds(getIdStrListByList(list0));
+             member.setBustypeIds(getIdStrListByList(list1));
+             member.setFieldIds(getIdStrListByList(list2));
+             member.setLevelId(levelCate.getId());
+             insertMember.add(member);
+         }
+        if(insertMember ==null || insertMember.size()==0){
+            throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝鏈鍙栧埌鏈夋晥鏁版嵁");
+        }
+         return insertMember;
+
+    }
+
+    private String getIdStrListByList(List<Category> categoryList) {
+         String[] idList = new String[categoryList.size()];
+        for (int i = 0; i <categoryList.size(); i++) {
+            idList[i]="["+categoryList.get(i).getId()+"]";
+        }
+        return String.join(",",idList);
+    }
+
+    private List<Category> isValidCategoryParam(String zqNames, int type, List<Category> categoryList,int index) {
+        if(StringUtils.isBlank(zqNames)){
+            return null;
+        }
+        //鑾峰绫伙綔甯傚満绫伙綔鍩硅绫�
+        List<Category> list = new ArrayList<>();
+        String names[] = zqNames.split("/");
+        String title = type==0?"鏈嶅姟鎴樺尯":( type==1?"鍟嗕笟鍖栫被鍨�":"鎿呴暱棰嗗煙");
+        for(String str : names){
+            if(StringUtils.isBlank(str)){
+                continue;
+            }
+            Category cate = getCategoryModelByName(str,type,categoryList);
+            if(cate == null){
+                throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗�"+index+"琛屾暟鎹紝"+title+"涓��"+str+"銆戝皻鏈厤缃�");
+            }
+            list.add(cate);
+        }
+        if(list == null || list.size() ==0){
+            throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗�"+index+"琛屾暟鎹紝"+title+"鏈煡璇㈠埌鏈夋晥閰嶇疆");
+        }
+        return list;
+    }
+    private Category getCategoryModelByName(String levelName, int type, List<Category> categoryList) {
+        for(Category c : categoryList){
+            if(Constants.equalsInteger(c.getType(),type)
+                    && StringUtils.equals(levelName.trim(),StringUtils.defaultString(c.getName(),"").trim())){
+                return c;
+            }
+        }
+        return null;
     }
 
     /**
@@ -238,7 +420,7 @@
         int success=0;
         String msg ="";
         try {
-            for(CasesImport param:importRecord.getCaseList()){
+            for(Cases param:importRecord.getCaseList()){
 
             }
         }catch (Exception e){
@@ -256,17 +438,42 @@
     private int dealUserImportBiz(ImportRecord importRecord) {
         int success=0;
         String msg = "";
+        String nowDate =DateUtil.getNowShortDate();
         try {
-            for(MemberImport param:importRecord.getMemberList()){
-
+            String bucket =systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.BUCKETNAME).getCode();
+            String folder =systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.MEMBER_FILES).getCode();
+            TyyZosUtil obs = new TyyZosUtil(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.ENDPOINT).getCode(),
+                    systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.ACCESS_ID).getCode(),
+                    systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.ACCESS_KEY).getCode());
+            for(Member param: importRecord.getMemberList()){
+                success +=  dealMemberInsert(obs,param,folder,nowDate,bucket);
             }
+            obs.shutDown();
         }catch (Exception e){
-
+            log.error("澶勭悊浜哄憳淇℃伅鍙戠敓寮傚父{}",e.getMessage());
         }
         importRecord.setDoneNum(success);
         importRecord.setErrorNum(importRecord.getTotalNum() - success);
         importRecord.setDetail(msg);
+        redisTemplate.delete(Constants.RedisKeys.IMPORTING_RECORD);
+        return success;
+    }
 
+
+    private int dealMemberInsert( TyyZosUtil obs,Member param,String folder,String nowDate,String bucketName) {
+        int success =0;
+        try {
+            String fileName = UUID.randomUUID() + ".png";
+            String tempFileName = nowDate + "/" + fileName;
+            String key = folder + tempFileName;// 鏂囦欢鍚�
+           if (obs.uploadInputstreamObjectNoShutdown(new ByteArrayInputStream(param.getImgurlData() ) ,bucketName,  key)) {
+               param.setImgurl(tempFileName);//璇佷欢鐓у湴鍧�
+               log.error("澶勭悊浜哄憳淇℃伅璇佷欢鐓ф垚鍔�=================={}",key );
+               success= memberMapper.insert(param);
+           }
+        }catch (Exception e){
+            log.error("澶勭悊浜哄憳淇℃伅{}==鍙戠敓寮傚父{}",param.getName(),e.getMessage());
+        }
         return success;
     }
 }
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index 1733407..2aecb7a 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -27,6 +27,7 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.Objects;
@@ -118,10 +119,8 @@
         Utils.MP.blankToNull(pageWrap.getModel());
         Member model = pageWrap.getModel();
         queryWrapper.selectAll(Member.class)
-                .select(" c1.NAME ", Member::getPromotionName)
-                .select(" c2.NAME ", Member::getLevelName)
-                .leftJoin(" category c1 on t.POSITON = c1.id ")
-                .leftJoin(" category c2 on t.LEVEL_ID = c2.id ")
+                .selectAs(Category::getName, Member::getLevelName)
+                .leftJoin(Category.class,Category::getId,Member::getLevelId)
                 .apply(Objects.nonNull(model.getBustypeIds())," find_in_set( '["+model.getBustypeIds()+"]', t.BUSTYPE_IDS ) ")
                 .like(StringUtils.isNotBlank(model.getName()),Member::getName, model.getName())
                 .eq(Objects.nonNull(model.getStatus()),Member::getStatus, model.getStatus())
@@ -153,15 +152,16 @@
         if(CollectionUtils.isNotEmpty(memberIPage.getRecords())){
             List<Category> categoryList = categoryMapper.selectList(new QueryWrapper<Category>().lambda()
                     .eq(Category::getDeleted, Constants.ZERO)
-                    .eq(Category::getType,Constants.TWO)
+//                    .eq(Category::getType,Constants.TWO)
                     .orderByAsc(Category::getSortnum)
             );
             String path = systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.RESOURCE_PATH).getCode() +
-                    systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.CATEGORY_FILES).getCode();
+                    systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.MEMBER_FILES).getCode();
             String roleConfig = systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.ROLE_CONFIG).getCode();
             for (Member member:memberIPage.getRecords()) {
                 if(CollectionUtils.isNotEmpty(categoryList)){
                     dealMemberField(member,categoryList);
+                    dealMemberCategoryList(member,categoryList);
                 }
                 member.setFullImgurl(StringUtils.isNotBlank(member.getImgurl())?(path + member.getImgurl()):"");
                 if(StringUtils.isBlank(roleConfig)||StringUtils.isBlank(model.getQueryUserRole())
@@ -176,6 +176,27 @@
         return PageData.from(memberIPage);
     }
 
+    private void dealMemberCategoryList(Member member, List<Category> categoryList) {
+        member.setFieldList(new ArrayList<>());
+        member.setTypeList(new ArrayList<>());
+        member.setZqList(new ArrayList<>());
+        for(Category c:categoryList){
+//            0=鎴樺尯;1=鍟嗕笟鍖�;2=鎿呴暱棰嗗煙;
+            if(Constants.equalsInteger(c.getType(),Constants.ZERO)&& StringUtils.contains(member.getZhanquIds(),"["+c.getId()+"]")){
+                //鎴樺尯
+                member.getZqList().add(c);
+            }
+            if(Constants.equalsInteger(c.getType(),Constants.ONE)&& StringUtils.contains(member.getBustypeIds(),"["+c.getId()+"]")){
+                //鍟嗕笟鍖�
+                member.getTypeList().add(c);
+            }
+            if(Constants.equalsInteger(c.getType(),Constants.TWO) && StringUtils.contains(member.getFieldIds(),"["+c.getId()+"]")){
+                //鎿呴暱棰嗗煙
+                member.getFieldList().add(c);
+            }
+        }
+    }
+
 
     @Override
     public Member findDetailById(Integer id,String queryUserRole) {

--
Gitblit v1.9.3