From 7df56e43cc65543fb68f0982b2c680e00247b69d Mon Sep 17 00:00:00 2001 From: mashuai Date: Mon, 25 Nov 2024 14:46:39 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A3=85=E5=A4=87=E5=85=B1=E4=BA=AB=E5=A4=A7?= =?UTF-8?q?=E5=8E=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../material/book/domain/BookCarInfoDto.java | 4 +- .../book/service/impl/BookCarServiceImpl.java | 1 + .../device/controller/DevInfoController.java | 4 +- .../material/device/domain/vo/DevInfoVo.java | 17 +++++-- .../material/device/domain/vo/LeaseVo.java | 38 ++++++++++++++ .../material/device/mapper/DevInfoMapper.java | 11 +++- .../service/impl/DevInfoServiceImpl.java | 31 ++++++++++-- .../home/controller/MaTypeInfoController.java | 18 +++++++ .../home/mapper/MaTypeInfoMapper.java | 7 +++ .../home/service/MaTypeInfoSevice.java | 8 +++ .../service/impl/MaTypeInfoServiceImpl.java | 9 ++++ .../mapper/material/bookcar/BookCarMapper.xml | 7 +-- .../mapper/material/device/DevInfoMapper.xml | 50 ++++++++++++------- .../mapper/material/home/MaTypeInfoMapper.xml | 12 +++++ 14 files changed, 182 insertions(+), 35 deletions(-) create mode 100644 bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/domain/vo/LeaseVo.java diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/book/domain/BookCarInfoDto.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/book/domain/BookCarInfoDto.java index 8db8a2b..8443d0b 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/book/domain/BookCarInfoDto.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/book/domain/BookCarInfoDto.java @@ -39,12 +39,12 @@ public class BookCarInfoDto { private String orderStatus; @ApiModelProperty(value = "下单用户id") - private Integer orderUser; + private Long orderUser; @ApiModelProperty(value = "下单用户手机号") private String phoneNumber; - @ApiModelProperty(value = "下单企业") + @ApiModelProperty(value = "被下单企业") private String orderCompany; @ApiModelProperty(value = "创建人") diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/book/service/impl/BookCarServiceImpl.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/book/service/impl/BookCarServiceImpl.java index 800417e..41117d9 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/book/service/impl/BookCarServiceImpl.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/book/service/impl/BookCarServiceImpl.java @@ -42,6 +42,7 @@ public class BookCarServiceImpl implements BookCarService { public Integer addBookCar(BookCarInfoDto bookCarInfoDto) { Long userid = SecurityUtils.getLoginUser().getUserid(); bookCarInfoDto.setCreater(userid.toString()); + bookCarInfoDto.setOrderUser(userid); return bookCarMapper.addBookCarDetail(bookCarInfoDto); } diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/controller/DevInfoController.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/controller/DevInfoController.java index 64fbcbe..e542757 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/controller/DevInfoController.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/controller/DevInfoController.java @@ -35,8 +35,8 @@ public class DevInfoController extends BaseController { */ // @RequiresPermissions("equip:info:list") @ApiOperation(value = "装备列表") - @PostMapping("/list") - public TableDataInfo list(@RequestBody DevInfoVo devInfo) { + @GetMapping("/list") + public TableDataInfo list(DevInfoVo devInfo) { startPage(); List list = devInfoService.selectDevInfoList(devInfo); return getDataTable(list); diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/domain/vo/DevInfoVo.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/domain/vo/DevInfoVo.java index 9ee0d89..fbfb2a7 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/domain/vo/DevInfoVo.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/domain/vo/DevInfoVo.java @@ -22,6 +22,9 @@ public class DevInfoVo extends DevInfo { private long parentId; private Long maId; + @ApiModelProperty(value = "下单用户id") + private Long orderUser; + /* 装备组别 parent */ @ApiModelProperty(value = "装备组别") @@ -70,10 +73,10 @@ public class DevInfoVo extends DevInfo { @ApiModelProperty(value = "搜索月租金最大值") private Integer monthLeasePriceMax; - @ApiModelProperty(value = "搜索天租金最下值") + @ApiModelProperty(value = "搜索天租金最小值") private Integer dayLeasePriceMin; - @ApiModelProperty(value = "搜索填租金最大值") + @ApiModelProperty(value = "搜索天租金最大值") private Integer dayLeasePriceMax; @ApiModelProperty(value = "搜索装备年份最小值") @@ -89,13 +92,13 @@ public class DevInfoVo extends DevInfo { private Integer workingHoursMax; @ApiModelProperty(value = "搜索装备月租金排序 ASC or DESC") - private String monthLeasePriceOrderBy; + private String dayLeasePriceOrderBy; @ApiModelProperty(value = "搜索装备更新时间排序 ASC or DESC") private String updateTimeOrderBy; @ApiModelProperty(value = "装备分类级别") - private Integer level; + private String level; @ApiModelProperty(value = "装备状态") private String maStatusStr; @@ -138,4 +141,10 @@ public class DevInfoVo extends DevInfo { @ApiModelProperty(value = "装备三级类目名称") private String thirdName; + @ApiModelProperty(value = "是否加入预约车(0 是,1 否)") + private Integer isBookCar; + + @ApiModelProperty(value = "出租记录信息") + private List leaseList; + } diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/domain/vo/LeaseVo.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/domain/vo/LeaseVo.java new file mode 100644 index 0000000..ae025c0 --- /dev/null +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/domain/vo/LeaseVo.java @@ -0,0 +1,38 @@ +package com.bonus.material.device.domain.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 出租方信息vo + * @Author ma_sh + * @create 2024/11/25 11:19 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class LeaseVo { + + @ApiModelProperty("订单id") + private Long orderId; + + @ApiModelProperty("装备id") + private Long maId; + + @ApiModelProperty("订单编号") + private String orderCode; + + @ApiModelProperty("租赁方") + private String leaseName; + + @ApiModelProperty("租赁开始时间") + private String leaseStartTime; + + @ApiModelProperty("租赁结束时间") + private String leaseEndTime; + + @ApiModelProperty("租赁费用") + private String leasePrice; +} diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/mapper/DevInfoMapper.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/mapper/DevInfoMapper.java index c7b82c1..91e4746 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/mapper/DevInfoMapper.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/mapper/DevInfoMapper.java @@ -2,6 +2,7 @@ package com.bonus.material.device.mapper; import com.bonus.common.biz.domain.*; +import com.bonus.material.book.domain.BookCarInfoDto; import com.bonus.material.device.domain.DevInfo; import com.bonus.material.device.domain.dto.InfoMotionDto; import com.bonus.material.device.domain.vo.DevInfoVo; @@ -45,7 +46,7 @@ public interface DevInfoMapper { * @param devInfo 设备信息 * @return 设备信息集合 */ - List selectDevInfoList(DevInfo devInfo); + List selectDevInfoList(DevInfoVo devInfo); List selectUserCollectByUserId(Long userId); @@ -108,5 +109,13 @@ public interface DevInfoMapper { List selectCompanyList(BmCompanyInfo obj); int updateUpDown(@Param("maIds") List maIds, @Param("maStatus")String maStatus); + + /** + * 查询预约车详情 + * @param maId + * @param userId + * @return + */ + BookCarInfoDto getBookCar(@Param("maId") Long maId, @Param("userId") Long userId); } diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/service/impl/DevInfoServiceImpl.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/service/impl/DevInfoServiceImpl.java index 01cb954..6b6d7a9 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/service/impl/DevInfoServiceImpl.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/service/impl/DevInfoServiceImpl.java @@ -6,6 +6,7 @@ import com.bonus.common.biz.enums.MaStatusEnum; import com.bonus.common.core.utils.DateUtils; import com.bonus.common.core.utils.bean.BeanUtils; import com.bonus.common.security.utils.SecurityUtils; +import com.bonus.material.book.domain.BookCarInfoDto; import com.bonus.material.device.domain.DevInfo; import com.bonus.material.device.domain.dto.InfoMotionDto; import com.bonus.material.device.domain.vo.DevInfoVo; @@ -62,6 +63,8 @@ public class DevInfoServiceImpl implements DevInfoService { @Override public DevInfoVo selectDevInfoByMaId(Long maId) { DevInfoVo devInfoVo = devInfoMapper.selectDevInfoByMaId(maId); + //判断该装备是否已经被该企业或个人加入预约车,不能重复加入 + Long userId = SecurityUtils.getLoginUser().getUserid(); if (devInfoVo != null) { //更新搜索量 updateHotSearch(maId); @@ -70,6 +73,13 @@ public class DevInfoServiceImpl implements DevInfoService { bmFileInfo.setTaskType(17); List fileList = bmFileInfoMapper.selectBmFileInfoList(bmFileInfo); devInfoVo.setBmFileInfoList(fileList); + //根据设备id及用户id去预约表中查询是否已经加入预约车 + BookCarInfoDto bookCarInfoDto = devInfoMapper.getBookCar(maId, userId); + if (bookCarInfoDto != null) { + devInfoVo.setIsBookCar(0); + } else { + devInfoVo.setIsBookCar(1); + } } return devInfoVo; } @@ -91,7 +101,9 @@ public class DevInfoServiceImpl implements DevInfoService { */ @Override public List selectDevInfoList(DevInfoVo devInfo) { - return devInfoMapper.selectDevInfoList(devInfo); + List voList = devInfoMapper.selectDevInfoList(devInfo); + extractedFile(voList); + return voList; } /** @@ -129,16 +141,27 @@ public class DevInfoServiceImpl implements DevInfoService { @Override public List selectDevInfoHotList(DevInfoVo devInfo) { List hotList = devInfoMapper.selectDevInfoHotList(devInfo); + extractedFile(hotList); + return hotList; + } + + /** + * 提取主图文件地址,方便用于列表页面回显 + * @param hotList + */ + private void extractedFile(List hotList) { if (CollectionUtil.isNotEmpty(hotList)) { for (DevInfoVo devInfoVo : hotList) { BmFileInfo bmFileInfo = new BmFileInfo(); bmFileInfo.setModelId(devInfoVo.getMaId()); bmFileInfo.setTaskType(17); - List fileList = bmFileInfoMapper.selectBmFileInfoList(bmFileInfo); - devInfoVo.setBmFileInfoList(fileList); + bmFileInfo.setFileType(0L); + List mainFileInfoList = bmFileInfoMapper.selectBmFileInfoList(bmFileInfo); + if (!CollectionUtils.isEmpty(mainFileInfoList)) { + devInfoVo.setPicUrl(mainFileInfoList.get(0).getUrl()); + } } } - return hotList; } private void fillInMaStatusStr(List list) { diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/home/controller/MaTypeInfoController.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/home/controller/MaTypeInfoController.java index 66e1340..2d3564e 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/home/controller/MaTypeInfoController.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/home/controller/MaTypeInfoController.java @@ -1,6 +1,7 @@ package com.bonus.material.home.controller; import cn.hutool.core.lang.tree.Tree; +import com.bonus.common.biz.domain.TypeInfo; import com.bonus.common.core.web.controller.BaseController; import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.core.web.page.TableDataInfo; @@ -38,6 +39,23 @@ public class MaTypeInfoController extends BaseController { return getDataTable(list); } + /** + * 装备共享页面之一级设备类型 + * @param typeInfo + * @return + */ + @ApiOperation("装备共享页面之一级设备类型") + @GetMapping("/getTypeList") + public AjaxResult getTypeList(TypeInfo typeInfo) { + List list = maTypeInfoSevice.getTypeList(typeInfo); + return AjaxResult.success(list); + } + + /** + * 首页搜索热搜装备 + * @param devInfoVo + * @return + */ @ApiOperation("首页搜索热搜装备") @GetMapping("/getHotSearch") public AjaxResult getHotSearch(DevInfoVo devInfoVo) { diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/home/mapper/MaTypeInfoMapper.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/home/mapper/MaTypeInfoMapper.java index e00effb..8e0fba8 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/home/mapper/MaTypeInfoMapper.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/home/mapper/MaTypeInfoMapper.java @@ -24,4 +24,11 @@ public interface MaTypeInfoMapper { * @return */ List getHotSearch(DevInfoVo devInfoVo); + + /** + * 查询设备类型 + * @param typeInfo + * @return + */ + List getTypeList(TypeInfo typeInfo); } diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/home/service/MaTypeInfoSevice.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/home/service/MaTypeInfoSevice.java index 315831b..51a7b2a 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/home/service/MaTypeInfoSevice.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/home/service/MaTypeInfoSevice.java @@ -1,6 +1,7 @@ package com.bonus.material.home.service; import cn.hutool.core.lang.tree.Tree; +import com.bonus.common.biz.domain.TypeInfo; import com.bonus.material.device.domain.vo.DevInfoVo; import java.util.List; @@ -22,4 +23,11 @@ public interface MaTypeInfoSevice { * @return */ List getHotSearch(DevInfoVo devInfoVo); + + /** + * 装备共享页面之一级设备类型 + * @return + */ + List getTypeList(TypeInfo typeInfo); + } diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/home/service/impl/MaTypeInfoServiceImpl.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/home/service/impl/MaTypeInfoServiceImpl.java index 7e01394..ac4c480 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/home/service/impl/MaTypeInfoServiceImpl.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/home/service/impl/MaTypeInfoServiceImpl.java @@ -42,6 +42,15 @@ public class MaTypeInfoServiceImpl implements MaTypeInfoSevice { return maTypeInfoMapper.getHotSearch(devInfoVo); } + /** + * 装备共享页面之一级设备类型 + * @return + */ + @Override + public List getTypeList(TypeInfo typeInfo) { + return maTypeInfoMapper.getTypeList(typeInfo); + } + /** * 获取节点转换函数方法抽取 * @return diff --git a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/bookcar/BookCarMapper.xml b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/bookcar/BookCarMapper.xml index d4e7423..9177ff4 100644 --- a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/bookcar/BookCarMapper.xml +++ b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/bookcar/BookCarMapper.xml @@ -5,8 +5,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - insert into book_car_detail(ma_id, order_status, order_company, creater, create_time) - values(#{maId}, 0, #{orderCompany}, #{creater}, now()) + insert into book_car_detail(ma_id, order_status, order_company, order_user, creater, create_time) + values(#{maId}, 0, #{orderCompany}, #{orderUser}, #{creater}, now()) + + 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 f03ccc5..fc08fe5 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 @@ -59,5 +59,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ORDER BY h.search_num DESC + + \ No newline at end of file