修改根据租车套餐id获取租电套餐的接口,增加电池列表

This commit is contained in:
2025-07-28 20:36:27 +08:00
parent f9eeba6e5e
commit bc7ec98b13
6 changed files with 46 additions and 11 deletions

View File

@ -3,7 +3,7 @@ package com.sczx.car.controller;
import com.sczx.car.common.Result;
import com.sczx.car.dto.CarRentalDetailDTO;
import com.sczx.car.dto.RentBatteyRuleDTO;
import com.sczx.car.dto.RentBatteyRuleRsp;
import com.sczx.car.service.CarRentalService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -13,8 +13,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* <p>
* 车型表 前端控制器
@ -40,7 +38,7 @@ public class CarRentalController {
@ApiOperation(value = "根据租车套餐id查询租店套餐列表")
@GetMapping("/listRentBatteyRuleByCarRuleId")
public Result<List<RentBatteyRuleDTO>> listRentBatteyRuleByCarRuleId(@RequestParam(name = "carRuleId") Integer carRuleId){
public Result<RentBatteyRuleRsp> listRentBatteyRuleByCarRuleId(@RequestParam(name = "carRuleId") Integer carRuleId){
return Result.ok(carRentalService.queryRentBatteyRuleByCarRuleId(carRuleId));
}
}

View File

@ -72,6 +72,9 @@ public class RentBatteyRuleDTO {
@ApiModelProperty("电池类型")
private Integer categoryId;
@ApiModelProperty("电池类型名称")
private String categoryName;
@ApiModelProperty("套餐类型 换电/租电")
private Integer mealType;

View File

@ -0,0 +1,20 @@
package com.sczx.car.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@ApiModel(value = "租电套餐计费规则返回对象")
@Data
public class RentBatteyRuleRsp {
@ApiModelProperty("电池名称列表")
private List<String> categoryNameList;
@ApiModelProperty("租电套餐计费规则列表")
private List<RentBatteyRuleDTO> rentBatteyRuleList;
}

View File

@ -1,9 +1,7 @@
package com.sczx.car.service;
import com.sczx.car.dto.CarRentalDetailDTO;
import com.sczx.car.dto.RentBatteyRuleDTO;
import java.util.List;
import com.sczx.car.dto.RentBatteyRuleRsp;
public interface CarRentalService {
@ -22,5 +20,5 @@ public interface CarRentalService {
* @param carRuleId
* @return
*/
List<RentBatteyRuleDTO> queryRentBatteyRuleByCarRuleId(Integer carRuleId);
RentBatteyRuleRsp queryRentBatteyRuleByCarRuleId(Integer carRuleId);
}

View File

@ -3,6 +3,8 @@ package com.sczx.car.service.impl;
import com.sczx.car.convert.CarModelConvert;
import com.sczx.car.dto.CarRentalDetailDTO;
import com.sczx.car.dto.RentBatteyRuleDTO;
import com.sczx.car.dto.RentBatteyRuleRsp;
import com.sczx.car.exception.BizException;
import com.sczx.car.po.CarModelPO;
import com.sczx.car.repository.CarModelRepo;
import com.sczx.car.repository.RentBatteyRuleRepo;
@ -12,8 +14,10 @@ import com.sczx.car.thirdpart.integration.StoreInteg;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.stream.Collectors;
@Slf4j
@Service
@ -47,7 +51,17 @@ public class CarRentalServiceImpl implements CarRentalService {
}
@Override
public List<RentBatteyRuleDTO> queryRentBatteyRuleByCarRuleId(Integer carRuleId) {
return rentBatteyRuleRepo.queryRentBatteyRuleByCarRuleId(carRuleId);
public RentBatteyRuleRsp queryRentBatteyRuleByCarRuleId(Integer carRuleId) {
List<RentBatteyRuleDTO> rentBatteyRuleList = rentBatteyRuleRepo.queryRentBatteyRuleByCarRuleId(carRuleId);
if(CollectionUtils.isEmpty(rentBatteyRuleList)){
throw new BizException("无对应租电套餐,请重新选择租车套餐");
}else {
RentBatteyRuleRsp rentBatteyRuleRsp = new RentBatteyRuleRsp();
rentBatteyRuleRsp.setRentBatteyRuleList(rentBatteyRuleList);
List<String> categoryNameList = rentBatteyRuleList.stream().map(RentBatteyRuleDTO::getCategoryName).distinct().collect(Collectors.toList());
rentBatteyRuleRsp.setCategoryNameList(categoryNameList);
return rentBatteyRuleRsp;
}
}
}

View File

@ -4,11 +4,13 @@
<select id="queryRentBatteyRuleByCarRuleId" resultType="com.sczx.car.dto.RentBatteyRuleDTO">
SELECT
b.*
b.*,c.category_name
FROM
zc_rent_car_rule_battery rcb
JOIN
zc_rent_battey_rule b ON rcb.battery_rule_id = b.id
JOIN
zc_battery_category c ON b.category_id = c.id
WHERE
rcb.car_rule_id = #{carRuleId}
AND b.is_delete = 0