From 1fb23cbeeaaeda0a66cf8fe8977c3f5915743cc7 Mon Sep 17 00:00:00 2001
From: fengjin <1435304038@qq.com>
Date: 星期五, 21 十月 2022 15:13:10 +0800
Subject: [PATCH] Merge branch 'zigonggao_dev' into huacheng_test

---
 flower_city/src/main/java/com/dg/core/api/GuideRepairOrderAppletsController.java |  137 +++++++++++++++++++++++++++++++++------------
 1 files changed, 99 insertions(+), 38 deletions(-)

diff --git a/flower_city/src/main/java/com/dg/core/api/GuideRepairOrderAppletsController.java b/flower_city/src/main/java/com/dg/core/api/GuideRepairOrderAppletsController.java
index df7df6d..5a8c128 100644
--- a/flower_city/src/main/java/com/dg/core/api/GuideRepairOrderAppletsController.java
+++ b/flower_city/src/main/java/com/dg/core/api/GuideRepairOrderAppletsController.java
@@ -1,6 +1,7 @@
 package com.dg.core.api;
 
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.dg.core.ResultData;
 import com.dg.core.annotation.Authorization;
 import com.dg.core.annotation.CurrentUser;
@@ -10,14 +11,22 @@
 import com.dg.core.db.gen.entity.SysUser;
 import com.dg.core.service.IGuideEvolveService;
 import com.dg.core.service.IGuideRepairOrderService;
+import com.dg.core.service.IOrganizationChartService;
+import com.dg.core.util.PermissionUtil;
+import com.dg.core.util.SmsUtil;
+import com.dg.core.util.TableDataInfo;
+import com.dg.core.util.WxUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.Assert;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import java.time.LocalDateTime;
+import java.util.List;
+
 
 /**
  * 工单管理
@@ -33,6 +42,14 @@
     @Autowired
     private IGuideEvolveService iGuideEvolveService;
 
+    @Resource
+    IOrganizationChartService iOrganizationChartService;
+
+    private static String guideRepairOrderCompleteTemplateId = "7ZCHHii87rWPwVkdhZnvNiYbYi_Buq0NXO10cmUhAFk";
+
+    @Resource
+    SmsUtil smsUtil;
+
     /**
      * 提交导办订单
      * @return
@@ -43,7 +60,14 @@
     public ResultData addOrder(@RequestBody GuideRepairOrder guideRepairOrder,@CurrentUser SysUser sysUser) {
           guideRepairOrder.setSubmitUserId(sysUser.getUserId().toString());
           guideRepairOrder.setSubmitUserPhone(sysUser.getPhonenumber());
-          return toAjax(iGuideRepairOrderService.addOrder(guideRepairOrder));
+          guideRepairOrder.setSubmitType(1);
+          int i = iGuideRepairOrderService.addOrder(guideRepairOrder);
+          if (i>0){
+              iGuideEvolveService.updateGuid();
+             return ResultData.success();
+          }
+          else
+              return  ResultData.error("提交失败,请检查你是否有相同的咨询内容在处理中");
     }
 
 
@@ -53,7 +77,7 @@
      * @param orderNum
      * @return
      */
-    @ApiOperation("获取订单详情")
+    @ApiOperation(value = "获取订单详情",response = GuideRepairOrder.class)
     @GetMapping("/orderdata")
     @Authorization
     public ResultData selectConfigData(@RequestParam(value = "Id",required = false) String Id,
@@ -79,7 +103,7 @@
      * @param order
      * @return
      */
-    @ApiOperation("转派人员")
+    @ApiOperation(value = "转派人员",response = GuideRepairOrder.class)
     @PostMapping("/redeploy")
     @Authorization
     public ResultData redeploy(@RequestBody GuideRepairOrder order, @CurrentUser SysUser sysUser)
@@ -99,10 +123,6 @@
             return ResultData.error("导办人员id不能为空");
         }
 
