Explorar o código

1、新增维修工上传维修成功图片流程
2、新增订单完成时间
3、新增管理员派单发送微校通知

Bingo %!s(int64=3) %!d(string=hai) anos
pai
achega
b4b693b752

+ 6 - 1
src/main/java/com/chuanghai/repair/controller/AutoSendOrderCentroller.java

@@ -4,6 +4,7 @@ package com.chuanghai.repair.controller;
 //import com.chuanghai.repair.auth.CacheListener;
 //import com.chuanghai.repair.auth.CacheListener;
 import com.chuanghai.repair.config.WeixiaoConfig;
 import com.chuanghai.repair.config.WeixiaoConfig;
 import com.chuanghai.repair.entity.RepairsOrder;
 import com.chuanghai.repair.entity.RepairsOrder;
+import com.chuanghai.repair.entity.RepairsWork;
 import com.chuanghai.repair.service.RepairsOrderService;
 import com.chuanghai.repair.service.RepairsOrderService;
 import com.chuanghai.repair.service.RepairsWorkService;
 import com.chuanghai.repair.service.RepairsWorkService;
 import com.chuanghai.repair.service.ServiceImpl.CacheManagerImpl;
 import com.chuanghai.repair.service.ServiceImpl.CacheManagerImpl;
@@ -73,7 +74,6 @@ public class AutoSendOrderCentroller {
     @Scheduled(cron = "0 0/30 * * * ?") //    0 0/30 * * * ?    30分钟调用一次
     @Scheduled(cron = "0 0/30 * * * ?") //    0 0/30 * * * ?    30分钟调用一次
     public void autoQueryOrder(){
     public void autoQueryOrder(){
 
 
-
         String accessTokenGlobal = new CreateTokenUtil().getAccessTokenGlobalA(weixiaoConfig.getAppKey(),weixiaoConfig.getAppSecret(),weixiaoConfig.getOcode(),weixiaoConfig.getServerUrl());
         String accessTokenGlobal = new CreateTokenUtil().getAccessTokenGlobalA(weixiaoConfig.getAppKey(),weixiaoConfig.getAppSecret(),weixiaoConfig.getOcode(),weixiaoConfig.getServerUrl());
 //        CacheManagerImpl cacheManagerImpl = new CacheManagerImpl();
 //        CacheManagerImpl cacheManagerImpl = new CacheManagerImpl();
 //        CacheListener cacheListener = new CacheListener(cacheManagerImpl);
 //        CacheListener cacheListener = new CacheListener(cacheManagerImpl);
@@ -110,4 +110,9 @@ public class AutoSendOrderCentroller {
         }
         }
     }
     }
 
 
+
+
+
+
+
 }
 }

+ 52 - 10
src/main/java/com/chuanghai/repair/controller/OrderController.java

@@ -26,9 +26,14 @@ import lombok.extern.slf4j.Slf4j;
 import org.apache.ibatis.annotations.Delete;
 import org.apache.ibatis.annotations.Delete;
 import org.apache.ibatis.annotations.Update;
 import org.apache.ibatis.annotations.Update;
 import org.apache.poi.ss.usermodel.Workbook;
 import org.apache.poi.ss.usermodel.Workbook;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.MediaType;
+import org.springframework.http.ResponseEntity;
 import org.springframework.util.CollectionUtils;
 import org.springframework.util.CollectionUtils;
 import org.springframework.util.StringUtils;
 import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.client.RestTemplate;
 import org.springframework.web.multipart.MultipartFile;
 import org.springframework.web.multipart.MultipartFile;
 import springfox.documentation.annotations.ApiIgnore;
 import springfox.documentation.annotations.ApiIgnore;
 import sun.misc.BASE64Decoder;
 import sun.misc.BASE64Decoder;
@@ -44,6 +49,7 @@ import java.io.OutputStream;
 import java.net.URLEncoder;
 import java.net.URLEncoder;
 import java.util.*;
 import java.util.*;
 import java.text.SimpleDateFormat;
 import java.text.SimpleDateFormat;
