Просмотр исходного кода

1、修改订单填报图片上传
2、解决退单排序异常问题

binguoc 4 лет назад
Родитель
Сommit
672111237f
24 измененных файлов с 593 добавлено и 418 удалено
  1. 1 1
      pom.xml
  2. 1 0
      src/main/java/com/chuanghai/repair/RepairsApplication.java
  3. 1 1
      src/main/java/com/chuanghai/repair/auth/SwaggerConfig.java
  4. 13 13
      src/main/java/com/chuanghai/repair/controller/LoginController.java
  5. 145 177
      src/main/java/com/chuanghai/repair/controller/OrderController.java
  6. 7 5
      src/main/java/com/chuanghai/repair/controller/StudentController.java
  7. 1 7
      src/main/java/com/chuanghai/repair/controller/WorkController.java
  8. 8 7
      src/main/java/com/chuanghai/repair/controller/WxController.java
  9. 1 1
      src/main/java/com/chuanghai/repair/entity/RepairsOrder.java
  10. 6 0
      src/main/java/com/chuanghai/repair/entity/RepairsRoom.java
  11. 1 1
      src/main/java/com/chuanghai/repair/entity/RepairsStudent.java
  12. 14 0
      src/main/java/com/chuanghai/repair/mapper/RepairsOrderMapper.java
  13. 4 0
      src/main/java/com/chuanghai/repair/mapper/RepairsStudentMapper.java
  14. 6 1
      src/main/java/com/chuanghai/repair/service/RepairsOrderService.java
  15. 2 0
      src/main/java/com/chuanghai/repair/service/RepairsStudentService.java
  16. 110 2
      src/main/java/com/chuanghai/repair/service/ServiceImpl/RepairsOrderServiceImpl.java
  17. 2 0
      src/main/java/com/chuanghai/repair/service/ServiceImpl/RepairsStudentServiceImpl.java
  18. 11 8
      src/main/java/com/chuanghai/repair/utils/CreateTokenUtil.java
  19. 66 5
      src/main/java/com/chuanghai/repair/utils/DateUtils.java
  20. 22 15
      src/main/resources/application.yml
  21. 0 60
      src/main/resources/log4j.properties
  22. 158 102
      src/main/resources/mapper/RepairsOrderMapper.xml
  23. 7 2
      src/main/resources/mapper/RepairsRoomMapper.xml
  24. 6 10
      src/main/resources/mapper/RepairsWorkMapper.xml

+ 1 - 1
pom.xml

@@ -225,7 +225,7 @@
         <dependency>
             <groupId>com.fasterxml.jackson.core</groupId>
             <artifactId>jackson-databind</artifactId>
-        </dependency>
+       </dependency>
 <!-- log4j-->
         <dependency>
             <groupId>org.springframework.boot</groupId>

+ 1 - 0
src/main/java/com/chuanghai/repair/RepairsApplication.java

@@ -1,5 +1,6 @@
 package com.chuanghai.repair;
 
+import lombok.extern.log4j.Log4j;
 import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;

+ 1 - 1
src/main/java/com/chuanghai/repair/auth/SwaggerConfig.java