-        if(StringUtils.isEmpty(order.getGuideUserPhone()))
-        {
-            return ResultData.error("导办人员电话不能为空");
-        }
 
         //已分配
         order.setState("2");
@@ -111,13 +131,13 @@
         GuideEvolveEntity entity=new GuideEvolveEntity();
         entity.setCreateTime(LocalDateTime.now());
         entity.setUpdateTime(LocalDateTime.now());
-        entity.setState("12");
-        entity.setDepartmentalId(sysUser.getDepartmentId());
-        entity.setToUserId(sysUser.getUserId()+"");
-        entity.setFromUserId(order.getGuideUserId());
-        entity.setFromDepartmentalId(order.getGuideDepartmentId());
-
+        entity.setState("10");
+        entity.setDepartmentalId(order.getGuideDepartmentId());
+        entity.setToUserId(order.getGuideUserId());
+        entity.setFromUserId(sysUser.getUserId()+"");
+        entity.setFromDepartmentalId(sysUser.getDepartmentId());
         iGuideEvolveService.insertConfig(entity);
+        iGuideRepairOrderService.updateSysUserOrderNum(entity);
 
         return toAjax(iGuideRepairOrderService.updateConfig(order));
     }
@@ -129,7 +149,7 @@
      * @param entity
      * @return
      */
-    @ApiOperation("去处理")
+    @ApiOperation(value = "去处理",response = GuideRepairOrder.class)
     @PostMapping("/dispose")
     @Authorization
     public ResultData dispose(@RequestBody GuideEvolveEntity entity, @CurrentUser SysUser sysUser)
@@ -154,20 +174,38 @@
         {
             return ResultData.error("该工单已办结!");
         }
-
-        if(!StringUtils.equals(order.getState(),"2"))
-        {
-            return ResultData.error("该工单非是待办状态!");
+        if(StringUtils.equals(entity.getState(),"2")){//如果用户选择未解决则状态改为待办
+            order.setState("2");
+            entity.setState("9");
         }
-        //待评价
-        order.setState("4");
+        else if(StringUtils.equals(entity.getState(),"4")){
+            if (order.getSubmitType().equals(1))//小程序提交
+            {
+            WxUtil wxUtil=new WxUtil();
+            String accessToken="0";
+            try {
+                accessToken= wxUtil.getBatteryCarAccessToken();
+            } catch (Exception e) {
+                throw new RuntimeException(e);
+            }
+            SysUser submitUser = iGuideRepairOrderService.getSubmitUser(order);
+            wxUtil.sendGuideRepairOrderComplete(submitUser.getOpenid(),accessToken,guideRepairOrderCompleteTemplateId,entity);
+            }
+            else if (order.getSubmitType().equals(2)){
+                smsUtil.sendSmsComplete(order.getConsultUserPhone(),order.getMatterName());
+            }
+            //待评价
+            order.setState("4");
+            entity.setState("7");
+        }
         //新增已办结记录
         entity.setCreateTime(LocalDateTime.now());
         entity.setUpdateTime(LocalDateTime.now());
-        entity.setState("4");
         entity.setFromDepartmentalId(sysUser.getDepartmentId());
         entity.setFromUserId(sysUser.getUserId()+"");
+        entity.setGuideId(order.getId().toString());
         iGuideEvolveService.insertConfig(entity);
+        iGuideRepairOrderService.updateSysUserOrderNum(entity);
         return toAjax(iGuideRepairOrderService.updateConfig(order));
     }
 
@@ -177,7 +215,7 @@
      * @param entity
      * @return
      */
-    @ApiOperation("取消导办工单")
+    @ApiOperation(value = "取消导办工单",response = GuideRepairOrder.class)
     @PostMapping("/cancel")
     @Authorization
     public ResultData cancel(@RequestBody GuideEvolveEntity entity, @CurrentUser SysUser sysUser)
