瀏覽代碼

模特拍照

haogh 7 月之前
父節點
當前提交
02488d7924

+ 7 - 1
sql/fz_update.sql

@@ -212,4 +212,10 @@ WHERE `REPORT_NAME` = 'TicketStdNotDownloadReport';
 
 
 ALTER TABLE `tx_std_live_log`
 ALTER TABLE `tx_std_live_log`
     ADD INDEX `IDX_01`(`biz_token`),
     ADD INDEX `IDX_01`(`biz_token`),
-    ADD INDEX `IDX_02`(`std_id`);
+    ADD INDEX `IDX_02`(`std_id`);
+
+
+
+-- 2024-11-21
+ALTER TABLE  `std_reg`
+    ADD COLUMN `biz_token` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '腾讯活体识别token';

+ 13 - 1
sql/update.sql

@@ -135,4 +135,16 @@ INSERT INTO `cf_enrol_param`(`PARAM_TYPE`, `PARAM_NAME`, `PARAM_VALUE`, `PARAM_N
 INSERT INTO `cf_enrol_param`(`PARAM_TYPE`, `PARAM_NAME`, `PARAM_VALUE`, `PARAM_NOTE`) VALUES ('Enrol', 'ModifyStuDeadLine', '2025-03-01 09:00:00', '个人信息修改截止时间');
 INSERT INTO `cf_enrol_param`(`PARAM_TYPE`, `PARAM_NAME`, `PARAM_VALUE`, `PARAM_NOTE`) VALUES ('Enrol', 'ModifyStuDeadLine', '2025-03-01 09:00:00', '个人信息修改截止时间');
 
 
 -- 2024-11-15
 -- 2024-11-15
-delete from frame_dict where dict_name='YmStdType' and dict_text='新疆少数民族协作计划';
+delete from frame_dict where dict_name='YmStdType' and dict_text='新疆少数民族协作计划';
+
+
+-- 2024-11-21
+ALTER TABLE  `std_reg`
+    ADD COLUMN `biz_token` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '腾讯活体识别token';
+
+INSERT INTO `frame_dict`(`DICT_NAME`, `DICT_VALUE`, `DICT_TEXT`, `DICT_ORDER`) VALUES ('PhotoNum', '', '全部', 1);
+INSERT INTO `frame_dict`(`DICT_NAME`, `DICT_VALUE`, `DICT_TEXT`, `DICT_ORDER`) VALUES ('PhotoNum', '1', '1张', 2);
+INSERT INTO `frame_dict`(`DICT_NAME`, `DICT_VALUE`, `DICT_TEXT`, `DICT_ORDER`) VALUES ('PhotoNum', '2', '2张', 3);
+INSERT INTO `frame_dict`(`DICT_NAME`, `DICT_VALUE`, `DICT_TEXT`, `DICT_ORDER`) VALUES ('PhotoNum', '3', '3张', 4);
+
+INSERT INTO `frame_res`(`RES_ID`, `RES_NAME`, `RES_ALIAS`, `RES_URL`, `RES_PID`, `RES_LEVEL`, `RES_TYPE`, `RES_CSS`, `RES_STATUS`, `RES_ORDER`, `RES_DESC`) VALUES (304070, '模特照片查看', '模特照片查看', 'art/exam/photograph/model', 304000, 4, 'Page', 'icon-grid text-primary', 'Active', 304070, NULL);

+ 84 - 0
src/cn/hmsoft/art/control/ex/photo/LyRoomModelPhotoControl.java

@@ -0,0 +1,84 @@
+package cn.hmsoft.art.control.ex.photo;
+
+import cn.hmsoft.application.web.Ajax;
+import cn.hmsoft.application.web.AjaxControl;
+import cn.hmsoft.art.service.ex.photo.LyRoomModelPhotoService;
+import cn.hmsoft.helper.excel.Excel2007Writer;
+import cn.hmsoft.jdbc.entity.Pager;
+import cn.hmsoft.log.LogHelper;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.ServletOutputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Description 笔试考场模特拍照控制类
+ */
+@RestController
+public class LyRoomModelPhotoControl extends AjaxControl {
+
+    @Autowired
+    private LyRoomModelPhotoService lyRoomModelPhotoService;
+
+    @RequestMapping("ly/room/model/photo/page")
+    public Ajax page(Integer start, Integer limit, String query, String order, String type, Integer num) {
+        return new Ajax(lyRoomModelPhotoService.page(start, limit, query, getQueryOrder(order, type), num));
+    }
+
+    @RequestMapping("ly/room/model/photo/export")
+    public void export(String query, String order, String type, Integer num) {
+        List<List<Object>> values = new ArrayList<>();
+        List<Object> headerList = new ArrayList<>();
+        ServletOutputStream outStream = null;
+        headerList.add("分组名称");
+        headerList.add("考场名称");
+        headerList.add("考场地址");
+        headerList.add("照片数量");
+        values.add(headerList);
+
+        Pager pager = lyRoomModelPhotoService.page(0, Integer.MAX_VALUE, query, getQueryOrder(order, type), num);
+        List<Map<String,Object>> list = (List<Map<String, Object>>) pager.getRecords();
+        for(Map<String,Object> map: list) {
+            List<Object> rowList = new ArrayList<Object>();
+            rowList.add(map.get("group_name"));
+            rowList.add(map.get("room_name"));
+            rowList.add(map.get("room_addr"));
+            rowList.add(map.get("nums"));
+            values.add(rowList);
+        }
+
+        try {
+            String fileName = "模特拍照统计" + ".xlsx";
+            fileName = URLEncoder.encode(fileName, "UTF-8");
+            fileName = new String(fileName.getBytes(), StandardCharsets.ISO_8859_1);
+            XSSFWorkbook wb = Excel2007Writer.createExcel(values);
+            ByteArrayOutputStream os = new ByteArrayOutputStream();
+            wb.write(os);
+            this.getResponse().reset();
+            this.getResponse().setContentType("application/x-msdownload");
+            this.getResponse().setHeader("Content-Disposition", "attachment; filename=" + fileName);
+            outStream = this.getResponse().getOutputStream();
+            outStream.write(os.toByteArray());
+        } catch (Exception e) {
+            LogHelper.error(e.getMessage());
+        } finally {
+            if(outStream != null) {
+                try {
+                    outStream.close();
+                } catch (IOException e) {
+                    LogHelper.error(e.getMessage());
+                }
+            }
+        }
+
+    }
+}

+ 24 - 0
src/cn/hmsoft/art/data/dao/ly/LyRoomModelPhotoDao.java

@@ -1,7 +1,10 @@
 package cn.hmsoft.art.data.dao.ly;
 package cn.hmsoft.art.data.dao.ly;
 
 
 import cn.hmsoft.art.data.model.ly.LyRoomModelPhoto;
 import cn.hmsoft.art.data.model.ly.LyRoomModelPhoto;
+import cn.hmsoft.helper.StringHelper;
 import cn.hmsoft.jdbc.core.PlatformDaoSupport;
 import cn.hmsoft.jdbc.core.PlatformDaoSupport;
+import cn.hmsoft.jdbc.entity.Pager;
+import cn.hmsoft.jdbc.entity.QueryOrder;
 import org.springframework.stereotype.Repository;
 import org.springframework.stereotype.Repository;
 
 
 @Repository
 @Repository
@@ -11,4 +14,25 @@ public class LyRoomModelPhotoDao extends PlatformDaoSupport<LyRoomModelPhoto> {
         String sql = "select * from ly_room_model_photo where room_id=? and seq=? ";
         String sql = "select * from ly_room_model_photo where room_id=? and seq=? ";
         return this.findBySql(sql, roomId, roomImageType);
         return this.findBySql(sql, roomId, roomImageType);
     }
     }
+
+    public Pager pagePhoto(Integer start, Integer limit, String query, QueryOrder queryOrder, Integer num) {
+        String sql = "SELECT * FROM ( SELECT g.group_name,rw.ly_room_id,rw.room_seq,rw.room_name,rw.room_addr,count(mp.id) nums FROM ly_group g,ly_room_written rw ";
+        sql += " LEFT JOIN ly_room_model_photo mp ON rw.ly_room_id=mp.room_id WHERE ROOM_PROVINCE='1'  AND rw.ly_group_id=g.ly_group_id ";
+        if (StringHelper.isEmpty(query)) {
+            sql += " GROUP BY g.group_name,rw.ly_room_id,rw.room_name,rw.room_addr ";
+            sql += " ORDER BY g.group_name,rw.room_seq) rt ";
+            if (num != null) {
+                sql += "  WHERE nums= " + num;
+            }
+            return this.pageMapBySql(queryOrder, start, limit, sql);
+        }
+        String value = this.generateLikeParamter(query.trim());
+        sql += " and (rw.room_addr like ? or rw.room_name like ?)";
+        sql += " GROUP BY g.group_name,rw.ly_room_id,rw.room_name,rw.room_addr ";
+        sql += " ORDER BY g.group_name,rw.room_seq) rt ";
+        if (num != null) {
+            sql += "  WHERE nums= " + num;
+        }
+        return this.pageMapBySql(queryOrder, start, limit, sql, value, value);
+    }
 }
 }

+ 31 - 0
src/cn/hmsoft/art/service/ex/photo/LyRoomModelPhotoService.java

@@ -0,0 +1,31 @@
+package cn.hmsoft.art.service.ex.photo;
+
+import cn.hmsoft.art.data.dao.ly.LyRoomModelPhotoDao;
+import cn.hmsoft.art.data.model.ly.LyRoomModelPhoto;
+import cn.hmsoft.art.service.ArtService;
+import cn.hmsoft.jdbc.entity.Pager;
+import cn.hmsoft.jdbc.entity.QueryOrder;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+
+@Service
+public class LyRoomModelPhotoService extends ArtService {
+
+    @Autowired
+    private LyRoomModelPhotoDao lyRoomModelPhotoDao;
+
+    public Pager page(Integer start, Integer limit, String query, QueryOrder queryOrder, Integer num) {
+        Pager pager = lyRoomModelPhotoDao.pagePhoto(start, limit, query, queryOrder, num);
+        List<Map<String, Object>> records = (List<Map<String, Object>>) pager.getRecords();
+        for (Map<String, Object> record : records) {
+            List<LyRoomModelPhoto> photoList = lyRoomModelPhotoDao.list("room_id", record.get("ly_room_id"), new QueryOrder("seq"));
+            record.put("photo1", !photoList.isEmpty() ? photoList.get(0).getPhoto_path() : null);
+            record.put("photo2", photoList.size() > 1 ? photoList.get(1).getPhoto_path() : null);
+            record.put("photo3", photoList.size() > 2 ? photoList.get(2).getPhoto_path() : null);
+        }
+        return pager;
+    }
+}