Helius
2020-12-25 8aebedf8bf403a7f3d337100831232c3b74e3563
modify
3 files added
3 files modified
193 ■■■■■ changed files
zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java 39 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/app/dto/CreateServiceOrderDto.java 74 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/app/dto/CreateServiceOrderItemDto.java 41 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/app/mapper/SysBeauticianStateMapper.java 23 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/app/vo/ServiceProjVo.java 11 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/mybatis/mapper/hive/SysProjUseDao.xml 5 ●●●● patch | view | raw | blame | history
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 = "查询服务单列表")
zq-erp/src/main/java/com/matrix/system/app/dto/CreateServiceOrderDto.java
New file
@@ -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;
    }
}
zq-erp/src/main/java/com/matrix/system/app/dto/CreateServiceOrderItemDto.java
New file
@@ -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;
    }
}
zq-erp/src/main/java/com/matrix/system/app/mapper/SysBeauticianStateMapper.java
New file
@@ -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);
}
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;
    }
}
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 !='' ">