@@ -209,8 +247,8 @@
         entity.setCreateTime(LocalDateTime.now());
         entity.setUpdateTime(LocalDateTime.now());
         entity.setState("5");
-        entity.setFromDepartmentalId(sysUser.getDepartmentId());
-        entity.setFromUserId(sysUser.getUserId()+"");
+        entity.setDepartmentalId(sysUser.getDepartmentId());
+        entity.setToUserId(sysUser.getUserId()+"");
         iGuideEvolveService.insertConfig(entity);
         return toAjax(iGuideRepairOrderService.updateConfig(order));
     }
@@ -222,7 +260,7 @@
      * @param entity
      * @return
      */
-    @ApiOperation("工单评价")
+    @ApiOperation(value = "工单评价",response = GuideRepairOrder.class)
     @PostMapping("/evaluate")
     @Authorization
     public ResultData evaluate(@RequestBody GuideRepairOrder entity, @CurrentUser SysUser sysUser)
@@ -236,28 +274,25 @@
         {
             return ResultData.error("工单id不能为空");
         }
-
-        if(!StringUtils.equals(entity.getState(),"4"))
-        {
-            return ResultData.error("该工单不能评价!");
-        }
-
         if(StringUtils.isEmpty(entity.getEvaluateState()))
         {
             return ResultData.error("满意程度不能为空!");
         }
+
         //已办结
         entity.setState("3");
         //新增已办结记录
         GuideEvolveEntity guideEvolveEntity=new GuideEvolveEntity();
         guideEvolveEntity.setCreateTime(LocalDateTime.now());
         guideEvolveEntity.setUpdateTime(LocalDateTime.now());
-        guideEvolveEntity.setState("3");
-        guideEvolveEntity.setFromDepartmentalId(sysUser.getDepartmentId());
-        guideEvolveEntity.setFromUserId(sysUser.getUserId()+"");
-        iGuideEvolveService.insertConfig(guideEvolveEntity);
-
-        return toAjax(iGuideRepairOrderService.updateConfig(entity));
+        guideEvolveEntity.setState("13");
+        guideEvolveEntity.setDepartmentalId(sysUser.getDepartmentId());
+        guideEvolveEntity.setToUserId(sysUser.getUserId()+"");
+        int i = iGuideRepairOrderService.updateConfig(entity);
+        if (i>0)
+            return toAjax( iGuideEvolveService.insertConfig(guideEvolveEntity));
+        else
+            return ResultData.error();
     }
 
     /**
@@ -265,7 +300,7 @@
      * @param sysUser 当前登录人员信息
      * @return
      */
-    @ApiOperation("获取个人中心工单数据")
+    @ApiOperation(value = "获取个人中心工单数据",response = GuideRepairOrder.class)
     @GetMapping("/personalCenter")
     @Authorization
     public ResultData selectBySubmitId(@CurrentUser SysUser sysUser){
@@ -273,5 +308,31 @@
     }
 
 
+    /**
+     * 小程序获取导办工单管理列表
+     * @return
+     */
+    @ApiOperation(value = "小程序获取导办工单管理列表",response = GuideRepairOrder.class)
+    @GetMapping("/getList")
+    @Authorization
+    public TableDataInfo selectConfigList(@RequestParam(value = "state",required = false) String status,
+                                          @CurrentUser SysUser sysUser)
+    {
+        List<String> ids=null;
+        String userId=null;
+        if(StringUtils.equals("1",sysUser.getIsDivisionHead()))
+        {
+            userId=null;
+            ids= PermissionUtil.getPermission(sysUser,iOrganizationChartService);
+        }
+        else
+        {
+            userId=sysUser.getUserId()+"";
+        }
+        List<GuideRepairOrder> list = iGuideRepairOrderService.selectConfigList(null,ids,status,userId);
+        int num=iGuideRepairOrderService.countConfigList(null,ids,status,userId);
+        return getDataTable(list,num);
+    }
+
 
 }

--
Gitblit v1.7.1