Browse Source

模特拍照

haogh 7 months ago
parent
commit
14fc0392ca

+ 24 - 15
src/cn/hmsoft/art/control/ex/pad/PadAppControl.java

@@ -1,14 +1,15 @@
 package cn.hmsoft.art.control.ex.pad;
 
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import javax.servlet.http.HttpServletRequest;
-
+import cn.hmsoft.application.web.Ajax;
 import cn.hmsoft.art.data.dao.cf.CfAgentDao;
+import cn.hmsoft.art.data.dao.ly.LyAgentDao;
+import cn.hmsoft.art.data.dao.std.StdRegDao;
+import cn.hmsoft.art.data.model.std.StdReg;
 import cn.hmsoft.art.helper.ArtParamHelper;
+import cn.hmsoft.art.service.ex.pad.PadAppService;
+import cn.hmsoft.frame.exception.BusinessException;
+import cn.hmsoft.frame.util.FrameAssertUtil;
+import cn.hmsoft.helper.StringHelper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
@@ -16,14 +17,10 @@ import org.springframework.web.multipart.MultipartFile;
 import org.springframework.web.multipart.MultipartHttpServletRequest;
 import org.springframework.web.multipart.commons.CommonsMultipartResolver;
 
-import cn.hmsoft.application.web.Ajax;
-import cn.hmsoft.art.data.dao.ly.LyAgentDao;
-import cn.hmsoft.art.data.dao.std.StdRegDao;
-import cn.hmsoft.art.data.model.std.StdReg;
-import cn.hmsoft.art.service.ex.pad.PadAppService;
-import cn.hmsoft.frame.exception.BusinessException;
-import cn.hmsoft.frame.util.FrameAssertUtil;
-import cn.hmsoft.helper.StringHelper;
+import javax.servlet.http.HttpServletRequest;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
 
 /**
  * @pad拍照相关接口.
@@ -160,5 +157,17 @@ public class PadAppControl {
 		return new Ajax(daoCfAgent.listBySql(sql));
 	}
 
+	/**
+	 *  根据考生的准考证号查询模特照片
+	 * @param password 密码
+	 * @param ticket_no 准考证号
+	 * @return ajax
+	 */
+	@RequestMapping("pad/photo/list")
+	public Ajax listPhoto(String password, String ticket_no) {
+		FrameAssertUtil.isEqual(password, AgentDownloadWriteStdPass, "密码错误,请重试");
+		return new Ajax(sPadApp.listPhoto(ticket_no));
+	}
+
 
 }

+ 9 - 1
src/cn/hmsoft/art/data/dao/ly/LyStdSubjectDao.java

@@ -5,6 +5,7 @@ import java.time.LocalDateTime;
 import java.util.List;
 import java.util.Map;
 
+import cn.hmsoft.art.data.vo.pad.ModelPhotoBean;
 import org.springframework.stereotype.Repository;
 
 import cn.hmsoft.art.data.model.ex.StdPhotoEntity;
@@ -680,5 +681,12 @@ public class LyStdSubjectDao extends PlatformDaoSupport<LyStdSubject> {
 		sql.append("    	w.room_seq                              ");
 		return this.listMapBySql(sql.toString());
 	}
-	
+
+    public List<ModelPhotoBean> listRoomModelPhoto(Integer stdId) {
+		String sql = " SELECT ss.subject_name ,mp.seq,mp.photo_path  "
+				+ " FROM ly_std_subject ss,ly_room_model_photo mp,ly_room_written rw  "
+				+ " WHERE ss.ly_room_id=mp.room_id AND mp.room_id=rw.ly_room_id AND ss.std_id=? "
+				+ " ORDER BY ss.subject_name,mp.seq ";
+		return this.listBySql(ModelPhotoBean.class, sql, stdId);
+	}
 }

+ 19 - 0
src/cn/hmsoft/art/data/vo/pad/ModelPhotoBean.java

@@ -0,0 +1,19 @@
+package cn.hmsoft.art.data.vo.pad;
+
+import java.io.Serializable;
+
+public class ModelPhotoBean extends ModelPhotoRetVO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    // 科目名称
+    private String subject_name;
+
+    public String getSubject_name() {
+        return subject_name;
+    }
+
+    public void setSubject_name(String subject_name) {
+        this.subject_name = subject_name;
+    }
+}

+ 27 - 0
src/cn/hmsoft/art/data/vo/pad/ModelPhotoRetVO.java

@@ -0,0 +1,27 @@
+package cn.hmsoft.art.data.vo.pad;
+
+
+public class ModelPhotoRetVO {
+
+    // 序号
+    private Integer seq;
+
+    //路径
+    private String photo_path;
+
+    public Integer getSeq() {
+        return seq;
+    }
+
+    public void setSeq(Integer seq) {
+        this.seq = seq;
+    }
+
+    public String getPhoto_path() {
+        return photo_path;
+    }
+
+    public void setPhoto_path(String photo_path) {
+        this.photo_path = photo_path;
+    }
+}

+ 31 - 0
src/cn/hmsoft/art/data/vo/pad/ModelPhotoVO.java

