Parcourir la source

Merge remote-tracking branch 'origin/master'

dongxin il y a 1 an
Parent
commit
a070e7b70e

+ 6 - 0
commons/pom.xml

@@ -62,5 +62,11 @@
             <artifactId>minio</artifactId>
             <version>${minio.version}</version>
         </dependency>
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>easyexcel-core</artifactId>
+            <version>3.3.2</version>
+            <scope>compile</scope>
+        </dependency>
     </dependencies>
 </project>

+ 6 - 0
commons/src/main/java/com/jzg/commons/constants/Constants.java

@@ -87,4 +87,10 @@ public class Constants
     public static final String DELETE = "1";
 
 
+    /**
+     * 父级编码
+     */
+    public static final String DEFAULT_PARENT_ID = "0";
+
+
 }

+ 10 - 0
commons/src/main/java/com/jzg/commons/entity/dto/SysActivityRecordDto.java

@@ -1,5 +1,6 @@
 package com.jzg.commons.entity.dto;
 
+import com.alibaba.excel.annotation.ExcelProperty;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import io.swagger.v3.oas.annotations.media.Schema;
@@ -28,23 +29,32 @@ public class SysActivityRecordDto {
     private String orderId;
 
     @Schema(description = "抽奖时间")
+    @ExcelProperty("抽奖时间")
     private String createTime;
 
     @Schema(description = "业务员")
+    @ExcelProperty("业务员")
     private String name;
 
     @Schema(description = "手机号")
+    @ExcelProperty("手机号")
     private String mobile;
 
     @Schema(description = "机构id")
     private String deptId;
 
     @Schema(description = "机构名称")
+    @ExcelProperty("归属机构")
     private String deptName;
 
     @Schema(description = "奖品名称")
+    @ExcelProperty("奖品名称")
     private String awardName;
 
     @Schema(description = "奖品类型 1 现金 2 增值服务")
+    @ExcelProperty("奖品类型")
     private String awardType;
+
+    @Schema(description = "现金类型 1 固定现金 2 区间现金")
+    private String awardCashType;
 }

+ 4 - 0
platform/src/main/java/com/jzg/service/JyxBlameService.java

@@ -4,4 +4,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.jzg.commons.entity.po.JyxBlame;
 
 public interface JyxBlameService extends IService<JyxBlame> {
+
+
+    void deleteByJyxConfigId(String jyxConfigId);
+
 }

+ 11 - 6
platform/src/main/java/com/jzg/service/impl/EsmInsCompanyServiceImpl.java

@@ -20,6 +20,7 @@ import org.springframework.util.ObjectUtils;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Optional;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.stream.Collectors;
 
@@ -95,15 +96,19 @@ public class EsmInsCompanyServiceImpl extends ServiceImpl<EsmInsCompanyMapper, E
         }
     }
 