@@ -33,7 +33,7 @@ public class SwaggerConfig {
 
     public ApiInfo apiInfo(){
         return new ApiInfoBuilder().title("学校报修系统").description("测试系统")
-                .termsOfServiceUrl("http://localhost:8080/").version("1.0").build();
+                .termsOfServiceUrl("https://jtishfw.ncjti.edu.cn/baoxiu/repairApi").version("1.0").build();
     }
 
 

+ 13 - 13
src/main/java/com/chuanghai/repair/controller/LoginController.java

@@ -64,17 +64,19 @@ public class LoginController {
     @ApiOperation("管理员登录")
     @PostMapping(value = "/loginAdmin")
     public ReturnValueUtil loginAdmin(@ApiParam(name = "管理员名称", required = true) String name,
-                             @ApiParam(name = "管理员密码", required = true) String password) {
+                                      @ApiParam(name = "管理员密码", required = true) String password) {
         String adminIdToken = "";
         try {
-            if(!name.equals("") && !password.equals("")){
+            if (!name.equals("") && !password.equals("")) {
                 RepairsAdmin repairsAdmin = repairsAdminService.loginAdmin(name, password);
-                adminIdToken = CreateTokenUtil.getToken(String.valueOf(repairsAdmin.getAdminId()));
+                if (repairsAdmin != null) {
+                    adminIdToken = CreateTokenUtil.getToken(String.valueOf(repairsAdmin.getAdminId()));
+                }
             }
         } catch (Exception e) {
             e.printStackTrace();
         }
-       return ReturnValueUtil.returnString(adminIdToken);
+        return ReturnValueUtil.returnString(adminIdToken);
     }
 
 
@@ -87,14 +89,14 @@ public class LoginController {
     @ApiOperation("维修工登录")
     @PostMapping(value = "/loginWork")
     public ReturnValueUtil loginWork(@ApiParam(name = "维修工手机号码", required = true) String phone,
-                            @ApiParam(name = "维修工登录密码", required = true) String password) {
-
+                                     @ApiParam(name = "维修工登录密码", required = true) String password) {
         String workIdToken = "";
         try {
-            if(!phone.equals("") && !password.equals("")){
-                RepairsWork repairsWork = repairsWorkService.loginWork(phone, password);
+            RepairsWork repairsWork = repairsWorkService.loginWork(phone, password);
+            if (repairsWork != null) {
                 workIdToken = CreateTokenUtil.getToken(String.valueOf(repairsWork.getWorkId()));
             }
+
         } catch (Exception e) {
             e.printStackTrace();
         }
@@ -102,18 +104,16 @@ public class LoginController {
     }
 
 
-
-
     @ApiOperation("判断用户是否授权")
     @PostMapping("/queryOpenID")
-    public ReturnValueUtil queryOpenID(@ApiParam(name = "微信用户标识openID", required = true)String openID){
+    public ReturnValueUtil queryOpenID(@ApiParam(name = "微信用户标识openID", required = true) String openID) {
         RepairsOpenID repairsOpenID = null;
         try {
             repairsOpenID = repairsOpenIDService.queryByOpenID(openID);
-            if(repairsOpenID == null){
+            if (repairsOpenID == null) {
                 repairsOpenIDService.insertOpenID(openID);
             }
-        }catch (Exception e){
+        } catch (Exception e) {
             e.printStackTrace();
         }
         return ReturnValueUtil.returnObject(repairsOpenID);

+ 145 - 177
src/main/java/com/chuanghai/repair/controller/OrderController.java

@@ -12,13 +12,19 @@ import com.chuanghai.repair.service.RepairsStudentService;
 import com.chuanghai.repair.service.RepairsWorkService;
 import com.chuanghai.repair.utils.CreateTokenUtil;
 import com.chuanghai.repair.utils.DateUtils;
+import com.chuanghai.repair.utils.MyPageInfo;
 import com.chuanghai.repair.utils.ReturnValueUtil;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.github.pagehelper.PageInfo;
 import com.google.gson.Gson;
 import com.google.gson.JsonSyntaxException;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Update;
 import org.apache.poi.ss.usermodel.Workbook;
 import org.springframework.util.CollectionUtils;
 import org.springframework.util.StringUtils;
@@ -82,10 +88,12 @@ public class OrderController {
             //通过传入的时间参数 获取当天-明天 时间
             DateUtils dateUtils = new DateUtils();
             dateUtils.addOneDay(time);
+
+
             if (orderStatus.equals("0") || orderStatus.equals("4")) {  //查询新订单
                 pageInfoOrder = repairsOrderService.queryAllNewBackOrder(pageNum, pageSize, dateUtils.getTody(), dateUtils.getTomorrow(), orderStatus);
 
-            } else { //查询 1 2 3 4 状态的订单
+            } else { //查询 1 2 3  状态的订单
                 pageInfoOrder = repairsOrderService.queryAllOrderByDate(pageNum, pageSize, dateUtils.getTody(), dateUtils.getTomorrow(), orderStatus);
             }
 
@@ -153,7 +161,8 @@ public class OrderController {
     @PostMapping(value = "/queryAllOrderByAdvice")
     public ReturnValueUtil queryAllOrderByAdvice(@ApiParam(name = "查询日期") String time,
                                                  @ApiParam(name = "当前页码") Integer pageNum,
-                                                 @ApiParam(name = "每页记录数") Integer pageSize) {
+                                                 @ApiParam(name = "每页记录数") Integer pageSize,
+                                                 @ApiParam(name = "维修工ID") String workId) {
         pageNum = pageNum == null ? 1 : pageNum;
         pageSize = pageSize == null ? 5 : pageSize;
         PageInfo<RepairsOrder> pageInfoOrder = null;
@@ -161,7 +170,11 @@ public class OrderController {
             //通过传入的时间参数 获取当天-明天 时间
             DateUtils dateUtils = new DateUtils();
             dateUtils.addOneDay(time);
-            pageInfoOrder = repairsOrderService.queryAllOrderByAdvice(dateUtils.getTody(), dateUtils.getTomorrow(), null, pageNum, pageSize);
+            if (workId != null){
+                pageInfoOrder = repairsOrderService.queryAllOrderByAdvice(dateUtils.getTody(), dateUtils.getTomorrow(), workId, pageNum, pageSize);
+            }else {
+                pageInfoOrder = repairsOrderService.queryAllOrderByAdvice(dateUtils.getTody(), dateUtils.getTomorrow(), null, pageNum, pageSize);
+            }
         } catch (Exception e) {
             e.printStackTrace();
         }
@@ -261,15 +274,14 @@ public class OrderController {
     public ReturnValueUtil queryAllOrderByStudentId(HttpServletRequest request,
                                                     @ApiParam(name = "当前页码") Integer pageNum,
                                                     @ApiParam(name = "每页记录数") Integer pageSize) {
-        PageInfo<RepairsOrder> pageInfoOrder = null;
+        MyPageInfo<RepairsOrder> pageInfoOrder = null;
         pageNum = pageNum == null ? 1 : pageNum;
         pageSize = pageSize == null ? 5 : pageSize;
         try {
             String studentId = CreateTokenUtil.getHeadersInfo(request); //从请求头中获取  studentId
-            RepairsStudent repairsStudent = repairsStudentService.queryByStudentId(studentId);
-            String campus = repairsStudent.getStudentCampus();
-            pageInfoOrder = repairsOrderService.queryAllOrderById(pageNum, pageSize, studentId, null, campus);
-
+          //  RepairsStudent repairsStudent = repairsStudentService.queryByStudentId(studentId);
+          //  String campus = repairsStudent.getStudentCampus();
+            pageInfoOrder = repairsOrderService.queryAllOrderByIdMyPageInfo(pageNum, pageSize, studentId, null, null);
         } catch (Exception e) {
             e.printStackTrace();
         }
@@ -291,9 +303,9 @@ public class OrderController {
         pageSize = pageSize == null ? 5 : pageSize;
         try {
             String workId = CreateTokenUtil.getHeadersInfo(request);
-            RepairsWork repairsWork = repairsWorkService.queryByWorkId(workId);
-            String campus = repairsWork.getWorkCampus();
-            pageInfoOrder = repairsOrderService.queryAllOrderById(pageNum, pageSize, null, workId, campus);
+           // RepairsWork repairsWork = repairsWorkService.queryByWorkId(workId);
+           // String campus = repairsWork.getWorkCampus();
+            pageInfoOrder = repairsOrderService.queryAllOrderByWorkId(pageNum, pageSize, null, workId, null);
 
         } catch (Exception e) {
             e.printStackTrace();
@@ -315,7 +327,6 @@ public class OrderController {
                                              @ApiParam(name = "订单评价", required = true) String orderAdvice) {
 
         Boolean flag = Boolean.FALSE;
-        System.out.println(orderId + "   " + orderAdvice);
         try {
             if (!orderAdvice.equals("")) {
                 repairsOrderService.updateOrderAdvice(orderId, orderAdvice);
@@ -338,20 +349,8 @@ public class OrderController {
     public ReturnValueUtil queryByOrderId(@ApiParam(name = "订单ID", required = true) String orderId) {
         RepairsOrder repairsOrder = null;
         try {
-            if (!orderId.equals("")) {
+            if (!orderId.equals("") && orderId != null) {
                 repairsOrder = repairsOrderService.queryByOrderId(orderId);
-                if (repairsOrder.getOrderImages() != null) {
-                    String imageName = repairsOrder.getOrderImages();
-                    String imageUrl = "";
-                    if (StringUtils.hasText(imageName)) {
-                        String[] imageUrls = imageName.split(";");
-                        for (String s : imageUrls) {
-                            imageUrl += imgConfig.getShowHost() + s + ";";
-                        }
-                        repairsOrder.setOrderImages(imageUrl.substring(0, imageUrl.lastIndexOf(";")));
-                    }
-                }
-
             }
         } catch (Exception e) {
             e.printStackTrace();
@@ -373,71 +372,109 @@ public class OrderController {
         try {
             if (!orderId.equals("")) {
                 repairsOrder = repairsOrderService.queryByOrderIdNotWork(orderId);
-                if (repairsOrder.getOrderImages() != null) {
-                    String imageName = repairsOrder.getOrderImages();
-                    String imageUrl = "";
-                    if (StringUtils.hasText(imageName)) {
-                        String[] imageUrls = imageName.split(";");
-                        for (String s : imageUrls) {
-                            imageUrl += imgConfig.getShowHost() + s + ";";
-                        }
-                        repairsOrder.setOrderImages(imageUrl.substring(0, imageUrl.lastIndexOf(";")));
-                    }
-                }
-
             }
+
         } catch (Exception e) {
             e.printStackTrace();
         }
         return ReturnValueUtil.returnObject(repairsOrder);
     }
 
+    @ApiOperation("学生:删除报修订单")
+    @PostMapping("/deleteOrderById")
+    public ReturnValueUtil deleteOrderById(HttpServletRequest request, String orderId) {
+        try {
+            String cardNumber = CreateTokenUtil.getHeadersInfo(request);
+            RepairsOrder repairsOrder = new RepairsOrder();
+            repairsOrder.setOrderId(orderId);
+            //orderStatus = 5 表示该订单为删除状态
+            repairsOrder.setOrderStatus("5");
+            repairsOrderService.updateOrderdetail(repairsOrder);
+            return ReturnValueUtil.ok();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return ReturnValueUtil.fail("订单删除失败");
+    }
+
+    /**
+     * 已经接单之后无法修改订单
+     * @param request
+     * @param jsonObject
+     * @return
+     */
+    @ApiOperation("学生:修改报修订单")
+    @PostMapping("/updateOrderById")
+    public ReturnValueUtil updateOrderById(HttpServletRequest request, @RequestBody JSONObject jsonObject) {
+        try {
+            String cardNumber = CreateTokenUtil.getHeadersInfo(request);
+            RepairsOrder repairsOrder = JSONObject.toJavaObject(jsonObject, RepairsOrder.class);
+            RepairsOrder repairsOrderBase = repairsOrderService.queryByOrderId(cardNumber);
+            repairsOrder.setOrderId(cardNumber);
+            ObjectMapper mapper = new ObjectMapper();
+            Map<String, Object> jsonMap = mapper.readValue(jsonObject.toString(), new TypeReference<Map<String, Object>>() {});
+            String faultId = "";
+            if (jsonMap.get("faultId") != null ){
+                faultId = jsonMap.get("faultId").toString();
+            }
+            RepairsFault repairsFault = new RepairsFault();
+            repairsFault.setFaultId(Integer.parseInt(faultId));
+            repairsOrder.setRepairsFault(repairsFault);
+            repairsOrderService.updateOrderdetail(repairsOrder);
+            return ReturnValueUtil.ok();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return ReturnValueUtil.fail("订单更新失败");
+    }
+
 
     @ApiOperation("学生:订单填报")
     @PostMapping(value = "/insertOrder")
     public ReturnValueUtil insertOrder(HttpServletRequest request, @RequestBody JSONObject jsonParam) {
+
         String cardNumber = CreateTokenUtil.getHeadersInfo(request);
         RepairsStudent repairsStudent = new RepairsStudent();
         String faultId = "";
         String orderNote = "";
         String orderExpectedTime = "";
-        List<String> images = new ArrayList<>();
+        String orderImages = "";
         Boolean flag = Boolean.FALSE;
-        FileOutputStream fos = null;
-
         try {
             //开始转换
             Iterator it = jsonParam.entrySet().iterator();
             while (it.hasNext()) {
-                Map.Entry<String, Object> entry = (Map.Entry<String, Object>) it.next();
+                Map.Entry<String, String> entry = (Map.Entry<String, String>) it.next();
                 repairsStudent.setStudentId(cardNumber);
                 if (entry.getKey().equals("dormNumber")) {
-                    repairsStudent.setDormNumber((String) entry.getValue());
+                    repairsStudent.setDormNumber(entry.getValue());
                 }
                 if (entry.getKey().equals("studentDormitory")) {
-                    repairsStudent.setDormNumber((String) entry.getValue());
+                    repairsStudent.setStudentDormitory(entry.getValue());
+                }
+                if (entry.getKey().equals("studentPhone")) {
+                    repairsStudent.setStudentPhone(entry.getValue());
                 }
                 if (entry.getKey().equals("otherPhone")) {
-                    repairsStudent.setDormNumber((String) entry.getValue());
+                    repairsStudent.setStudentOtherPhone(entry.getValue());
                 }
                 if (entry.getKey().equals("faultId")) {
-                    faultId = (String) entry.getValue();
+                    faultId = entry.getValue();
                 }
                 if (entry.getKey().equals("orderNote")) {
-                    orderNote = (String) entry.getValue();
+                    orderNote = entry.getValue();
                 }
                 if (entry.getKey().equals("orderExpectedTime")) {
-                    orderExpectedTime = (String) entry.getValue();
+                    orderExpectedTime = entry.getValue();
                 }
-                if (entry.getKey().equals("imageFiles")) {
-                    images = (List<String>) entry.getValue();
-                }
-
-                ArrayList<RepairsStudent> repairsStudentList = new ArrayList<>();
-                repairsStudentList.add(repairsStudent);
-                repairsStudentService.updateStudent(repairsStudentList);
 
+                if (entry.getKey().equals("orderImages")) {
+                    orderImages = entry.getValue();
+                }
             }
+            ArrayList<RepairsStudent> repairsStudentList = new ArrayList<>();
+            repairsStudentList.add(repairsStudent);
+           // repairsStudentService.updateStudent(repairsStudentList);
             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
             //处理当前时间为时间戳格式
             Calendar calendar = Calendar.getInstance();
@@ -447,137 +484,62 @@ public class OrderController {
             String orderId = "D";
             orderId += String.valueOf(ts);
             RepairsWork repairsWork = null;
-            RepairsFault repairsFault = new RepairsFault(Integer.parseInt(faultId), null, null, null, null);
-            //获取原始图片的拓展名
-            String fileNameSaveUrl = "";
-            String  base64Data = "";
-            for (String image:images) {
-                 base64Data = image.split(",")[1];
-
-                /**
-                 * 2.解码成字节数组
-                 */
-                Base64.Decoder decoder = Base64.getDecoder();
-                byte[] bytes = decoder.decode(base64Data);
-                /**
-                 * 3.字节流转文件
-                 */
-                String fileNameUrl = UUID.randomUUID().toString().replaceAll("-", "")+ ".jpg";
-                fileNameSaveUrl +=fileNameUrl+";";
-
-                fos = new FileOutputStream(imgConfig.getSaveLocation() + fileNameUrl);
-                fos.write(bytes);
 
-
-            }
-            fileNameSaveUrl = fileNameSaveUrl.substring(0, fileNameSaveUrl.lastIndexOf(";"));
-            RepairsOrder repairsOrder = new RepairsOrder(orderId, fileNameSaveUrl, orderNote, orderExpectedTime,
-                    null, date,null, null, "0", null, "0",
+            RepairsFault repairsFault = new RepairsFault(Integer.parseInt(faultId), null, null, null, null);
+            RepairsOrder repairsOrder = new RepairsOrder(orderId, orderImages, orderNote, orderExpectedTime,
+                    null, date, null, null, "0", null, "0",
                     null, repairsStudent, repairsWork, repairsFault);
             repairsOrderService.insertOrder(repairsOrder);
             flag = Boolean.TRUE;
         } catch (Exception e) {
             e.printStackTrace();
-        } finally {
-            if (fos != null) {
-                try {
-                    fos.close();
-                } catch (IOException e) {
-                    e.printStackTrace();
+        }
+        return ReturnValueUtil.returnBoolean(flag);
+    }
+
+    /**
+     * @param
+     * @param orderImages
+     * @return ReturnValueUtil
+     */
+    @ApiOperation("学生:故障图片上传")
+    @PostMapping(value = "/uploadImage")
+    public ReturnValueUtil uploadImage(@ApiParam(name = "故障图片 ") List<MultipartFile> orderImages) {
+        String fileNameSaveUrl = "";
+        try {
+            if (orderImages != null) {
+                for (MultipartFile orderImage : orderImages) {
+                    if (!orderImage.isEmpty()) {
+                        String originalFilename = orderImage.getOriginalFilename();
+                        int index = originalFilename.lastIndexOf('.') + 1;//获取地址.的前面的数字,从0开始
+                        //图片的文件名称
+                        String fileNameUrl = UUID.randomUUID().toString().replaceAll("-", "") + originalFilename + ";";
+                        //图片在数据库保存的名称
+                        fileNameSaveUrl += imgConfig.getShowHost() + fileNameUrl;
+                        fileNameUrl = fileNameUrl.substring(0, fileNameUrl.lastIndexOf(";"));
+                        //保存图片的路径(这是存在我项目中的images下了,你们可以设置路径)
+                        String filePath = imgConfig.getSaveLocation();
+                        //生成新文件名字 封装上传文件位置的全路径
+                        File targetFile = new File(filePath, fileNameUrl);
+                        //把本地文件上传到封装上传文件位置的全路径
+                        orderImage.transferTo(targetFile);
+                    }
                 }
+                fileNameSaveUrl = fileNameSaveUrl.substring(0, fileNameSaveUrl.lastIndexOf(";"));
+            } else {
+                return ReturnValueUtil.ok("用户没有提交图片");
             }
 
+        } catch (Exception e) {
+            e.printStackTrace();
+            return ReturnValueUtil.fail("图片上传失败");
         }
-        return ReturnValueUtil.returnBoolean(flag);
+        return ReturnValueUtil.ok(fileNameSaveUrl);
     }
 
-//    /**
-//     * 获取请求头中的access_token解码的到card_number学生ID,将获取的订单信息新增到订单表中
-//     *
-//     * @param request
-//     * @param orderExpectedTime
-//     * @param faultId
-//     * @param otherPhone
-//     * @param dormNumber
-//     * @param orderNote
-//     * @param file
-//     * @return ReturnValueUtil
-//     */
-//    @ApiOperation("学生:订单填报")
-//    @PostMapping(value = "/insertOrder")
-//    public ReturnValueUtil insertOrder(HttpServletRequest request,
-//                                       @ApiParam(name = "维修期望时间", required = true) String orderExpectedTime,
-//                                       @ApiParam(name = "故障类型ID", required = true) Integer faultId,
-//                                       @ApiParam(name = "备选电话", required = true) String otherPhone,
-//                                       @ApiParam(name = "学生宿舍", required = true) String dormNumber,
-//                                       @ApiParam(name = "楼栋楼层房间ID拼接1-2-10(1栋2层205)", required = true) String studentDormitory,
-//                                       @ApiParam(name = "订单备注") String orderNote,
-//                                       @ApiParam(name = "故障图片 ") List<MultipartFile> file) {
-//        Boolean flag = Boolean.FALSE;
-//        try {
-//            String cardNumber = CreateTokenUtil.getHeadersInfo(request);
-//            RepairsStudent repairsStudent = new RepairsStudent();
-//            repairsStudent.setStudentId(cardNumber);
-//            repairsStudent.setDormNumber(dormNumber);
-//            repairsStudent.setStudentDormitory(studentDormitory);
-//            repairsStudent.setStudentOtherPhone(otherPhone);
-//            ArrayList<RepairsStudent> repairsStudentList = new ArrayList<>();
-//            repairsStudentList.add(repairsStudent);
-//            repairsStudentService.updateStudent(repairsStudentList);
-//            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-//            //处理当前时间为时间戳格式
-//            Calendar calendar = Calendar.getInstance();
-//            String orderTime = sdf.format(calendar.getTime());
-//            Date date = sdf.parse(orderTime);
-//            long ts = date.getTime();
-//            String orderId = "D";
-//            orderId += String.valueOf(ts);
-//            RepairsWork repairsWork = null;
-//            RepairsFault repairsFault = new RepairsFault(faultId, null, null, null, null);
-//            //获取原始图片的拓展名
-//            String fileNameSaveUrl = "";
-//            String type = "";
-//            RepairsOrder repairsOrder = new RepairsOrder(orderId, null, orderNote, orderExpectedTime,
-//                    null, date, null, "0", null, "0",
-//                    null, repairsStudent, repairsWork, repairsFault);
-//            if (file == null) {
-//                repairsOrderService.insertOrder(repairsOrder);
-//                flag = Boolean.TRUE;
-//            } else {
-//                for (MultipartFile imageFile : file) {
-//                    String originalFilename = imageFile.getOriginalFilename();
-//                    int index = originalFilename.lastIndexOf('.') + 1;//获取地址.的前面的数字,从0开始
-//                    type = originalFilename.substring(index);//从地址.开始截取后缀
-//                    //图片的文件名称
-//                    String fileNameUrl = UUID.randomUUID().toString().replaceAll("-", "") + originalFilename + ";";
-//                    //图片在数据库保存的名称
-//                    fileNameSaveUrl += fileNameUrl;
-//                    fileNameUrl = fileNameUrl.substring(0, fileNameUrl.lastIndexOf(";"));
-//                    //保存图片的路径(这是存在我项目中的images下了,你们可以设置路径)
-//                    String filePath = imgConfig.getSaveLocation();
-//                    //生成新文件名字 封装上传文件位置的全路径
-//                    File targetFile = new File(filePath, fileNameUrl);
-//                    //把本地文件上传到封装上传文件位置的全路径
-//                    imageFile.transferTo(targetFile);
-//                }
-//                fileNameSaveUrl = fileNameSaveUrl.substring(0, fileNameSaveUrl.lastIndexOf(";"));
-//                repairsOrder.setOrderImages(fileNameSaveUrl);
-//                if (type.equals("jpg") || type.equals("jpeg") || type.equals("png")
-//                        || type.equals("JPG") || type.equals("JPEG") || type.equals("PNG")) {
-//                    if (!fileNameSaveUrl.equals("")) {
-//                        repairsOrder.setOrderImages(fileNameSaveUrl);
-//                        repairsOrderService.insertOrder(repairsOrder);
-//                        flag = Boolean.TRUE;
-//                    }
-//                }
-//            }
-//
-//        } catch (Exception e) {
-//            e.printStackTrace();
-//        }
-//        return ReturnValueUtil.returnBoolean(flag);
-//    }
-//
+
+
+
 
     /**
      * 修改订单状态  已完成 orderStatus = 3
@@ -594,9 +556,16 @@ public class OrderController {
             //当workId不为null时 数据库不会执行更新workId的sql
             RepairsWork repairsWork = new RepairsWork();
             repairsWork.setWorkId(1);
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            //处理当前时间
+            Calendar calendar = Calendar.getInstance();
+            String orderTime = sdf.format(calendar.getTime());
+            //传入时间就设置为当天时间
+            Date timeDate = sdf.parse(orderTime);
+
             if (!orderId.equals("")) {
                 RepairsOrder repairsOrder = new RepairsOrder(orderId, null, null, null,
-                        null,null, null, null, "3", null,
+                        timeDate, null, null, null, "3", null,
                         null, null, null, repairsWork, null);
                 ArrayList<RepairsOrder> orderArrayList = new ArrayList<>();
                 orderArrayList.add(repairsOrder);
@@ -623,11 +592,10 @@ public class OrderController {
     public ReturnValueUtil updateOrderRefused(@ApiParam(name = "订单ID", required = true) String orderId) {
         Boolean flag = Boolean.FALSE;
         try {
-            System.out.println(orderId);
             if (!orderId.equals("")) {
                 RepairsWork repairsWork = new RepairsWork();
                 RepairsOrder repairsOrder = new RepairsOrder(orderId, null, null, null,
-                        null,null, null, null, "0", null,
+                        null, null, null, null, "0", null,
                         null, null, null, repairsWork, null);
                 ArrayList<RepairsOrder> orderArrayList = new ArrayList<>();
                 orderArrayList.add(repairsOrder);
@@ -664,7 +632,7 @@ public class OrderController {
                 Date timeDate = sdf.parse(completeTime);
                 String time = sdf.format(timeDate);
                 RepairsOrder repairsOrder = new RepairsOrder(orderId, null, null, null,
-                        timeDate, null, null,null, "2", null,
+                        timeDate, null, null, null, "2", null,
                         null, null, null, repairsWork, null);
                 ArrayList<RepairsOrder> orderArrayList = new ArrayList<>();
                 orderArrayList.add(repairsOrder);

+ 7 - 5
src/main/java/com/chuanghai/repair/controller/StudentController.java

@@ -7,6 +7,7 @@ import com.chuanghai.repair.utils.ReturnValueUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
+import org.apache.commons.lang3.ObjectUtils;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
@@ -36,7 +37,7 @@ public class StudentController {
                                          @ApiParam(name = "学生宿舍", required = true)String dormNumber,
                                          @ApiParam(name = "楼栋楼层房间ID拼接1-2-10(1栋2层205)", required = true) String studentDormitory,
                                          @ApiParam(name = "学生校区 0(黄家湖校区)1(靖安校区)", required = true)String studentCampus) {
-        Boolean flag = Boolean.FALSE;
+        RepairsStudent repairsStudent = new RepairsStudent();
         try {
             if(studentSex.equals("男")){
                 studentSex = "0";
@@ -48,12 +49,12 @@ public class StudentController {
             if(studentCampus.equals("黄家湖校区")){
                 studentCampus = "0";
             }
-            if(studentCampus.equals("靖安校区")){
+            if(studentCampus.equals("墨轩湖校区")){
                 studentCampus = "1";
             }
 
             String cardNumber = CreateTokenUtil.getHeadersInfo(request);
-            RepairsStudent repairsStudent = new RepairsStudent(cardNumber,studentName,studentSex,
+            repairsStudent = new RepairsStudent(cardNumber,studentName,studentSex,
                     studentPhone,studentOtherPhone,studentClazz,dormNumber,
                     studentCampus,studentDormitory,null,cardNumber,"1");
 
@@ -62,12 +63,13 @@ public class StudentController {
                 ArrayList<RepairsStudent> studentArrayList = new ArrayList<>();
                 studentArrayList.add(repairsStudent);
                 repairsStudentService.updateStudent(studentArrayList);
-                flag = Boolean.TRUE;
+                repairsStudent = repairsStudentService.queryByStudentId(cardNumber);
+
             }
         } catch (Exception e) {
             e.printStackTrace();
         }
-        return ReturnValueUtil.returnBoolean(flag);
+        return ReturnValueUtil.returnObject(repairsStudent);
     }
 
     /**

+ 1 - 7
src/main/java/com/chuanghai/repair/controller/WorkController.java

@@ -47,15 +47,9 @@ public class WorkController {
     public ReturnValueUtil insertWork(@ApiParam(name = "维修工姓名", required = true) String workName,
                                       @ApiParam(name = "登录密码", required = true) String workPassword,
                                       @ApiParam(name = "手机号码", required = true) String workPhone,
-                                      @ApiParam(name = "服务校区0(黄家湖校区)1(靖安校区)", required = true) String workCampus) {
+                                      @ApiParam(name = "服务校区0(黄家湖校区)1(墨轩湖校区)", required = true) String workCampus) {
         Boolean flag = Boolean.FALSE;
         try {
-            if(workCampus.equals("黄家湖校区")){
-                workCampus = "0";
-            }
-            if(workCampus.equals("靖安校区")){
-                workCampus = "1";
-            }
             if (!workName.equals("") && !workPhone.equals("")) {
                 RepairsWork testWork = repairsWorkService.queryByWorkNamePhone(workName, workPhone);
                 RepairsWork repairsWork = new RepairsWork(null, workName, workPassword, workPhone, "1", "0", workCampus);

+ 8 - 7
src/main/java/com/chuanghai/repair/controller/WxController.java

@@ -16,8 +16,7 @@ import org.springframework.http.HttpHeaders;
 import org.springframework.http.MediaType;
 import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.*;
 import org.springframework.web.client.RestTemplate;
 import springfox.documentation.annotations.ApiIgnore;
 
@@ -48,6 +47,9 @@ public class WxController {
     @Autowired
     WeixiaoConfig weixiaoConfig;
 
+
+
+
     /**
      * 通过wxcode 获取对应的acces_token,再通过access_token的用户的具体信息,
      *    如果用户不存在数据库就将其添加到数据库中
@@ -56,17 +58,16 @@ public class WxController {
      * @param state
      * @return
      */
-    @ApiIgnore  //使该接口隐藏
+
     @GetMapping("/getCardNumber")
     public String  getCardNumber(String wxcode, String state) {
-        System.out.println(wxcode);
         String cardNumberToken = "";
         String accessToken = "";
         String cardNumber = "";
         try {
             String grant_type = "authorization_code";
-            String redirect_uri = "https://jtishfw.ncjti.edu.cn/baoxiu/repairApi/wx/getCardNumber";
-           // String redirect_uri = "http://10.244.137.3:8084/wx/getCardNumber";
+           // String redirect_uri = "https://jtishfw.ncjti.edu.cn/baoxiu/repairApi/wx/getCardNumber";
+            String redirect_uri = "http://binguo.vaiwan.com/wx/getCardNumber";
             String url = "https://open.wecard.qq.com/connect/oauth2/token"; //用于用户 获取基础的access_token
             Map<String, String> param = new HashMap<>();
             param.put("wxcode", wxcode);
@@ -90,6 +91,7 @@ public class WxController {
                     }
                 }
             }
+          //  System.out.println("accessTokenaccessTokenaccessToken    "+accessToken);
             Map<String, String> paramCardNumber = new HashMap<>();
             paramCardNumber.put("access_token", accessToken);
             paramCardNumber.put("scope", "snsapi_userinfo");
@@ -146,7 +148,6 @@ public class WxController {
                 repairsStudentService.insertStudent(repairsStudent);
             }
             cardNumberToken = URLEncoder.encode(CreateTokenUtil.getToken(cardNumber),"utf-8");
-
             return "redirect:" + weixiaoConfig.getRequestUrl()+"/#/pages/loginFilter/LoginFilter/?cardNumber=" + cardNumberToken;
         } catch (Exception e) {
             return "redirect:" + weixiaoConfig.getRequestUrl()+"/#/error/";

+ 1 - 1
src/main/java/com/chuanghai/repair/entity/RepairsOrder.java

@@ -86,7 +86,7 @@ public class RepairsOrder {
      * 订单状态 0(待接单)1(已接单)2(维修完成)3(退单)
      */
 
-    @ApiModelProperty(value = "订单状态 0(新订单)1(待接单)2(已接单)3(维修完成)4(退单)")
+    @ApiModelProperty(value = "订单状态 0(新订单)1(待接单)2(已接单)3(维修完成)4(退单)5(删除状态)")
     @Column(name = "order_status")
     private String orderStatus;
 

+ 6 - 0
src/main/java/com/chuanghai/repair/entity/RepairsRoom.java

@@ -30,5 +30,11 @@ public class RepairsRoom {
     @Column(name = "floor_id")
     private RepairsFloor repairsFloor;
 
+    /**
+     * 楼栋ID
+     */
+    @Column(name = "build_id")
+    private String buildID;
+
 
 }

+ 1 - 1
src/main/java/com/chuanghai/repair/entity/RepairsStudent.java

@@ -69,7 +69,7 @@ public class RepairsStudent {
     /**
      * 学生校区0(黄家湖校区)1(靖安校区)
      */
-    @ApiModelProperty(value ="学生校区0(黄家湖校区)1(靖安校区)" ) //key:campus,value:
+    @ApiModelProperty(value ="学生校区0(黄家湖校区)1(墨轩湖校区)" ) //key:campus,value:
     @Column(name = "student_campus")
     private String studentCampus;
 

+ 14 - 0
src/main/java/com/chuanghai/repair/mapper/RepairsOrderMapper.java

@@ -85,6 +85,14 @@ public interface RepairsOrderMapper  {
      * @return
      */
     List<RepairsOrder> queryAllOrderById(String studentId,String workId,String campus);
+    /**
+     * 通过ID查询订单无维修工
+     * @param studentId
+     * @param workId
+     * @param campus
+     * @return
+     */
+    List<RepairsOrder> queryAllOrderByIdNotWork(String studentId,String workId,String campus);
 
     /**
      * 订单修改状态   已完成 退单状态
@@ -106,4 +114,10 @@ public interface RepairsOrderMapper  {
      */
     List<RepairsOrder> queryAllOrderByAdvice(String tody, String tomorrow,String workID);
 
+    /**
+     * 修改报修订单
+     * @param repairsOrder
+     */
+    void updateOrderdetail(RepairsOrder repairsOrder);
+
 }

+ 4 - 0
src/main/java/com/chuanghai/repair/mapper/RepairsStudentMapper.java

@@ -32,4 +32,8 @@ public interface RepairsStudentMapper {
      * @param studentId
      */
     void updateStudentStatus(String studentId);
+
+
+
+
 }

+ 6 - 1
src/main/java/com/chuanghai/repair/service/RepairsOrderService.java

@@ -1,6 +1,7 @@
 package com.chuanghai.repair.service;
 
 import com.chuanghai.repair.entity.RepairsOrder;
+import com.chuanghai.repair.utils.MyPageInfo;
 import com.github.pagehelper.PageInfo;
 
 import java.util.HashMap;
@@ -108,7 +109,10 @@ public interface RepairsOrderService {
      * @param campus
      * @return
      */
-    PageInfo<RepairsOrder> queryAllOrderById(Integer pageNum, Integer pageSize, String studentId,String workId,String campus)throws  Exception;
+   // PageInfo<RepairsOrder> queryAllOrderById(Integer pageNum, Integer pageSize, String studentId,String workId,String campus)throws  Exception;
+    MyPageInfo<RepairsOrder> queryAllOrderByIdMyPageInfo(Integer pageNum, Integer pageSize, String studentId, String workId, String campus)throws  Exception;
+
+    PageInfo<RepairsOrder> queryAllOrderByWorkId(Integer pageNum, Integer pageSize, String studentId,String workId,String campus)throws  Exception;
 
     /**
      * 订单修改状态   已完成 退单状态
@@ -133,6 +137,7 @@ public interface RepairsOrderService {
     PageInfo<RepairsOrder> queryAllOrderByAdvice(String tody, String tomorrow,String workID, Integer pageNum, Integer pageSize)throws Exception;
 
 
+    void updateOrderdetail(RepairsOrder repairsOrder)throws Exception;
 
 
 }

+ 2 - 0
src/main/java/com/chuanghai/repair/service/RepairsStudentService.java

@@ -38,4 +38,6 @@ public interface RepairsStudentService {
      * @param studentId
      */
     void updateStudentStatus(String studentId) throws Exception;
+
+
 }

+ 110 - 2
src/main/java/com/chuanghai/repair/service/ServiceImpl/RepairsOrderServiceImpl.java

@@ -1,14 +1,20 @@
 package com.chuanghai.repair.service.ServiceImpl;
 
 import com.chuanghai.repair.entity.RepairsOrder;
+import com.chuanghai.repair.entity.RepairsWork;
 import com.chuanghai.repair.mapper.RepairsOrderMapper;
 import com.chuanghai.repair.service.RepairsOrderService;
+import com.chuanghai.repair.utils.ListUtil;
+import com.chuanghai.repair.utils.MyPageInfo;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
+import org.apache.commons.lang3.ObjectUtils;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.util.*;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 /**
  * @Author: bingo
@@ -157,15 +163,106 @@ public class RepairsOrderServiceImpl implements RepairsOrderService {
      * @param campus
      * @return
      */
+//    @Override
+//    public PageInfo<RepairsOrder> queryAllOrderById(Integer pageNum, Integer pageSize, String studentId, String workId, String campus) throws Exception {
+//        PageHelper.startPage(pageNum, pageSize);//分页插件,专门用于myBatis分页
+//        List<RepairsOrder> orderList1 = repairsOrderMapper.queryAllOrderByIdNotWork(studentId, workId, campus);
+//        List<RepairsOrder> orderList = repairsOrderMapper.queryAllOrderById(studentId, workId, campus);
+//
+////        List<RepairsOrder> collect = Stream.of(orderList, orderList1).flatMap(x -> x.stream()).collect(Collectors.toList());
+////        ListUtil.sort(collect, true, "orderStatus");
+////        orderList = collect;
+//        PageInfo<RepairsOrder> pageInfo = new PageInfo<>(orderList);
+//        return pageInfo;
+//    }
+//    /**
+//     * 通过ID查询订单
+//     *
+//     * @param studentId
+//     * @param workId
+//     * @param campus
+//     * @return
+//     */
+//    @Override
+//    public PageInfo<RepairsOrder> queryAllOrderById(Integer pageNum, Integer pageSize, String studentId, String workId, String campus) throws Exception {
+//
+//        List<RepairsOrder> orderList = repairsOrderMapper.queryAllOrderById(studentId, workId, campus);
+//        List<RepairsOrder> orderList1 = repairsOrderMapper.queryAllOrderByIdNotWork(studentId, workId, campus);
+//        PageHelper.startPage(pageNum, pageSize);//分页插件,专门用于myBatis分页
+//        orderList1.forEach(x->{
+//            RepairsWork repairsWork = new RepairsWork();
+//            repairsWork.setWorkId(null);
+//            repairsWork.setWorkName(null);
+//            x.setRepairsWork(repairsWork);
+//        });
+//        List<RepairsOrder> objects = new ArrayList<>();
+//    //    System.out.println("orderList"+orderList.size());
+//        System.out.println("orderList1"+orderList1.size());
+////
+////        orderList.forEach(z->{
+////            objects.add(z);
+////        });
+////
+////        orderList1.forEach(y->{
+////            objects.add(y);
+////        });
+////        System.out.println(objects.size());
+//        //  orderList.addAll(orderList1);
+//        List<RepairsOrder> collect = Stream.of(orderList, orderList1).flatMap(Collection::stream).distinct().collect(Collectors.toList());
+//        ListUtil.sort(collect, true, "orderStatus");
+//        MyPageInfo<RepairsOrder> myPageInfo = new MyPageInfo<>(collect, pageNum, pageSize);
+////
+////        collect.forEach(x->{
+////            System.out.println(x);
+////        });
+////        System.out.println(collect.size());
+//        PageInfo<RepairsOrder> pageInfo = new PageInfo<>(orderList1);
+//        return pageInfo;
+//    }
+    /**
+     * 通过ID查询订单
+     *
+     * @param studentId
+     * @param workId
+     * @param campus
+     * @return
+     */
     @Override
-    public PageInfo<RepairsOrder> queryAllOrderById(Integer pageNum, Integer pageSize, String studentId, String workId, String campus) throws Exception {
+    public MyPageInfo<RepairsOrder> queryAllOrderByIdMyPageInfo(Integer pageNum, Integer pageSize, String studentId, String workId, String campus) throws Exception {
+
+        List<RepairsOrder> orderList = repairsOrderMapper.queryAllOrderById(studentId, workId, campus);
+
+        List<RepairsOrder> orderList1 = repairsOrderMapper.queryAllOrderByIdNotWork(studentId, workId, campus);
+
+        PageHelper.startPage(pageNum, pageSize);//分页插件,专门用于myBatis分页
+        orderList1.forEach(x->{
+            RepairsWork repairsWork = new RepairsWork();
+            repairsWork.setWorkId(null);
+            repairsWork.setWorkName(null);
+            x.setRepairsWork(repairsWork);
+        });
+        List<RepairsOrder> collect = Stream.of(orderList, orderList1).flatMap(Collection::stream).distinct().collect(Collectors.toList());
+        ListUtil.sort(collect, true, "orderStatus");
+
+        MyPageInfo<RepairsOrder> myPageInfo = new MyPageInfo<>(collect, pageNum, pageSize);
+        return myPageInfo;
+    }
+    /**
+     * 通过ID查询订单
+     *
+     * @param studentId
+     * @param workId
+     * @param campus
+     * @return
+     */
+    @Override
+    public PageInfo<RepairsOrder> queryAllOrderByWorkId(Integer pageNum, Integer pageSize, String studentId, String workId, String campus) throws Exception {
         PageHelper.startPage(pageNum, pageSize);//分页插件,专门用于myBatis分页
         List<RepairsOrder> orderList = repairsOrderMapper.queryAllOrderById(studentId, workId, campus);
         PageInfo<RepairsOrder> pageInfo = new PageInfo<>(orderList);
         return pageInfo;
     }
 
-
     /**
      * 订单修改状态   已完成 退单状态+退单理由
      *
@@ -204,5 +301,16 @@ public class RepairsOrderServiceImpl implements RepairsOrderService {
         return pageInfo;
     }
 
+    /**
+     * 修改订单
+     * @param repairsOrder
+     * @throws Exception
+     */
+    @Override
+    public void updateOrderdetail(RepairsOrder repairsOrder) throws Exception {
+        repairsOrderMapper.updateOrderdetail(repairsOrder);
+
+    }
+
 
 }

+ 2 - 0
src/main/java/com/chuanghai/repair/service/ServiceImpl/RepairsStudentServiceImpl.java

@@ -64,4 +64,6 @@ public class RepairsStudentServiceImpl implements RepairsStudentService {
     public void updateStudentStatus(String studentId) throws Exception {
         repairsStudentMapper.updateStudentStatus(studentId);
     }
+
+
 }

+ 11 - 8
src/main/java/com/chuanghai/repair/utils/CreateTokenUtil.java

@@ -6,6 +6,7 @@ import com.auth0.jwt.JWT;
 import com.auth0.jwt.algorithms.Algorithm;
 //import com.sun.deploy.net.URLEncoder;
 
+import com.auth0.jwt.exceptions.JWTCreationException;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.http.HttpEntity;
 import org.springframework.http.HttpHeaders;
@@ -35,7 +36,9 @@ import java.util.Map;
 public class CreateTokenUtil {
 
     //设置过期时间
-    private static final long EXPIRE_DATE = 30 * 60 * 100000;
+   // private static final long EXPIRE_DATE = 30 * 60 * 100000;
+    private static final long EXPIRE_DATE = 10000;
+
     //token秘钥
     private static final String TOKEN_SECRET = "ZCfasfhuaUUHufguGuwu2020BQWE";
 
@@ -66,11 +69,11 @@ public class CreateTokenUtil {
             token = JWT.create()
                     .withHeader(header)
                     //  .withClaim("username",username)
-                    .withClaim("userId", userId).withExpiresAt(date)
+                    .withClaim("userId", userId)
+                    .withExpiresAt(date)
                     .sign(algorithm);
-        } catch (Exception e) {
-            e.printStackTrace();
-            return null;
+        } catch (JWTCreationException e) {
+            throw new RuntimeException("Error creating token for: " + token);
         }
         return token;
     }
@@ -215,7 +218,7 @@ public class CreateTokenUtil {
             for (Map.Entry<String, Object> entry : userInfoJSON.entrySet()) {
                 Object o = entry.getValue();
                 if (o instanceof String) {
-                    System.out.println("key:" + entry.getKey() + ":" + "value:" + entry.getValue());
+                    //System.out.println("key:" + entry.getKey() + ":" + "value:" + entry.getValue());
                 }
             }
         } catch (Exception e) {
@@ -254,11 +257,11 @@ public class CreateTokenUtil {
 
 
     public static void main(String[] args) {
-        String id = "20200210260236";
+        String id = "360100188808088886";
         String userId = "userId";
         String token = getToken(id);
         System.out.println(token);
-        String s = verify("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NDg5NTgzNTIsInVzZXJJZCI6IjIwMTkwMjEwMjMwMTMyIn0.4APEJ3_Cmj-lJMDURTCCdrJWB4szt2_p-Ntj2cMqujU", userId);
+        String s = verify("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NTUwODU0OTQsInVzZXJJZCI6IjM2MDcyMTE5OTgwMjE0MTYxOCJ9.gB_NULyl5971cl-go7TDAm_pLtcbrhTyJFCaJb4Oy1g", userId);
         System.out.println(s);
     }
 }

+ 66 - 5
src/main/java/com/chuanghai/repair/utils/DateUtils.java

@@ -16,10 +16,12 @@ import java.util.Date;
 @Setter
 @Getter
 public class DateUtils {
-    private  String tody;
-    private  String tomorrow;
+    private String tody;
+    private String tomorrow;
+    private Date todayUTC;
+    private Date yesterdayUTC;
 
-    public  void addOneDay(String time){
+    public void addOneDay(String time) {
 
         try {
             if (time != null && !time.equals("")) {
@@ -36,14 +38,73 @@ public class DateUtils {
                 calendar.add(Calendar.DATE, 1); //增加一天
                 tomorrow = sdf.format(calendar.getTime());
             }
-        }catch (Exception e){
+        } catch (Exception e) {
             e.printStackTrace();
         }
     }
 
+    //将时间转换为时间戳
+    public String dateToStamp() throws Exception {
+        String s = dateToString();
+        String res;
+        //设置时间格式,将该时间格式的时间转换为时间戳
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        Date date = simpleDateFormat.parse(s);
+        long time = date.getTime();
+        res = String.valueOf(time);
+        return res;
+    }
+
+
+    public String dateToString() {
+        dateToUTC();
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        //将时间调整为yyyy-MM-dd HH:mm:ss时间样式
+        String format = simpleDateFormat.format(todayUTC);
+        return format;
+    }
+
+    //将date转换为UTC格式
+    public void dateToUTC() {
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        SimpleDateFormat utcSdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
+
+
+        Calendar calendar = Calendar.getInstance();
+
+        Date todayDate = calendar.getTime();
+        calendar.add(Calendar.DATE, -1); //获取前一天的时间
+        Date yesterdayDate = calendar.getTime();
+        // 取得时间偏移量:
+        int zoneOffset = calendar.get(java.util.Calendar.ZONE_OFFSET);
+        // 取得夏令时差:
+        int dstOffset = calendar.get(java.util.Calendar.DST_OFFSET);
+        try {
+
+            long longToday = todayDate.getTime();
+            long longYesterday = yesterdayDate.getTime();
+            longToday = longToday - zoneOffset - dstOffset;
+            longYesterday = longYesterday - zoneOffset - dstOffset;
+            todayUTC = new Date(longToday);
+            yesterdayUTC = new Date(longYesterday);
+
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+    }
+
     public static void main(String[] args) {
         DateUtils dateUtils = new DateUtils();
         dateUtils.addOneDay("2022-03-17");
-        System.out.println(dateUtils.tody+"------"+dateUtils.tomorrow);
+        System.out.println(dateUtils.tody + "------" + dateUtils.tomorrow);
+
+        String s = null;
+        try {
+            s = new DateUtils().dateToStamp();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        System.out.println(s);
     }
 }

+ 22 - 15
src/main/resources/application.yml

@@ -1,5 +1,7 @@
 server:
   port: 8084
+  tomcat:
+    max-http-form-post-size:
 
 #数据源配置
 spring:
@@ -12,27 +14,35 @@ spring:
     #url: jdbc:mysql://192.168.1.41:3306/repairs?characterEncoding=utf-8&useSSL=FALSE&useAffectedRows=TRUE&allowMultiQueries=true&serverTimezone=GMT%2B8
 
     driver-class-name: com.mysql.jdbc.Driver
-#    mysql6以上需要使用下面的连接配置
-#    driver-class-name: com.mysql.cj.jdbc.Driver
+    #    mysql6以上需要使用下面的连接配置
+    #    driver-class-name: com.mysql.cj.jdbc.Driver
     username: root
     password: root
 
-  logging:
-    # 设置logback.xml位置
-    #  config: classpath:logs/logback.xml
-    # 设置log4j.properties位置
-    config: classpath:log4j.properties
-#数据库方言
+  #数据库方言
   jpa:
     database-platform: org.hibernate.dialect.MySQLDialect
+  #配置文件传输的大小
+  servlet:
+    multipart:
+      enabled: true
+      file-size-threshold: 0
+      max-file-size: 100MB
+      max-request-size: 100MB
 
 
+
+logging:
+  config:
+    classpath: log4j.properties
+
 #mybatis配置
 mybatis:
   mapper-locations: classpath:mapper/**/*.xml
 
 
 
+
 # 图片地址
 img:
   # 图片保存地址
@@ -55,13 +65,10 @@ weixiao:
   requestUrl: https://jtishfw.ncjti.edu.cn/baoxiu/repair-h5
   serverUrl: https://jtishfw.ncjti.edu.cn/baoxiu/
 
-  title: 寝室维修通知
-  content: 同学你好,你的寝室报修单已被维修师傅接单,维修师傅将于半小时后上门维修;请合理安排时间,谢谢合作。
-  sender: 寝室管理办公室
+  title: 故障维修通知
+  content: 用户您好,您的故障报修单已被维修师傅接单,维修师傅将于半小时后上门维修;请合理安排时间,谢谢合作。
+  sender: 维修管理办公室
+
 
 
 
-#远程IP端口、接口
-decisionEngine:
-  #url: http://39.108.175.59:9090/record/upload/offline
-  url: https://jtishfw.ncjti.edu.cn/baoxiu/repairApi/work/queryAllWorkStatus

+ 0 - 60
src/main/resources/log4j.properties

@@ -1,60 +0,0 @@
-
-#log4j \u914D\u7F6E
-#log4j\u5B9A\u4E49\u4E868\u4E2A\u7EA7\u522B\u7684log\u4F18\u5148\u7EA7\u4ECE\u9AD8\u5230\u4F4E\u4F9D\u6B21\u4E3A\uFF1AOFF\u3001FATAL\u3001ERROR\u3001WARN\u3001INFO\u3001DEBUG\u3001TRACE\u3001 ALL\u3002
-#CONSOLE\u524D\u9762\u7684DEBUG\u662F\u63A7\u5236\u53F0\u9700\u8981\u6253\u5370\u4EC0\u4E48DEBUG\u7EA7\u522B\u4EE5\u4E0A\u7684\u65E5\u5FD7\u7684\u4FE1\u606F
-#log4j.rootLogger=DEBUG, CONSOLE, ERROR, WARN, INFO, DEBUG, ALL
-log4j.rootLogger= ERROR
-#-----------------------------------------------------------------------------------------------------
-#\u8F93\u51FA\u4FE1\u606F\u5230\u63A7\u5236\u53F0CONSOLE
-log4j.appender.CONSOLE = org.apache.log4j.ConsoleAppender
-log4j.appender.CONSOLE.Target = System.out
-log4j.appender.CONSOLE.layout = org.apache.log4j.PatternLayout
-log4j.appender.CONSOLE.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n
-#-----------------------------------------------------------------------------------------------------
-#\u8F93\u51FAERROR \u7EA7\u522B\u4EE5\u4E0A\u7684\u65E5\u5FD7\u5230error.logs
-log4j.logger.ERROR=ERROR
-log4j.appender.ERROR = org.apache.log4j.DailyRollingFileAppender
-log4j.appender.ERROR.File =logs/error.log
-log4j.appender.ERROR.Threshold = ERROR
-log4j.appender.ERROR.Append = true
-log4j.appender.ERROR.layout = org.apache.log4j.PatternLayout
-log4j.appender.ERROR.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n
-#-----------------------------------------------------------------------------------------------------
-#\u8F93\u51FAWARN \u7EA7\u522B\u4EE5\u4E0A\u7684\u65E5\u5FD7\u5230warn.logs
-log4j.logger.WARN=WARN
-log4j.appender.WARN = org.apache.log4j.DailyRollingFileAppender
-log4j.appender.WARN.File =logs/warn.log
-log4j.appender.WARN.Threshold = WARN
-log4j.appender.WARN.Append = true
-log4j.appender.WARN.layout = org.apache.log4j.PatternLayout
-log4j.appender.WARN.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n
-#-----------------------------------------------------------------------------------------------------
-#\u8F93\u51FAINFO\u7EA7\u522B\u4EE5\u4E0A\u7684\u5185\u5BB9\u5230info.log\u4E2D
-log4j.logger.INFO=INFO
-log4j.appender.INFO = org.apache.log4j.DailyRollingFileAppender
-log4j.appender.INFO.File = logs/info.log
-log4j.appender.INFO.Threshold = INFO
-log4j.appender.INFO.Append = true
-log4j.appender.INFO.layout = org.apache.log4j.PatternLayout
-log4j.appender.INFO.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n
-#-----------------------------------------------------------------------------------------------------
-#\u8F93\u51FADEBUG \u7EA7\u522B\u4EE5\u4E0A\u7684\u65E5\u5FD7\u5230debugger.logs
-log4j.logger.DEBUG=DEBUG
-log4j.appender.DEBUG = org.apache.log4j.DailyRollingFileAppender
-log4j.appender.DEBUG.File = logs/debug.log
-log4j.appender.DEBUG.Threshold = DEBUG
-log4j.appender.DEBUG.Append = true
-log4j.appender.DEBUG.layout = org.apache.log4j.PatternLayout
-log4j.appender.DEBUG.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n
-#-----------------------------------------------------------------------------------------------------
-#\u8F93\u51FAALL\u7EA7\u522B\u7684\u65E5\u5FD7\u5230all.logs
-log4j.logger.ALL=ALL
-log4j.appender.ALL = org.apache.log4j.DailyRollingFileAppender
-log4j.appender.ALL.File = logs/all.log
-log4j.appender.file.DatePattern ='.'yyyy-MM-dd
-log4j.appender.ALL.Threshold = ALL
-log4j.appender.ALL.Append = true
-log4j.appender.ALL.layout = org.apache.log4j.PatternLayout
-log4j.appender.ALL.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n
-
-

+ 158 - 102
src/main/resources/mapper/RepairsOrderMapper.xml

@@ -19,7 +19,7 @@
         <result column="order_back" property="orderBack" jdbcType="VARCHAR"/>
     </resultMap>
 
-    <resultMap id="OrderFaultStudentMap" type="com.chuanghai.repair.entity.RepairsOrder" >
+    <resultMap id="OrderFaultStudentMap" type="com.chuanghai.repair.entity.RepairsOrder">
         <id column="order_id" property="orderId" jdbcType="VARCHAR"/>
         <result column="order_images" property="orderImages" jdbcType="VARCHAR"/>
         <result column="order_note" property="orderNote" jdbcType="VARCHAR"/>
@@ -33,79 +33,83 @@
         <result column="order_price" property="orderPrice" jdbcType="DECIMAL"/>
         <result column="order_price_status" property="orderPriceStatus" jdbcType="VARCHAR"/>
         <result column="order_back" property="orderBack" jdbcType="VARCHAR"/>
-<!--        订单与学生之间是  N:1 关系-->
-        <association  property="repairsStudent"  javaType="com.chuanghai.repair.entity.RepairsStudent">
+        <!--        订单与学生之间是  N:1 关系-->
+        <association property="repairsStudent" javaType="com.chuanghai.repair.entity.RepairsStudent">
             <id column="student_id" property="studentId"></id>
             <result column="dorm_number" property="dormNumber" jdbcType="VARCHAR"/>
             <result column="student_phone" property="studentPhone" jdbcType="VARCHAR"/>
             <result column="student_other_phone" property="studentOtherPhone" jdbcType="VARCHAR"/>
-        </association >
-<!--        订单与维修工之间是  N:1 关系-->
-        <association  property="repairsWork"  javaType="com.chuanghai.repair.entity.RepairsWork">
+        </association>
+        <!--        订单与维修工之间是  N:1 关系-->
+        <association property="repairsWork" javaType="com.chuanghai.repair.entity.RepairsWork">
             <id column="work_id" property="workId"></id>
             <id column="work_name" property="workName"></id>
-        </association >
-<!--        订单与故障类型之间是  N:1 关系-->
-        <association  property="repairsFault"  javaType="com.chuanghai.repair.entity.RepairsFault">
+        </association>
+        <!--        订单与故障类型之间是  N:1 关系-->
+        <association property="repairsFault" javaType="com.chuanghai.repair.entity.RepairsFault">
             <id column="fault_id" property="faultId"></id>
             <result column="fault_name" property="faultName" jdbcType="VARCHAR"/>
-        </association >
+        </association>
 
     </resultMap>
 
-<!--    通过时间查询订单信息-->
-        <select id="queryAllOrderByDate" parameterType="java.lang.String" resultMap="OrderFaultStudentMap">
-
-            select od.order_id, od.order_status,od.order_commit_time, fa.fault_name,st.dorm_number,
-                od.order_complete_time,od.order_expected_time,wo.work_name,od.order_back,st.student_phone,st.student_other_phone
-            from
-            repairs_order od left join repairs_student st on od.student_id = st.student_id
-            left join repairs_fault fa on od.fault_id = fa.fault_id
-            left join repairs_work wo on od.work_id = wo.work_id
-            <trim prefix="where" prefixOverrides="and" suffix="" suffixOverrides="">
-                <if test="tody!='' and tody!=null">
-                    and od.order_complete_time BETWEEN #{tody} and #{tomorrow}
-                </if>
-                <if test = "orderStatus == '1'.toString()">
-                    and od.work_id = wo.work_id
-                    and od.order_status =#{orderStatus}
-                </if>
-                <if test = "orderStatus == '2'.toString()">
-                    and od.work_id = wo.work_id
-                    and od.order_status =#{orderStatus}
-                </if>
-                <if test = "orderStatus == '3'.toString()">
-                    and od.work_id = wo.work_id
-                    and od.order_status =#{orderStatus}
-                </if>
-                <if test = "orderStatus == '123'.toString()">
-                    and od.order_status not in ("0","4")
-                </if>
+    <!--    通过时间查询订单信息-->
+    <select id="queryAllOrderByDate" parameterType="java.lang.String" resultMap="OrderFaultStudentMap">
 
-            </trim>
-            order by od.order_complete_time desc, fa.fault_level desc
-        </select>
+        select od.order_id, od.order_status,od.order_commit_time, fa.fault_name,st.dorm_number,
+        od.order_complete_time,od.order_expected_time,wo.work_name,od.order_back,st.student_phone,st.student_other_phone,od.order_advice
+        from
+        repairs_order od left join repairs_student st on od.student_id = st.student_id
+        left join repairs_fault fa on od.fault_id = fa.fault_id
+        left join repairs_work wo on od.work_id = wo.work_id
+        <trim prefix="where" prefixOverrides="and" suffix="" suffixOverrides="">
+            <if test="tody!='' and tody!=null">
+                and od.order_complete_time BETWEEN #{tody} and #{tomorrow}
+            </if>
+            <if test="orderStatus == '1'.toString()">
+                and od.work_id = wo.work_id
+                and od.order_status =#{orderStatus}
+            </if>
+            <if test="orderStatus == '2'.toString()">
+                and od.work_id = wo.work_id
+                and od.order_status =#{orderStatus}
+            </if>
+            <if test="orderStatus == '3'.toString()">
+                and od.work_id = wo.work_id
+                and od.order_status =#{orderStatus}
+            </if>
+            <if test="orderStatus == '123'.toString()">
+                and od.order_status not in ("0","4","5")
+            </if>
+
+        </trim>
+        order by od.order_complete_time desc, fa.fault_level desc
+    </select>
 
     <!--    通过时间查询订单信息-->
     <select id="queryAllNewBackOrder" parameterType="java.lang.String" resultMap="OrderFaultStudentMap">
 
         select od.order_id, od.order_status,od.order_commit_time, fa.fault_name,st.dorm_number,
-            od.order_complete_time,od.order_expected_time,wo.work_name,od.order_back,st.student_phone,
-            st.student_other_phone,od.order_back_time
+        od.order_complete_time,od.order_expected_time,wo.work_name,od.order_back,st.student_phone,od.order_advice,
+        st.student_other_phone,od.order_back_time
         from
         repairs_order od left join repairs_student st on od.student_id = st.student_id
         left join repairs_fault fa on od.fault_id = fa.fault_id
         left join repairs_work wo on od.work_id = wo.work_id
         <trim prefix="where" prefixOverrides="and" suffix="" suffixOverrides="">
-            <if test="tody!='' and tody!=null">
-                and od.order_expected_time BETWEEN #{tody} and #{tomorrow}
-            </if>
-            <if test = "orderStatus == '0'.toString()">
+
+            <if test="orderStatus == '0'.toString()">
                 and od.order_status =#{orderStatus}
+                <if test="tody != null">
+                    and od.order_expected_time BETWEEN #{tody} and #{tomorrow}
+                </if>
                 order by od.order_expected_time desc
             </if>
-            <if test = "orderStatus == '4'.toString()">
+            <if test="orderStatus == '4'.toString()">
                 and od.order_status =#{orderStatus}
+                <if test="tody != null">
+                    and od.order_back_time BETWEEN #{tody} and #{tomorrow}
+                </if>
                 order by od.order_back_time desc
             </if>
 
@@ -116,26 +120,52 @@
 
     <!--    通过ID查询订单信息-->
     <select id="queryAllOrderById" parameterType="java.lang.String" resultMap="OrderFaultStudentMap">
-        select od.order_id, od.order_status,od.order_commit_time, fa.fault_name,st.dorm_number, od.order_expected_time, od.order_back
+        select od.order_id, od.order_status,od.order_commit_time, fa.fault_name,st.dorm_number,od.order_advice,
+        od.order_expected_time, od.order_back, wo.work_id,wo.work_name,od.order_complete_time,od.order_back_time
+        from repairs_order od ,repairs_student st ,repairs_fault fa ,repairs_work wo
+        <trim prefix="where" prefixOverrides="and" suffix="" suffixOverrides="">
+            od.fault_id = fa.fault_id
+            and od.student_id = st.student_id
+            and od.work_id = wo.work_id
+
+            <if test=" studentId!=null  and studentId!=''">
+                and od.student_id = #{studentId}
+            </if>
+
+            <if test="workId!='' and workId!=null ">
+                and od.work_id = #{workId}
+                <if test="campus!='' and campus!=null">
+                    and wo.work_campus = #{campus}
+                </if>
+            </if>
+
+            order by od.order_status asc, od.order_expected_time desc
+        </trim>
+    </select>
+
+    <!--    通过ID查询订单信息-->
+    <select id="queryAllOrderByIdNotWork" parameterType="java.lang.String" resultMap="OrderFaultStudentMap">
+        select od.order_id, od.order_status,od.order_commit_time, fa.fault_name,st.dorm_number, od.order_expected_time,
+        od.order_back,od.order_advice,od.order_complete_time,od.order_back_time
         from repairs_order od ,repairs_student st ,repairs_fault fa
         <trim prefix="where" prefixOverrides="and" suffix="" suffixOverrides="">
-            od.student_id = st.student_id
-            and od.fault_id = fa.fault_id
-            <if test="studentId!='' and studentId!=null">
+            od.fault_id = fa.fault_id
+            and od.student_id = st.student_id
+            <if test=" studentId!=null  and studentId!=''">
                 and od.student_id = #{studentId}
             </if>
             <if test="workId!='' and workId!=null">
                 and od.work_id = #{workId}
+                <if test="campus!='' and campus!=null">
+                    and st.student_campus = #{campus}
+                </if>
             </if>
-            <if test="campus!='' and campus!=null">
-                and st.student_campus = #{campus}
-            </if>
-            order by od.order_commit_time desc
+            and od.order_status in ("0","4")
+            order by od.order_expected_time desc
         </trim>
     </select>
-
-<!--    订单修后评价-->
-    <select id="updateOrderAdvice" parameterType="java.lang.String" resultType="java.lang.Integer">
+    <!--    订单修后评价-->
+    <update id="updateOrderAdvice" parameterType="java.lang.String">
         update repairs_order
         <set>
             <if test="orderAdvice!='' and orderAdvice!= null">
@@ -147,46 +177,51 @@
                 and order_id = #{orderId}
             </if>
         </trim>
-    </select>
+    </update>
 
 
-<!--    查询所有新订单状态的订单   order_status = 0  -->
+    <!--    查询所有新订单状态的订单   order_status = 0  -->
     <select id="queryAllOrderNotReceive" resultMap="OrderFaultStudentMap">
-        select * from repairs_order  where  order_status = 0
+        select * from repairs_order where order_status = 0
     </select>
 
-    <resultMap id="queryByOrderIdMap" type="com.chuanghai.repair.entity.RepairsOrder" >
+    <resultMap id="queryByOrderIdMap" type="com.chuanghai.repair.entity.RepairsOrder">
         <id column="order_id" property="orderId" jdbcType="VARCHAR"/>
         <result column="order_images" property="orderImages" jdbcType="VARCHAR"/>
         <result column="order_advice" property="orderAdvice" jdbcType="VARCHAR"/>
         <result column="order_status" property="orderStatus" jdbcType="VARCHAR"/>
         <result column="order_expected_time" property="orderExpectedTime" jdbcType="VARCHAR"/>
+        <result column="order_commit_time" property="orderCommitTime" jdbcType="TIMESTAMP"/>
+        <result column="order_complete_time" property="orderCompleteTime" jdbcType="TIMESTAMP"/>
+        <result column="order_back_time" property="orderBackTime" jdbcType="TIMESTAMP"/>
+
         <result column="order_back" property="orderBack" jdbcType="VARCHAR"/>
         <!--        订单与学生之间是  N:1 关系-->
-        <association  property="repairsStudent"  javaType="com.chuanghai.repair.entity.RepairsStudent">
+        <association property="repairsStudent" javaType="com.chuanghai.repair.entity.RepairsStudent">
             <id column="student_id" property="studentId"></id>
             <result column="student_phone" property="studentPhone" jdbcType="VARCHAR"/>
             <result column="student_other_phone" property="studentOtherPhone" jdbcType="VARCHAR"/>
             <result column="dorm_number" property="dormNumber" jdbcType="VARCHAR"/>
-        </association >
+        </association>
         <!--        订单与故障类型之间是  N:1 关系-->
-        <association  property="repairsFault"  javaType="com.chuanghai.repair.entity.RepairsFault">
+        <association property="repairsFault" javaType="com.chuanghai.repair.entity.RepairsFault">
             <id column="fault_id" property="faultId"></id>
             <result column="fault_name" property="faultName" jdbcType="VARCHAR"/>
-        </association >
+        </association>
         <!--        订单与维修工之间是  N:1 关系-->
-        <association  property="repairsWork"  javaType="com.chuanghai.repair.entity.RepairsWork">
+        <association property="repairsWork" javaType="com.chuanghai.repair.entity.RepairsWork">
             <id column="work_id" property="workId"></id>
             <id column="work_name" property="workName"></id>
-        </association >
+        </association>
 
     </resultMap>
 
 
-<!--    查询指定订单ID 的订单-->
-    <select id="queryByOrderId"  parameterType="java.lang.String" resultMap="queryByOrderIdMap">
-        select od.order_id, od.order_commit_time, fa.fault_name,st.dorm_number, od.order_complete_time,od.order_expected_time,od.order_back,
-            st.student_phone,st.student_other_phone, od.order_images, wo.work_name,od.order_status
+    <!--    查询指定订单ID 的订单-->
+    <select id="queryByOrderId" parameterType="java.lang.String" resultMap="queryByOrderIdMap">
+        select od.order_id, od.order_commit_time, fa.fault_name,st.dorm_number,
+        od.order_complete_time,od.order_expected_time,od.order_back,
+        st.student_phone,st.student_other_phone, od.order_images, wo.work_name,od.order_status,od.order_advice
         from repairs_order od ,repairs_student st ,repairs_fault fa, repairs_work wo
         <trim prefix="where" prefixOverrides="and" suffix="" suffixOverrides="">
             od.student_id = st.student_id
@@ -200,9 +235,10 @@
 
 
     <!--    查询指定订单ID 的订单-->
-    <select id="queryByOrderIdNotWork"  parameterType="java.lang.String" resultMap="queryByOrderIdMap">
-        select od.order_id, od.order_commit_time, fa.fault_name,st.dorm_number, od.order_complete_time,od.order_expected_time,od.order_back,
-        st.student_phone,st.student_other_phone, od.order_images,od.order_status
+    <select id="queryByOrderIdNotWork" parameterType="java.lang.String" resultMap="queryByOrderIdMap">
+        select od.order_id, od.order_commit_time, fa.fault_name,st.dorm_number,
+        od.order_complete_time,od.order_expected_time,od.order_back,
+        st.student_phone,st.student_other_phone, od.order_images,od.order_status,od.order_advice
         from repairs_order od ,repairs_student st ,repairs_fault fa
         <trim prefix="where" prefixOverrides="and" suffix="" suffixOverrides="">
             od.student_id = st.student_id
@@ -214,9 +250,8 @@
     </select>
 
 
-
-<!--    管理员手动派单 同时修改两个参数-->
-    <update id="updateRepairsOrderBath" parameterType="java.util.List" >
+    <!--    管理员手动派单 同时修改两个参数-->
+    <update id="updateRepairsOrderBath" parameterType="java.util.List">
         update repairs_order
         <trim prefix="set" suffixOverrides=",">
             <trim prefix="order_status=case" suffix="end,">
@@ -243,24 +278,23 @@
     </update>
 
 
-<!--    系统自动派单  修改对应的订单-->
+    <!--    系统自动派单  修改对应的订单-->
     <update id="updateOrderWorkId" parameterType="java.util.Map">
         update repairs_order set work_id = #{workId},order_status = 1 where order_id = #{orderId}
     </update>
 
 
-<!--    订单填报-->
+    <!--    订单填报-->
     <insert id="insertOrder" parameterType="com.chuanghai.repair.entity.RepairsOrder">
         insert into repairs_order (order_id,order_images,order_note,order_expected_time,order_status,order_price,
-                                    order_price_status,student_id,order_commit_time,fault_id)
+        order_price_status,student_id,order_commit_time,fault_id)
         values(#{orderId},#{orderImages},#{orderNote},#{orderExpectedTime},#{orderStatus},
-             #{orderPrice},#{orderPriceStatus},#{repairsStudent.studentId},#{orderCommitTime},#{repairsFault.faultId});
+        #{orderPrice},#{orderPriceStatus},#{repairsStudent.studentId},#{orderCommitTime},#{repairsFault.faultId});
     </insert>
 
 
-
-<!--    订单修改状态  已接单 已完成 退单  拒绝状态-->
-    <update id="updateOrderStatus" parameterType="java.util.List" >
+    <!--    订单修改状态  已接单 已完成 退单  拒绝状态-->
+    <update id="updateOrderStatus" parameterType="java.util.List">
         update repairs_order
         <trim prefix="set" suffixOverrides=",">
             <trim prefix="order_status=case" suffix="end,">
@@ -280,11 +314,10 @@
                     </if>
                 </foreach>
             </trim>
+
             <trim prefix="order_complete_time=case" suffix="end,">
                 <foreach collection="list" item="item" index="index">
-                    <if test="item.orderCompleteTime != null ">
-                        when order_id = #{item.orderId} then #{item.orderCompleteTime}
-                    </if>
+                    when order_id = #{item.orderId} then #{item.orderCompleteTime}
                 </foreach>
             </trim>
             <trim prefix="order_back_time=case" suffix="end,">
@@ -305,42 +338,42 @@
     <resultMap id="orderTimeMap" type="com.chuanghai.repair.entity.RepairsOrder">
         <id column="order_id" property="orderId" jdbcType="VARCHAR"/>
         <!--        订单与学生之间是  N:1 关系-->
-        <association  property="repairsStudent"  javaType="com.chuanghai.repair.entity.RepairsStudent">
+        <association property="repairsStudent" javaType="com.chuanghai.repair.entity.RepairsStudent">
             <id column="student_id" property="studentId"></id>
-        </association >
+        </association>
     </resultMap>
 
-<!--    查询与系统时间相差半小时的订单编号-->
+    <!--    查询与系统时间相差半小时的订单编号-->
     <select id="queryByTime" parameterType="java.lang.String" resultMap="orderTimeMap">
         select st.student_id from repairs_order od,repairs_student st
         where od.student_id = st.student_id
-        and od.order_complete_time BETWEEN #{systemTime}  AND #{changeTime}
+        and od.order_complete_time BETWEEN #{systemTime} AND #{changeTime}
     </select>
 
 
-    <resultMap id="OrderAdviceMap" type="com.chuanghai.repair.entity.RepairsOrder" >
+    <resultMap id="OrderAdviceMap" type="com.chuanghai.repair.entity.RepairsOrder">
         <id column="order_id" property="orderId" jdbcType="VARCHAR"/>
         <result column="order_complete_time" property="orderCompleteTime" jdbcType="TIMESTAMP"/>
         <result column="order_advice" property="orderAdvice" jdbcType="VARCHAR"/>
         <!--        订单与学生之间是  N:1 关系-->
-        <association  property="repairsStudent"  javaType="com.chuanghai.repair.entity.RepairsStudent">
+        <association property="repairsStudent" javaType="com.chuanghai.repair.entity.RepairsStudent">
             <id column="student_id" property="studentId"></id>
             <result column="dorm_number" property="dormNumber" jdbcType="VARCHAR"/>
-        </association >
+        </association>
         <!--        订单与维修工之间是  N:1 关系-->
-        <association  property="repairsWork"  javaType="com.chuanghai.repair.entity.RepairsWork">
+        <association property="repairsWork" javaType="com.chuanghai.repair.entity.RepairsWork">
             <id column="work_id" property="workId"></id>
             <result column="work_name" property="workName" jdbcType="VARCHAR"/>
-        </association >
+        </association>
         <!--        订单与故障类型之间是  N:1 关系-->
-        <association  property="repairsFault"  javaType="com.chuanghai.repair.entity.RepairsFault">
+        <association property="repairsFault" javaType="com.chuanghai.repair.entity.RepairsFault">
             <id column="fault_id" property="faultId"></id>
             <result column="fault_name" property="faultName" jdbcType="VARCHAR"/>
-        </association >
+        </association>
 
     </resultMap>
 
-<!--    订单意见投诉查询-->
+    <!--    订单意见投诉查询-->
     <select id="queryAllOrderByAdvice" parameterType="java.lang.String" resultMap="OrderAdviceMap">
         select od.order_id,fa.fault_name,od.order_complete_time,wo.work_name,od.order_advice,st.dorm_number
         from repairs_order od,repairs_work wo,repairs_student st ,repairs_fault fa
@@ -357,9 +390,32 @@
                 and wo.work_id = #{workID}
             </if>
         </trim>
-         order by od.order_complete_time desc
+        order by od.order_complete_time desc
     </select>
 
 
+    <update id="updateOrderdetail" parameterType="com.chuanghai.repair.entity.RepairsOrder">
+        update repairs_order
+        <set>
+            <if test="orderNote!='' and orderNote!= null">
+                order_note = #{orderNote},
+            </if>
+            <if test="orderExpectedTime!='' and orderExpectedTime!= null">
+                order_expected_time = #{orderExpectedTime},
+            </if>
+            <if test="orderStatus!='' and orderStatus!= null">
+                order_status= #{orderStatus},
+            </if>
+            <if test="repairsFault!='' and repairsFault!= null">
+                fault_id= #{repairsFault.faultId},
+            </if>
+
+        </set>
+        <trim prefix="where" prefixOverrides="and" suffix="" suffixOverrides="">
+            <if test="orderId!='' and orderId!=null">
+                and order_id = #{orderId}
+            </if>
+        </trim>
+    </update>
 
 </mapper>

+ 7 - 2
src/main/resources/mapper/RepairsRoomMapper.xml

@@ -7,6 +7,7 @@
         -->
         <id column="room_id" property="roomId" jdbcType="INTEGER"/>
         <result column="room_name" property="roomName" jdbcType="VARCHAR"/>
+        <result column="build_id" property="buildID" jdbcType="VARCHAR"/>
         <!--        房间与楼栋之间是  N:1 关系-->
         <association  property="repairsFloor"  javaType="com.chuanghai.repair.entity.RepairsFloor">
             <id column="floor_id" property="floorId"></id>
@@ -16,6 +17,7 @@
                 <result column="build_name" property="buildName" jdbcType="VARCHAR"/>
             </association >
         </association >
+
     </resultMap>
 
     <resultMap id="queryAllRoomByFloorIDMap" type="com.chuanghai.repair.entity.RepairsRoom">
@@ -27,7 +29,10 @@
     </resultMap>
 
 <!--    查询所有宿舍信息-->
-    <select id="queryAllRoomByFloorID" parameterType="java.lang.String" resultMap="queryAllRoomByFloorIDMap">
-        select room_id, room_name from repairs_room where floor_id = #{floorId}
+    <select id="queryAllRoomByFloorID" parameterType="java.lang.String" resultMap="BaseResultMap">
+<!--        select room_id, room_name,build_id from repairs_room where floor_id = #{floorId}-->
+        select ro.room_id, ro.room_name,ro.build_id,fl.floor_name, fl.floor_id,bu.build_id, bu.build_name
+            from repairs_room ro,repairs_floor fl,repairs_build bu
+            where ro.floor_id = fl.floor_id and ro.build_id = bu.build_id and ro.floor_id = #{floorId}
     </select>
 </mapper>

+ 6 - 10
src/main/resources/mapper/RepairsWorkMapper.xml

@@ -23,18 +23,14 @@
         <result column="work_name" property="workName" jdbcType="VARCHAR"/>
         <result column="work_password" property="workPassword" jdbcType="VARCHAR"/>
         <result column="work_phone" property="workPhone" jdbcType="VARCHAR"/>
+        <result column="work_campus" property="workCampus" jdbcType="VARCHAR"/>
     </resultMap>
-    <select id="loginWork" parameterType="java.lang.String" resultMap="loginWorkMap">
-        select wo.* from repairs_work as wo
-        <trim prefix="where" prefixOverrides="and" suffix="" suffixOverrides="">
-            <if test="phone!='' and phone!=null">
-                and work_phone = #{phone}
-            </if>
-            <if test=" password!='' and  password!=null">
-                and work_password = #{password}
-            </if>
+    <select id="loginWork" parameterType="java.lang.String" resultMap="AllRepairsWorkMap">
+        select * from repairs_work where
+            work_phone = #{phone}
+            and work_password = #{password}
             and work_status = "1"
-        </trim>
+
     </select>
 
 <!--    维修工新增-->