he2802 před 3 roky
rodič
revize
f235ca3064

+ 6 - 3
zhongzheng-admin/src/main/java/com/zhongzheng/controller/user/UserSubscribeController.java

@@ -364,10 +364,13 @@ public class UserSubscribeController extends BaseController {
     @ApiOperation("导出学员信息表")
     @PreAuthorize("@ss.hasPermi('system:subscribe:list')")
     @GetMapping("/listUserExport")
-    public AjaxResult listUserExport(UserSubscribeQueryBo bo) {
-        List<UserSubscribeStudentExportVo> list = iUserSubscribeService.listUserExport(bo);
+    public AjaxResult<Map<String,Object>> listUserExport(UserSubscribeQueryBo bo) {
+        Map<String,Object> map = iUserSubscribeService.listUserExport(bo);
+        List<UserSubscribeStudentExportVo> list = (List<UserSubscribeStudentExportVo>)map.get("list");
         ExcelUtil<UserSubscribeStudentExportVo> util = new ExcelUtil<UserSubscribeStudentExportVo>(UserSubscribeStudentExportVo.class);
-        return util.exportExcel(list, "学员信息表");
+        map.put("excel",util.exportExcel(list, "学员信息表"));
+        map.remove("list");
+        return AjaxResult.success(map);
     }
 
     @ApiOperation("导出学员签到表")

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/IUserSubscribeService.java

@@ -95,7 +95,7 @@ public interface IUserSubscribeService extends IService<UserSubscribe> {
 
 	List<UserSubscribeVo> signTimeSend();
 
-	List<UserSubscribeStudentExportVo> listUserExport(UserSubscribeQueryBo bo);
+	Map<String,Object> listUserExport(UserSubscribeQueryBo bo);
 
 	List<UserSubscribeSignExportVo> listSignExport(UserSubscribeQueryBo bo);
 

+ 69 - 11
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserSubscribeServiceImpl.java

@@ -13,14 +13,18 @@ import com.google.zxing.BarcodeFormat;
 import com.google.zxing.common.BitMatrix;
 import com.google.zxing.qrcode.QRCodeWriter;
 import com.zhongzheng.common.annotation.DataScope;
+import com.zhongzheng.common.core.domain.AjaxResult;
 import com.zhongzheng.common.core.redis.RedisCache;
 import com.zhongzheng.common.exception.CustomException;
 import com.zhongzheng.common.utils.DateUtils;
 import com.zhongzheng.common.utils.ServletUtils;
 import com.zhongzheng.common.utils.ToolsUtils;
+import com.zhongzheng.common.utils.file.FileUtils;
 import com.zhongzheng.modules.alioss.service.OssService;
+import com.zhongzheng.modules.alioss.vo.FileBean;
 import com.zhongzheng.modules.alisms.service.IAliSmsService;
 import com.zhongzheng.modules.base.bo.ConsoleQueryBo;
+import com.zhongzheng.modules.base.bo.UserProfileFit;
 import com.zhongzheng.modules.course.domain.CourseBusiness;
 import com.zhongzheng.modules.course.domain.Major;
 import com.zhongzheng.modules.course.mapper.CourseMapper;
@@ -76,6 +80,7 @@ import java.util.*;
 import java.util.List;
 import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
+import java.util.zip.ZipOutputStream;
 
 /**
  * 用户预约考试Service业务层处理
@@ -138,6 +143,8 @@ public class UserSubscribeServiceImpl extends ServiceImpl<UserSubscribeMapper, U
     private IWxLoginService iWxLoginService;
 
 
+
+
     @Autowired
     private com.zhongzheng.modules.alisms.service.IAliSmsService IAliSmsService;
 
@@ -1768,22 +1775,73 @@ public class UserSubscribeServiceImpl extends ServiceImpl<UserSubscribeMapper, U
     }
 
     @Override
-    public List<UserSubscribeStudentExportVo> listUserExport(UserSubscribeQueryBo bo) {
+    public Map<String,Object> listUserExport(UserSubscribeQueryBo bo) {
+        Map<String,Object> map = new HashMap<>();
         List<UserVo> list = baseMapper.listUserExport(bo);
         List<UserSubscribeStudentExportVo> list1 = new ArrayList<>();
-        for(UserVo vo : list){
-            UserSubscribeStudentExportVo item = BeanUtil.toBean(vo, UserSubscribeStudentExportVo.class);
-            if(Validator.isNotEmpty(vo.getSex())){
-               if(vo.getSex()==1){
-                   item.setSex("男");
-               }
-                if(vo.getSex()==2){
-                    item.setSex("女");
+        List<FileBean> fileBeanList = new ArrayList<>(); //身份证列表
+        List<FileBean> fileBeanList2 = new ArrayList<>(); //证件照列表
+        String filename = FileUtils.encodingZipFilename("学员信息数据");
+        String zipFile = FileUtils.getZipAbsoluteFile(filename);
+ /*       String filename2 = FileUtils.encodingZipFilename("证件照压缩包");
+        String zipFile2 = FileUtils.getZipAbsoluteFile(filename2);*/
+        try {
+            ZipOutputStream outStream = new ZipOutputStream(new FileOutputStream(zipFile));
+    //        ZipOutputStream outStream2 = new ZipOutputStream(new FileOutputStream(zipFile2));
+            for (UserVo vo : list) {
+                UserSubscribeStudentExportVo item = BeanUtil.toBean(vo, UserSubscribeStudentExportVo.class);
+                if (Validator.isNotEmpty(vo.getSex())) {
+                    if (vo.getSex() == 1) {
+                        item.setSex("男");
+                    }
+                    if (vo.getSex() == 2) {
+                        item.setSex("女");
+                    }
+                }
+                list1.add(item);
+
+                if(Validator.isNotEmpty(vo.getIdCardImg1())){
+                    FileBean f1 = new FileBean();
+                    String idCardImg1 = vo.getIdCardImg1();
+                    f1.setPath(idCardImg1);
+                    f1.setFileName("ID_CARD/"+vo.getIdCard() + "_0.jpg");
+                    FileBean f2 = new FileBean();
+                    String idCardImg2 = vo.getIdCardImg2();
+                    f2.setPath(idCardImg2);
+                    f2.setFileName("ID_CARD/"+vo.getIdCard() + "_1.jpg");
+                    fileBeanList.add(f1);
+                    fileBeanList.add(f2);
+                }
+
+
+                if(Validator.isNotEmpty(vo.getOneInchPhotos())){
+                    FileBean f3 = new FileBean();
+                    String oneInchPhotos = vo.getOneInchPhotos();
+                    f3.setPath(oneInchPhotos);
+                    f3.setFileName("oneInchPhotos/"+vo.getIdCard() + ".jpg");
+                    fileBeanList.add(f3);
+                }
+
+                if(Validator.isNotEmpty(vo.getKeyValue())){
+                    Map<String, String> maps = JSONObject.parseObject(vo.getKeyValue(), Map.class);
+                    String commitment_seal = JSONObject.parseObject(String.valueOf(maps.get("commitment_seal")), UserProfileFit.class).getValue();
+                    FileBean f4 = new FileBean();
+                    f4.setPath(commitment_seal);
+                    f4.setFileName("commitment/"+vo.getIdCard()  + ".jpg");
+                    fileBeanList.add(f4);
                 }
             }
-            list1.add(item);
+            ossService.zipWisdomDownload(fileBeanList,outStream);
+     //       ossService.zipWisdomDownload(fileBeanList2,outStream2);
+            outStream.close();
+    //        outStream2.close();
         }
-        return list1;
+       catch (IOException e) {
+        }
+        map.put("list", list1);
+        map.put("zip", AjaxResult.success(filename));
+    //    map.put("zip2", AjaxResult.success(filename2));
+        return map;
     }
 
     @Override

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/vo/UserVo.java

@@ -273,6 +273,8 @@ public class UserVo {
 	@ApiModelProperty("工作岗位")
 	private String job;
 
+	private String keyValue;
+
 	public void setNull(){
 		this.setOpenId(null);
 		this.setIdCardImg1(null);

+ 8 - 1
zhongzheng-system/src/main/resources/mapper/modules/user/UserSubscribeMapper.xml

@@ -113,6 +113,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="telphone" column="telphone"/>
         <result property="idCard" column="id_card"/>
         <result property="eduLevel" column="edu_level"/>
+        <result property="oneInchPhotos" column="one_inch_photos"/>
+        <result property="idCardImg1" column="id_card_img1"/>
+        <result property="idCardImg2" column="id_card_img2"/>
+        <result property="keyValue" column="key_value"/>
     </resultMap>
 
     <select id="listSubscribe" parameterType="com.zhongzheng.modules.user.bo.UserSubscribeQueryBo" resultMap="UserSubscribeVo">
@@ -439,12 +443,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
     <select id="listUserExport" parameterType="com.zhongzheng.modules.user.bo.UserSubscribeQueryBo" resultMap="UserVoResult">
         SELECT
-            us.*,u.company_name,u.job,u.edu_level,u.realname,u.telphone,u.id_card,u.sex
+            us.*,u.company_name,u.job,u.edu_level,u.realname,u.telphone,u.id_card,u.sex,u.id_card_img1,u.id_card_img2,u.one_inch_photos,up.key_value
         FROM
             user_subscribe us
         LEFT JOIN `user` u on u.user_id =us.user_id
+        LEFT JOIN user_profile up on us.order_goods_id =up.order_goods_id
         WHERE
         us.subscribe_status = 1
+          and up.current_status = 1
+        and up.type_status = 1
         <if test="applyId != null and applyId != '' ">
             and us.apply_id = #{applyId}
         </if>