From eda18c424b84b43669891b97649ef0475996ec52 Mon Sep 17 00:00:00 2001
From: baishou_zjx <2710684311@qq.com>
Date: Wed, 7 Aug 2019 20:08:53 +0800
Subject: [PATCH] 晨检机器人移动端接口初步完成

---
 springboot/morning-check/src/main/java/com/sincere/morningcheck/MorningCheckApplication.java                    |  2 --
 springboot/morning-check/src/main/java/com/sincere/morningcheck/common/MD5.java                                 |  1 +
 springboot/morning-check/src/main/java/com/sincere/morningcheck/config/CustomConfiguration.java                 | 18 ++++++++++++++++++
 springboot/morning-check/src/main/java/com/sincere/morningcheck/config/Swagger2.java                            |  2 +-
 springboot/morning-check/src/main/java/com/sincere/morningcheck/controller/CheckReportController.java           | 34 ++++++++++++++++++++++++++++++++++
 springboot/morning-check/src/main/java/com/sincere/morningcheck/controller/MorningCheckController.java          | 95 ++++++++++++++++++++++++++++++++++++++++++-----------------------------------------------------
 springboot/morning-check/src/main/java/com/sincere/morningcheck/dao/FileDao.java                                | 12 ++++++++++++
 springboot/morning-check/src/main/java/com/sincere/morningcheck/dao/StudentCheckReportDao.java                  | 15 +++++++++++++++
 springboot/morning-check/src/main/java/com/sincere/morningcheck/dao/StudentDao.java                             |  2 ++
 springboot/morning-check/src/main/java/com/sincere/morningcheck/model/ApiStudentCheckReport.java                | 36 ++++++++++++++++++++++++++++++++++++
 springboot/morning-check/src/main/java/com/sincere/morningcheck/model/CheckResult.java                          | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
 springboot/morning-check/src/main/java/com/sincere/morningcheck/model/FileEntity.java                           |  8 ++++++--
 springboot/morning-check/src/main/java/com/sincere/morningcheck/model/StudentCheckReport.java                   | 41 +++++++++++++++++++++++++++++++++++++++++
 springboot/morning-check/src/main/java/com/sincere/morningcheck/service/FileUpAndDownService.java               |  3 +++
 springboot/morning-check/src/main/java/com/sincere/morningcheck/service/StudentCheckReportService.java          | 13 +++++++++++++
 springboot/morning-check/src/main/java/com/sincere/morningcheck/service/impl/FileUpAndDownServiceImpl.java      | 32 +++++++++++++++++++++++---------
 springboot/morning-check/src/main/java/com/sincere/morningcheck/service/impl/StudentCheckReportServiceImpl.java | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 springboot/morning-check/src/main/resources/application.properties                                              | 12 +++++++++---
 springboot/morning-check/src/main/resources/file-message.properties                                             |  2 +-
 springboot/morning-check/src/main/resources/mapper/StudentCheckReport.xml                                       | 37 +++++++++++++++++++++++++++++++++++++
 springboot/morning-check/src/main/resources/mapper/filemapper.xml                                               | 25 +++++++++++++++++++++++++
 springboot/morning-check/src/main/resources/mapper/studentmapper.xml                                            |  5 +++++
 springboot/src/main/java/com/sincre/springboot/controller/TuYaYunController.java                                |  2 +-
 23 files changed, 460 insertions(+), 72 deletions(-)
 create mode 100644 springboot/morning-check/src/main/java/com/sincere/morningcheck/config/CustomConfiguration.java
 create mode 100644 springboot/morning-check/src/main/java/com/sincere/morningcheck/controller/CheckReportController.java
 create mode 100644 springboot/morning-check/src/main/java/com/sincere/morningcheck/dao/FileDao.java
 create mode 100644 springboot/morning-check/src/main/java/com/sincere/morningcheck/dao/StudentCheckReportDao.java
 create mode 100644 springboot/morning-check/src/main/java/com/sincere/morningcheck/model/ApiStudentCheckReport.java
 create mode 100644 springboot/morning-check/src/main/java/com/sincere/morningcheck/model/CheckResult.java
 create mode 100644 springboot/morning-check/src/main/java/com/sincere/morningcheck/model/StudentCheckReport.java
 create mode 100644 springboot/morning-check/src/main/java/com/sincere/morningcheck/service/StudentCheckReportService.java
 create mode 100644 springboot/morning-check/src/main/java/com/sincere/morningcheck/service/impl/StudentCheckReportServiceImpl.java
 create mode 100644 springboot/morning-check/src/main/resources/mapper/StudentCheckReport.xml
 create mode 100644 springboot/morning-check/src/main/resources/mapper/filemapper.xml

diff --git a/springboot/morning-check/src/main/java/com/sincere/morningcheck/MorningCheckApplication.java b/springboot/morning-check/src/main/java/com/sincere/morningcheck/MorningCheckApplication.java
index 44871e9..299e47c 100644
--- a/springboot/morning-check/src/main/java/com/sincere/morningcheck/MorningCheckApplication.java
+++ b/springboot/morning-check/src/main/java/com/sincere/morningcheck/MorningCheckApplication.java
@@ -1,8 +1,6 @@
 package com.sincere.morningcheck;
 
-import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.boot.autoconfigure.web.servlet.MultipartAutoConfiguration;
 import org.springframework.context.annotation.Bean;
