he2802 3 жил өмнө
parent
commit
e842ad1a0e

+ 5 - 2
zhongzheng-admin/src/main/java/com/zhongzheng/controller/user/UserSubscribeController.java

@@ -377,9 +377,12 @@ public class UserSubscribeController extends BaseController {
     @PreAuthorize("@ss.hasPermi('system:subscribe:list')")
     @GetMapping("/listSignExport")
     public AjaxResult listSignExport(UserSubscribeQueryBo bo) {
-        List<UserSubscribeSignExportVo> list = iUserSubscribeService.listSignExport(bo);
+        Map<String,Object> map = iUserSubscribeService.listSignExport(bo);
+        List<UserSubscribeSignExportVo> list = (List<UserSubscribeSignExportVo>)map.get("list");
         ExcelUtil<UserSubscribeSignExportVo> util = new ExcelUtil<UserSubscribeSignExportVo>(UserSubscribeSignExportVo.class);
-        return util.exportExcel(list, "学员签到表");
+        map.put("excel",util.exportExcel(list, "学员签到表"));
+        map.remove("list");
+        return AjaxResult.success(map);
     }
 
     @ApiOperation("导出学员承诺书")

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/alioss/service/impl/OssServiceImpl.java

@@ -214,6 +214,9 @@ public class OssServiceImpl implements OssService {
             case 8:
                 RandomFilename = "question" + "/" + prefixName + (Validator.isNotEmpty(prefixName) ? "" : (sdf.format(new Date()))) + "/" + now;
                 break;
+            case 9:
+                RandomFilename = "wisdom" + "/" + prefixName + (Validator.isNotEmpty(prefixName) ? "" : (sdf.format(new Date()))) + "/" + now+ String.valueOf(random > 0 ? random : (-1) * random);
+                break;
         }
 
         return RandomFilename;

+ 3 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/UserSubscribeAddBo.java

@@ -158,6 +158,8 @@ public class UserSubscribeAddBo {
     /** 签名照片Base64码 */
     @ApiModelProperty("签名照片Base64码")
     private String signImageStr;
-
+    /** 智慧考场抓拍照 */
+    @ApiModelProperty("智慧考场抓拍照")
+    private String snapPictures;
 
 }

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/UserSubscribeEditBo.java

@@ -178,4 +178,7 @@ public class UserSubscribeEditBo {
     /** 签署承诺书时间 */
     @ApiModelProperty("签署承诺书时间")
     private Long reportFileTime;
+    /** 智慧考场抓拍照 */
+    @ApiModelProperty("智慧考场抓拍照")
+    private String snapPictures;
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/domain/UserSubscribe.java

@@ -115,5 +115,7 @@ private static final long serialVersionUID=1L;
     private Long signaturePushTime;
     /** 签署承诺书时间 */
     private Long reportFileTime;
+    /** 智慧考场抓拍照 */
+    private String snapPictures;
 
 }

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

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

+ 23 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserSubscribeServiceImpl.java

@@ -1843,17 +1843,38 @@ public class UserSubscribeServiceImpl extends ServiceImpl<UserSubscribeMapper, U
     }
 
     @Override
