diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/enums/LeaseInfoEnum.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/enums/LeaseInfoEnum.java index 9a62fd0..7ec1247 100644 --- a/bonus-common-biz/src/main/java/com/bonus/common/biz/enums/LeaseInfoEnum.java +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/enums/LeaseInfoEnum.java @@ -12,7 +12,9 @@ public enum LeaseInfoEnum { LEASE_PENDING_ORDER(0, "待接单"), LEASE_ORDER_RECEIVED(1, "已接单"), - LEASE_PAST_DUE(2, "已过期"); + LEASE_PAST_DUE(2, "已过期"), + LEASE_ORDER_AUDIT(3, "接单待审核"), + LEASE_ORDER_AUDIT_FAIL(4, "驳回"); private final Integer status; private final String statusName; diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/lease/controller/MaLeaseInfoController.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/lease/controller/MaLeaseInfoController.java index 43810ce..08c1cd2 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/lease/controller/MaLeaseInfoController.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/lease/controller/MaLeaseInfoController.java @@ -112,6 +112,12 @@ public class MaLeaseInfoController extends BaseController { return leaseInfoService.accept(maLeaseInfo); } + @ApiOperation(value = "承租方审核(同意或驳回)") + @PostMapping("/audit") + public AjaxResult agreeOrReject(@RequestBody MaLeaseInfo maLeaseInfo) { + return leaseInfoService.agreeOrReject(maLeaseInfo); + } + /** * 删除租赁需求 * @param maLeaseInfo diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/lease/domain/MaLease.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/lease/domain/MaLease.java index 9d55418..97d0b09 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/lease/domain/MaLease.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/lease/domain/MaLease.java @@ -63,6 +63,9 @@ public class MaLease { @ApiModelProperty(value = "区域id") private Long areaId; + @ApiModelProperty(value = "市级code") + private Long cityCode; + @ApiModelProperty(value = "区域名称") private String areaName; diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/lease/domain/MaLeaseDetails.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/lease/domain/MaLeaseDetails.java new file mode 100644 index 0000000..822cae5 --- /dev/null +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/lease/domain/MaLeaseDetails.java @@ -0,0 +1,62 @@ +package com.bonus.material.lease.domain; + +import com.bonus.common.biz.domain.BmFileInfo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Author ma_sh + * @create 2024/12/4 17:23 + */ +@Data +public class MaLeaseDetails { + + private Integer id; + + private Integer leaseId; + + /** + * 类型id + */ + private Integer typeId; + + /** + * 预估租赁装备数量 + */ + private Integer leaseNum; + + @ApiModelProperty(value = "装备类目id集合") + private List typeIds; + + @ApiModelProperty(value = "装备类目id集合") + private String ids; + + @ApiModelProperty(value = "类型名称") + private String typeName; + + @ApiModelProperty(value = "所属三级类目合集") + private String groupName; + + @ApiModelProperty(value = "装备一级类目Id") + private String firstId; + + @ApiModelProperty(value = "装备一级类目名称") + private String firstName; + + @ApiModelProperty(value = "装备二级类目Id") + private String secondId; + + @ApiModelProperty(value = "装备二级类目名称") + private String secondName; + + @ApiModelProperty(value = "装备三级类目Id") + private String thirdId; + + @ApiModelProperty(value = "装备三级类目名称") + private String thirdName; + + @ApiModelProperty(value = "文件信息") + private List fileInfoList; +} diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/lease/domain/MaLeaseInfo.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/lease/domain/MaLeaseInfo.java index a719410..e596163 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/lease/domain/MaLeaseInfo.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/lease/domain/MaLeaseInfo.java @@ -45,16 +45,6 @@ public class MaLeaseInfo extends BaseEntity implements Serializable { */ private String leaseCode; - /** - * 类型id - */ - private Integer typeId; - - /** - * 所属公司(租赁公司) - */ - private Integer companyId; - /** * 需求状态 */ @@ -65,11 +55,6 @@ public class MaLeaseInfo extends BaseEntity implements Serializable { */ private Integer leaseDay; - /** - * 预估租赁装备数量 - */ - private Integer leaseNum; - /** * 需求发布时间 */ @@ -119,19 +104,41 @@ public class MaLeaseInfo extends BaseEntity implements Serializable { @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date orderTime; + @ApiModelProperty(value = "省id") + private Long provinceCode; + + @ApiModelProperty(value = "省名称") + private String provinceName; + + @ApiModelProperty(value = "市id") + private Long cityCode; + + @ApiModelProperty(value = "市名称") + private String cityName; + @ApiModelProperty(value = "区域id") - private Long areaId; + private Long areaCode; @ApiModelProperty(value = "区域名称") private String areaName; - @ApiModelProperty(value = "装备类目id集合") - private List typeIds; + @ApiModelProperty(value = "详细地址") + private String address; - @ApiModelProperty(value = "装备类目id集合") - private String ids; + /** + * 同意人 + */ + private String agreeUser; + + /** + * 驳回人 + */ + private String rejectUser; @ApiModelProperty(value = "文件信息") private List fileInfoList; + + @ApiModelProperty(value = "需求详情") + private List detailsList; } diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/lease/domain/vo/MaLeaseVo.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/lease/domain/vo/MaLeaseVo.java index a799fd2..eadba15 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/lease/domain/vo/MaLeaseVo.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/lease/domain/vo/MaLeaseVo.java @@ -55,4 +55,7 @@ public class MaLeaseVo extends MaLeaseInfo { @ApiModelProperty(value = "接单人联系方式") private String orderPhone; + + @ApiModelProperty(value = "需求租赁总数量") + private Integer leaseTotalNum; } diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/lease/mapper/MaLeaseInfoMapper.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/lease/mapper/MaLeaseInfoMapper.java index 4284c07..011eb8c 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/lease/mapper/MaLeaseInfoMapper.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/lease/mapper/MaLeaseInfoMapper.java @@ -1,6 +1,7 @@ package com.bonus.material.lease.mapper; import com.bonus.material.lease.domain.MaLease; +import com.bonus.material.lease.domain.MaLeaseDetails; import com.bonus.material.lease.domain.MaLeaseDto; import com.bonus.material.lease.domain.MaLeaseInfo; import com.bonus.material.lease.domain.vo.MaLeaseVo; @@ -91,4 +92,25 @@ public interface MaLeaseInfoMapper { * @return */ List rentList(MaLeaseDto dto); + + /** + * 添加租赁需求详情 + * @param maLeaseDetails + * @return + */ + int insertDetails(MaLeaseDetails maLeaseDetails); + + /** + * 根据租赁需求id查询租赁需求详情 + * @param maLeaseInfo + * @return + */ + List selectDetailsById(MaLeaseInfo maLeaseInfo); + + /** + * 根据租赁需求id删除租赁需求详情 + * @param maLeaseInfo + * @return + */ + int deleteDetailsById(MaLeaseInfo maLeaseInfo); } diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/lease/service/MaLeaseInfoService.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/lease/service/MaLeaseInfoService.java index ca0c05b..eab20c7 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/lease/service/MaLeaseInfoService.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/lease/service/MaLeaseInfoService.java @@ -70,4 +70,11 @@ public interface MaLeaseInfoService { * @return */ List rentList(MaLeaseDto dto); + + /** + * 乘租方同意或驳回 + * @param maLeaseInfo + * @return + */ + AjaxResult agreeOrReject(MaLeaseInfo maLeaseInfo); } diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/lease/service/impl/MaLeaseInfoServiceImpl.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/lease/service/impl/MaLeaseInfoServiceImpl.java index be082e2..6c53608 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/lease/service/impl/MaLeaseInfoServiceImpl.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/lease/service/impl/MaLeaseInfoServiceImpl.java @@ -7,12 +7,14 @@ import com.bonus.common.biz.constant.MaterialConstants; import com.bonus.common.biz.domain.BmFileInfo; import com.bonus.common.biz.enums.HttpCodeEnum; import com.bonus.common.biz.enums.LeaseInfoEnum; +import com.bonus.common.core.exception.ServiceException; import com.bonus.common.core.utils.DateUtils; import com.bonus.common.core.utils.StringUtils; import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.security.utils.SecurityUtils; import com.bonus.material.device.mapper.BmFileInfoMapper; import com.bonus.material.lease.domain.MaLease; +import com.bonus.material.lease.domain.MaLeaseDetails; import com.bonus.material.lease.domain.MaLeaseDto; import com.bonus.material.lease.domain.MaLeaseInfo; import com.bonus.material.lease.domain.vo.MaLeaseVo; @@ -60,25 +62,59 @@ public class MaLeaseInfoServiceImpl implements MaLeaseInfoService { // 2. 生成需求编号及其他字段 populateLeaseInfoFields(maLeaseInfo); // 3. 插入租赁需求 - if (CollectionUtils.isNotEmpty(maLeaseInfo.getTypeIds())) { - maLeaseInfo.setIds(String.join(",", maLeaseInfo.getTypeIds())); - } int result = leaseInfoMapper.insert(maLeaseInfo); - if (result <= 0 || maLeaseInfo.getId() == null) { - return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg()); + if (result > 0 && maLeaseInfo.getId() != null) { + Integer id = maLeaseInfo.getId(); + // 4. 插入文件信息 + insertFileInfo(maLeaseInfo , id); + //5.插入详情信息 + if (CollectionUtils.isNotEmpty(maLeaseInfo.getDetailsList())) { + long distinctCodes = maLeaseInfo.getDetailsList().stream().map(MaLeaseDetails::getTypeId).distinct().count(); + if (distinctCodes < maLeaseInfo.getDetailsList().size()) { + throw new ServiceException("提交的数据中设备类型存在重复,请勿重复添加", HttpCodeEnum.FAIL.getCode()); + } + for (MaLeaseDetails maLeaseDetails : maLeaseInfo.getDetailsList()) { + if (CollectionUtils.isNotEmpty(maLeaseDetails.getTypeIds())) { + maLeaseDetails.setIds(String.join(",", maLeaseDetails.getTypeIds())); + } + maLeaseDetails.setLeaseId(id); + result += leaseInfoMapper.insertDetails(maLeaseDetails); + if (result > 0 && maLeaseDetails.getId() != null) { + insertFile(maLeaseDetails, maLeaseDetails.getId()); + } + } + } } - // 4. 插入文件信息 - insertFileInfo(maLeaseInfo); // 5. 返回成功结果 return AjaxResult.success(HttpCodeEnum.SUCCESS.getMsg()); } + /** + * 插入文件信息 + * @param maLeaseDetails + * @param id + */ + private void insertFile(MaLeaseDetails maLeaseDetails, Integer id) { + if (CollectionUtils.isNotEmpty(maLeaseDetails.getFileInfoList())) { + List bmFileInfos = new ArrayList<>(); + for (BmFileInfo fileInfo : maLeaseDetails.getFileInfoList()) { + fileInfo.setModelId(Long.valueOf(id)); + fileInfo.setTaskType(MaterialConstants.LEASE_FILE_TYPE_CODE); + fileInfo.setFileType(1L); + fileInfo.setCreateBy(String.valueOf(SecurityUtils.getUserId())); + bmFileInfos.add(fileInfo); + } + bmFileInfoMapper.insertBmFileInfos(bmFileInfos); + } + } + /** * 修改租赁需求 * @param maLeaseInfo * @return */ @Override + @Transactional public AjaxResult edit(MaLeaseInfo maLeaseInfo) { if (maLeaseInfo.getId() == null) { return AjaxResult.error(HttpCodeEnum.TO_PARAM_NULL.getCode(), HttpCodeEnum.TO_PARAM_NULL.getMsg()); @@ -99,20 +135,47 @@ public class MaLeaseInfoServiceImpl implements MaLeaseInfoService { return AjaxResult.error(HttpCodeEnum.LEASE_END_TIME_ERROR.getCode(), HttpCodeEnum.LEASE_END_TIME_ERROR.getMsg()); } } - if (CollectionUtils.isNotEmpty(maLeaseInfo.getTypeIds())) { - maLeaseInfo.setIds(String.join(",", maLeaseInfo.getTypeIds())); - } int result = leaseInfoMapper.updateDevInfo(maLeaseInfo); + //根据id查询删除详情信息 + List leaseDetailsList = leaseInfoMapper.selectDetailsById(maLeaseInfo); + result += leaseInfoMapper.deleteDetailsById(maLeaseInfo); //首先根据id查询文件信息是否存在 BmFileInfo bmFileInfo = new BmFileInfo(); bmFileInfo.setModelId(Long.valueOf(maLeaseInfo.getId())); bmFileInfo.setTaskType(MaterialConstants.LEASE_FILE_TYPE_CODE); + bmFileInfo.setFileType(0L); List bmFileInfoList = bmFileInfoMapper.selectBmFileInfoList(bmFileInfo); if (CollectionUtils.isNotEmpty(bmFileInfoList)) { bmFileInfoMapper.deleteBmFileInfoByIds(bmFileInfoList.stream().map(BmFileInfo::getId).toArray(Long[]::new)); } + if (CollectionUtils.isNotEmpty(leaseDetailsList)) { + for (MaLeaseDetails maLeaseDetails : leaseDetailsList) { + bmFileInfo.setModelId(Long.valueOf(maLeaseDetails.getId())); + bmFileInfo.setFileType(1L); + List infoList = bmFileInfoMapper.selectBmFileInfoList(bmFileInfo); + if (CollectionUtils.isNotEmpty(infoList)) { + bmFileInfoMapper.deleteBmFileInfoByIds(infoList.stream().map(BmFileInfo::getId).toArray(Long[]::new)); + } + } + } //插入文件信息 - insertFileInfo(maLeaseInfo); + insertFileInfo(maLeaseInfo, maLeaseInfo.getId()); + if (CollectionUtils.isNotEmpty(maLeaseInfo.getDetailsList())) { + long distinctCodes = maLeaseInfo.getDetailsList().stream().map(MaLeaseDetails::getTypeId).distinct().count(); + if (distinctCodes < maLeaseInfo.getDetailsList().size()) { + throw new ServiceException("提交的数据中设备类型存在重复,请勿重复添加", HttpCodeEnum.FAIL.getCode()); + } + for (MaLeaseDetails maLeaseDetails : maLeaseInfo.getDetailsList()) { + if (CollectionUtils.isNotEmpty(maLeaseDetails.getTypeIds())) { + maLeaseDetails.setIds(String.join(",", maLeaseDetails.getTypeIds())); + } + maLeaseDetails.setLeaseId(maLeaseInfo.getId()); + result += leaseInfoMapper.insertDetails(maLeaseDetails); + if (result > 0 && maLeaseDetails.getId() != null) { + insertFile(maLeaseDetails, maLeaseDetails.getId()); + } + } + } return result > 0 ? AjaxResult.success(HttpCodeEnum.SUCCESS.getMsg()) : AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg()); } @@ -127,24 +190,41 @@ public class MaLeaseInfoServiceImpl implements MaLeaseInfoService { return AjaxResult.error(HttpCodeEnum.TO_PARAM_NULL.getCode(), HttpCodeEnum.TO_PARAM_NULL.getMsg()); } MaLeaseVo maLeaseVo = leaseInfoMapper.selectByName(maLeaseInfo); + //根据id查询详情信息 + List leaseDetailsList = leaseInfoMapper.selectDetailsById(maLeaseInfo); ArrayList list = new ArrayList<>(); if (maLeaseVo != null) { //查询文件信息 BmFileInfo bmFileInfo = new BmFileInfo(); bmFileInfo.setModelId(Long.valueOf(maLeaseVo.getId())); bmFileInfo.setTaskType(MaterialConstants.LEASE_FILE_TYPE_CODE); + bmFileInfo.setFileType(0L); List fileList = bmFileInfoMapper.selectBmFileInfoList(bmFileInfo); if (CollectionUtil.isNotEmpty(fileList)) { maLeaseVo.setFileInfoList(fileList); } - if (StringUtils.isNotBlank(maLeaseVo.getIds())) { - // 使用 StringUtils.split() 按逗号分割 ids 字符串 - String[] idsArray = StringUtils.split(maLeaseVo.getIds(), ","); - // 将分割后的元素添加到 list 中 - // 将分割出来的 id 添加到 list 中 - list.addAll(Arrays.asList(idsArray)); - maLeaseVo.setTypeIds(list); + if (CollectionUtil.isNotEmpty(leaseDetailsList)) { + for (MaLeaseDetails details : leaseDetailsList) { + if (StringUtils.isNotBlank(details.getIds())) { + // 使用 StringUtils.split() 按逗号分割 ids 字符串 + String[] idsArray = StringUtils.split(details.getIds(), ","); + // 将分割后的元素添加到 list 中 + // 将分割出来的 id 添加到 list 中 + list.addAll(Arrays.asList(idsArray)); + details.setTypeIds(list); + } + //查询文件信息 + BmFileInfo bmFileInfo1 = new BmFileInfo(); + bmFileInfo1.setModelId(Long.valueOf(details.getId())); + bmFileInfo1.setTaskType(MaterialConstants.LEASE_FILE_TYPE_CODE); + bmFileInfo1.setFileType(1L); + List fileList1 = bmFileInfoMapper.selectBmFileInfoList(bmFileInfo1); + if (CollectionUtil.isNotEmpty(fileList1)) { + details.setFileInfoList(fileList1); + } + } } + maLeaseVo.setDetailsList(leaseDetailsList); //更新搜索量 try { //只针对于待接单状态租赁需求更新浏览量 @@ -217,6 +297,28 @@ public class MaLeaseInfoServiceImpl implements MaLeaseInfoService { return AjaxResult.error(HttpCodeEnum.LEASE_ORDER_RECEIVED_NOT_DELETE.getCode(), HttpCodeEnum.LEASE_ORDER_RECEIVED_NOT_DELETE.getMsg()); } int result = leaseInfoMapper.deleteById(maLeaseInfo); + //首先根据id查询文件信息是否存在 + BmFileInfo bmFileInfo = new BmFileInfo(); + bmFileInfo.setModelId(Long.valueOf(maLeaseInfo.getId())); + bmFileInfo.setTaskType(MaterialConstants.LEASE_FILE_TYPE_CODE); + bmFileInfo.setFileType(0L); + List bmFileInfoList = bmFileInfoMapper.selectBmFileInfoList(bmFileInfo); + if (result > 0 && CollectionUtils.isNotEmpty(bmFileInfoList)) { + bmFileInfoMapper.deleteBmFileInfoByIds(bmFileInfoList.stream().map(BmFileInfo::getId).toArray(Long[]::new)); + } + //根据id查询删除详情信息 + List leaseDetailsList = leaseInfoMapper.selectDetailsById(maLeaseInfo); + result += leaseInfoMapper.deleteDetailsById(maLeaseInfo); + if (CollectionUtils.isNotEmpty(leaseDetailsList)) { + for (MaLeaseDetails maLeaseDetails : leaseDetailsList) { + bmFileInfo.setModelId(Long.valueOf(maLeaseDetails.getId())); + bmFileInfo.setFileType(1L); + List infoList = bmFileInfoMapper.selectBmFileInfoList(bmFileInfo); + if (result > 0 && CollectionUtils.isNotEmpty(infoList)) { + bmFileInfoMapper.deleteBmFileInfoByIds(infoList.stream().map(BmFileInfo::getId).toArray(Long[]::new)); + } + } + } return result > 0 ? AjaxResult.success(HttpCodeEnum.SUCCESS.getMsg()) : AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg()); } @@ -264,11 +366,28 @@ public class MaLeaseInfoServiceImpl implements MaLeaseInfoService { maLeaseInfo.setOrderUser(String.valueOf(userId)); maLeaseInfo.setOrderCompany(String.valueOf(companyId)); maLeaseInfo.setOrderTime(DateUtils.getNowDate()); - maLeaseInfo.setLeaseStatus(LeaseInfoEnum.LEASE_ORDER_RECEIVED.getStatus()); + maLeaseInfo.setLeaseStatus(LeaseInfoEnum.LEASE_ORDER_AUDIT.getStatus()); int result = leaseInfoMapper.updateDevInfo(maLeaseInfo); return result > 0 ? AjaxResult.success(HttpCodeEnum.SUCCESS.getMsg()) : AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg()); } + @Override + public AjaxResult agreeOrReject(MaLeaseInfo maLeaseInfo) { + int result = 0; + if (maLeaseInfo.getId() == null) { + return AjaxResult.error(HttpCodeEnum.TO_PARAM_NULL.getCode(), HttpCodeEnum.TO_PARAM_NULL.getMsg()); + } + if (maLeaseInfo.getLeaseStatus() == 1) { + maLeaseInfo.setAgreeUser(String.valueOf(SecurityUtils.getUserId())); + result = leaseInfoMapper.updateDevInfo(maLeaseInfo); + } + if (maLeaseInfo.getLeaseStatus() == 4) { + maLeaseInfo.setRejectUser(String.valueOf(SecurityUtils.getUserId())); + result = leaseInfoMapper.updateDevInfo(maLeaseInfo); + } + return result > 0 ? AjaxResult.success(HttpCodeEnum.SUCCESS.getMsg()) : AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg()); + } + /** * 查询出租方需求列表 * @param dto @@ -300,16 +419,17 @@ public class MaLeaseInfoServiceImpl implements MaLeaseInfoService { * 插入文件信息 * @param maLeaseInfo */ - private void insertFileInfo(MaLeaseInfo maLeaseInfo) { + private void insertFileInfo(MaLeaseInfo maLeaseInfo, Integer id) { if (CollectionUtil.isNotEmpty(maLeaseInfo.getFileInfoList())) { - Long userId = SecurityUtils.getUserId(); - Integer id = maLeaseInfo.getId(); + List bmFileInfos = new ArrayList<>(); for (BmFileInfo bmFileInfo : maLeaseInfo.getFileInfoList()) { bmFileInfo.setModelId(Long.valueOf(id)); bmFileInfo.setTaskType(MaterialConstants.LEASE_FILE_TYPE_CODE); - bmFileInfo.setCreateBy(String.valueOf(userId)); - bmFileInfoMapper.insertBmFileInfo(bmFileInfo); + bmFileInfo.setCreateBy(String.valueOf(SecurityUtils.getUserId())); + bmFileInfo.setFileType(0L); + bmFileInfos.add(bmFileInfo); } + bmFileInfoMapper.insertBmFileInfos(bmFileInfos); } } diff --git a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/home/MaTypeInfoMapper.xml b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/home/MaTypeInfoMapper.xml index 2afb4ab..120f4b0 100644 --- a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/home/MaTypeInfoMapper.xml +++ b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/home/MaTypeInfoMapper.xml @@ -86,7 +86,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" name as areaName from base_address where 1 = 1 - + and parent_code = 0 diff --git a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/lease/MaLeaseInfoMapper.xml b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/lease/MaLeaseInfoMapper.xml index 4c744ae..785b824 100644 --- a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/lease/MaLeaseInfoMapper.xml +++ b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/lease/MaLeaseInfoMapper.xml @@ -8,13 +8,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" lease_name, lease_code, - type_id, - type_ids, - company_id, - area_id, + province_code, + city_code, + address, + area_code, lease_status, lease_day, - lease_num, start_time, publish_user, publish_company, @@ -28,13 +27,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{leaseName}, #{leaseCode}, - #{typeId}, - #{ids}, - #{companyId}, - #{areaId}, + #{provinceCode}, + #{cityCode}, + #{address}, + #{areaCode}, #{leaseStatus}, #{leaseDay}, - #{leaseNum}, #{startTime}, #{publishUser}, #{publishCompany}, @@ -52,17 +50,31 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" values(#{id}, 1, now()) + + insert into ma_lease_details + + lease_id, + type_id, + type_ids, + lease_num, + + + #{leaseId}, + #{typeId}, + #{ids}, + #{leaseNum}, + + + update ma_lease_info lease_name = #{leaseName}, - type_id = #{typeId}, - type_ids = #{ids}, - company_id = #{companyId}, - area_id = #{areaId}, + province_code = #{provinceCode}, + city_code = #{cityCode}, + area_code = #{areaCode}, lease_day = #{leaseDay}, lease_status = #{leaseStatus}, - lease_num = #{leaseNum}, start_time = #{startTime}, publish_user = #{publishUser}, end_time = #{endTime}, @@ -74,6 +86,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" order_user = #{orderUser}, order_company = #{orderCompany}, order_time = #{orderTime}, + agree_user = #{agreeUser}, + reject_user = #{rejectUser}, where id = #{id} @@ -89,71 +103,40 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" delete from ma_lease_info where id = #{id} + + delete from ma_lease_details where lease_id = #{id} + + SELECT - m.id as id, - m.lease_name as leaseName, - m.lease_code as leaseCode, - m.company_id as companyId, - c.company_name as companyName, - c.operate_address as operateAddress, - m.lease_status as leaseStatus, - m.start_time as startTime, - m.end_time as endTime, - CASE - WHEN lease_status = 0 THEN '待接单' - WHEN lease_status = 1 THEN '已接单' - WHEN lease_status = 2 THEN '已过期' - ELSE '未知' - END - AS leaseStatusName, - su.nick_name as publishUser, - su1.nick_name as orderUser, - su1.phonenumber as orderPhone + m.id as id, + m.lease_name as leaseName, + m.lease_code as leaseCode, + m.lease_status as leaseStatus, + m.start_time as startTime, + m.end_time as endTime, + CASE + WHEN lease_status = 0 THEN '待接单' + WHEN lease_status = 1 THEN '已接单' + WHEN lease_status = 2 THEN '已过期' + WHEN lease_status = 3 THEN '接单待审核' + WHEN lease_status = 4 THEN '驳回' + ELSE '未知' + END + AS leaseStatusName, + su.nick_name as publishUser, + su1.nick_name as orderUser, + su1.phonenumber as orderPhone, + m.province_code as provinceCode, + b1.name as provinceName, + m.city_code as cityCode, + b2.name as cityName, + m.area_code as areaCode, + b.name as areaName, + m.address as address FROM ma_lease_info m - LEFT JOIN bm_company_info c ON m.company_id = c.company_id + LEFT JOIN base_address b ON b.code = m.area_code + LEFT JOIN base_address b1 on m.province_code = b1.code + LEFT JOIN base_address b2 on m.city_code = b2.code LEFT JOIN sys_user su ON m.publish_user = su.user_id LEFT JOIN sys_user su1 ON m.order_user = su1.user_id WHERE 1 = 1 and m.publish_company = #{publishCompany} @@ -226,102 +217,43 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -359,13 +291,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" m.id as id, m.lease_name as leaseName, m.lease_code as leaseCode, - m.type_id as typeId, - m.company_id as companyId, - c.company_name as companyName, - c.operate_address as operateAddress, m.lease_status as leaseStatus, m.lease_day as leaseDay, - m.lease_num as leaseNum, m.start_time as startTime, m.end_time as endTime, m.person as person, @@ -374,15 +301,30 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" su.nick_name as publishUser, su1.nick_name as orderUser, m.order_time as orderTime, - b.id as areaId, - b.name as areaName + m.province_code as provinceCode, + b1.name as provinceName, + m.city_code as cityCode, + b2.name as cityName, + m.area_code as areaCode, + b.name as areaName, + m.address as address, + CASE + WHEN m.lease_status = 0 THEN '待接单' + WHEN m.lease_status = 1 THEN '已接单' + WHEN m.lease_status = 2 THEN '已过期' + WHEN m.lease_status = 3 THEN '接单待审核' + WHEN m.lease_status = 4 THEN '驳回' + ELSE '未知' + END + AS leaseStatusName FROM ma_lease_info m - LEFT JOIN bm_company_info c ON m.company_id = c.company_id - LEFT JOIN base_address b ON b.id = m.area_id + LEFT JOIN base_address b ON b.code = m.area_code + LEFT JOIN base_address b1 on m.province_code = b1.code + LEFT JOIN base_address b2 on m.city_code = b2.code LEFT JOIN sys_user su ON m.publish_user = su.user_id LEFT JOIN sys_user su1 ON m.order_user = su1.user_id - WHERE 1 = 1 and m.order_company = #{orderCompany} and m.lease_status = '1' + WHERE 1 = 1 and m.order_company = #{orderCompany} and m.lease_code like concat('%',#{leaseCode},'%') @@ -397,4 +339,51 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" GROUP BY m.lease_code + + \ No newline at end of file