@@ -0,0 +1,31 @@
+package cn.hmsoft.art.data.vo.pad;
+
+import java.util.List;
+
+/**
+ * @Description 模特照片
+ */
+public class ModelPhotoVO {
+
+    // 科目名称
+    private String subject_name;
+
+    //模特照片
+    private List<ModelPhotoRetVO> modelPhotoList;
+
+    public String getSubject_name() {
+        return subject_name;
+    }
+
+    public void setSubject_name(String subject_name) {
+        this.subject_name = subject_name;
+    }
+
+    public List<ModelPhotoRetVO> getModelPhotoList() {
+        return modelPhotoList;
+    }
+
+    public void setModelPhotoList(List<ModelPhotoRetVO> modelPhotoList) {
+        this.modelPhotoList = modelPhotoList;
+    }
+}

+ 46 - 14
src/cn/hmsoft/art/service/ex/pad/PadAppService.java

@@ -5,10 +5,15 @@ import cn.hmsoft.art.constants.StdImageType;
 import cn.hmsoft.art.data.dao.ex.ExStdLogDao;
 import cn.hmsoft.art.data.dao.ly.LyRoomModelPhotoDao;
 import cn.hmsoft.art.data.dao.ly.LyStdSubjectDao;
+import cn.hmsoft.art.data.dao.ly.LyStdTicketDao;
 import cn.hmsoft.art.data.dao.std.StdRegDao;
 import cn.hmsoft.art.data.model.ly.LyRoomModelPhoto;
 import cn.hmsoft.art.data.model.ly.LyRoomWritten;
+import cn.hmsoft.art.data.model.ly.LyStdTicket;
 import cn.hmsoft.art.data.model.std.StdReg;
+import cn.hmsoft.art.data.vo.pad.ModelPhotoBean;
+import cn.hmsoft.art.data.vo.pad.ModelPhotoRetVO;
+import cn.hmsoft.art.data.vo.pad.ModelPhotoVO;
 import cn.hmsoft.art.helper.ArtParamHelper;
 import cn.hmsoft.art.service.ArtService;
 import cn.hmsoft.frame.exception.BusinessException;
@@ -16,13 +21,15 @@ import cn.hmsoft.frame.util.FrameAssertUtil;
 import cn.hmsoft.helper.FileHelper;
 import cn.hmsoft.helper.RandomHelper;
 import cn.hmsoft.log.LogHelper;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.File;
 import java.time.LocalDateTime;
-import java.util.Objects;
+import java.util.*;
+import java.util.stream.Collectors;
 
 @Service
 public class PadAppService extends ArtService {
@@ -38,6 +45,9 @@ public class PadAppService extends ArtService {
 
 	@Autowired
 	private LyRoomModelPhotoDao roomModelPhotoDao;
+
+	@Autowired
+	private LyStdTicketDao stdTicketDao;
 	
 	//模特照片上传
 	public void uploadMoteImage(int room_id, int room_image_type, MultipartFile file) {
@@ -125,18 +135,40 @@ public class PadAppService extends ArtService {
 		return true;
 	}
 
-	public static void main(String[] args) {
-		LyRoomWritten rw = new LyRoomWritten();
-		rw.setRoom_name("第1考场");
-		rw.setRoom_addr("附中教学楼1208");
-		String image_type = "mote_测试";
-		int room_id = 88;
-		int room_image_type = 1;
-		String dot = "jpg";
-		File file = new File(ArtParamHelper.EnrolMaterialLocalPath
-				+ File.separator + "mote" + File.separator + rw.getRoom_name() + "(" + rw.getRoom_addr() + ")" + File.separator + image_type
-				+ "_" + room_id + "_" + room_image_type + "_"
-				+ RandomHelper.getRandomValue(8) + "." + dot);
-		System.out.println(file.getName());
+	public List<ModelPhotoVO> listPhoto(String ticketNo) {
+		LyStdTicket stdTicket = stdTicketDao.find("ticket_no", ticketNo);
+		if (stdTicket == null) {
+			LogHelper.warn("[模特照片查看], ticketNo: " + ticketNo);
+			throw new BusinessException("考生不存在");
+		}
+		if (stdTicket.getStd_id() == null) {
+			throw new BusinessException("考生ID不能为空");
+		}
+		// 查看考生所在考场的模特照片
+		List<ModelPhotoBean> photoList = daoSubject.listRoomModelPhoto(stdTicket.getStd_id());
+		Map<String, List<ModelPhotoBean>> photoMap = photoList.stream().collect(Collectors.groupingBy(ModelPhotoBean::getSubject_name));
+
+		// 组装前端返回
+		List<ModelPhotoVO> resultList = new ArrayList<>(photoMap.size());
+		Set<Map.Entry<String, List<ModelPhotoBean>>> photoEntry = photoMap.entrySet();
+		for (Map.Entry<String, List<ModelPhotoBean>> entry : photoEntry) {
+			List<ModelPhotoBean> list = entry.getValue();
+			ModelPhotoVO photo = new ModelPhotoVO();
+			photo.setSubject_name(entry.getKey());
+			photo.setModelPhotoList(convertModelPhotoList(list));
+			resultList.add(photo);
+		}
+		return resultList;
+	}
+
+	private List<ModelPhotoRetVO> convertModelPhotoList(List<ModelPhotoBean> list) {
+		List<ModelPhotoRetVO> returnList = new ArrayList<>(list.size());
+		for (ModelPhotoBean bean : list) {
+			ModelPhotoRetVO photo = new ModelPhotoRetVO();
+			photo.setSeq(bean.getSeq());
+			photo.setPhoto_path(ArtParamHelper.EnrolMaterialWebPath + bean.getPhoto_path());
+			returnList.add(photo);
+		}
+		return returnList;
 	}
 }