-    public List<UserSubscribeSignExportVo> listSignExport(UserSubscribeQueryBo bo) {
+    public Map<String,Object> listSignExport(UserSubscribeQueryBo bo) {
+        Map<String,Object> map = new HashMap<>();
         List<UserSubscribeVo> list = baseMapper.listSignExport(bo);
         List<UserSubscribeSignExportVo> list1 = new ArrayList<>();
+        List<FileBean> fileBeanList = new ArrayList<>(); //图片列表
         for(UserSubscribeVo vo : list){
             UserSubscribeSignExportVo item = BeanUtil.toBean(vo, UserSubscribeSignExportVo.class);
             if(Validator.isNotEmpty(vo.getWisdomReportTime())){
                 item.setWisdomReportTime(DateUtils.timestampToDateFormat(vo.getWisdomReportTime(),DateUtils.YYYY_MM_DD_HH_MM_SS));
             }
+            item.setApplySiteExamDate(DateUtils.timestampToDateFormat(vo.getApplySiteExamTime(),DateUtils.YYYY_MM_DD));
+            item.setApplySiteExamTime(vo.getApplySiteStartTime()+" - "+vo.getApplySiteEndTime());
             list1.add(item);
+            if(Validator.isNotEmpty(vo.getSnapPictures())){
+                FileBean f = new FileBean();
+                f.setPath(vo.getSnapPictures());
+                f.setFileName(vo.getIdCard() + ".jpg");
+                fileBeanList.add(f);
+            }
+        }
+        String filename = FileUtils.encodingZipFilename("考试照片");
+        String zipFile = FileUtils.getZipAbsoluteFile(filename);
+        try {
+            ZipOutputStream outStream = new ZipOutputStream(new FileOutputStream(zipFile));
+            ossService.zipWisdomDownload(fileBeanList,outStream);
+            outStream.close();
+        }
+        catch (IOException e) {
         }
-        return list1;
+        map.put("list", list1);
+        map.put("zip", AjaxResult.success(filename));
+        return map;
     }
 
     @Override

+ 8 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/vo/UserSubscribeSignExportVo.java

@@ -17,6 +17,14 @@ import lombok.Data;
 public class UserSubscribeSignExportVo {
 	private static final long serialVersionUID = 1L;
 
+	@Excel(name = "考试日期")
+	@ApiModelProperty("考试日期")
+	private String applySiteExamDate;
+
+	@Excel(name = "考试时间")
+	@ApiModelProperty("考试时间")
+	private String applySiteExamTime;
+
 
 	@Excel(name = "学员姓名")
 	@ApiModelProperty("真实姓名")

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/vo/UserSubscribeVo.java

@@ -296,4 +296,9 @@ public class UserSubscribeVo {
 
 	@ApiModelProperty("签署承诺书时间")
 	private Long reportFileTime;
+
+	/** 智慧考场抓拍照 */
+	@Excel(name = "智慧考场抓拍照")
+	@ApiModelProperty("智慧考场抓拍照")
+	private String snapPictures;
 }

+ 12 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/wisdom/service/impl/WisdomServiceImpl.java

@@ -114,6 +114,7 @@ import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
+import java.io.ByteArrayInputStream;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.text.ParseException;
@@ -416,6 +417,17 @@ public class WisdomServiceImpl  implements IWisdomService {
                         objectLambdaUpdateWrapper.set(UserSubscribe::getWisdomExamStatus,vo.getExamStatus());
                         objectLambdaUpdateWrapper.set(UserSubscribe::getWisdomReportTime,DateUtils.dateTimeSec(DateUtils.YYYY_MM_DD_HH_MM_SS,vo.getReportTime()));
                         objectLambdaUpdateWrapper.set(UserSubscribe::getSyncExamResult, "同步结果成功"+DateUtils.getTime());
+                        if(Validator.isNotEmpty(vo.getSnapPictures())){
+                            ByteArrayInputStream is = new ByteArrayInputStream(vo.getSnapPictures());
+                            String ossPath = null;
+                            try {
+                                ossPath = ossService.uploadInputStream(is, 9);
+                                is.close();
+                                objectLambdaUpdateWrapper.set(UserSubscribe::getSnapPictures, ossPath);
+                            } catch (Exception e) {
+                                e.printStackTrace();
+                            }
+                        }
                     }
                     if(vo.getDistributionStatus()==1){
                         String reason = Validator.isNotEmpty(vo.getFailureReason())?vo.getFailureReason():"";

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/wisdom/vo/WisdomResultVo.java

@@ -37,4 +37,6 @@ public class WisdomResultVo {
     private Integer distributionStatus;
 
     private String failureReason;
+
+    private byte[] snapPictures;
 }

+ 2 - 0
zhongzheng-system/src/main/resources/mapper/modules/user/UserSubscribeMapper.xml

@@ -39,6 +39,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="syncExamResult" column="sync_exam_result"/>
         <result property="signaturePushTime" column="signature_push_time"/>
         <result property="reportFileTime" column="report_file_time"/>
+        <result property="snapPictures" column="snap_pictures"/>
     </resultMap>
 
     <resultMap type="com.zhongzheng.modules.user.vo.UserSubscribeVo" id="UserSubscribeVo">
@@ -105,6 +106,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="reportFileTime" column="report_file_time"/>
         <result property="applyReportStatus" column="apply_report_status"/>
         <result property="fromPlat" column="from_plat"/>
+        <result property="snapPictures" column="snap_pictures"/>
     </resultMap>
 
     <resultMap type="com.zhongzheng.modules.user.vo.UserVo" id="UserVoResult">