Ver código fonte

1、优化接口文档
2、实现微校消息通知功能

binguoc 4 anos atrás
pai
commit
4e46f741b9

+ 3 - 15
src/main/java/com/chuanghai/repair/controller/AutoSendOrderCentroller.java

@@ -1,18 +1,12 @@
 package com.chuanghai.repair.controller;
 
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
+
 import com.chuanghai.repair.auth.CacheListener;
 import com.chuanghai.repair.entity.RepairsOrder;
 import com.chuanghai.repair.service.RepairsOrderService;
 import com.chuanghai.repair.service.RepairsWorkService;
 import com.chuanghai.repair.service.ServiceImpl.CacheManagerImpl;
 import com.chuanghai.repair.utils.CreateTokenUtil;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import lombok.Data;
-import lombok.Getter;
-import lombok.Setter;
 import org.springframework.context.ApplicationListener;
 import org.springframework.context.event.ContextRefreshedEvent;
 import org.springframework.http.HttpEntity;
@@ -20,14 +14,11 @@ import org.springframework.http.HttpHeaders;
 import org.springframework.http.MediaType;
 import org.springframework.http.ResponseEntity;
 import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.stereotype.Component;
-import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.client.RestTemplate;
 
 import javax.annotation.Resource;
-import java.net.URI;
 import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.stream.Collectors;
@@ -84,6 +75,7 @@ public class AutoSendOrderCentroller implements ApplicationListener<ContextRefre
             String changeTime = sdf.format(calendar.getTime());
 
             List<RepairsOrder> orderList = repairsOrderService.queryByTime(systemTime, changeTime);
+
             String idList = orderList.stream().filter(e -> e.getRepairsStudent() != null)
                     .map(e -> e.getRepairsStudent().getStudentId()).collect(Collectors.toSet()).toString();
 
@@ -91,10 +83,7 @@ public class AutoSendOrderCentroller implements ApplicationListener<ContextRefre
             String content = "同学你好,你的寝室报修单已被维修师傅接单,维修师傅将于半小时后上门维修;请合理安排时间,谢谢合作。";
             String sender = "寝室管理办公室";
             String access_token = new CacheManagerImpl().getCacheByKey("cache_token").getDatas().toString();
-            System.out.println(access_token);
-            for (String key : cacheManagerImpl.getAllKeys()) {
-                System.out.println("key:------------value:  "+new CacheManagerImpl().getCacheByKey(key).getDatas().toString());
-            }
+
             Map<String, String> param = new HashMap<>();
             param.put("title", title);
             param.put("cards", idList);
@@ -108,7 +97,6 @@ public class AutoSendOrderCentroller implements ApplicationListener<ContextRefre
             HttpEntity<Map<String, String>> request = new HttpEntity<>(param, headers);
             ResponseEntity<String> responseEntity = restTemplate.postForEntity(url, request, String.class);
 
-            System.out.println(responseEntity.getBody());
         } catch (Exception e) {
             e.printStackTrace();
         }

+ 1 - 2
src/main/java/com/chuanghai/repair/controller/BuildRoomController.java

@@ -1,7 +1,6 @@
 package com.chuanghai.repair.controller;
 
 import com.chuanghai.repair.entity.RepairsRoom;
-import com.chuanghai.repair.mapper.RepairsBuildRoomMapper;
 import com.chuanghai.repair.service.RepairsBuildRoomService;
 import com.chuanghai.repair.utils.ReturnValueUtil;
 import io.swagger.annotations.Api;
@@ -40,6 +39,6 @@ public class BuildRoomController {
         }catch (Exception e){
             e.printStackTrace();
         }
-        return ReturnValueUtil.ok(roomList);
+        return ReturnValueUtil.returnObject(roomList);
     }
 }

+ 6 - 2
src/main/java/com/chuanghai/repair/controller/FaultController.java

@@ -2,6 +2,7 @@ package com.chuanghai.repair.controller;
 
 import com.chuanghai.repair.entity.RepairsFault;
 import com.chuanghai.repair.service.RepairsFaultService;
