From 9f08b3ce3d4d0a1f3837c34ccd4d318da4b64076 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Fri, 25 Dec 2020 18:20:51 +0800
Subject: [PATCH] modify

---
 zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java |   64 +++++++++++++++++++++++++++++---
 1 files changed, 58 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 8e97ddf..03a4459 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
@@ -1,15 +1,21 @@
 package com.matrix.system.app.action;
 
+import com.matrix.core.constance.MatrixConstance;
 import com.matrix.core.exception.GlobleException;
 import com.matrix.core.pojo.AjaxResult;
 import com.matrix.core.pojo.PaginationVO;
+import com.matrix.core.pojo.VerifyResult;
+import com.matrix.core.tools.DateUtil;
+import com.matrix.core.tools.WebUtil;
+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.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.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;
@@ -24,6 +30,8 @@
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 
 /**
@@ -91,8 +99,44 @@
 
     @ApiOperation(value = "提交服务单", notes = "提交服务单")
     @PostMapping(value = "/createServiceOrder")
-    public AjaxResult createServiceOrder() {
-        return null;
+    public AjaxResult createServiceOrder(@RequestBody @Validated CreateServiceOrderDto serviceOrderDto) {
+        if (CollectionUtils.isEmpty(serviceOrderDto.getProjItems())) {
+            throw new GlobleException("请选择服务");
+        }
+
+        SysProjServices sysProjServices = new SysProjServices();
+        sysProjServices.setVipId(serviceOrderDto.getVipId());
+        sysProjServices.setYyTime(serviceOrderDto.getYyTime());
+        sysProjServices.setRemark(serviceOrderDto.getRemark());
+
+        List<SysBeauticianState> sysBeauticianStates = new ArrayList<>();
+        serviceOrderDto.getProjItems().forEach(item ->{
+            SysBeauticianState sysBeauticianState = SysBeauticianStateMapper.INSTANCE.serviceOrderItemVoToEntity(item);
+
+            sysBeauticianState.setBeginTime(serviceOrderDto.getYyTime());
+            sysBeauticianState.setEndTime(DateUtil.getDateAfterMinute(serviceOrderDto.getYyTime(), serviceOrderDto.getTotalTime()));
+            sysBeauticianState.setStaffId(serviceOrderDto.getBeautyId());
+            sysBeauticianStates.add(sysBeauticianState);
+        });
+
+        sysProjServices.setServiceItems(sysBeauticianStates);
+
+        //检测欠款
+        VerifyResult arrearsVerifyResult = projServicesService.checkArrears(sysProjServices);
+        if (arrearsVerifyResult.isError()) {
+            return new AjaxResult(AjaxResult.STATUS_FAIL, arrearsVerifyResult.getMsg());
+        }
+        //检测余次
+        VerifyResult balanceverifyResult = projServicesService.checkBalance(sysProjServices);
+        if (balanceverifyResult.isError()) {
+            return new AjaxResult(AjaxResult.STATUS_FAIL, balanceverifyResult.getMsg());
+        }
+        SysProjServices newSysProjServices = projServicesService.addSysProjServices(sysProjServices);
+        if (newSysProjServices != null) {
+            return AjaxResult.buildSuccessInstance(Arrays.asList(newSysProjServices));
+        } else {
+            return new AjaxResult(AjaxResult.STATUS_FAIL, "下单失败!");
+        }
     }
 
     @ApiOperation(value = "查询服务单列表", notes = "查询服务单列表")
@@ -109,4 +153,12 @@
         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) {
+        return null;
+    }
 }

--
Gitblit v1.9.1