+import java.util.stream.Collectors;
 
 
 /**
 /**
  * @Author: bingo
  * @Author: bingo
@@ -195,7 +201,6 @@ public class OrderController {
                                                   @ApiParam(name = "维修工ID", required = true) Integer workId) {
                                                   @ApiParam(name = "维修工ID", required = true) Integer workId) {
         Boolean flag = Boolean.FALSE;
         Boolean flag = Boolean.FALSE;
         try {
         try {
-
             if (!orderId.equals("") && workId != null) {
             if (!orderId.equals("") && workId != null) {
                 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                 Calendar calendar = Calendar.getInstance();
                 Calendar calendar = Calendar.getInstance();
@@ -216,6 +221,9 @@ public class OrderController {
             } else {
             } else {
                 flag = Boolean.FALSE;
                 flag = Boolean.FALSE;
             }
             }
+            //向维修工发送通知
+            this.workSend(workId.toString());
+
         } catch (Exception e) {
         } catch (Exception e) {
             e.printStackTrace();
             e.printStackTrace();
         }
         }
@@ -224,6 +232,39 @@ public class OrderController {
 
 
 
 
     /**
     /**
+     * 向维修工发送通知
+     */
+    public void workSend(String workId){
+
+        String accessTokenGlobal = new CreateTokenUtil().getAccessTokenGlobalA("EE28EE2C93296F4E","5071958561AA629530AAA31503088330","1015730314","https://jtishfw.ncjti.edu.cn/baoxiu/");
+        try {
+            RepairsWork repairsWork = repairsWorkService.queryByWorkId(workId);
+            List<RepairsWork> repairsWorkList = new ArrayList<>();
+            repairsWorkList.add(repairsWork);
+
+
+            String idList = repairsWorkList.stream().filter(e -> e.getCardNumber() != null)
+                    .map(e -> e.getCardNumber()).collect(Collectors.toSet()).toString();
+
+            Map<String, String> param = new HashMap<>();
+            param.put("title", "故障维修通知");
+            param.put("cards", idList);
+            param.put("content", "维修工您好,您已被指派维修订单,请尽快查看。");
+            param.put("sender", "维修管理办公室");
+            String url = "https://open.wecard.qq.com/cgi-bin/notice/send?access_token=" + accessTokenGlobal;
+
+            RestTemplate restTemplate = new RestTemplate();
+            HttpHeaders headers = new HttpHeaders();
+            headers.setContentType(MediaType.APPLICATION_JSON);
+            HttpEntity<Map<String, String>> request = new HttpEntity<>(param, headers);
+            ResponseEntity<String> responseEntity = restTemplate.postForEntity(url, request, String.class);
+
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    /**
      * 修改订单状态  退单+退单理由   orderStatus = 4
      * 修改订单状态  退单+退单理由   orderStatus = 4
      *
      *
      * @param orderId
      * @param orderId
@@ -486,8 +527,8 @@ public class OrderController {
             RepairsWork repairsWork = null;
             RepairsWork repairsWork = null;
 
 
             RepairsFault repairsFault = new RepairsFault(Integer.parseInt(faultId), null, null, null, null);
             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",
+            RepairsOrder repairsOrder = new RepairsOrder(orderId, orderImages,null, orderNote, orderExpectedTime,
+                    null, date, null,null, null, "0", null, "0",
                     null, repairsStudent, repairsWork, repairsFault);
                     null, repairsStudent, repairsWork, repairsFault);
             repairsOrderService.insertOrder(repairsOrder);
             repairsOrderService.insertOrder(repairsOrder);
             flag = Boolean.TRUE;
             flag = Boolean.TRUE;
@@ -550,7 +591,8 @@ public class OrderController {
      */
      */
     @ApiOperation("维修工:订单已完成")
     @ApiOperation("维修工:订单已完成")
     @PostMapping(value = "/updateOrderFinish")
     @PostMapping(value = "/updateOrderFinish")
-    public ReturnValueUtil updateOrderFinish(@ApiParam(name = "订单ID", required = true) String orderId) {
+    public ReturnValueUtil updateOrderFinish(@ApiParam(name = "订单ID", required = true) String orderId,
+                                             @ApiParam (name = "维修图片", required = true)String repairImage) {
         Boolean flag = Boolean.FALSE;
         Boolean flag = Boolean.FALSE;
         try {
         try {
             //当workId不为null时 数据库不会执行更新workId的sql
             //当workId不为null时 数据库不会执行更新workId的sql
@@ -564,8 +606,8 @@ public class OrderController {
             Date timeDate = sdf.parse(orderTime);
             Date timeDate = sdf.parse(orderTime);
 
 
             if (!orderId.equals("")) {
             if (!orderId.equals("")) {
-                RepairsOrder repairsOrder = new RepairsOrder(orderId, null, null, null,
-                        timeDate, null, null, null, "3", null,
+                RepairsOrder repairsOrder = new RepairsOrder(orderId, null, repairImage,null, null,
+                        null, null,timeDate, null, null, "3", null,
                         null, null, null, repairsWork, null);
                         null, null, null, repairsWork, null);
                 ArrayList<RepairsOrder> orderArrayList = new ArrayList<>();
                 ArrayList<RepairsOrder> orderArrayList = new ArrayList<>();
                 orderArrayList.add(repairsOrder);
                 orderArrayList.add(repairsOrder);
@@ -594,8 +636,8 @@ public class OrderController {
         try {
         try {
             if (!orderId.equals("")) {
             if (!orderId.equals("")) {
                 RepairsWork repairsWork = new RepairsWork();
                 RepairsWork repairsWork = new RepairsWork();
-                RepairsOrder repairsOrder = new RepairsOrder(orderId, null, null, null,
-                        null, null, null, null, "0", null,
+                RepairsOrder repairsOrder = new RepairsOrder(orderId, null, null,null, null,
+                        null, null, null, null,null, "0", null,
                         null, null, null, repairsWork, null);
                         null, null, null, repairsWork, null);
                 ArrayList<RepairsOrder> orderArrayList = new ArrayList<>();
                 ArrayList<RepairsOrder> orderArrayList = new ArrayList<>();
                 orderArrayList.add(repairsOrder);
                 orderArrayList.add(repairsOrder);
@@ -631,8 +673,8 @@ public class OrderController {
                 //传入时间就设置为当天时间
                 //传入时间就设置为当天时间
                 Date timeDate = sdf.parse(completeTime);
                 Date timeDate = sdf.parse(completeTime);
                 String time = sdf.format(timeDate);
                 String time = sdf.format(timeDate);
-                RepairsOrder repairsOrder = new RepairsOrder(orderId, null, null, null,
-                        timeDate, null, null, null, "2", null,
+                RepairsOrder repairsOrder = new RepairsOrder(orderId, null, null,null, null,
+                        timeDate, null, timeDate,null, null, "2", null,
                         null, null, null, repairsWork, null);
                         null, null, null, repairsWork, null);
                 ArrayList<RepairsOrder> orderArrayList = new ArrayList<>();
                 ArrayList<RepairsOrder> orderArrayList = new ArrayList<>();
                 orderArrayList.add(repairsOrder);
                 orderArrayList.add(repairsOrder);

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

@@ -52,7 +52,7 @@ public class WorkController {
         try {
         try {
             if (!workName.equals("") && !workPhone.equals("")) {
             if (!workName.equals("") && !workPhone.equals("")) {
                 RepairsWork testWork = repairsWorkService.queryByWorkNamePhone(workName, workPhone);
                 RepairsWork testWork = repairsWorkService.queryByWorkNamePhone(workName, workPhone);
-                RepairsWork repairsWork = new RepairsWork(null, workName, workPassword, workPhone, "1", "0", workCampus);
+                RepairsWork repairsWork = new RepairsWork(null, workName, workPassword, workPhone, "1", "0", workCampus,null);
                 if (testWork == null) {
                 if (testWork == null) {
                     //匹配数据库中同名同手机的用户,相同则表示用户已存在注册失败,不同则用户继续注册
                     //匹配数据库中同名同手机的用户,相同则表示用户已存在注册失败,不同则用户继续注册
                     repairsWorkService.insertWork(repairsWork);
                     repairsWorkService.insertWork(repairsWork);

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

@@ -167,7 +167,7 @@ public class WxController {
 
 
 
 
     /**
     /**
-     * 微校授权回调地址
+     * 微校授权回调地址  微校pos机器签约设置
      *
      *
      * @param wxcode 微校code
      * @param wxcode 微校code
      * @param state  透传数据
      * @param state  透传数据

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

@@ -35,6 +35,14 @@ public class RepairsOrder {
     private String orderImages;
     private String orderImages;
 
 
     /**
     /**
+     * 维修完成图片
+     */
+    @ApiModelProperty(value = "维修完成图片")
+    @Column(name = "repair_image")
+    private String repairImage;
+
+
+    /**
      * 订单备注
      * 订单备注
      */
      */
     @ApiModelProperty(value = "订单备注")
     @ApiModelProperty(value = "订单备注")
@@ -68,6 +76,14 @@ public class RepairsOrder {
     private Date orderCommitTime;
     private Date orderCommitTime;
 
 
     /**
     /**
+     * 派单时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+    @ApiModelProperty(value = "派单时间")
+    @Column(name = "order_repair_time")
+    private Date orderRepairTime;
+
+    /**
      * 订单退回时间
      * 订单退回时间
      */
      */
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")

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

@@ -75,4 +75,10 @@ public class RepairsWork {
     @Column(name = "work_campus")
     @Column(name = "work_campus")
     private String workCampus;
     private String workCampus;
 
 
+    /**
+     * 微校号
+       */
+    @ApiModelProperty(value ="微校号" )
+    private String cardNumber;
+
 }
 }

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

@@ -21,10 +21,10 @@ import java.util.List;
 @Service("repairsBuildFloorRoomService")
 @Service("repairsBuildFloorRoomService")
 public class RepairsBuildFloorRoomServiceImpl implements RepairsBuildFloorRoomService {
 public class RepairsBuildFloorRoomServiceImpl implements RepairsBuildFloorRoomService {
 
 
-    @Resource
-    private RepairsBuildMapper repairsBuildMapper;
+        @Resource
+        private RepairsBuildMapper repairsBuildMapper;
 
 
-    @Resource
+        @Resource
     private RepairsFloorMapper repairsFloorMapper;
     private RepairsFloorMapper repairsFloorMapper;
 
 
     @Resource
     @Resource

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

@@ -3,6 +3,7 @@ package com.chuanghai.repair.service.ServiceImpl;
 import com.chuanghai.repair.entity.RepairsOrder;
 import com.chuanghai.repair.entity.RepairsOrder;
 import com.chuanghai.repair.entity.RepairsWork;
 import com.chuanghai.repair.entity.RepairsWork;
 import com.chuanghai.repair.mapper.RepairsOrderMapper;
 import com.chuanghai.repair.mapper.RepairsOrderMapper;
+import com.chuanghai.repair.mapper.RepairsWorkMapper;
 import com.chuanghai.repair.service.RepairsOrderService;
 import com.chuanghai.repair.service.RepairsOrderService;
 import com.chuanghai.repair.utils.ListUtil;
 import com.chuanghai.repair.utils.ListUtil;
 import com.chuanghai.repair.utils.MyPageInfo;
 import com.chuanghai.repair.utils.MyPageInfo;
@@ -27,6 +28,7 @@ public class RepairsOrderServiceImpl implements RepairsOrderService {
 
 
     @Resource
     @Resource
     private RepairsOrderMapper repairsOrderMapper;
     private RepairsOrderMapper repairsOrderMapper;
+ 
 
 
     /**
     /**
      * 通过查询订单  1  2 3 4
      * 通过查询订单  1  2 3 4

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

@@ -257,7 +257,12 @@ public class CreateTokenUtil {
 
 
 
 
     public static void main(String[] args) {
     public static void main(String[] args) {
-        String id = "360100188808088886";
+
+        String kgCOSKS7SRL3H3V2WaA8QO97ylPZ0XBK = getAccessToken("KgCOSKS7SRL3H3V2WaA8QO97ylPZ0XBK");
+        System.out.println(kgCOSKS7SRL3H3V2WaA8QO97ylPZ0XBK);
+
+
+        String id = "20190210230132";
         String userId = "userId";
         String userId = "userId";
         String token = getToken(id);
         String token = getToken(id);
         System.out.println(token);
         System.out.println(token);

+ 3 - 0
src/main/resources/mapper/RepairsOrderMapper.xml

@@ -12,6 +12,7 @@
         <result column="order_complete_time" property="orderCompleteTime" jdbcType="TIMESTAMP"/>
         <result column="order_complete_time" property="orderCompleteTime" jdbcType="TIMESTAMP"/>
         <result column="order_commit_time" property="orderCommitTime" jdbcType="TIMESTAMP"/>
         <result column="order_commit_time" property="orderCommitTime" jdbcType="TIMESTAMP"/>
         <result column="order_back_time" property="orderBackTime" jdbcType="TIMESTAMP"/>
         <result column="order_back_time" property="orderBackTime" jdbcType="TIMESTAMP"/>
+        <result column="order_repair_time" property="orderRepairTime" jdbcType="TIMESTAMP"/>
         <result column="order_advice" property="orderAdvice" jdbcType="VARCHAR"/>
         <result column="order_advice" property="orderAdvice" jdbcType="VARCHAR"/>
         <result column="order_status" property="orderStatus" jdbcType="VARCHAR"/>
         <result column="order_status" property="orderStatus" jdbcType="VARCHAR"/>
         <result column="order_price" property="orderPrice" jdbcType="DECIMAL"/>
         <result column="order_price" property="orderPrice" jdbcType="DECIMAL"/>
@@ -188,11 +189,13 @@
     <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"/>
         <id column="order_id" property="orderId" jdbcType="VARCHAR"/>
         <result column="order_images" property="orderImages" jdbcType="VARCHAR"/>
         <result column="order_images" property="orderImages" jdbcType="VARCHAR"/>
+        <result column="repair_image" property="repairImage" jdbcType="VARCHAR"/>
         <result column="order_advice" property="orderAdvice" jdbcType="VARCHAR"/>
         <result column="order_advice" property="orderAdvice" jdbcType="VARCHAR"/>
         <result column="order_status" property="orderStatus" jdbcType="VARCHAR"/>
         <result column="order_status" property="orderStatus" jdbcType="VARCHAR"/>
         <result column="order_expected_time" property="orderExpectedTime" jdbcType="VARCHAR"/>
         <result column="order_expected_time" property="orderExpectedTime" jdbcType="VARCHAR"/>
         <result column="order_commit_time" property="orderCommitTime" jdbcType="TIMESTAMP"/>
         <result column="order_commit_time" property="orderCommitTime" jdbcType="TIMESTAMP"/>
         <result column="order_complete_time" property="orderCompleteTime" jdbcType="TIMESTAMP"/>
         <result column="order_complete_time" property="orderCompleteTime" jdbcType="TIMESTAMP"/>
+        <result column="order_repair_time" property="orderRepairTime" jdbcType="TIMESTAMP"/>
         <result column="order_back_time" property="orderBackTime" jdbcType="TIMESTAMP"/>
         <result column="order_back_time" property="orderBackTime" jdbcType="TIMESTAMP"/>
 
 
         <result column="order_back" property="orderBack" jdbcType="VARCHAR"/>
         <result column="order_back" property="orderBack" jdbcType="VARCHAR"/>

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

@@ -12,6 +12,7 @@
         <result column="work_status" property="workStatus" jdbcType="VARCHAR"/>
         <result column="work_status" property="workStatus" jdbcType="VARCHAR"/>
         <result column="work_type" property="workType" jdbcType="VARCHAR"/>
         <result column="work_type" property="workType" jdbcType="VARCHAR"/>
         <result column="work_campus" property="workCampus" jdbcType="VARCHAR"/>
         <result column="work_campus" property="workCampus" jdbcType="VARCHAR"/>
+        <result column="card_number" property="cardNumber" jdbcType="VARCHAR"/>
     </resultMap>
     </resultMap>
 
 
     <!--维修工登录-->
     <!--维修工登录-->