From 825d22ed7b3c86016ef238f5c7e73fdca05abd3d Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Sun, 27 Dec 2020 12:24:57 +0800 Subject: [PATCH] modify --- zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java | 82 ++++++++++++++++++++++++++++++++++++++--- 1 files changed, 76 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..3c022ec 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,18 +1,26 @@ 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.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.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; @@ -24,6 +32,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; /** @@ -43,6 +53,9 @@ @Autowired private SysProjServicesService projServicesService; + + @Autowired + private SysBeauticianStateService sysBeauticianStateService; @ApiOperation(value ="获取用户项目/套餐列表", notes = "获取用户项目/套餐列表") @ApiResponses({ @@ -91,8 +104,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 +158,25 @@ 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; + } } -- Gitblit v1.9.1