From 8aebedf8bf403a7f3d337100831232c3b74e3563 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Fri, 25 Dec 2020 16:14:04 +0800 Subject: [PATCH] modify --- zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java | 39 +++++++++ zq-erp/src/main/java/com/matrix/system/app/dto/CreateServiceOrderItemDto.java | 41 ++++++++++ zq-erp/src/main/java/com/matrix/system/app/mapper/SysBeauticianStateMapper.java | 23 +++++ zq-erp/src/main/java/com/matrix/system/app/vo/ServiceProjVo.java | 11 ++ zq-erp/src/main/resources/mybatis/mapper/hive/SysProjUseDao.xml | 5 + zq-erp/src/main/java/com/matrix/system/app/dto/CreateServiceOrderDto.java | 74 ++++++++++++++++++ 6 files changed, 190 insertions(+), 3 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..7ec1b50 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,23 @@ 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.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.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 +32,7 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import java.util.Arrays; import java.util.List; /** @@ -91,8 +100,34 @@ @ApiOperation(value = "提交服务单", notes = "提交服务单") @PostMapping(value = "/createServiceOrder") - public AjaxResult createServiceOrder() { - return null; + public AjaxResult createServiceOrder(@RequestBody @Validated CreateServiceOrderDto serviceOrderDto) { + if (CollectionUtils.isNotEmpty(serviceOrderDto.getProjItems())) { + throw new GlobleException("请选择服务"); + } + + SysProjServices sysProjServices = new SysProjServices(); + sysProjServices.setVipId(serviceOrderDto.getVipId()); + sysProjServices.setYyTime(serviceOrderDto.getYyTime()); + sysProjServices.setRemark(serviceOrderDto.getRemark()); + List<SysBeauticianState> sysBeauticianStates = SysBeauticianStateMapper.INSTANCE.orderItmesVoToEntityList(serviceOrderDto.getProjItems()); + 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 = "查询服务单列表") diff --git a/zq-erp/src/main/java/com/matrix/system/app/dto/CreateServiceOrderDto.java b/zq-erp/src/main/java/com/matrix/system/app/dto/CreateServiceOrderDto.java new file mode 100644 index 0000000..a07855f --- /dev/null +++ b/zq-erp/src/main/java/com/matrix/system/app/dto/CreateServiceOrderDto.java @@ -0,0 +1,74 @@ +package com.matrix.system.app.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.constraints.NotNull; +import java.util.Date; +import java.util.List; + +/** + * @author wzy + * @date 2020-12-25 + **/ +@ApiModel(value = "CreateServiceOrderDto", description = "创建服务单接口接收参数类") +public class CreateServiceOrderDto { + + @NotNull(message = "请选择会员") + @ApiModelProperty(value = "会员ID") + private Long vipId; + + @NotNull(message = "请选择美疗师") + @ApiModelProperty(value = "美疗师ID") + private Long beautyId; + + @NotNull(message = "请选择预约时间") + @ApiModelProperty(value = "预约时间") + private Date yyTime; + + @ApiModelProperty(value = "选择的项目") + private List<CreateServiceOrderItemDto> projItems; + + @ApiModelProperty(value = "备注") + private String remark; + + public Long getVipId() { + return vipId; + } + + public void setVipId(Long vipId) { + this.vipId = vipId; + } + + public Long getBeautyId() { + return beautyId; + } + + public void setBeautyId(Long beautyId) { + this.beautyId = beautyId; + } + + public Date getYyTime() { + return yyTime; + } + + public void setYyTime(Date yyTime) { + this.yyTime = yyTime; + } + + public List<CreateServiceOrderItemDto> getProjItems() { + return projItems; + } + + public void setProjItems(List<CreateServiceOrderItemDto> projItems) { + this.projItems = projItems; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } +} diff --git a/zq-erp/src/main/java/com/matrix/system/app/dto/CreateServiceOrderItemDto.java b/zq-erp/src/main/java/com/matrix/system/app/dto/CreateServiceOrderItemDto.java new file mode 100644 index 0000000..6d886ae --- /dev/null +++ b/zq-erp/src/main/java/com/matrix/system/app/dto/CreateServiceOrderItemDto.java @@ -0,0 +1,41 @@ +package com.matrix.system.app.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.constraints.Min; +import javax.validation.constraints.NotNull; + +/** + * @author wzy + * @date 2020-12-25 + **/ +@ApiModel(value = "CreateServiceOrderItemDto", description = "创建服务单参数接收类") +public class CreateServiceOrderItemDto { + + @NotNull(message = "请选择项目") + @ApiModelProperty(value = "项目ID") + private Long puseId; + + @NotNull(message = "请输入数量") + @Min(1) + @ApiModelProperty(value = "数量") + private Integer count; + + + public Long getPuseId() { + return puseId; + } + + public void setPuseId(Long puseId) { + this.puseId = puseId; + } + + public Integer getCount() { + return count; + } + + public void setCount(Integer count) { + this.count = count; + } +} diff --git a/zq-erp/src/main/java/com/matrix/system/app/mapper/SysBeauticianStateMapper.java b/zq-erp/src/main/java/com/matrix/system/app/mapper/SysBeauticianStateMapper.java new file mode 100644 index 0000000..571a397 --- /dev/null +++ b/zq-erp/src/main/java/com/matrix/system/app/mapper/SysBeauticianStateMapper.java @@ -0,0 +1,23 @@ +package com.matrix.system.app.mapper; + +import com.matrix.system.app.dto.CreateServiceOrderItemDto; +import com.matrix.system.hive.bean.SysBeauticianState; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +import java.util.List; + +/** + * @author wzy + * @date 2020-12-25 + **/ +@Mapper +public abstract class SysBeauticianStateMapper { + public static final SysBeauticianStateMapper INSTANCE = Mappers.getMapper(SysBeauticianStateMapper.class); + + + public abstract SysBeauticianState serviceOrderItemVoToEntity(CreateServiceOrderItemDto dto); + + public abstract List<SysBeauticianState> orderItmesVoToEntityList(List<CreateServiceOrderItemDto> dtoList); + +} diff --git a/zq-erp/src/main/java/com/matrix/system/app/vo/ServiceProjVo.java b/zq-erp/src/main/java/com/matrix/system/app/vo/ServiceProjVo.java index bbe4758..89504e2 100644 --- a/zq-erp/src/main/java/com/matrix/system/app/vo/ServiceProjVo.java +++ b/zq-erp/src/main/java/com/matrix/system/app/vo/ServiceProjVo.java @@ -14,6 +14,9 @@ @ApiModel(value = "ServiceProjVo", description = "用户项目返回参数类") public class ServiceProjVo { + @ApiModelProperty(value = "id") + private Long id; + @ApiModelProperty(value = "订单ID") private Long projId; @@ -80,4 +83,12 @@ public void setImg(String img) { this.img = img; } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } } diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/SysProjUseDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/SysProjUseDao.xml index 29058ae..fee7b2f 100644 --- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysProjUseDao.xml +++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysProjUseDao.xml @@ -424,8 +424,11 @@ <!-- 根据对象查询 --> <select id="selectByModel" resultMap="SysProjUseMap"> select - a.* + a.*, + b.time_length, + b.img from sys_proj_use a + left join shopping_goods b on a.proj_id=b.id where 1=1 <if test="record!=null"> <if test="record.id != null and record.id !='' "> -- Gitblit v1.9.1