+import com.chuanghai.repair.utils.ReturnValueUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -25,15 +26,18 @@ public class FaultController {
     @Resource(name ="repairsFaultService" )
     private RepairsFaultService repairsFaultService;
 
+
+
     @ApiOperation("故障类型查询")
     @PostMapping(value = "/queryAllFaultByStatus")
-    public List<RepairsFault> queryAllFaultByStatus(){
+    public ReturnValueUtil queryAllFaultByStatus(){
         List<RepairsFault> faultList = null;
         try {
             faultList =  repairsFaultService.queryAllFaultByStatus();
         }catch (Exception e){
             e.printStackTrace();
         }
-        return faultList;
+        return ReturnValueUtil.returnObject(faultList);
+
     }
 }

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

@@ -2,30 +2,25 @@ package com.chuanghai.repair.controller;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
-import com.chuanghai.repair.auth.CacheListener;
 import com.chuanghai.repair.entity.*;
 import com.chuanghai.repair.service.RepairsAdminService;
 import com.chuanghai.repair.service.RepairsOrderService;
 import com.chuanghai.repair.service.RepairsStudentService;
 import com.chuanghai.repair.service.RepairsWorkService;
-import com.chuanghai.repair.service.ServiceImpl.CacheManagerImpl;
 import com.chuanghai.repair.utils.CreateTokenUtil;
+import com.chuanghai.repair.utils.ReturnValueUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.http.*;
-import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.client.RestTemplate;
 import springfox.documentation.annotations.ApiIgnore;
 
 import javax.annotation.Resource;
-import java.text.SimpleDateFormat;
 import java.util.*;
-import java.util.concurrent.TimeUnit;
-import java.util.logging.Logger;
-import java.util.stream.Collectors;
+
 
 /**
  * @Author: bingo
@@ -48,8 +43,6 @@ public class LoginController {
     @Resource(name = "repairsStudentService")
     private RepairsStudentService repairsStudentService;
 
-    @Resource(name = "repairsOrderService")
-    private RepairsOrderService repairsOrderService;
 
 
     /**
@@ -60,17 +53,18 @@ public class LoginController {
      */
     @ApiOperation("管理员登录")
     @PostMapping(value = "/loginAdmin")
-    public String loginAdmin(@ApiParam(name = "管理员手机号码", required = true) String phone,
+    public ReturnValueUtil loginAdmin(@ApiParam(name = "管理员手机号码", required = true) String phone,
                              @ApiParam(name = "管理员密码", required = true) String password) {
         String adminIdToken = "";
         try {
-            RepairsAdmin repairsAdmin = repairsAdminService.loginAdmin(phone, password);
-            adminIdToken = CreateTokenUtil.getToken(String.valueOf(repairsAdmin.getAdminId()));
-
+            if(phone != "" && phone != null && password != "" && password != null){
+                RepairsAdmin repairsAdmin = repairsAdminService.loginAdmin(phone, password);
+                adminIdToken = CreateTokenUtil.getToken(String.valueOf(repairsAdmin.getAdminId()));
+            }
         } catch (Exception e) {
             e.printStackTrace();
         }
-        return adminIdToken;
+       return ReturnValueUtil.returnString(adminIdToken);
     }
 
 
@@ -82,27 +76,29 @@ public class LoginController {
      */
     @ApiOperation("维修工登录")
     @PostMapping(value = "/loginWork")
-    public String loginWork(@ApiParam(name = "维修工手机号码", required = true) String phone,
+    public ReturnValueUtil loginWork(@ApiParam(name = "维修工手机号码", required = true) String phone,
                             @ApiParam(name = "维修工登录密码", required = true) String password) {
+
         String workIdToken = "";
         try {
-            RepairsWork repairsWork = repairsWorkService.loginWork(phone, password);
-            workIdToken = CreateTokenUtil.getToken(String.valueOf(repairsWork.getWorkId()));
+            if(phone != "" && phone != null && password != "" && password != null){
+                RepairsWork repairsWork = repairsWorkService.loginWork(phone, password);
+                workIdToken = CreateTokenUtil.getToken(String.valueOf(repairsWork.getWorkId()));
+            }
         } catch (Exception e) {
             e.printStackTrace();
         }
-        return workIdToken;
+        return ReturnValueUtil.returnString(workIdToken);
     }
 
     @ApiIgnore  //使该接口隐藏
     @ApiOperation("获取学生CardNumber")
     @GetMapping("/getCardNumber")
     public JSONObject getCardNumber(String wxcode, String state) {
-
-        JSONObject cardNumberJson = new JSONObject();
+        JSONObject jsonObject = new JSONObject();
+        String cardNumberToken = "";
         String accessToken = "";
         try {
-
             String app_key = "EE28EE2C93296F4E";
             String app_secret = "5071958561AA629530AAA31503088330";
             String grant_type = "authorization_code";
@@ -130,15 +126,14 @@ public class LoginController {
                     }
                 }
             }
-            System.out.println(accessToken);
+            System.out.println("accessToken: "+accessToken);
             Map<String, String> paramCardNumber = new HashMap<>();
             paramCardNumber.put("access_token", accessToken);
-            paramCardNumber.put("scope", "snsapi_base");
+            paramCardNumber.put("scope", "snsapi_userinfo");
             HttpEntity<Map<String, String>> requestM = new HttpEntity<>(paramCardNumber, headers);
             String userInfoUrl = "https://open.wecard.qq.com/connect/oauth/get-user-info";
             ResponseEntity<String> responsem = restTemplate.postForEntity(userInfoUrl, requestM, String.class);
             JSONObject obj = JSON.parseObject(responsem.getBody());
-
             String studentId = "";
             String studentName = "";
             String studentSex = "";
@@ -190,12 +185,14 @@ public class LoginController {
             if (student == null) {
                 repairsStudentService.insertStudent(repairsStudent);
             }
-            cardNumberJson.put("card_number", cardNumber);
+            jsonObject.put("cardNumber",cardNumber);
+
+
 
         } catch (Exception e) {
             e.printStackTrace();
         }
-        return cardNumberJson;
+        return jsonObject;
     }
 
 

+ 0 - 2
src/main/java/com/chuanghai/repair/controller/NoticeController.java

@@ -6,7 +6,6 @@ import com.chuanghai.repair.utils.CreateTokenUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
-import io.swagger.models.auth.In;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
@@ -14,7 +13,6 @@ import springfox.documentation.annotations.ApiIgnore;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
-import javax.xml.crypto.Data;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.List;

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

@@ -8,35 +8,21 @@ import com.chuanghai.repair.service.RepairsOrderService;
 import com.chuanghai.repair.service.RepairsStudentService;
 import com.chuanghai.repair.service.RepairsWorkService;
 import com.chuanghai.repair.utils.CreateTokenUtil;
-import com.sun.xml.internal.ws.encoding.XMLHTTPBindingCodec;
+import com.chuanghai.repair.utils.ReturnValueUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
-import org.apache.catalina.Manager;
-import org.apache.http.util.TextUtils;
-import org.springframework.context.ApplicationListener;
-import org.springframework.context.event.ContextRefreshedEvent;
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.stereotype.Service;
+import org.springframework.http.HttpRequest;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
-import org.springframework.web.context.request.RequestContextHolder;
-import org.springframework.web.context.request.ServletRequestAttributes;
 import org.springframework.web.multipart.MultipartFile;
-import org.thymeleaf.util.DateUtils;
-import sun.util.calendar.BaseCalendar;
-import sun.util.calendar.CalendarUtils;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
 import java.io.File;
-import java.math.BigInteger;
 import java.util.*;
 import java.text.SimpleDateFormat;
-import java.util.concurrent.TimeUnit;
 
 /**
  * @Author: bingo
@@ -49,12 +35,15 @@ import java.util.concurrent.TimeUnit;
 @RequestMapping("/order")
 public class OrderController {
 
-    @Resource (name = "repairsOrderService")
+    @Resource(name = "repairsOrderService")
     private RepairsOrderService repairsOrderService;
 
-    @Resource (name = "repairsStudentService")
+    @Resource(name = "repairsStudentService")
     private RepairsStudentService repairsStudentService;
 
+    @Resource(name = "repairsWorkService")
+    private RepairsWorkService repairsWorkService;
+
 
     //------------------------------------------- PC端管理员操作-------------------------------------------
 
@@ -62,45 +51,75 @@ public class OrderController {
      * @param time
      * @return
      */
-    @ApiOperation("PC端订单查询")
+    @ApiOperation("PC端查询订单")
     @PostMapping(value = "/queryAllOrderByDate")
-    public List<RepairsOrder> queryAllOrderByDate(@ApiParam(name = "查询日期",required = true) String time){
-        List<RepairsOrder> repairsOrder = null ;
+    public ReturnValueUtil queryAllOrderByDate(@ApiParam(name = "查询日期") String time) {
+        List<RepairsOrder> repairsOrder = null;
         try {
-                String tody = "";
-                String tomorrow = "";
+            String tody = "";
+            String tomorrow = "";
+            String status = "";
+            if (time != "" && time != null) {
+
                 //前端日期数据由 String转Date
                 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                 Calendar calendar = Calendar.getInstance();
-                if(time!="" && time!=null){
                 //传入时间就设置为当天时间
                 Date date = sdf.parse(time);
                 calendar.setTime(date);
-                }
                 //获取当天的0时0分0秒
                 calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH),
                         0, 0, 0);
                 tody = sdf.format(calendar.getTime());
                 calendar.add(Calendar.DATE, 1); //增加一天
                 tomorrow = sdf.format(calendar.getTime());
-                repairsOrder= repairsOrderService.queryAllOrderByDate(tody,tomorrow);
-            }catch (Exception e){
-                e.printStackTrace();
+
             }
-        return repairsOrder;
+            repairsOrder = repairsOrderService.queryAllOrderByDate(tody, tomorrow, status);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return ReturnValueUtil.returnObject(repairsOrder);
     }
 
-    @ApiOperation("订单派送")
-    @PostMapping(value ="/updateRepairsOrderBath" )
-    public Boolean updateRepairsOrderBath(@ApiParam(name = "订单ID",required = true)String orderId,
-                                          @ApiParam(name = "维修工ID",required = true)Integer workId){
+    /**
+     * @param
+     * @return
+     */
+    @ApiOperation("PC端派送订单查询")
+    @PostMapping(value = "/queryAllOrderByStatus")
+    public ReturnValueUtil queryAllOrderByDateStatus() {
+        List<RepairsOrder> repairsOrder = null;
+        try {
+                String status = "0";
+                repairsOrder = repairsOrderService.queryAllOrderByDate(null, null, status);
+
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return ReturnValueUtil.returnObject(repairsOrder);
+    }
+
+
+
+    /**
+     *  待接单 orderStatus = 1  须在维修工同意之后变为已接单
+     * @param orderId
+     * @param
+     * @return
+     */
+    @ApiOperation("PC端订单派送")
+    @PostMapping(value = "/updateRepairsOrderBath")
+    public ReturnValueUtil updateRepairsOrderBath(@ApiParam(name = "订单ID", required = true) String orderId,
+                                                  @ApiParam(name = "订单ID", required = true) Integer workId) {
         Boolean flag = Boolean.FALSE;
         try {
-            if(orderId!="" && orderId!=null  ){
+
+            if (orderId != "" && orderId != null && workId != null ) {
                 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                 Calendar calendar = Calendar.getInstance();
                 Date time = calendar.getTime();
-                String status= "1";
+                String status = "1";  //将订单状态改为 待接单状态  1
                 RepairsOrder repairsOrder = new RepairsOrder();
                 RepairsWork repairsWork = new RepairsWork();
                 repairsOrder.setOrderId(orderId);
@@ -112,146 +131,158 @@ public class OrderController {
                 orderArrayList.add(repairsOrder);
                 repairsOrderService.updateRepairsOrderBath(orderArrayList);
                 flag = Boolean.TRUE;
+            } else {
+                flag = Boolean.FALSE;
             }
-        }catch (Exception e){
+        } catch (Exception e) {
             e.printStackTrace();
         }
-        return flag;
+        return ReturnValueUtil.returnBoolean(flag);
     }
 
 
     /**
-     * 修改订单状态  退单+退单理由   orderStatus = 3
-     * @param orderStatus
+     * 修改订单状态  退单+退单理由   orderStatus = 4
+     *
+     * @param
      * @param orderId
      * @param orderBack
      * @return
      */
-    @ApiOperation("订单退回")
+    @ApiOperation("PC端退回订单")
     @PostMapping(value = "/updateOrderBack")
-    public Boolean updateOrderBack( @ApiParam(name = "订单状态",required = true)String orderStatus,
-                                    @ApiParam(name = "订单ID",required = true)String orderId,
-                                    @ApiParam(name = "退回理由",required = true)String orderBack){
+    public ReturnValueUtil updateOrderBack(
+            @ApiParam(name = "订单ID", required = true) String orderId,
+            @ApiParam(name = "退回理由", required = true) String orderBack) {
         Boolean flag = Boolean.FALSE;
-        try{
-            RepairsWork repairsWork = new RepairsWork();
-            repairsWork.setWorkId(Integer.parseInt("1"));
-            RepairsOrder repairsOrder =new RepairsOrder(orderId,null,null,null,
-                    null,null,null,orderStatus,null,
-                    null,orderBack,null,repairsWork,null,null);
-            System.out.println(repairsOrder);
-            ArrayList<RepairsOrder> orderArrayList = new ArrayList<>();
-            orderArrayList.add(repairsOrder);
-            repairsOrderService.updateOrderStatus(orderArrayList);
-            flag = Boolean.TRUE;
-        }catch (Exception e){
+        try {
+            if(orderId != "" && orderId != null){
+                //当workId不为null时 数据库不会执行更新workId的sql
+                RepairsWork repairsWork = new RepairsWork();
+                RepairsOrder repairsOrder = new RepairsOrder();
+                repairsOrder.setOrderId(orderId);
+                repairsOrder.setOrderStatus("4");
+                repairsOrder.setOrderBack(orderBack);
+                repairsOrder.setRepairsWork(repairsWork);
+
+                ArrayList<RepairsOrder> orderArrayList = new ArrayList<>();
+                orderArrayList.add(repairsOrder);
+                repairsOrderService.updateOrderStatus(orderArrayList);
+                flag = Boolean.TRUE;
+            }
+        } catch (Exception e) {
             e.printStackTrace();
         }
-        return flag;
+        return ReturnValueUtil.returnBoolean(flag);
     }
 
 //------------------------------------------- 移动端操作-------------------------------------------
+
     /**
      * 通过ID查询订单信息
+     *
+     * @param
      * @param
      * @param
-     * @param campus
      * @return
      */
-    @ApiOperation("移动端学生订单查询")
+    @ApiOperation("学生订单查询")
     @PostMapping(value = "/queryAllOrderByStudentId")
-    public List<RepairsOrder> queryAllOrderByStudentId(HttpServletRequest request,
-                                                @ApiParam(name = "校区",required = true)String campus){
+    public ReturnValueUtil queryAllOrderByStudentId(HttpServletRequest request) {
         List<RepairsOrder> orderList = null;
-        try{
+        try {
             String studentId = CreateTokenUtil.getHeadersInfo(request); //从请求头中获取  studentId
-            if(studentId!="" && studentId!=null){
-                orderList = repairsOrderService.queryAllOrderById(studentId,null,campus);
-            }
-        }catch (Exception e){
+            RepairsStudent repairsStudent = repairsStudentService.queryByStudentId(studentId);
+            String campus = repairsStudent.getStudentCampus();
+            orderList = repairsOrderService.queryAllOrderById(studentId, null, campus);
+
+        } catch (Exception e) {
             e.printStackTrace();
         }
-        return orderList;
+        return ReturnValueUtil.returnObject(orderList);
     }
 
     /**
      * 通过ID查询订单信息
+     *
+     * @param
      * @param
      * @param
-     * @param campus
      * @return
      */
-    @ApiOperation("移动端维修工订单查询")
+    @ApiOperation("维修工订单查询")
     @PostMapping(value = "/queryAllOrderByWorkId")
-    public List<RepairsOrder> queryAllOrderByWorkId(HttpServletRequest request,
-                                                @ApiParam(name = "校区",required = true)String campus){
+    public ReturnValueUtil queryAllOrderByWorkId(HttpServletRequest request) {
         List<RepairsOrder> orderList = null;
-        try{
+        try {
             String workId = CreateTokenUtil.getHeadersInfo(request);
-            if(workId!="" && workId!=null){
-                orderList = repairsOrderService.queryAllOrderById(null,workId,campus);
-            }
-        }catch (Exception e){
+            RepairsWork repairsWork = repairsWorkService.queryByWorkId(workId);
+            String campus = repairsWork.getWorkCampus();
+            orderList = repairsOrderService.queryAllOrderById(null, workId, campus);
+
+        } catch (Exception e) {
             e.printStackTrace();
         }
-        return orderList;
+        return ReturnValueUtil.returnObject(orderList);
     }
 
 
     /**
      * 通过订单ID修改订单评价
+     *
      * @param orderId
      * @param orderAdvice
      * @return
      */
     @ApiOperation("学生售后评价")
     @PostMapping(value = "/updateOrderAdvice")
-    public Integer updateOrderAdvice(@ApiParam(name = "订单ID",required = true)String orderId,
-                                     @ApiParam(name = "订单评价",required = true)String orderAdvice){
-        //flag 0 修改失败  1 修改成功
-        Integer flag = 0;
-        try{
-            if(orderAdvice!="" && orderAdvice!=null ){
-                repairsOrderService.updateOrderAdvice(orderId,orderAdvice);
-                flag = 1;
+    public ReturnValueUtil updateOrderAdvice(@ApiParam(name = "订单ID", required = true) String orderId,
+                                             @ApiParam(name = "订单评价", required = true) String orderAdvice) {
+
+        Boolean flag = Boolean.FALSE;
+        try {
+            if (orderAdvice != "" && orderAdvice != null && orderId != "" && orderId != null) {
+                repairsOrderService.updateOrderAdvice(orderId, orderAdvice);
+                flag = Boolean.TRUE;
             }
-        }catch (Exception e){
+        } catch (Exception e) {
             e.printStackTrace();
         }
-        return  flag;
+        return ReturnValueUtil.returnBoolean(flag);
     }
 
     /**
      * 查询指定订单ID 的订单信息    故障图片地址 http://binguo.vaiwan.com/images/1c843e19-6858-48a8-8c41-cbc80b5804ffperson.jpg
+     *
      * @param orderId
      * @return
      */
     @ApiOperation("订单详情查看")
     @PostMapping(value = "/queryByOrderId")
-    public RepairsOrder queryByOrderId(@ApiParam(name = "订单ID",required = true)String orderId){
+    public ReturnValueUtil queryByOrderId(@ApiParam(name = "订单ID", required = true) String orderId) {
         RepairsOrder repairsOrder = null;
         try {
-            if(orderId!="" && orderId!=null ){
+            if (orderId != "" && orderId != null) {
                 repairsOrder = repairsOrderService.queryByOrderId(orderId);
             }
 
-        }catch (Exception e){
+        } catch (Exception e) {
             e.printStackTrace();
         }
-        return repairsOrder;
+        return ReturnValueUtil.returnObject(repairsOrder);
     }
 
 
-    @ApiOperation("学生订单填报")
-    @PostMapping(value ="/insertOrder" )
-    public Boolean insertOrder(HttpServletRequest request,
-                               @ApiParam(name = "故障类型",required = true)String orderType,
-                               @ApiParam(name = "订单备注",required = true)String orderNote,
-                               @ApiParam(name = "维修期望时间",required = true)String orderExpectedTime,
-                               @ApiParam(name = "故障类型ID",required = true)Integer faultId,
-                               @ApiParam(name = "备选电话")String otherPhone,
-                               @ApiParam(name = "学生宿舍")String dormNumber,
-                               @ApiParam(name = "故障图片 orderImages",required = true) MultipartFile file){
+    @ApiOperation("学生订单填报")
+    @PostMapping(value = "/insertOrder")
+    public ReturnValueUtil insertOrder(HttpServletRequest request,
+                                       @ApiParam(name = "故障类型", required = true) String orderType,
+                                       @ApiParam(name = "订单备注", required = true) String orderNote,
+                                       @ApiParam(name = "维修期望时间", required = true) String orderExpectedTime,
+                                       @ApiParam(name = "故障类型ID", required = true) Integer faultId,
+                                       @ApiParam(name = "备选电话") String otherPhone,
+                                       @ApiParam(name = "学生宿舍") String dormNumber,
+                                       @ApiParam(name = "故障图片 orderImages", required = true) MultipartFile file) {
         Boolean flag = Boolean.FALSE;
         try {
             String cardNumber = CreateTokenUtil.getHeadersInfo(request);
@@ -268,94 +299,136 @@ public class OrderController {
             String orderTime = sdf.format(calendar.getTime());
             Date date = sdf.parse(orderTime);
             long ts = date.getTime();
-            String orderId="D";
+            String orderId = "D";
             orderId += String.valueOf(ts);
             RepairsWork repairsWork = null;
             RepairsOrder repairsOrder = new RepairsOrder();
-            RepairsFault repairsFault = new RepairsFault(faultId,null,null,null,orderType);
+            RepairsFault repairsFault = new RepairsFault(faultId, null, null, null, orderType);
             //获取原始图片的拓展名
             String originalFilename = file.getOriginalFilename();
-            int index=originalFilename.lastIndexOf('.')+1;//获取地址.的前面的数字,从0开始
-            String type=originalFilename.substring(index);//从地址.开始截取后缀
-            String orderImages=repairsOrder.getOrderImages();
+            int index = originalFilename.lastIndexOf('.') + 1;//获取地址.的前面的数字,从0开始
+            String type = originalFilename.substring(index);//从地址.开始截取后缀
+            String orderImages = repairsOrder.getOrderImages();
             //保存图片的路径(这是存在我项目中的images下了,你们可以设置路径)
-           // String filePath="E:\\springboot\\src\\main\\resources\\static\\images";
-            String filePath="C:\\Users\\Administrator\\Desktop\\学校报修系统\\code\\repair_reporting_system_api\\src\\main\\resources\\static\\images";
+            // String filePath="E:\\springboot\\src\\main\\resources\\static\\images";
+            String filePath = "C:\\Users\\Administrator\\Desktop\\学校报修系统\\code\\repair_reporting_system_api\\src\\main\\resources\\static\\images";
             //生成新文件名字
-            String newFileName= UUID.randomUUID()+originalFilename;
+            String newFileName = UUID.randomUUID() + originalFilename;
             // 封装上传文件位置的全路径
-            File targetFile  = new File(filePath,newFileName);
+            File targetFile = new File(filePath, newFileName);
             //把本地文件上传到封装上传文件位置的全路径
             file.transferTo(targetFile);
             repairsOrder.setOrderImages(newFileName);
-            if(type.equals("jpg") || type.equals("gif")){
-                if(newFileName!=null && newFileName!=""){
+            if (type.equals("jpg") || type.equals("gif")) {
+                if (newFileName != null && newFileName != "") {
                     //prodectService.addProdect(prodect);
-                    repairsOrder = new RepairsOrder(orderId,newFileName,orderNote,orderExpectedTime,
-                            null,date,null,"0",null,"0",
-                            null,repairsStudent,repairsWork,repairsFault,orderType);
+                    repairsOrder = new RepairsOrder(orderId, newFileName, orderNote, orderExpectedTime,
+                            null, date, null, "0", null, "0",
+                            null, repairsStudent, repairsWork, repairsFault, orderType);
                     repairsOrderService.insertOrder(repairsOrder);
                     flag = Boolean.TRUE;
                 }
             }
-        }catch (Exception e){
+        } catch (Exception e) {
             e.printStackTrace();
         }
-        return flag;
+        return ReturnValueUtil.returnBoolean(flag);
     }
 
     /**
-     * 修改订单状态  已完成 orderStatus = 2
+     * 修改订单状态  已完成 orderStatus = 3
+     *
      * @param
      * @param orderId
      * @return
      */
-    @ApiOperation("维修工订单已完成")
+    @ApiOperation("维修工订单已完成")
     @PostMapping(value = "/updateOrderFinish")
-    public Boolean updateOrderFinish(HttpServletRequest request,
-                                     @ApiParam(name = "订单ID",required = true)String orderId){
+    public ReturnValueUtil updateOrderFinish(HttpServletRequest request,
+                                             @ApiParam(name = "订单ID", required = true) String orderId) {
         Boolean flag = Boolean.FALSE;
-        try{
+        try {
+            //当workId不为null时 数据库不会执行更新workId的sql
             RepairsWork repairsWork = new RepairsWork();
-            String workId = CreateTokenUtil.getHeadersInfo(request);
-            repairsWork.setWorkId(Integer.parseInt(workId));
-            RepairsOrder repairsOrder =new RepairsOrder(orderId,null,null,null,
-                    null,null,null,"2",null,
-                    null,null,null,repairsWork,null,null);
-            ArrayList<RepairsOrder> orderArrayList = new ArrayList<>();
-            orderArrayList.add(repairsOrder);
-            repairsOrderService.updateOrderStatus(orderArrayList);
-            flag = Boolean.TRUE;
-        }catch (Exception e){
+            repairsWork.setWorkId(1);
+
+            if (orderId != "" && orderId != null ) {
+                RepairsOrder repairsOrder = new RepairsOrder(orderId, null, null, null,
+                        null, null, null, "3", null,
+                        null, null, null, repairsWork, null, null);
+                ArrayList<RepairsOrder> orderArrayList = new ArrayList<>();
+                orderArrayList.add(repairsOrder);
+                repairsOrderService.updateOrderStatus(orderArrayList);
+                flag = Boolean.TRUE;
+            }
+        } catch (Exception e) {
             e.printStackTrace();
         }
-        return flag;
+        return ReturnValueUtil.returnBoolean(flag);
     }
 
 
     /**
-     * 修改订单状态  维修工拒绝订单   orderStatus = 0
+     * 修改订单状态  维修工拒绝订单   orderStatus = 0 变成新订单 管理员重新分配
+     *
      * @param
      * @param orderId
      * @param
      * @return
      */
-    @ApiOperation("维修工:订单拒绝")
+    @ApiOperation("维修工拒绝订单")
     @PostMapping(value = "/updateOrderRefused")
-    public Boolean updateOrderRefused(@ApiParam(name = "订单ID",required = true)String orderId){
+    public ReturnValueUtil updateOrderRefused(@ApiParam(name = "订单ID", required = true) String orderId) {
+        Boolean flag = Boolean.FALSE;
+        try {
+            if (orderId != "" && orderId != null) {
+                RepairsWork repairsWork = new RepairsWork();
+                RepairsOrder repairsOrder = new RepairsOrder(orderId, null, null, null,
+                        null, null, null, "0", null,
+                        null, null, null, repairsWork, null, null);
+                ArrayList<RepairsOrder> orderArrayList = new ArrayList<>();
+                orderArrayList.add(repairsOrder);
+                repairsOrderService.updateOrderStatus(orderArrayList);
+                flag = Boolean.TRUE;
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return ReturnValueUtil.returnBoolean(flag);
+    }
+
+
+
+    /**
+     * 修改订单状态  维修工拒绝订单   orderStatus = 0
+     *
+     * @param
+     * @param orderId
+     * @param
+     * @return
+     */
+    @ApiOperation("维修工接受订单")
+    @PostMapping(value = "/updateOrderAccept")
+    public ReturnValueUtil updateOrderAccept(@ApiParam(name = "订单ID", required = true) String orderId) {
         Boolean flag = Boolean.FALSE;
-        try{
-            RepairsOrder repairsOrder =new RepairsOrder(orderId,null,null,null,
-                    null,null,null,"2",null,
-                    null,null,null,null,null,null);
-            ArrayList<RepairsOrder> orderArrayList = new ArrayList<>();
-            orderArrayList.add(repairsOrder);
-            repairsOrderService.updateOrderStatus(orderArrayList);
-            flag = Boolean.TRUE;
-        }catch (Exception e){
+        try {
+            if (orderId != "" && orderId != null) {
+                //当workId不为null时 数据库不会执行更新workId的sql
+                RepairsWork repairsWork = new RepairsWork();
+                repairsWork.setWorkId(1);
+
+                RepairsOrder repairsOrder = new RepairsOrder(orderId, null, null, null,
+                        null, null, null, "2", null,
+                        null, null, null, repairsWork, null, null);
+                ArrayList<RepairsOrder> orderArrayList = new ArrayList<>();
+                orderArrayList.add(repairsOrder);
+                repairsOrderService.updateOrderStatus(orderArrayList);
+                flag = Boolean.TRUE;
+            }
+        } catch (Exception e) {
             e.printStackTrace();
         }
-        return flag;
+        return ReturnValueUtil.returnBoolean(flag);
     }
 
 

+ 26 - 20
src/main/java/com/chuanghai/repair/controller/WorkController.java

@@ -2,6 +2,7 @@ package com.chuanghai.repair.controller;
 
 import com.chuanghai.repair.entity.RepairsWork;
 import com.chuanghai.repair.service.RepairsWorkService;
+import com.chuanghai.repair.utils.ReturnValueUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
@@ -37,42 +38,47 @@ public class WorkController {
      */
     @ApiOperation("维修工注册")
     @PostMapping(value = "/insertWork")
-    Boolean insertWork(@ApiParam( name = "维修工姓名", required = true) String workName,@ApiParam(name = "登录密码",required = true)String workPassword,
-                    @ApiParam(name = "手机号码",required = true)String workPhone,@ApiParam(name = "所在校区",required = true)String workCampus){
+    public ReturnValueUtil insertWork(@ApiParam( name = "维修工姓名", required = true) String workName,
+                                      @ApiParam(name = "登录密码",required = true)String workPassword,
+                                      @ApiParam(name = "手机号码",required = true)String workPhone,
+                                      @ApiParam(name = "所在校区",required = true)String workCampus){
         Boolean flag =Boolean.FALSE;
         try {
-            RepairsWork repairsWork = new RepairsWork(null,workName,workPassword,workPhone,"1","0",workCampus);
-            RepairsWork testWork = repairsWorkService.queryByWorkName(repairsWork.getWorkName());
-            if(testWork!=null){
-                //匹配数据库中同名同手机的用户,相同则表示用户已存在注册失败,不同则用户继续注册
-                if(repairsWork.getWorkName().equals(testWork.getWorkName()) &&
-                        repairsWork.getWorkPhone().equals(testWork.getWorkPhone())){
-                }else {  //继续注册
-                     repairsWorkService.insertWork(repairsWork);
-                     flag = Boolean.TRUE;
+            if(workName != "" && workName!=null && workPhone != "" && workPhone != null){
+                RepairsWork repairsWork = new RepairsWork(null,workName,workPassword,workPhone,"1","0",workCampus);
+                RepairsWork testWork = repairsWorkService.queryByWorkName(repairsWork.getWorkName());
+                if(testWork!=null){
+                    //匹配数据库中同名同手机的用户,相同则表示用户已存在注册失败,不同则用户继续注册
+                    if(repairsWork.getWorkName().equals(testWork.getWorkName()) &&
+                            repairsWork.getWorkPhone().equals(testWork.getWorkPhone())){
+                    }else {  //继续注册
+                        repairsWorkService.insertWork(repairsWork);
+                        flag = Boolean.TRUE;
+                    }
+                }else {
+                    repairsWorkService.insertWork(repairsWork);
+                    flag = Boolean.TRUE;
                 }
-            }else {
-                repairsWorkService.insertWork(repairsWork);
-                flag = Boolean.TRUE;
             }
+
         }catch (Exception e){
             e.printStackTrace();
         }
-        return flag;
+        return ReturnValueUtil.returnBoolean(flag);
     }
 
     @ApiOperation("维修工删除")
     @PostMapping(value ="updateWorkStatus")
-    Boolean updateWorkStatus(@ApiParam(name = "维修工ID", required = true)String workId){
-        // flag  FALSE 删除失败  TRUE 删除成功
+    public  ReturnValueUtil updateWorkStatus(@ApiParam(name = "维修工ID", required = true)String workId){
         Boolean flag = Boolean.FALSE;
         try {
-            repairsWorkService.updateWorkStatus(workId);
+            if(workId != "" && workId != null){
+                repairsWorkService.updateWorkStatus(workId);
                 flag = Boolean.TRUE;
-
+            }
         }catch (Exception e){
             e.printStackTrace();
         }
-        return flag;
+        return ReturnValueUtil.returnBoolean(flag);
     }
 }

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

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

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

@@ -10,12 +10,12 @@ import java.util.List;
 public interface RepairsOrderMapper  {
 
     /**
-     * 通过时间查询订单
+     * 通过时间 状态查询订单
      * @param
      * @return
      * @throws Exception
      */
-    List<RepairsOrder> queryAllOrderByDate(String tody,String tomorrow);
+    List<RepairsOrder> queryAllOrderByDate(String tody,String tomorrow,String status);
 
 
     /**

+ 16 - 3
src/main/java/com/chuanghai/repair/mapper/RepairsWorkMapper.java

@@ -6,9 +6,10 @@ import org.apache.ibatis.annotations.Mapper;
 import java.util.List;
 
 @Mapper
-public interface RepairsWorkMapper{
+public interface RepairsWorkMapper {
     /**
      * 维修工登录
+     *
      * @param phone
      * @param password
      * @return
@@ -17,6 +18,7 @@ public interface RepairsWorkMapper{
 
     /**
      * 维修工的注册
+     *
      * @param repairsWork
      * @return
      */
@@ -24,14 +26,16 @@ public interface RepairsWorkMapper{
 
     /**
      * 查找同名同电话的人判断维修工是否存在
+     *
      * @param workName
      * @return
      * @throws Exception
      */
-    RepairsWork queryByWorkName(String workName) throws  Exception;
+    RepairsWork queryByWorkName(String workName) throws Exception;
 
     /**
      * 逻辑删除维修工
+     *
      * @param workId
      * @return
      * @throws Exception
@@ -39,10 +43,19 @@ public interface RepairsWorkMapper{
     Integer updateWorkStatus(String workId) throws Exception;
 
     /**
-     *
      * @return
      * @throws Exception
      */
     List<String> queryAllWork(String workType) throws Exception;
 
+    /**
+     * 查询指定ID的维修工
+     *
+     * @param workId
+     * @return
+     * @throws Exception
+     */
+    RepairsWork queryByWorkId(String workId) throws Exception;
+
+
 }

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

@@ -19,7 +19,7 @@ public interface RepairsOrderService {
      * @return
      * @throws Exception
      */
-    List<RepairsOrder> queryAllOrderByDate(String tody,String tomorrow) throws Exception;
+    List<RepairsOrder> queryAllOrderByDate(String tody,String tomorrow,String status) throws Exception;
 
     /**
      * 通过订单ID修改订单评价

+ 9 - 0
src/main/java/com/chuanghai/repair/service/RepairsWorkService.java

@@ -54,4 +54,13 @@ public interface RepairsWorkService  {
      * @throws Exception
      */
     List<String> queryAllWork(String workType) throws Exception;
+
+    /**
+     * 查询指定ID的维修工
+     *
+     * @param workId
+     * @return
+     * @throws Exception
+     */
+    RepairsWork queryByWorkId(String workId) throws Exception;
 }

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

@@ -30,8 +30,8 @@ public class RepairsOrderServiceImpl implements RepairsOrderService {
      * @throws Exception
      */
     @Override
-    public List<RepairsOrder> queryAllOrderByDate(String tody ,String tomorrow) throws Exception {
-        return repairsOrderMapper.queryAllOrderByDate(tody,tomorrow);
+    public List<RepairsOrder> queryAllOrderByDate(String tody, String tomorrow, String status) throws Exception {
+        return repairsOrderMapper.queryAllOrderByDate(tody, tomorrow, status);
     }
 
     /**
@@ -43,7 +43,7 @@ public class RepairsOrderServiceImpl implements RepairsOrderService {
      */
     @Override
     public Integer updateOrderAdvice(String orderId, String orderAdvice) throws Exception {
-        return repairsOrderMapper.updateOrderAdvice(orderId,orderAdvice);
+        return repairsOrderMapper.updateOrderAdvice(orderId, orderAdvice);
     }
 
     @Override

+ 12 - 0
src/main/java/com/chuanghai/repair/service/ServiceImpl/RepairsWorkServiceImpl.java

@@ -76,4 +76,16 @@ public class RepairsWorkServiceImpl implements RepairsWorkService  {
    public List<String> queryAllWork(String workType) throws Exception{
         return repairsWorkMapper.queryAllWork(workType);
     }
+
+    /**
+     * 查询指定ID的维修工
+     *
+     * @param workId
+     * @return
+     * @throws Exception
+     */
+    @Override
+    public RepairsWork queryByWorkId(String workId) throws Exception {
+        return repairsWorkMapper.queryByWorkId(workId);
+    }
 }

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

@@ -237,16 +237,16 @@ public class CreateTokenUtil {
                 access_token = entry.getValue();
             }
         }
-        return access_token;
+        return verify(access_token,"userId");
     }
 
 
     public static void main(String[] args) {
-        String id = "1003";
+        String id = "1000";
         String userId = "userId";
         String token = getToken(id);
-        System.out.println(token);
-        String s = verify(token, userId);
+     //   System.out.println(token);
+        String s = verify("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NDY5MDE5NjYsInVzZXJJZCI6IjEwMDAifQ.qPBBNHebT4antVucjo9vBKezmOOflm1sIg1lEnbWppY", userId);
         System.out.println(s);
     }
 }

+ 26 - 1
src/main/java/com/chuanghai/repair/utils/ReturnValueUtil.java

@@ -6,6 +6,7 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.util.List;
 
 
 /**
@@ -100,7 +101,7 @@ public class ReturnValueUtil {
         response.setStatus(STATUS_OK);
         response.setMessage(MESSAGE_SUCCESS);
         response.setData(data);
-        response.setErrmsg("");
+        response.setErrmsg("请求成功");
         response.setErrcode(ERRCODE_NOERR);
         return response;
     }
@@ -147,4 +148,28 @@ public class ReturnValueUtil {
         this.errcode = errcode;
         return this;
     }
+
+    public static ReturnValueUtil returnString(String code){
+        if(!code.equals("")){
+            return ReturnValueUtil.ok(code);
+        }else {
+            return ReturnValueUtil.fail("请求参数错误");
+        }
+    }
+
+    public static ReturnValueUtil returnObject(Object resultObject){
+        if(resultObject!=null){
+            return ReturnValueUtil.ok(resultObject);
+        }else {
+            return ReturnValueUtil.fail("请求参数错误");
+        }
+    }
+
+    public static ReturnValueUtil returnBoolean(Boolean flag){
+        if(flag == Boolean.TRUE){
+            return ReturnValueUtil.ok(flag);
+        }else {
+            return ReturnValueUtil.fail("请求参数错误");
+        }
+    }
 }

+ 0 - 3
src/main/resources/application.yml

@@ -1,9 +1,6 @@
 server:
   port: 8084
 
-
-
-
 #数据源配置
 spring:
   datasource:

+ 7 - 4
src/main/resources/mapper/RepairsOrderMapper.xml

@@ -60,8 +60,11 @@
                 <if test="tody!='' and tody!=null">
                     and od.order_commit_time BETWEEN #{tody} and #{tomorrow}
                 </if>
+                <if test="status!='' and status!=null">
+                    and od.order_status = #{status}
+                </if>
             </trim>
-                order by od.order_commit_time desc
+                order by od.order_commit_time desc limit 100
         </select>
 
     <!--    通过ID查询订单信息-->
@@ -100,7 +103,7 @@
     </select>
 
 
-<!--    查询所有未接单状态的订单-->
+<!--    查询所有新订单状态的订单   order_status = 0  -->
     <select id="queryAllOrderNotReceive" resultMap="OrderFaultStudentMap">
         select * from repairs_order  where  order_status = 0
     </select>
@@ -171,7 +174,7 @@
         and st.student_campus = #{campus}
     </select>
 
-<!--    订单修改状态   已完成 退单  拒绝状态-->
+<!--    订单修改状态  已接单 已完成 退单  拒绝状态-->
     <update id="updateOrderStatus" parameterType="java.util.List" >
         update repairs_order
         <trim prefix="set" suffixOverrides=",">
@@ -187,7 +190,7 @@
             </trim>
             <trim prefix="work_id=case" suffix="end,">
                 <foreach collection="list" item="item" index="index">
-                    <if test="item.repairsWork.workId==null ">
+                    <if test="item.repairsWork.workId == null ">
                         when order_id = #{item.orderId} then #{item.repairsWork.workId}
                     </if>
                 </foreach>

+ 5 - 0
src/main/resources/mapper/RepairsWorkMapper.xml

@@ -63,4 +63,9 @@
     <select id="queryAllWork" parameterType="java.lang.String" resultType="java.lang.String">
         select work_id from  repairs_work where work_status = 1 and work_type = #{workType}
     </select>
+
+<!--    查询指定ID的维修工-->
+    <select id="queryByWorkId" parameterType="java.lang.String" resultMap="AllRepairsWorkMap">
+        select * from repairs_work where work_id = #{workId}
+    </select>
 </mapper>