From d4b68e6071bc79dc5baeb2ff738ba2f5399d4e37 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Sun, 27 Dec 2020 14:04:11 +0800
Subject: [PATCH] modify

---
 zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java |   80 +++++++++++++++++++++++++++++++++++++---
 1 files changed, 74 insertions(+), 6 deletions(-)

diff --git a/zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java b/zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java
index 5673459..f63cc98 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java
@@ -10,18 +10,18 @@
 import com.matrix.system.app.dto.CreateServiceOrderDto;
 import com.matrix.system.app.dto.ServiceOrderListDto;
 import com.matrix.system.app.mapper.SysBeauticianStateMapper;
+import com.matrix.system.app.mapper.SysProjServiceMapper;
 import com.matrix.system.app.mapper.SysProjUseMapper;
-import com.matrix.system.app.vo.ServiceOrderListVo;
-import com.matrix.system.app.vo.ServiceProductListVo;
-import com.matrix.system.app.vo.ServiceProjVo;
-import com.matrix.system.app.vo.ServiceTcVo;
+import com.matrix.system.app.vo.*;
 import com.matrix.system.common.bean.SysUsers;
+import com.matrix.system.common.tools.DataAuthUtil;
 import com.matrix.system.constance.Dictionary;
 import com.matrix.system.hive.bean.SysBeauticianState;
 import com.matrix.system.hive.bean.SysProjServices;
 import com.matrix.system.hive.bean.SysProjUse;
 import com.matrix.system.hive.bean.SysVipInfo;
 import com.matrix.system.hive.plugin.util.CollectionUtils;
+import com.matrix.system.hive.service.SysBeauticianStateService;
 import com.matrix.system.hive.service.SysProjServicesService;
 import com.matrix.system.hive.service.SysProjUseService;
 import com.matrix.system.hive.service.SysVipInfoService;
@@ -54,6 +54,9 @@
 
     @Autowired
     private SysProjServicesService projServicesService;
+
+    @Autowired
+    private SysBeauticianStateService sysBeauticianStateService;
 
     @ApiOperation(value ="获取用户项目/套餐列表", notes = "获取用户项目/套餐列表")
     @ApiResponses({
@@ -103,7 +106,7 @@
     @ApiOperation(value = "提交服务单", notes = "提交服务单")
     @PostMapping(value = "/createServiceOrder")
     public AjaxResult createServiceOrder(@RequestBody @Validated CreateServiceOrderDto serviceOrderDto) {
-        if (CollectionUtils.isNotEmpty(serviceOrderDto.getProjItems())) {
+        if (CollectionUtils.isEmpty(serviceOrderDto.getProjItems())) {
             throw new GlobleException("请选择服务");
         }
 
@@ -136,7 +139,7 @@
         }
         SysProjServices newSysProjServices = projServicesService.addSysProjServices(sysProjServices);
         if (newSysProjServices != null) {
-            return AjaxResult.buildSuccessInstance(Arrays.asList(newSysProjServices));
+            return AjaxResult.buildSuccessInstance("下单成功");
         } else {
             return new AjaxResult(AjaxResult.STATUS_FAIL, "下单失败!");
         }
@@ -153,7 +156,72 @@
         int limit = orderListDto.getPageSize();
         pageVo.setOffset(offset);
         pageVo.setLimit(limit);
+
+        if (!DataAuthUtil.hasAllShopAuth()) {
+            SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+            orderListDto.setShopId(user.getShopId());
+            orderListDto.setUserId(user.getSuId());
+        }
         return AjaxResult.buildSuccessInstance(projServicesService.findApiServiceOrderListInPage(orderListDto, pageVo), projServicesService.findApiServiceOrderListTotal(orderListDto));
     }
 
+    @ApiOperation(value = "获取服务单详情", notes = "获取服务单详情")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "ok", response = ServiceOrderDetailVo.class)
+    })
+    @GetMapping(value = "/findServiceOrderDetail/{id}")
+    public AjaxResult findServiceOrderDetail(@PathVariable("id") Long id) {
+        SysProjServices projServices = projServicesService.findById(id);
+        if (projServices == null) {
+            return AjaxResult.buildFailInstance("服务单不存在");
+        }
+
+        ServiceOrderDetailVo detailVo = SysProjServiceMapper.INSTANCE.projServiceToDetailVo(projServices);
+
+        List<SysBeauticianState> beauticianStates = sysBeauticianStateService.findBySerId(projServices.getId());
+        List<ServiceOrderDetailItemVo> items = SysBeauticianStateMapper.INSTANCE.entitiesToDetailItemsVo(beauticianStates);
+        detailVo.setItems(items);
+
+        AjaxResult ajaxResult = AjaxResult.buildSuccessInstance("获取成功");
+        ajaxResult.putInMap("detail", detailVo);
+        return ajaxResult;
+    }
+
+    @ApiOperation(value = "开始服务", notes = "开始服务")
+    @GetMapping(value = "/startService/{id}")
+    public AjaxResult startService(@PathVariable("id") Long id) {
+        SysProjServices sysProjServices = new SysProjServices();
+        sysProjServices.setId(id);
+        int i = projServicesService.modifyFWKSProjServices(sysProjServices);
+        if (i > 0) {
+            return AjaxResult.buildSuccessInstance("开始服务成功");
+        }
+        return AjaxResult.buildFailInstance("开始服务失败");
+    }
+
+    @ApiOperation(value = "结束服务", notes = "结束服务")
+    @GetMapping(value = "/stopService/{id}")
+    public AjaxResult stopService(@PathVariable("id") Long id) {
+        SysProjServices projServvices = new SysProjServices();
+        projServvices.setId(id);
+        int result = projServicesService.modifyFWJSrojServices(projServvices);
+        if (result > 0) {
+            return new AjaxResult(AjaxResult.STATUS_SUCCESS, "结束服务成功");
+        } else {
+            return new AjaxResult(AjaxResult.STATUS_FAIL, "结束服务失败");
+        }
+    }
+
+    @ApiOperation(value = "取消服务", notes = "取消服务")
+    @GetMapping(value = "/cancelService/{id}")
+    public AjaxResult cancelService(@PathVariable("id") Long id) {
+        SysProjServices services = new SysProjServices();
+        services.setId(id);
+        int i = projServicesService.modifyCancelProjServices(services);
+        if (i > 0) {
+            return new AjaxResult(AjaxResult.STATUS_SUCCESS, "取消预约成功");
+        } else {
+            return new AjaxResult(AjaxResult.STATUS_FAIL, "取消预约失败");
+        }
+    }
 }

--
Gitblit v1.9.1