-    public String getFileUrl(SysUploadFiles files){
-        if (!ObjectUtils.isEmpty(files)){
-            if (StringUtils.isNotEmpty(files.getFileName()) && StringUtils.isNotEmpty(files.getBucketName())){
-                return MinioUtils.getPresignedObjectUrl(files.getBucketName(), files.getFileName());
-            }
+    public String getFileUrl(SysUploadFiles files) {
+        try {
+            return Optional.ofNullable(files)
+                    .filter(f -> StringUtils.isNotEmpty(f.getFileName()) && StringUtils.isNotEmpty(f.getBucketName()))
+                    .map(f -> MinioUtils.getPresignedObjectUrl(f.getBucketName(), f.getFileName()))
+                    .orElse(null);
+        } catch (Exception e) {
+            // 根据业务需求选择返回 null 或者抛出自定义异常
+            return null;
         }
-        return null;
     }
 
+
     private boolean exists(List<EsmInsCompany> insCompanyList, EsmInsCompany insCompany) {
         AtomicBoolean exist = new AtomicBoolean(false);
         insCompanyList.stream().forEach(a -> {

+ 5 - 0
platform/src/main/java/com/jzg/service/impl/JyxBlameServiceImpl.java

@@ -1,5 +1,6 @@
 package com.jzg.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.jzg.commons.entity.po.JyxBlame;
 import com.jzg.mapper.JyxBlameMapper;
@@ -8,4 +9,8 @@ import org.springframework.stereotype.Service;
 
 @Service
 public class JyxBlameServiceImpl extends ServiceImpl<JyxBlameMapper, JyxBlame> implements JyxBlameService {
+    @Override
+    public void deleteByJyxConfigId(String jyxConfigId) {
+        baseMapper.delete(new LambdaQueryWrapper<JyxBlame>().eq(JyxBlame::getJyxConfigId,jyxConfigId));
+    }
 }

+ 78 - 36
platform/src/main/java/com/jzg/service/impl/JyxConfigServiceImpl.java

@@ -3,6 +3,7 @@ package com.jzg.service.impl;
 import cn.hutool.core.bean.BeanUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jzg.commons.constants.Constants;
 import com.jzg.commons.core.page.HttpResult;
 import com.jzg.commons.entity.dto.JyxConfigAdd;
 import com.jzg.commons.entity.dto.JyxConfigEnd;
@@ -11,6 +12,7 @@ import com.jzg.commons.entity.po.JyxBlame;
 import com.jzg.commons.entity.po.JyxConfig;
 import com.jzg.commons.entity.po.jyxSetting;
 import com.jzg.commons.entity.vo.JyxConfigVo;
+import com.jzg.commons.util.AssertionUtils;
 import com.jzg.commons.util.ConvertUtils;
 import com.jzg.commons.util.StringUtils;
 import com.jzg.constants.ConstantsParent;
@@ -18,6 +20,7 @@ import com.jzg.mapper.JyxConfigMapper;
 import com.jzg.service.JyxBlameService;
 import com.jzg.service.JyxConfigService;
 import com.jzg.service.jyxSettingService;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -25,13 +28,14 @@ import org.springframework.util.CollectionUtils;
 import org.springframework.util.ObjectUtils;
 
 import java.util.*;
+import java.util.concurrent.CompletableFuture;
 import java.util.function.Function;
 import java.util.stream.Collectors;
 
 import static java.util.stream.Collectors.collectingAndThen;
 import static java.util.stream.Collectors.toCollection;
 
-
+@Slf4j
 @Service
 public class JyxConfigServiceImpl extends ServiceImpl<JyxConfigMapper, JyxConfig> implements JyxConfigService {
 
@@ -50,22 +54,31 @@ public class JyxConfigServiceImpl extends ServiceImpl<JyxConfigMapper, JyxConfig
     @Transactional(rollbackFor = Exception.class)
     public HttpResult saveAll(JyxConfigAdd configAdd) {
         try {
+            AssertionUtils.isFail(Optional.ofNullable(baseMapper.selectOne(new LambdaQueryWrapper<JyxConfig>().eq(JyxConfig::getProductCode, configAdd.getProductCode())
+                    .eq(JyxConfig::getIsDelete, Constants.NOT_DELETED))).isEmpty(), "产品编码重复");
             if (StringUtils.isEmpty(configAdd.getParentId())){
-                configAdd.setParentId("0");
+                configAdd.setParentId(Constants.DEFAULT_PARENT_ID);
+            }else {
+                AssertionUtils.isFail(Optional.ofNullable(baseMapper.selectOne(new LambdaQueryWrapper<JyxConfig>().eq(JyxConfig::getId, configAdd.getParentId())
+                        .eq(JyxConfig::getIsDelete, Constants.NOT_DELETED))).isEmpty(), "上级产品不存在或已删除,请重新选择");
             }
             JyxConfig jyxConfig = BeanUtil.copyProperties(configAdd, JyxConfig.class);
             int insert = jyxConfigMapper.insert(jyxConfig);
+            if (insert <= 0) {
+                return HttpResult.error("添加失败");
+            }
             List<JyxBlame> blameList = configAdd.getBlameList();
             List<jyxSetting> settingList = configAdd.getSettingList();
-            blameList.stream().forEach(blame -> {
-                blame.setJyxConfigId(jyxConfig.getId());
-            });
-            settingList.stream().forEach(setting -> {
-                setting.setJyxConfigId(jyxConfig.getId());
-            });
-            blameService.saveBatch(blameList);
-            settingService.saveBatch(settingList);
-            return insert > 0 ? HttpResult.ok("添加成功") : HttpResult.error("添加失败");
+            // 确保列表不为空再进行操作
+            if (!CollectionUtils.isEmpty(blameList)) {
+                blameList.forEach(blame -> blame.setJyxConfigId(jyxConfig.getId()));
+                blameService.saveBatch(blameList);
+            }
+            if (!CollectionUtils.isEmpty(settingList)) {
+                settingList.forEach(setting -> setting.setJyxConfigId(jyxConfig.getId()));
+                settingService.saveBatch(settingList);
+            }
+            return HttpResult.ok("添加成功");
         }catch (Exception e){
             return HttpResult.error("添加失败" + e.getMessage());
         }
@@ -73,37 +86,66 @@ public class JyxConfigServiceImpl extends ServiceImpl<JyxConfigMapper, JyxConfig
 
     @Override
     public HttpResult selectById(String id) {
-        JyxConfig config = jyxConfigMapper.selectById(id);
-        if (config == null){
-            return HttpResult.error("查询失败");
+        if (id == null || id.trim().isEmpty()) {
+            return HttpResult.error("ID不能为空");
+        }
+        try {
+            JyxConfig config = jyxConfigMapper.selectById(id);
+            if (config == null) {
+                return HttpResult.error("查询失败");
+            }
+            JyxConfigVo jyxConfigVo = BeanUtil.copyProperties(config, JyxConfigVo.class);
+            CompletableFuture<Void> blameFuture = CompletableFuture.runAsync(() -> {
+                try {
+                    jyxConfigVo.setBlameList(selectBlameList(id));
+                } catch (Exception e) {
+                    log.error("加载 blameList 失败", e);
+                }
+            });
+            CompletableFuture<Void> settingFuture = CompletableFuture.runAsync(() -> {
+                try {
+                    jyxConfigVo.setSettingList(selectSettingList(id));
+                } catch (Exception e) {
+                    log.error("加载 settingList 失败", e);
+                }
+            });
+            CompletableFuture.allOf(blameFuture, settingFuture).join();
+
+            return HttpResult.ok(jyxConfigVo);
+        } catch (Exception e) {
+            log.error("查询配置失败", e);
+            return HttpResult.error("系统错误");
         }
-        JyxConfigVo jyxConfigVo = BeanUtil.copyProperties(config, JyxConfigVo.class);
-        jyxConfigVo.setBlameList(selectBlameList(id));
-        jyxConfigVo.setSettingList(selectSettingList(id));
-        return HttpResult.ok(jyxConfigVo);
     }
 
     @Override
     @Transactional(rollbackFor = Exception.class)
     public HttpResult updateById(JyxConfigEnd configEnd) {
-       try {
-           JyxConfig jyxConfig = BeanUtil.copyProperties(configEnd, JyxConfig.class);
-           if (jyxConfigMapper.updateById(jyxConfig) > 0){
-               configEnd.getBlameList().stream().forEach(blame -> {
-                   blame.setJyxConfigId(jyxConfig.getId());
-               });
-               configEnd.getSettingList().stream().forEach(setting -> {
-                   setting.setJyxConfigId(jyxConfig.getId());
-               });
-               blameService.saveOrUpdateBatch(configEnd.getBlameList());
-               settingService.saveOrUpdateBatch(configEnd.getSettingList());
-               return  HttpResult.ok("修改成功");
-           }
-           return HttpResult.error("修改失败");
-       }catch (Exception e){
-           e.printStackTrace();
-           return HttpResult.error("修改失败");
-       }
+        try {
+            JyxConfig jyxConfig = BeanUtil.copyProperties(configEnd, JyxConfig.class);
+            if (jyxConfigMapper.updateById(jyxConfig) <= 0) {
+                return HttpResult.error("修改失败");
+            }
+            //同步删除或者新增驾意险配置
+            updateRelatedLists(configEnd, configEnd.getId());
+            return HttpResult.ok("修改成功");
+        } catch (Exception e) {
+            log.error("更新配置失败", e);
+            throw new RuntimeException("更新配置失败", e);
+        }
+    }
+
+    private void updateRelatedLists(JyxConfigEnd configEnd, String jyxConfigId) {
+        blameService.deleteByJyxConfigId(jyxConfigId);
+        if (!CollectionUtils.isEmpty(configEnd.getBlameList())) {
+            configEnd.getBlameList().forEach(blame -> blame.setJyxConfigId(jyxConfigId));
+            blameService.saveBatch(configEnd.getBlameList());
+        }
+        settingService.deleteByJyxConfigId(jyxConfigId);
+        if (!CollectionUtils.isEmpty(configEnd.getSettingList())) {
+            configEnd.getSettingList().forEach(setting -> setting.setJyxConfigId(jyxConfigId));
+            settingService.saveBatch(configEnd.getSettingList());
+        }
     }
 
     @Override

+ 6 - 0
platform/src/main/java/com/jzg/service/impl/jyxSettingServiceImpl.java

@@ -1,5 +1,7 @@
 package com.jzg.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.jzg.commons.entity.po.jyxSetting;
 import com.jzg.mapper.jyxSettingMapper;
@@ -8,4 +10,8 @@ import org.springframework.stereotype.Service;
 
 @Service
 public class jyxSettingServiceImpl extends ServiceImpl<jyxSettingMapper, jyxSetting> implements jyxSettingService {
+    @Override
+    public void deleteByJyxConfigId(String jyxConfigId) {
+        baseMapper.delete(new LambdaQueryWrapper<jyxSetting>().eq(jyxSetting::getJyxConfigId, jyxConfigId));
+    }
 }

+ 3 - 0
platform/src/main/java/com/jzg/service/jyxSettingService.java

@@ -4,4 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.jzg.commons.entity.po.jyxSetting;
 
 public interface jyxSettingService extends IService<jyxSetting> {
+
+
+    void deleteByJyxConfigId(String jyxConfigId);
 }

+ 6 - 0
tenant/organization/pom.xml

@@ -34,6 +34,12 @@
             <version>${minio.version}</version>
         </dependency>
 
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>easyexcel</artifactId>
+            <version>3.2.0</version>
+        </dependency>
+
     </dependencies>
     <build>
         <plugins>

+ 6 - 3
tenant/organization/src/main/java/com/jzg/organization/controller/ActivityController.java

@@ -4,7 +4,6 @@ package com.jzg.organization.controller;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.jzg.commons.core.page.HttpResult;
 import com.jzg.commons.entity.po.SysActivity;
-import com.jzg.commons.entity.po.SysActivityRecord;
 import com.jzg.commons.entity.vo.CheckActivityDeptVo;
 import com.jzg.commons.entity.vo.SysActivityRecordVo;
 import com.jzg.commons.entity.vo.SysActivityVo;
@@ -14,7 +13,7 @@ import io.swagger.v3.oas.annotations.Operation;
 import jakarta.annotation.Resource;
 import org.springframework.web.bind.annotation.*;
 
-
+import java.util.List;
 import java.util.Objects;
 
 /**
@@ -88,5 +87,9 @@ public class ActivityController {
         return HttpResult.ok(sysActivityService.getActivityRecord(page,sysActivityRecordVo));
     }
 
-
+    @Operation(summary = "导出抽奖记录接口", description = "导出抽奖记录接口")
+    @PostMapping(value = "/exportActivityRecord")
+    public HttpResult<String> exportActivityRecord(@RequestBody List<String> idList) throws Exception {
+        return HttpResult.ok("", sysActivityService.exportActivityRecord(idList));
+    }
 }

+ 4 - 0
tenant/organization/src/main/java/com/jzg/organization/mapper/SysActivityRecordMapper.java

@@ -8,8 +8,12 @@ import com.jzg.commons.entity.vo.SysActivityRecordVo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 @Mapper
 public interface SysActivityRecordMapper extends BaseMapper<SysActivityRecord> {
 
     Page<SysActivityRecordDto> getActivityRecord(Page page, @Param("sysActivityRecordVo") SysActivityRecordVo sysActivityRecordVo);
+
+    List<SysActivityRecordDto> selectRecordIds(List<String> idList);
 }

+ 5 - 1
tenant/organization/src/main/java/com/jzg/organization/service/SysActivityService.java

@@ -6,11 +6,12 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.jzg.commons.core.page.HttpResult;
 import com.jzg.commons.entity.dto.SysActivityRecordDto;
 import com.jzg.commons.entity.po.SysActivity;
-import com.jzg.commons.entity.po.SysActivityRecord;
 import com.jzg.commons.entity.vo.CheckActivityDeptVo;
 import com.jzg.commons.entity.vo.SysActivityRecordVo;
 import com.jzg.commons.entity.vo.SysActivityVo;
 
+import java.util.List;
+
 public interface SysActivityService extends IService<SysActivity> {
     HttpResult addActivity(SysActivityVo sysActivityVo);
 
@@ -25,4 +26,7 @@ public interface SysActivityService extends IService<SysActivity> {
     Page<SysActivity> getActivityList(Page page,SysActivityVo sysActivityVo);
 
     Page<SysActivityRecordDto> getActivityRecord(Page page, SysActivityRecordVo sysActivityRecordVo);
+
+    String exportActivityRecord(List<String> idList) throws Exception;
+
 }

+ 55 - 0
tenant/organization/src/main/java/com/jzg/organization/service/impl/SysActivityServiceImpl.java

@@ -20,13 +20,24 @@ import com.jzg.organization.service.SysActivityAwardService;
 import com.jzg.organization.service.SysActivityDeptService;
 import com.jzg.organization.service.SysActivityService;
 import com.jzg.organization.service.SysDeptService;
+import io.minio.MinioClient;
+import io.minio.PutObjectArgs;
+import io.minio.errors.*;
 import jakarta.annotation.Resource;
+import org.apache.poi.ss.usermodel.Cell;
+import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.io.*;
+import java.security.InvalidKeyException;
+import java.security.NoSuchAlgorithmException;
 import java.time.LocalDate;
 import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
@@ -61,6 +72,9 @@ public class SysActivityServiceImpl extends ServiceImpl<SysActivityMapper, SysAc
     @Resource
     private SysActivityRecordMapper sysActivityRecordMapper;
 
+    @Resource
+    private MinioClient minioClient;
+
     @Qualifier("baseController")
     @Autowired
     private BaseController controller;
@@ -274,4 +288,45 @@ public class SysActivityServiceImpl extends ServiceImpl<SysActivityMapper, SysAc
     public Page<SysActivityRecordDto> getActivityRecord(Page page, SysActivityRecordVo sysActivityRecordVo) {
         return sysActivityRecordMapper.getActivityRecord(page,sysActivityRecordVo);
     }
+
+    @Override
+    public String exportActivityRecord(List<String> idList) throws IOException, ServerException, InsufficientDataException, ErrorResponseException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
+        List<SysActivityRecordDto> activityRecordDtoList = sysActivityRecordMapper.selectRecordIds(idList);
+
+        Workbook workbook = new XSSFWorkbook();
+        Sheet sheet = workbook.createSheet("抽奖记录");
+        Row headerRow = sheet.createRow(0);
+
+        String[] headers = {"业务员", "手机号","归属机构","抽奖时间","奖品类型","奖品名称"};
+        for (int i = 0; i < headers.length; i++) {
+            Cell cell = headerRow.createCell(i);
+            cell.setCellValue(headers[i]);
+        }
+        for (int i = 0; i < activityRecordDtoList.size(); i++) {
+            SysActivityRecordDto dto = activityRecordDtoList.get(i);
+            Row row = sheet.createRow(i + 1);
+            row.createCell(0).setCellValue(dto.getName());
+            row.createCell(1).setCellValue(dto.getMobile());
+            row.createCell(2).setCellValue(dto.getDeptName());
+            row.createCell(3).setCellValue(dto.getCreateTime());
+            if (dto.getAwardType().equals("现金")) {
+                row.createCell(4).setCellValue(dto.getAwardType() + "-" + dto.getAwardCashType());
+            } else {
+                row.createCell(4).setCellValue(dto.getAwardType());
+            }
+            row.createCell(5).setCellValue(dto.getAwardName());
+        }
+        ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
+        workbook.write(outputStream);
+        byte[] bytes = outputStream.toByteArray();
+        InputStream inputStream = new ByteArrayInputStream(bytes);
+        String fileName = "抽奖记录"+ System.currentTimeMillis() + ".xlsx";
+        minioClient.putObject(PutObjectArgs.builder()
+                .bucket("jzg")
+                .object(fileName)
+                .stream(inputStream, bytes.length, -1)
+                .build());
+        inputStream.close();
+        return MinioUtils.getPresignedObjectUrl("jzg", fileName);
+    }
 }

+ 14 - 53
tenant/organization/src/main/java/com/jzg/organization/service/impl/SysUserServiceImpl.java

@@ -548,59 +548,20 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     }
 
     public void saveFile(String sfz1, String sfz2, String qualification, String contract, String applicant, String salaryTable, String leaveTable,String userId) {
-        if (!Objects.isNull(sfz1) && !sfz1.isEmpty()) {
-            SysUploadFiles sysUploadFiles = sysUploadFilesMapper.selectOne
-                    (new LambdaQueryWrapper<SysUploadFiles>().eq(SysUploadFiles::getId, sfz1));
-            SysUserJzgInfoFile sysUserJzgInfoFile = new SysUserJzgInfoFile(sfz1, userId, sysUploadFiles.getFileName());
-            sysUserJzgInfoFile.setFileType("sfz1");
-            sysUserJzgInfoFile.setFileUrl(MinioUtils.getPresignedObjectUrl("jzg", sysUploadFiles.getFileName()));
-            sysUserJzgInfoFileService.save(sysUserJzgInfoFile);
-        }
-        if (!Objects.isNull(sfz2) && !sfz2.isEmpty()) {
-            SysUploadFiles sysUploadFiles = sysUploadFilesMapper.selectOne
-                    (new LambdaQueryWrapper<SysUploadFiles>().eq(SysUploadFiles::getId, sfz2));
-            SysUserJzgInfoFile sysUserJzgInfoFile = new SysUserJzgInfoFile(sfz2, userId, sysUploadFiles.getFileName());
-            sysUserJzgInfoFile.setFileType("sfz2");
-            sysUserJzgInfoFile.setFileUrl(MinioUtils.getPresignedObjectUrl("jzg", sysUploadFiles.getFileName()));
-            sysUserJzgInfoFileService.save(sysUserJzgInfoFile);
-        }
-        if (!Objects.isNull(qualification) && !qualification.isEmpty()) {
-            SysUploadFiles sysUploadFiles = sysUploadFilesMapper.selectOne
-                    (new LambdaQueryWrapper<SysUploadFiles>().eq(SysUploadFiles::getId, qualification));
-            SysUserJzgInfoFile sysUserJzgInfoFile = new SysUserJzgInfoFile(qualification, userId, sysUploadFiles.getFileName());
-            sysUserJzgInfoFile.setFileType("qualification");
-            sysUserJzgInfoFile.setFileUrl(MinioUtils.getPresignedObjectUrl("jzg", sysUploadFiles.getFileName()));
-            sysUserJzgInfoFileService.save(sysUserJzgInfoFile);
-        }
-        if (!Objects.isNull(contract) && !contract.isEmpty()) {
-            SysUploadFiles sysUploadFiles = sysUploadFilesMapper.selectOne
-                    (new LambdaQueryWrapper<SysUploadFiles>().eq(SysUploadFiles::getId, contract));
-            SysUserJzgInfoFile sysUserJzgInfoFile = new SysUserJzgInfoFile(contract, userId, sysUploadFiles.getFileName());
-            sysUserJzgInfoFile.setFileType("contract");
-            sysUserJzgInfoFile.setFileUrl(MinioUtils.getPresignedObjectUrl("jzg", sysUploadFiles.getFileName()));
-            sysUserJzgInfoFileService.save(sysUserJzgInfoFile);
-        }
-        if (!Objects.isNull(applicant) && !applicant.isEmpty()) {
-            SysUploadFiles sysUploadFiles = sysUploadFilesMapper.selectOne
-                    (new LambdaQueryWrapper<SysUploadFiles>().eq(SysUploadFiles::getId, applicant));
-            SysUserJzgInfoFile sysUserJzgInfoFile = new SysUserJzgInfoFile(applicant, userId, sysUploadFiles.getFileName());
-            sysUserJzgInfoFile.setFileType("applicant");
-            sysUserJzgInfoFile.setFileUrl(MinioUtils.getPresignedObjectUrl("jzg", sysUploadFiles.getFileName()));
-            sysUserJzgInfoFileService.save(sysUserJzgInfoFile);
-        }
-        if (!Objects.isNull(salaryTable) && !salaryTable.isEmpty()) {
-            SysUploadFiles sysUploadFiles = sysUploadFilesMapper.selectOne
-                    (new LambdaQueryWrapper<SysUploadFiles>().eq(SysUploadFiles::getId, salaryTable));
-            SysUserJzgInfoFile sysUserJzgInfoFile = new SysUserJzgInfoFile(salaryTable,userId,sysUploadFiles.getFileName());
-            sysUserJzgInfoFile.setFileType("salary");
-            sysUserJzgInfoFile.setFileUrl(MinioUtils.getPresignedObjectUrl("jzg", sysUploadFiles.getFileName()));
-            sysUserJzgInfoFileService.save(sysUserJzgInfoFile);
-        }
-        if (!Objects.isNull(leaveTable) && !leaveTable.isEmpty()) {
-            SysUploadFiles sysUploadFiles = sysUploadFilesMapper.selectOne
-                    (new LambdaQueryWrapper<SysUploadFiles>().eq(SysUploadFiles::getId, leaveTable));
-            SysUserJzgInfoFile sysUserJzgInfoFile = new SysUserJzgInfoFile(leaveTable, userId, sysUploadFiles.getFileName());
-            sysUserJzgInfoFile.setFileType("leave");
+        saveSingleFile(sfz1, "sfz1", userId);
+        saveSingleFile(sfz2, "sfz2", userId);
+        saveSingleFile(qualification, "qualification", userId);
+        saveSingleFile(contract, "contract", userId);
+        saveSingleFile(applicant, "applicant", userId);
+        saveSingleFile(salaryTable, "salary", userId);
+        saveSingleFile(leaveTable, "leave", userId);
+    }
+    private void saveSingleFile(String fileId, String fileType, String userId) {
+        if (!Objects.isNull(fileId) && !fileId.isEmpty()) {
+            SysUploadFiles sysUploadFiles = sysUploadFilesMapper.selectOne(
+                    new LambdaQueryWrapper<SysUploadFiles>().eq(SysUploadFiles::getId, fileId));
+            SysUserJzgInfoFile sysUserJzgInfoFile = new SysUserJzgInfoFile(fileId, userId, sysUploadFiles.getFileName());
+            sysUserJzgInfoFile.setFileType(fileType);
             sysUserJzgInfoFile.setFileUrl(MinioUtils.getPresignedObjectUrl("jzg", sysUploadFiles.getFileName()));
             sysUserJzgInfoFileService.save(sysUserJzgInfoFile);
         }

+ 1 - 1
tenant/organization/src/main/resources/application-dev.yml

@@ -2,7 +2,7 @@ server:
   port: 8084
 spring:
   application:
-    name: jzg-platform
+    name: jzg-organization
   cloud:
     nacos:
       server-addr: 192.168.0.250:8848

+ 33 - 0
tenant/organization/src/main/resources/mapper/SysActivityRecordMapper.xml

@@ -4,6 +4,7 @@
 
     <select id="getActivityRecord" resultType="com.jzg.commons.entity.dto.SysActivityRecordDto">
         select
+            sar.id,
             suji.name as name,
             su.mobile as mobile,
             suji.dept_id as deptId,
@@ -33,8 +34,40 @@
         <if test="sysActivityRecordVo.awardName != null and sysActivityRecordVo.awardName != ''">
             and saa.award_name like concat('%',#{sysActivityRecordVo.awardName},'%')
         </if>
+    </select>
 
 
+    <select id="selectRecordIds" resultType="com.jzg.commons.entity.dto.SysActivityRecordDto">
+        select
+        suji.name as name,
+        su.mobile as mobile,
+        suji.dept_id as deptId,
+        sd.name as deptName,
+        sar.create_time as createTime,
+        saa.award_name as awardName,
+        CASE
+        WHEN saa.award_cash_type = 1 THEN '固定现金'
+        WHEN saa.award_cash_type = 2 THEN '区间现金'
+        END AS awardCashType,
+        CASE
+        WHEN saa.award_type = 1 THEN '现金'
+        WHEN saa.award_type = 2 THEN '增值服务'
+        END AS awardType
+        from sys_activity_record sar
+        left join sys_activity sa on sa.id = sar.activity_id
+        left join sys_user_jzg_info suji on suji.id = sar.user_jzg_info_id
+        left join sys_activity_award saa on saa.id = sar.award_id
+        left join sys_dept sd on sd.id = suji.dept_id
+        left join sys_user su on su.id = suji.user_id
+        where
+        1=1
+        <if test="list != null and list.size() > 0">
+            and sar.id in
+            <foreach item="item" index="index" collection="list"
+                     open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
     </select>
 
 </mapper>

+ 1 - 0
tenant/organization/src/main/resources/mapper/SysUserJzgInfoMapper.xml

@@ -96,6 +96,7 @@
             and (suji.name like concat('%',#{sysUserInfoListVo.salesman},'%')
             or  su.mobile = #{sysUserInfoListVo.salesman}
             or  suji.id = #{sysUserInfoListVo.salesman})
+            or  su.id = #{sysUserInfoListVo.salesman}
         </if>
         <if test="sysUserInfoListVo.isMember!= null and sysUserInfoListVo.isMember!= ''">
             <if test="sysUserInfoListVo.isMember == 1">