diff --git a/springboot/morning-check/src/main/java/com/sincere/morningcheck/common/MD5.java b/springboot/morning-check/src/main/java/com/sincere/morningcheck/common/MD5.java
index f70a353..f4e6928 100644
--- a/springboot/morning-check/src/main/java/com/sincere/morningcheck/common/MD5.java
+++ b/springboot/morning-check/src/main/java/com/sincere/morningcheck/common/MD5.java
@@ -30,6 +30,7 @@ public class MD5 {
     public static boolean verify(String text, String key, String md5) throws Exception {
         //根据传入的密钥进行验证
         String md5Text = md5(text, key);
+        System.out.println("签名:"+md5Text);
         if(md5Text.equalsIgnoreCase(md5))
         {
             return true;
diff --git a/springboot/morning-check/src/main/java/com/sincere/morningcheck/config/CustomConfiguration.java b/springboot/morning-check/src/main/java/com/sincere/morningcheck/config/CustomConfiguration.java
new file mode 100644
index 0000000..e84bd06
--- /dev/null
+++ b/springboot/morning-check/src/main/java/com/sincere/morningcheck/config/CustomConfiguration.java
@@ -0,0 +1,18 @@
+package com.sincere.morningcheck.config;
+
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+@Configuration
+public class CustomConfiguration implements WebMvcConfigurer {
+    @Autowired
+    private MessageProperties config; //用来获取file-message.properties配置文件中的信息
+    public void addResourceHandlers(ResourceHandlerRegistry registry) {
+        //上传的图片在D盘下的E:/MorningRobot/UploadData/images/目录下,访问路径如:http://localhost:8081/images/1.jpg
+        //其中images表示访问的前缀。"file:E:/MorningRobot/UploadData/images/"是文件真实的存储路径
+        registry.addResourceHandler("/images/**").addResourceLocations("file:"+config.getUpPath());
+    }
+}
diff --git a/springboot/morning-check/src/main/java/com/sincere/morningcheck/config/Swagger2.java b/springboot/morning-check/src/main/java/com/sincere/morningcheck/config/Swagger2.java
index 399f377..8238d6d 100644
--- a/springboot/morning-check/src/main/java/com/sincere/morningcheck/config/Swagger2.java
+++ b/springboot/morning-check/src/main/java/com/sincere/morningcheck/config/Swagger2.java
@@ -28,7 +28,7 @@ public class Swagger2 {
     private ApiInfo apiInfo() {
         return new ApiInfoBuilder()
                 .title("晨检机使用的WebApi说明文档")
-                .contact(new Contact("Ziv","localhost:8080/swagger-ui.html",""))
+                .contact(new Contact("Ziv","localhost:8999/swagger-ui.html",""))
                 .description("")
                 .termsOfServiceUrl("")
                 .version("2.0")
diff --git a/springboot/morning-check/src/main/java/com/sincere/morningcheck/controller/CheckReportController.java b/springboot/morning-check/src/main/java/com/sincere/morningcheck/controller/CheckReportController.java
new file mode 100644
index 0000000..f618c0f
--- /dev/null
+++ b/springboot/morning-check/src/main/java/com/sincere/morningcheck/controller/CheckReportController.java
@@ -0,0 +1,34 @@
+package com.sincere.morningcheck.controller;
+
+import com.sincere.morningcheck.common.ServerResponse;
+import com.sincere.morningcheck.model.ApiStudentCheckReport;
+import com.sincere.morningcheck.service.StudentCheckReportService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+
+@RestController
+@RequestMapping("check_report")
+@Api(value = "CheckReportController",tags = "晨检机检查报告接口")
+public class CheckReportController {
+
+
+    @Autowired
+    StudentCheckReportService studentCheckReportService;
+    @ApiOperation(value = "根据学生的用户ID获取学生晨检报告")
+    @ApiImplicitParam(name="stuUserId",value = "学生用户ID",required = true)
+    @GetMapping("getCheckReport")
+    public ServerResponse<ApiStudentCheckReport> getCheckReport(@RequestParam String stuUserId){
+
+        return studentCheckReportService.getCheckReport(stuUserId);
+    }
+
+
+}
diff --git a/springboot/morning-check/src/main/java/com/sincere/morningcheck/controller/MorningCheckController.java b/springboot/morning-check/src/main/java/com/sincere/morningcheck/controller/MorningCheckController.java
index 8e8bfc6..bbea1ec 100644
--- a/springboot/morning-check/src/main/java/com/sincere/morningcheck/controller/MorningCheckController.java
+++ b/springboot/morning-check/src/main/java/com/sincere/morningcheck/controller/MorningCheckController.java
@@ -5,8 +5,10 @@ import com.sincere.morningcheck.common.MD5;
 import com.sincere.morningcheck.common.ServerResponse;
 import com.sincere.morningcheck.model.School;
 import com.sincere.morningcheck.model.Student;
+import com.sincere.morningcheck.model.StudentCheckReport;
 import com.sincere.morningcheck.model.User;
 import com.sincere.morningcheck.service.FileUpAndDownService;
+import com.sincere.morningcheck.service.StudentCheckReportService;
 import com.sincere.morningcheck.service.StudentService;
 import com.sincere.morningcheck.service.UserServer;
 import com.sincere.morningcheck.service.impl.FileUpAndDownServiceImpl;
@@ -22,6 +24,9 @@ import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.Calendar;
@@ -39,7 +44,6 @@ public class MorningCheckController {
     @Value("${salt}")
     private String salt;
 
-    EhcacheUtil ehcacheUtil = new EhcacheUtil();
     @Autowired
     UserServer userServer;
 
@@ -49,6 +53,9 @@ public class MorningCheckController {
     @Autowired
     FileUpAndDownService fileUpAndDownService;
 
+    @Autowired
+    StudentCheckReportService studentCheckReportService;
+
     @ApiOperation("设备请求登陆接口")
     @ApiImplicitParams ({
             @ApiImplicitParam(name = "deviceNo", value = "设备号", dataType = "String",required = true,paramType = "query"),
@@ -56,9 +63,8 @@ public class MorningCheckController {
             @ApiImplicitParam(name = "authSign", value = "签名", dataType = "String",required = true,paramType = "query"),
     })
     @PostMapping("login")
-    public ServerResponse login(@RequestParam String deviceNo, @RequestParam String password,@RequestParam String authSign){
+    public ServerResponse login(HttpServletRequest request,@RequestParam String deviceNo, @RequestParam String password,@RequestParam String authSign){
 
-//        System.out.println("传入的参数:设备号"+deviceNo+",密码:"+password+",签名"+authSign);
         ServerResponse serverResponse = null;
 
         Map map = new HashMap();
@@ -72,14 +78,15 @@ public class MorningCheckController {
             System.out.println(signUrl);
 //            String md5 = MD5.md5(signUrl, salt);
             boolean verify = MD5.verify(signUrl,salt,authSign);
-            System.out.println("签名是否正确"+verify);
 
             if(verify) {
 
                 User user = userServer.getDeviceUser(deviceNo);
                 user.setParameter("0");
                 user.setToken(token);
-                ehcacheUtil.set("deviceId",user.getDeviceId());
+                HttpSession session = request.getSession();
+                session.setAttribute("deviceId",user.getDeviceId());
+                session.setMaxInactiveInterval(-1);//从不过期
                 serverResponse = ServerResponse.createBySuccess("success",user);
 
             }else{
@@ -148,9 +155,8 @@ public class MorningCheckController {
                     "时间格式为 : yyyy-MM-dd-HH-mm-ss", dataType = "String",paramType = "query")
     })
     @PostMapping("signByCard")
-    public ServerResponse swipeCard(@RequestParam String token,@RequestParam String cardNo,@RequestParam Integer imageId,@RequestParam String authSign,@RequestParam(required = false) String date){
+    public ServerResponse swipeCard(HttpServletRequest request,@RequestParam String token,@RequestParam String cardNo,@RequestParam Integer imageId,@RequestParam String authSign,@RequestParam(required = false) String date){
 
-//        System.out.println("刷卡签到传入的参数:卡号"+cardNo+",图片ID:"+imageId+",签名"+authSign);
         LogUtil.printInfoLog("刷卡签到传入的参数:卡号"+cardNo+",图片ID:"+imageId+",签名"+authSign);
         ServerResponse serverResponse = null;
 
@@ -185,21 +191,16 @@ public class MorningCheckController {
             boolean verify = MD5.verify(signUrl,salt,authSign);
             System.out.println("签名是否正确"+verify);
             if(verify) {
-                int index = imageId -1;
-                if(FileUpAndDownServiceImpl.globalFileEntities.size()>0) {
-                    System.out.println("对应图像地址:" + FileUpAndDownServiceImpl.globalFileEntities.get(index).getImgObPath());
-                }
-                //卡号,图片,刷卡时间(如果没有, 当前时间),设备号
-                System.out.println("卡号:"+cardNo+",图片ID"+imageId+",设备标识:"+ehcacheUtil.get("deviceId")+",当前时间"+date+",刷进设备的卡号是:"+card);
-
+                HttpSession session = request.getSession();
+                String deviceId = session.getAttribute("deviceId").toString();
                 Map<String,Object> hashMap = new HashMap<>();
                 //设备编号
-                hashMap.put("att_id",ehcacheUtil.get("deviceId"));
+                hashMap.put("att_id",deviceId);
                 hashMap.put("card_num",card);
                 hashMap.put("func_no","08");
                 hashMap.put("flag",0);
                 hashMap.put("intime",dateIn);
-                System.out.println(dateIn);
+                System.out.println(deviceId);
 
                 studentService.swipeCard(hashMap);
                 System.out.println("集合数量:"+hashMap.size());
@@ -232,9 +233,8 @@ public class MorningCheckController {
             @ApiImplicitParam(name = "authSign", value = "签名", dataType = "String",required = true,paramType = "query")
     })
     @PostMapping("signOutByCard")
-    public ServerResponse signOutByCard(@RequestParam String token,@RequestParam String cardNo,@RequestParam Integer imageId,@RequestParam String authSign){
+    public ServerResponse signOutByCard(HttpServletRequest request,@RequestParam String token,@RequestParam String cardNo,@RequestParam Integer imageId,@RequestParam String authSign){
 
-//        System.out.println("离园签到传入的参数:卡号"+cardNo+",图片ID:"+imageId+",签名"+authSign);
         ServerResponse serverResponse = null;
         LogUtil.printInfoLog("离园签到传入的参数:卡号"+cardNo+",图片ID:"+imageId+",签名"+authSign);
 
@@ -251,15 +251,10 @@ public class MorningCheckController {
             boolean verify = MD5.verify(signUrl,salt,authSign);
             System.out.println("签名是否正确"+verify);
             if(verify) {
-
-                int index = imageId -1;
-                if(FileUpAndDownServiceImpl.globalFileEntities.size()>0) {
-                    System.out.println("对应图像地址:" + FileUpAndDownServiceImpl.globalFileEntities.get(index).getImgObPath());
-                }
-                //卡号,图片,刷卡时间(如果没有, 当前时间),设备号
-                System.out.println("卡号:"+cardNo+",图片ID"+imageId+",设备标识:"+ehcacheUtil.get("deviceId")+",刷进设备的卡号是:"+card);
+                HttpSession session = request.getSession();
+                String deviceId = session.getAttribute("deviceId").toString();
                 Map<String,Object> hashMap = new HashMap<>();
-                hashMap.put("att_id",ehcacheUtil.get("deviceId"));
+                hashMap.put("att_id",deviceId);
                 hashMap.put("card_num",card);
                 hashMap.put("func_no","08");
                 hashMap.put("flag",0);
@@ -272,8 +267,7 @@ public class MorningCheckController {
                 String msg = String.format("学生%s你好",student.getStuName());
                 serverResponse = ServerResponse.createBySuccessMessage(msg);
             }else{
-
-                serverResponse = ServerResponse.createByErrorMessage("签名失败");
+                serverResponse = ServerResponse.createByErrorMessage("签名校验失败");
             }
         }
         catch (Exception ex){
@@ -293,11 +287,7 @@ public class MorningCheckController {
     })
     public ServerResponse moreFileUpload(@RequestParam(value = "file", required = false) MultipartFile[] file, @RequestParam(value = "token") String token, @RequestParam(value="type") String type,@RequestParam String authSign) {
 
-
         LogUtil.printInfoLog("上传多个文件传入的类型:"+type+",签名:"+authSign);
-//        System.out.println("上传多个文件传入的类型:"+type+",签名:"+authSign);
-
-        System.out.println("文件数量:"+file.length);
 
         ServerResponse serverResponse = null;
         Map map = new HashMap();
@@ -306,24 +296,22 @@ public class MorningCheckController {
 
         String[] fileNames = type.split("_");
         if(fileNames.length != file.length){
-            System.out.println("类型数量和文件数量不一致,程序中断");
             return ServerResponse.createByErrorMessage("类型数量和文件数量不一致,程序中断");
-        }else {
-            System.out.println("类型数量和文件数量一致,文件已经上传");
         }
+
         String queryUrl = DataConvertHelper.mapAscSortToUrl(map);
         try {
             String signUrl = queryUrl.replace("&","");
 //            String md5 = MD5.md5(signUrl, salt);
             boolean verify = MD5.verify(signUrl,salt,authSign);
-            System.out.println("签名是否正确"+verify);
             if(verify) {
                 try {
                     serverResponse = fileUpAndDownService.uploadPicture(file,fileNames);
                 } catch (Exception e) {
-                    System.out.println(">>>>>>图片上传异常,ex="+e.getMessage());
                     serverResponse = ServerResponse.createByErrorMessage(String.format(">>>>>>图片上传异常,e=%s", e.getMessage()));
                 }
+            }else{
+                serverResponse = ServerResponse.createByErrorMessage("签名校验失败");
             }
         }
         catch (Exception ex){
@@ -351,14 +339,9 @@ public class MorningCheckController {
     @PostMapping("uploadCheckReport")
     public ServerResponse uploadCheckReport(@RequestParam String token,@RequestParam String cardNo,@RequestParam String result,@RequestParam String robotResult,@RequestParam String access,@RequestParam String temperature,@RequestParam(required = false) String handImgId,@RequestParam(required = false) String mouthImgId,@RequestParam(required = false) String eyeImgId,@RequestParam String authSign){
 
-//        System.out.println("传入的参数:卡号"+cardNo+",检查结果:"+result+",检查机判断结果:"+robotResult+",签名"+authSign);
-        LogUtil.printInfoLog("传入的参数:卡号"+cardNo+",检查结果:"+result+",检查机判断结果:"+robotResult+",签名"+authSign);
-        System.out.println("嘴部异常图片ID:"+mouthImgId);
-        System.out.println("手部异常图片ID:"+handImgId);
-        System.out.println("眼部异常图片ID:"+eyeImgId);
-        System.out.println("入园许可。 Y : 入园   N:离园:入园情况:"+access);
+        LogUtil.printInfoLog("传入的参数:卡号"+cardNo+",检查结果:"+result+",检查机判断结果:"+robotResult+",签名"+authSign+"入园许可。 Y : 入园   N:离园:入园情况:"+access);
 
-        ServerResponse serverResponse = null;
+        ServerResponse serverResponse;
 
         String card = DataConvertHelper.distToX(Long.valueOf(cardNo));
 
@@ -377,20 +360,26 @@ public class MorningCheckController {
         try {
             String signUrl = queryUrl.replace("&","");
             boolean verify = MD5.verify(signUrl,salt,authSign);
-            System.out.println("签名是否正确"+verify);
             if(verify) {
+                StudentCheckReport studentCheckReport = new StudentCheckReport();
+                studentCheckReport.setAccess(access);
+                studentCheckReport.setCardNo(card);
+                studentCheckReport.setCheckResult(result);
+                studentCheckReport.setRobotResult(robotResult);
+                java.sql.Date checkDate = new java.sql.Date(new Date().getTime());
+                studentCheckReport.setCheckTime(checkDate);
+                studentCheckReport.setInTime(checkDate);
+                studentCheckReport.setTemperature(temperature);
+                studentCheckReport.setEyeImgId(eyeImgId);
+                studentCheckReport.setHandImgId(handImgId);
+                studentCheckReport.setMouthImgId(mouthImgId);
 
-//                int index = handImgId -1;
-//                System.out.println("手部异常图像地址:"+FileUpAndDownServiceImpl.globalFileEntities.get(index).getImgObPath());
-//                index = mouthImgId -1;
-//                System.out.println("嘴部异常图像地址:"+FileUpAndDownServiceImpl.globalFileEntities.get(index).getImgObPath());
-//                index = eyeImgId -1;
-//                System.out.println("眼部异常图像地址:"+FileUpAndDownServiceImpl.globalFileEntities.get(index).getImgObPath());
-                //卡号,图片,刷卡时间(如果没有, 当前时间),设备号
-                System.out.println("卡号:"+cardNo+",图片ID"+handImgId+",设备标识:"+ehcacheUtil.get("deviceId")+",刷进设备的卡号是:"+card);
                 //message: 学生姓名你好
                 Student student = studentService.getStudentByCardNo(card);
                 String msg = String.format("学生%s你好,你的晨检报告已经自动生成",student.getStuName());
+                studentCheckReport.setStudent_id(student.getStuId());
+                studentCheckReportService.insert(studentCheckReport);
+
                 serverResponse = ServerResponse.createBySuccessMessage(msg);
             }else{
 
diff --git a/springboot/morning-check/src/main/java/com/sincere/morningcheck/dao/FileDao.java b/springboot/morning-check/src/main/java/com/sincere/morningcheck/dao/FileDao.java
new file mode 100644
index 0000000..25edc16
--- /dev/null
+++ b/springboot/morning-check/src/main/java/com/sincere/morningcheck/dao/FileDao.java
@@ -0,0 +1,12 @@
+package com.sincere.morningcheck.dao;
+
+import com.sincere.morningcheck.model.FileEntity;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+@Mapper
+@Repository
+public interface FileDao {
+
+    int insert(FileEntity fileEntity);
+}
diff --git a/springboot/morning-check/src/main/java/com/sincere/morningcheck/dao/StudentCheckReportDao.java b/springboot/morning-check/src/main/java/com/sincere/morningcheck/dao/StudentCheckReportDao.java
new file mode 100644
index 0000000..aaa9ad1
--- /dev/null
+++ b/springboot/morning-check/src/main/java/com/sincere/morningcheck/dao/StudentCheckReportDao.java
@@ -0,0 +1,15 @@
+package com.sincere.morningcheck.dao;
+
+import com.sincere.morningcheck.model.StudentCheckReport;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+@Mapper
+@Repository
+public interface StudentCheckReportDao {
+
+    int insert(StudentCheckReport studentCheckReport);
+
+    StudentCheckReport getCheckReport(@Param("studentId") Integer studentId);
+}
diff --git a/springboot/morning-check/src/main/java/com/sincere/morningcheck/dao/StudentDao.java b/springboot/morning-check/src/main/java/com/sincere/morningcheck/dao/StudentDao.java
index 46e23b6..472c8c7 100644
--- a/springboot/morning-check/src/main/java/com/sincere/morningcheck/dao/StudentDao.java
+++ b/springboot/morning-check/src/main/java/com/sincere/morningcheck/dao/StudentDao.java
@@ -17,6 +17,8 @@ public interface StudentDao {
 
     Student getStudentByCardNo(@Param("cardNo") String cardNo);
 
+    Student getStudentByStuUserId(@Param("sUserId") String sUserId);
+
     /**
      * 传入的参数和返回的结果都在map集合参数params中
      * @param params
diff --git a/springboot/morning-check/src/main/java/com/sincere/morningcheck/model/ApiStudentCheckReport.java b/springboot/morning-check/src/main/java/com/sincere/morningcheck/model/ApiStudentCheckReport.java
new file mode 100644
index 0000000..7af5448
--- /dev/null
+++ b/springboot/morning-check/src/main/java/com/sincere/morningcheck/model/ApiStudentCheckReport.java
@@ -0,0 +1,36 @@
+package com.sincere.morningcheck.model;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.sql.Date;
+
+/**
+ * 接口使用类   检查报告
+ */
+@Data
+@ApiModel
+public class ApiStudentCheckReport {
+
+    @ApiModelProperty(name="id",value = "检查报告标识")
+    private Integer id;
+
+    @ApiModelProperty(name="isMorningCheck",value = "判断是否有晨检")
+    private Boolean isMorningCheck;
+
+    @ApiModelProperty(name="student_id",value = "学生标识")
+    private Integer student_id;
+
+    @ApiModelProperty(name="cardNo",value = "学生卡号")
+    private String cardNo;
+
+    @ApiModelProperty(name="temperature",value = "温度")
+    private String temperature; //json字符串
+
+    @ApiModelProperty(name="CheckTime",value = "检查报告时间")
+    private String checkTime;
+
+    @ApiModelProperty(name="checkResultObj",value = "检查报告")
+    private CheckResult checkResultObj;
+}
diff --git a/springboot/morning-check/src/main/java/com/sincere/morningcheck/model/CheckResult.java b/springboot/morning-check/src/main/java/com/sincere/morningcheck/model/CheckResult.java
new file mode 100644
index 0000000..ff2ce11
--- /dev/null
+++ b/springboot/morning-check/src/main/java/com/sincere/morningcheck/model/CheckResult.java
@@ -0,0 +1,49 @@
+package com.sincere.morningcheck.model;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 人为判断结果
+ */
+@Data
+@ApiModel
+public class CheckResult {
+
+    @ApiModelProperty(name = "handNoEx",value = "00位,手足是否正常,true正常,false不正常")
+    private Boolean handNoEx;
+
+    @ApiModelProperty(name = "mouthNoEx",value = "01位,口腔是否正常,true正常,false不正常")
+    private Boolean mouthNoEx;
+
+    @ApiModelProperty(name = "noRedEye",value = "02位,true正常,false红眼")
+    private Boolean noRedEye;
+
+    @ApiModelProperty(name = "noFever",value = "03位,true正常,false发烧")
+    private Boolean noFever;
+
+    @ApiModelProperty(name = "noCrotchBig",value = "04位,true正常,false腮部肿大")
+    private Boolean noCrotchBig;
+
+    @ApiModelProperty(name = "noPoorSpirit",value = "05,true正常,false精神不佳")
+    private Boolean noPoorSpirit;
+
+    @ApiModelProperty(name = "noPharyngitis",value = "06,true正常,false咽炎")
+    private Boolean noPharyngitis;
+
+    @ApiModelProperty(name = "noTrauma",value = "07,true正常,false外伤")
+    private Boolean noTrauma;
+
+    @ApiModelProperty(name = "noCough",value = "08,true正常,false咳嗽")
+    private Boolean noCough;
+
+    @ApiModelProperty(name = "noNail",value = "09,true正常,false过长")
+    private Boolean noNail;
+
+    @ApiModelProperty(name = "noToothDecay",value = "10,true正常,false蛀牙")
+    private Boolean noToothDecay;
+
+    @ApiModelProperty(name = "other",value = "true正常,false不正常")
+    private Boolean other;
+}
diff --git a/springboot/morning-check/src/main/java/com/sincere/morningcheck/model/FileEntity.java b/springboot/morning-check/src/main/java/com/sincere/morningcheck/model/FileEntity.java
index 0e4f95e..9dd7a3b 100644
--- a/springboot/morning-check/src/main/java/com/sincere/morningcheck/model/FileEntity.java
+++ b/springboot/morning-check/src/main/java/com/sincere/morningcheck/model/FileEntity.java
@@ -3,6 +3,8 @@ package com.sincere.morningcheck.model;
 import com.sincere.morningcheck.common.ImgType;
 import lombok.Data;
 
+import java.sql.Date;
+
 @Data
 public class FileEntity {
 
@@ -11,9 +13,9 @@ public class FileEntity {
      */
     private Integer photoId;
     /**
-     * 头像存储的位置(绝对路径)
+     * 头像存储的位置(相对路径)
      */
-    private String imgObPath;
+    private String imgRePath;
     /**
      * 文件新名称
      */
@@ -26,4 +28,6 @@ public class FileEntity {
      * 文件旧名称
      */
     private String oldFileName;
+
+    private Date inTime;
 }
diff --git a/springboot/morning-check/src/main/java/com/sincere/morningcheck/model/StudentCheckReport.java b/springboot/morning-check/src/main/java/com/sincere/morningcheck/model/StudentCheckReport.java
new file mode 100644
index 0000000..171cafd
--- /dev/null
+++ b/springboot/morning-check/src/main/java/com/sincere/morningcheck/model/StudentCheckReport.java
@@ -0,0 +1,41 @@
+package com.sincere.morningcheck.model;
+
+import lombok.Data;
+
+import java.sql.Date;
+
+@Data
+public class StudentCheckReport {
+
+
+    private Integer id;
+
+    private Integer student_id;
+
+    private String cardNo;
+
+    /**
+     * 人为判别结果
+     */
+    private String checkResult; //json字符串
+
+    /**
+     * 机器判别结果
+     */
+    private String robotResult; //json字符串
+
+    private Date checkTime;
+
+    private Date inTime;
+
+    private String access;
+
+    private String temperature;
+
+    private String handImgId;
+
+    private String mouthImgId;
+
+    private String eyeImgId;
+
+}
diff --git a/springboot/morning-check/src/main/java/com/sincere/morningcheck/service/FileUpAndDownService.java b/springboot/morning-check/src/main/java/com/sincere/morningcheck/service/FileUpAndDownService.java
index 31253e5..dc5f186 100644
--- a/springboot/morning-check/src/main/java/com/sincere/morningcheck/service/FileUpAndDownService.java
+++ b/springboot/morning-check/src/main/java/com/sincere/morningcheck/service/FileUpAndDownService.java
@@ -1,10 +1,13 @@
 package com.sincere.morningcheck.service;
 
 import com.sincere.morningcheck.common.ServerResponse;
+import com.sincere.morningcheck.model.FileEntity;
 import org.springframework.web.multipart.MultipartFile;
 
 
 public interface FileUpAndDownService {
 
    ServerResponse uploadPicture(MultipartFile[] file, String[] file_Types) throws Exception;
+
+   ServerResponse<Integer> insert(FileEntity fileEntity);
 }
diff --git a/springboot/morning-check/src/main/java/com/sincere/morningcheck/service/StudentCheckReportService.java b/springboot/morning-check/src/main/java/com/sincere/morningcheck/service/StudentCheckReportService.java
new file mode 100644
index 0000000..74a2841
--- /dev/null
+++ b/springboot/morning-check/src/main/java/com/sincere/morningcheck/service/StudentCheckReportService.java
@@ -0,0 +1,13 @@
+package com.sincere.morningcheck.service;
+
+
+import com.sincere.morningcheck.common.ServerResponse;
+import com.sincere.morningcheck.model.ApiStudentCheckReport;
+import com.sincere.morningcheck.model.StudentCheckReport;
+
+public interface StudentCheckReportService {
+
+    int insert(StudentCheckReport studentCheckReport);
+
+    ServerResponse<ApiStudentCheckReport> getCheckReport(String stuUserId);
+}
diff --git a/springboot/morning-check/src/main/java/com/sincere/morningcheck/service/impl/FileUpAndDownServiceImpl.java b/springboot/morning-check/src/main/java/com/sincere/morningcheck/service/impl/FileUpAndDownServiceImpl.java
index 4b70396..2f1f45f 100644
--- a/springboot/morning-check/src/main/java/com/sincere/morningcheck/service/impl/FileUpAndDownServiceImpl.java
+++ b/springboot/morning-check/src/main/java/com/sincere/morningcheck/service/impl/FileUpAndDownServiceImpl.java
@@ -3,6 +3,7 @@ package com.sincere.morningcheck.service.impl;
 import com.sincere.morningcheck.common.ImgType;
 import com.sincere.morningcheck.common.ServerResponse;
 import com.sincere.morningcheck.config.MessageProperties;
+import com.sincere.morningcheck.dao.FileDao;
 import com.sincere.morningcheck.model.FileEntity;
 import com.sincere.morningcheck.model.Photo;
 import com.sincere.morningcheck.service.FileUpAndDownService;
@@ -21,19 +22,19 @@ public class FileUpAndDownServiceImpl implements FileUpAndDownService {
     @Autowired
     private MessageProperties config; //用来获取file-message.properties配置文件中的信息
 
-    static Integer photoId = 0;
-    public static List<FileEntity> globalFileEntities = new LinkedList<>();
+    @Autowired
+    private FileDao fileDao;
+
     @Override
     public ServerResponse uploadPicture(MultipartFile[] files, String[] file_types) throws Exception {
 
-        System.out.println("进入上传文件方法。");
         List<FileEntity> fileEntities = new LinkedList<>();
         int i = 0;
         for(MultipartFile file : files) {
             System.out.println(file.getOriginalFilename());
 
             try {
-                photoId++; //每进一次方法自增一次,模拟主键自增
+
                 Map<String, Object> resMap = new HashMap<>();
                 String[] IMAGE_TYPE = config.getImageType().split(",");
                 String path = null;
@@ -54,11 +55,13 @@ public class FileUpAndDownServiceImpl implements FileUpAndDownService {
                     String suffix = oldFileName.substring(oldFileName.lastIndexOf("."));//带逗号,不带逗号加1
                     // 新名称
                     String imgType = file_types[i];
-                    String newFileName = imgType + "_photoId"+photoId+suffix;
+                    UUID uuid = UUID.randomUUID();
+                    String newFileName = imgType+ "_" + uuid.toString().replace("-","") +suffix;
                     i++;
                     // 年月日文件夹
                     SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
                     String basedir = sdf.format(new Date());
+                    String rePath = "/images/" + basedir + "/" + newFileName;
                     // 进行压缩(大于4M)
                     if (file.getSize() > config.getFileSize()) {
                         path = config.getUpPath() + "/" + basedir + "/" + newFileName;
@@ -82,16 +85,18 @@ public class FileUpAndDownServiceImpl implements FileUpAndDownService {
                     }
 
                     FileEntity fileEntity = new FileEntity();
-                    fileEntity.setPhotoId(photoId);
+
                     fileEntity.setFileName(newFileName);
-                    fileEntity.setImgObPath(path);
+                    fileEntity.setImgRePath(rePath);
                     fileEntity.setOldFileName(oldFileName);
                     fileEntity.setImgType(ImgType.valueOf(imgType));
 
+                    fileEntity.setInTime( new java.sql.Date(new Date().getTime()));
+                    fileEntity.setPhotoId(0);
+                    insert(fileEntity);
                     fileEntities.add(fileEntity);
 
                 } else {
-                    System.out.println("result:图片格式不正确,支持png|jpg|jpeg");
                     return ServerResponse.createByErrorMessage("result:图片格式不正确,支持png|jpg|jpeg");
                 }
             } catch (Exception e) {
@@ -99,7 +104,8 @@ public class FileUpAndDownServiceImpl implements FileUpAndDownService {
                 throw new Exception(e.getMessage());
             }
         }
-        globalFileEntities.addAll(fileEntities);
+
+        //返回结果
         Map<String,Object> map = new HashMap<>();
 
         List<Photo> photoIds = new ArrayList<>();
@@ -112,4 +118,12 @@ public class FileUpAndDownServiceImpl implements FileUpAndDownService {
         map.put("photoIds",photoIds);
         return ServerResponse.createBySuccess(map);
     }
+
+    @Override
+    public ServerResponse<Integer> insert(FileEntity fileEntity) {
+
+        int result = fileDao.insert(fileEntity);
+        return ServerResponse.createBySuccess(result);
+    }
+
 }
diff --git a/springboot/morning-check/src/main/java/com/sincere/morningcheck/service/impl/StudentCheckReportServiceImpl.java b/springboot/morning-check/src/main/java/com/sincere/morningcheck/service/impl/StudentCheckReportServiceImpl.java
new file mode 100644
index 0000000..da3a7de
--- /dev/null
+++ b/springboot/morning-check/src/main/java/com/sincere/morningcheck/service/impl/StudentCheckReportServiceImpl.java
@@ -0,0 +1,86 @@
+package com.sincere.morningcheck.service.impl;
+
+import com.sincere.morningcheck.common.ServerResponse;
+import com.sincere.morningcheck.dao.StudentCheckReportDao;
+import com.sincere.morningcheck.dao.StudentDao;
+import com.sincere.morningcheck.model.ApiStudentCheckReport;
+import com.sincere.morningcheck.model.CheckResult;
+import com.sincere.morningcheck.model.Student;
+import com.sincere.morningcheck.model.StudentCheckReport;
+import com.sincere.morningcheck.service.StudentCheckReportService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.text.SimpleDateFormat;
+
+@Service
+public class StudentCheckReportServiceImpl implements StudentCheckReportService {
+
+    @Autowired
+    StudentCheckReportDao studentCheckReportDao;
+
+    @Autowired
+    StudentDao studentDao;
+
+    @Override
+    public int insert(StudentCheckReport studentCheckReport) {
+        return studentCheckReportDao.insert(studentCheckReport);
+    }
+
+    @Override
+    public ServerResponse<ApiStudentCheckReport> getCheckReport(String stuUserId) {
+
+        StudentCheckReport studentCheckReport;
+
+        Student student = studentDao.getStudentByStuUserId(stuUserId);
+        studentCheckReport = studentCheckReportDao.getCheckReport(student.getStuId());
+        Boolean isMorningCheck;
+        if(studentCheckReport == null){
+            isMorningCheck = false;
+        }else{
+            isMorningCheck = true;
+        }
+
+        ApiStudentCheckReport apiStudentCheckReport = getApiStudentReport(studentCheckReport,isMorningCheck);
+        return ServerResponse.createBySuccess(apiStudentCheckReport);
+    }
+
+    private ApiStudentCheckReport getApiStudentReport(StudentCheckReport studentCheckReport,Boolean isMorningCheck){
+
+        ApiStudentCheckReport apiStudentCheckReport = new ApiStudentCheckReport();
+        if(isMorningCheck) {
+            apiStudentCheckReport.setCardNo(studentCheckReport.getCardNo());
+            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+            apiStudentCheckReport.setCheckTime(simpleDateFormat.format(studentCheckReport.getCheckTime()));
+            apiStudentCheckReport.setStudent_id(studentCheckReport.getStudent_id());
+            apiStudentCheckReport.setTemperature(studentCheckReport.getTemperature());
+            char[] chs = studentCheckReport.getCheckResult().toCharArray();
+            CheckResult checkResult = new CheckResult();
+
+            //前12位
+            checkResult.setHandNoEx(isJudge(Character.toString(chs[0])));
+            checkResult.setMouthNoEx(isJudge(Character.toString(chs[1])));
+            checkResult.setNoRedEye(isJudge(Character.toString(chs[2])));
+            checkResult.setNoFever(isJudge(Character.toString(chs[3])));
+            checkResult.setNoCrotchBig(isJudge(Character.toString(chs[4])));
+            checkResult.setNoPoorSpirit(isJudge(Character.toString(chs[5])));
+            checkResult.setNoPharyngitis(isJudge(Character.toString(chs[6])));
+            checkResult.setNoTrauma(isJudge(Character.toString(chs[7])));
+            checkResult.setNoCough(isJudge(Character.toString(chs[8])));
+            checkResult.setNoNail(isJudge(Character.toString(chs[9])));
+            checkResult.setNoToothDecay(isJudge(Character.toString(chs[10])));
+            checkResult.setOther(isJudge(Character.toString(chs[11])));
+            apiStudentCheckReport.setCheckResultObj(checkResult);
+        }
+        apiStudentCheckReport.setIsMorningCheck(isMorningCheck);
+        return apiStudentCheckReport;
+    }
+
+    private Boolean isJudge(String yesOrNo){
+
+        if(yesOrNo.equals("Y")){
+            return true;
+        }
+        return false;
+    }
+}
diff --git a/springboot/morning-check/src/main/resources/application.properties b/springboot/morning-check/src/main/resources/application.properties
index 142e1cb..9b2d847 100644
--- a/springboot/morning-check/src/main/resources/application.properties
+++ b/springboot/morning-check/src/main/resources/application.properties
@@ -2,9 +2,15 @@ salt = sincere
 
 server.port=8999
 
-spring.datasource.username=szjxtuser
-spring.datasource.password=RQminVCJota3H1u8bBYH
-spring.datasource.url=jdbc:sqlserver://116.62.155.137:33419;database=smartcampus
+#��ʽվ�����ݿ�
+#spring.datasource.username=szjxtuser
+#spring.datasource.password=RQminVCJota3H1u8bBYH
+#spring.datasource.url=jdbc:sqlserver://116.62.155.137:33419;database=smartcampus
+
+#����վ�����ݿ�
+spring.datasource.username=SZJXTUSER
+spring.datasource.password=xst200919
+spring.datasource.url=jdbc:sqlserver://60.190.202.57:14333;Database=SmartCampusSZ
 spring.datasource.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
 
 mybatis.mapper-locations=classpath:/mapper/*.xml
diff --git a/springboot/morning-check/src/main/resources/file-message.properties b/springboot/morning-check/src/main/resources/file-message.properties
index 193c1b9..7f7bf15 100644
--- a/springboot/morning-check/src/main/resources/file-message.properties
+++ b/springboot/morning-check/src/main/resources/file-message.properties
@@ -1,7 +1,7 @@
 #�ļ�ѹ����С(����5��ѹ��)
 message.fileSize=5242880
 #ͼƬ����·��
-message.upPath=D:\\MorningRobot\\UploadData\\images
+message.upPath=E:/MorningRobot/UploadData/images/
 #ѹ������
 message.scaleRatio=0.90f
 #ͼƬ����
diff --git a/springboot/morning-check/src/main/resources/mapper/StudentCheckReport.xml b/springboot/morning-check/src/main/resources/mapper/StudentCheckReport.xml
new file mode 100644
index 0000000..e7d95de
--- /dev/null
+++ b/springboot/morning-check/src/main/resources/mapper/StudentCheckReport.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.sincere.morningcheck.dao.StudentCheckReportDao">
+
+    <!--声明返回结果参数-->
+    <resultMap id="BaseResultMap" type="com.sincere.morningcheck.model.StudentCheckReport">
+        <!-- id:指定查询列中的唯 一标识,即主键,可配置多个-->
+        <id column="student_id" property="student_id" jdbcType="INTEGER" javaType="java.lang.Integer"/>
+        <result column="cardNo" property="cardNo" jdbcType="VARCHAR" javaType="java.lang.String"/>
+        <result column="checkResult" property="checkResult" jdbcType="VARCHAR" javaType="java.lang.String"/>
+        <result column="robotResult" property="robotResult" jdbcType="VARCHAR" javaType="java.lang.String"/>
+        <result column="String" property="String" jdbcType="VARCHAR" javaType="java.lang.String"/>
+        <result column="intime" property="inTime" jdbcType="DATE" javaType="java.sql.Date"/>
+        <result column="checkTime" property="checkTime" jdbcType="DATE" javaType="java.sql.Date"/>
+        <result column="temperature" property="temperature" jdbcType="VARCHAR" javaType="java.lang.String"/>
+        <result column="handImgId" property="handImgId" jdbcType="VARCHAR" javaType="java.lang.String"/>
+        <result column="mouthImgId" property="mouthImgId" jdbcType="VARCHAR" javaType="java.lang.String"/>
+        <result column="eyeImgId" property="eyeImgId" jdbcType="VARCHAR" javaType="java.lang.String"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        student_id,cardNo,checkTime,checkResult,robotResult,intime,access,temperature,handImgId,mouthImgId,eyeImgId
+    </sql>
+
+    <insert id="insert" parameterType="com.sincere.morningcheck.model.StudentCheckReport" >
+    insert xiaoan.dbo.SZ_StudentCheckReport(student_id,cardNo,checkResult,robotResult,intime,checkTime,access,temperature,handImgId,mouthImgId,eyeImgId)
+values(#{student_id,jdbcType=VARCHAR}, #{cardNo,jdbcType=VARCHAR}, #{checkResult,jdbcType=VARCHAR}, #{robotResult,jdbcType=VARCHAR},#{inTime,jdbcType=DATE},#{checkTime,jdbcType=DATE},#{access,jdbcType=VARCHAR},#{temperature,jdbcType=VARCHAR},#{handImgId,jdbcType=VARCHAR},#{mouthImgId,jdbcType=VARCHAR},#{eyeImgId,jdbcType=VARCHAR})
+</insert>
+
+    <select id="getCheckReport" resultMap="BaseResultMap">
+        select  <include refid="Base_Column_List"/> from xiaoan.[dbo].[SZ_StudentCheckReport]
+        where student_id = #{studentId} and  CONVERT(varchar(10),checkTime,23) = CONVERT(varchar(10),getdate(),23)
+    </select>
+
+</mapper>
\ No newline at end of file
diff --git a/springboot/morning-check/src/main/resources/mapper/filemapper.xml b/springboot/morning-check/src/main/resources/mapper/filemapper.xml
new file mode 100644
index 0000000..5e7f4e6
--- /dev/null
+++ b/springboot/morning-check/src/main/resources/mapper/filemapper.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.sincere.morningcheck.dao.FileDao">
+
+    <!--声明返回结果参数-->
+    <resultMap id="BaseResultMap" type="com.sincere.morningcheck.model.FileEntity">
+        <!-- id:指定查询列中的唯 一标识,即主键,可配置多个-->
+        <id column="id" property="photoId" jdbcType="INTEGER" javaType="java.lang.Integer"/>
+        <result column="imgRePath" property="imgRePath" jdbcType="VARCHAR" javaType="java.lang.String"/>
+        <result column="fileName" property="fileName" jdbcType="INTEGER" javaType="java.lang.Integer"/>
+        <result column="imgType" property="imgType" jdbcType="VARCHAR" javaType="com.sincere.morningcheck.common.ImgType"/>
+        <result column="oldFileName" property="oldFileName" jdbcType="VARCHAR" javaType="java.lang.String"/>
+        <result column="intime" property="inTime" jdbcType="DATE" javaType="java.sql.Date"/>
+    </resultMap>
+
+
+<!--useGeneratedKeys="true" keyProperty="photoId" 配置属性是用来获取插入返回的-->
+<insert id="insert" useGeneratedKeys="true" keyProperty="photoId" parameterType="com.sincere.morningcheck.model.FileEntity" >
+    insert xiaoan.dbo.SZ_MorningCheckFile(imgRePath,fileName,imgType,oldFileName,intime)
+values(#{imgRePath,jdbcType=VARCHAR}, #{fileName,jdbcType=VARCHAR}, #{imgType,jdbcType=VARCHAR}, #{oldFileName,jdbcType=VARCHAR},#{inTime,jdbcType=DATE})
+</insert>
+
+</mapper>
\ No newline at end of file
diff --git a/springboot/morning-check/src/main/resources/mapper/studentmapper.xml b/springboot/morning-check/src/main/resources/mapper/studentmapper.xml
index d4fa244..ace07fd 100644
--- a/springboot/morning-check/src/main/resources/mapper/studentmapper.xml
+++ b/springboot/morning-check/src/main/resources/mapper/studentmapper.xml
@@ -33,6 +33,11 @@
       where vs.role_state=1
     </select>
 
+    <select id="getStudentByStuUserId" resultMap="BaseResultMap">
+        select top 1 vs.name,vs.student_id,vs.class_id,vs.class_name,Cards=vs.student_num from SZ_V_School_Student vs
+        where user_id=#{sUserId}
+    </select>
+
     <select id="swipeCard" statementType="CALLABLE" resultType="java.util.Map">
     {call xiaoan.dbo.AttendanceService(
         #{att_id, mode=IN},
diff --git a/springboot/src/main/java/com/sincre/springboot/controller/TuYaYunController.java b/springboot/src/main/java/com/sincre/springboot/controller/TuYaYunController.java
index 77a4678..ca5840e 100644
--- a/springboot/src/main/java/com/sincre/springboot/controller/TuYaYunController.java
+++ b/springboot/src/main/java/com/sincre/springboot/controller/TuYaYunController.java
@@ -465,7 +465,7 @@ public class TuYaYunController {
             return ServerResponse.createByErrorCodeMessage(400,"参数错误");
         }
         else{
-            if(StringUtils.isBlank(tuYaAirCondition.getRemote_id())||StringUtils.isBlank(tuYaAirCondition.getRemote_index())){
+            if(StringUtils.isBlank(tuYaAirCondition.getRemote_index())){
                 return ServerResponse.createByErrorCodeMessage(400,"参数错误");
             }
         }
--
libgit2 0.21.0