From f0812d0cbac2e36e974f2a9a5224047a8e7ea263 Mon Sep 17 00:00:00 2001 From: 19173159168 Date: Sat, 12 Jul 2025 23:26:47 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BD=A6=E5=9E=8B=E4=B8=8E=E5=A5=97=E9=A4=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ZcCarModelController.java | 23 +--- .../ruoyi/operation/domain/ZcCarModel.java | 13 ++ .../ruoyi/operation/domain/ZcRentCarRule.java | 24 ++++ .../mapper/ZcCarModelPackageMapper.java | 1 + .../service/IZcCarModelPackageService.java | 1 + .../operation/service/IZcCarModelService.java | 4 +- .../service/IZcRentCarRuleService.java | 2 + .../impl/ZcCarModelPackageServiceImpl.java | 7 + .../service/impl/ZcCarModelServiceImpl.java | 51 ++++++- .../impl/ZcRentCarRuleServiceImpl.java | 32 ++++- .../mapper/operation/ZcCarModelMapper.xml | 22 +++- .../operation/ZcCarModelPackageMapper.xml | 3 + .../templates/operation/carModel/edit.html | 124 ++++++++++++++++-- 13 files changed, 271 insertions(+), 36 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/operation/controller/ZcCarModelController.java b/ruoyi-admin/src/main/java/com/ruoyi/operation/controller/ZcCarModelController.java index 9caa835..c6f7a0a 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/operation/controller/ZcCarModelController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/operation/controller/ZcCarModelController.java @@ -97,21 +97,7 @@ public class ZcCarModelController extends BaseController public AjaxResult addSave(@RequestParam("rentCarRuleIds") List rentCarRuleIds, ZcCarModel zcCarModel) { zcCarModel.setCreateBy(getLoginName()); - int flag = zcCarModelService.insertZcCarModel(zcCarModel); - - // 保存关联表 ZcRentCarRuleBattery 数据 - List carModelPackageList = new ArrayList<>(); - for (Long rentCarRuleId : rentCarRuleIds) { - ZcCarModelPackage zcCarModelPackage = new ZcCarModelPackage(); - zcCarModelPackage.setCarModelId(zcCarModel.getId()); - zcCarModelPackage.setCarRuleId(rentCarRuleId); - zcCarModelPackage.setCreateTime(new Date()); - carModelPackageList.add(zcCarModelPackage); - } - if (!carModelPackageList.isEmpty()) { - zcCarModelPackageService.batchInsert(carModelPackageList); - } - return toAjax(flag); + return toAjax(zcCarModelService.insertZcCarModel(rentCarRuleIds, zcCarModel)); } /** @@ -121,6 +107,9 @@ public class ZcCarModelController extends BaseController @GetMapping("/edit/{id}") public String edit(@PathVariable("id") Long id, ModelMap mmap) { + + List rentCarRuleList = zcRentCarRuleService.selectZcRentCarRuleListByCarModelId(id); + mmap.put("rentCarRuleList", rentCarRuleList); ZcCarModel zcCarModel = zcCarModelService.selectZcCarModelById(id); mmap.put("zcCarModel", zcCarModel); return prefix + "/edit"; @@ -133,10 +122,10 @@ public class ZcCarModelController extends BaseController @Log(title = "车型管理", businessType = BusinessType.UPDATE) @PostMapping("/edit") @ResponseBody - public AjaxResult editSave(ZcCarModel zcCarModel) + public AjaxResult editSave(@RequestParam("rentCarRuleIds") List rentCarRuleIds, ZcCarModel zcCarModel) { zcCarModel.setUpdateBy(getLoginName()); - return toAjax(zcCarModelService.updateZcCarModel(zcCarModel)); + return toAjax(zcCarModelService.updateZcCarModel(rentCarRuleIds,zcCarModel)); } /** diff --git a/ruoyi-admin/src/main/java/com/ruoyi/operation/domain/ZcCarModel.java b/ruoyi-admin/src/main/java/com/ruoyi/operation/domain/ZcCarModel.java index 3479411..419acdc 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/operation/domain/ZcCarModel.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/operation/domain/ZcCarModel.java @@ -1,6 +1,8 @@ package com.ruoyi.operation.domain; import java.math.BigDecimal; +import java.util.List; + import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import com.ruoyi.common.annotation.Excel; @@ -55,6 +57,9 @@ public class ZcCarModel extends BaseEntity /** 扩展字段3 */ private String extend3; + private List rentCarRuleList; + + public void setId(Long id) { this.id = id; @@ -164,6 +169,14 @@ public class ZcCarModel extends BaseEntity return extend3; } + public List getRentCarRuleList() { + return rentCarRuleList; + } + + public void setRentCarRuleList(List rentCarRuleList) { + this.rentCarRuleList = rentCarRuleList; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/operation/domain/ZcRentCarRule.java b/ruoyi-admin/src/main/java/com/ruoyi/operation/domain/ZcRentCarRule.java index 43e267b..a833370 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/operation/domain/ZcRentCarRule.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/operation/domain/ZcRentCarRule.java @@ -89,6 +89,11 @@ public class ZcRentCarRule extends BaseEntity /** 扩展字段5 */ private String extend5; + @Transient + private Long carRuleId; + /** 车型是否关联此套餐标识 默认不存在 */ + @Transient + private boolean flag = false; @Transient private String operatingCompanyName; @@ -281,10 +286,29 @@ public class ZcRentCarRule extends BaseEntity this.operatingCompanyName = operatingCompanyName; } + public Long getCarRuleId() { + return carRuleId; + } + + public void setCarRuleId(Long carRuleId) { + this.id = carRuleId; + this.carRuleId = carRuleId; + } + public boolean isFlag() + { + return flag; + } + + public void setFlag(boolean flag) + { + this.flag = flag; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) .append("id", getId()) + .append("carRuleId", getCarRuleId()) .append("ruleName", getRuleName()) .append("ruleCode", getRuleCode()) .append("rentalType", getRentalType()) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/operation/mapper/ZcCarModelPackageMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/operation/mapper/ZcCarModelPackageMapper.java index 6df5fcc..ea3d21e 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/operation/mapper/ZcCarModelPackageMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/operation/mapper/ZcCarModelPackageMapper.java @@ -54,6 +54,7 @@ public interface ZcCarModelPackageMapper */ public int deleteZcCarModelPackageById(Long id); + public int deleteZcCarModelPackageByModeId(Long modeId); /** * 批量删除车型与租车规则关联 * diff --git a/ruoyi-admin/src/main/java/com/ruoyi/operation/service/IZcCarModelPackageService.java b/ruoyi-admin/src/main/java/com/ruoyi/operation/service/IZcCarModelPackageService.java index 510970b..f4bf5ec 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/operation/service/IZcCarModelPackageService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/operation/service/IZcCarModelPackageService.java @@ -52,6 +52,7 @@ public interface IZcCarModelPackageService */ public int deleteZcCarModelPackageByIds(String ids); + public int deleteZcCarModelPackageByModeId(Long modeId); /** * 删除车型与租车规则关联信息 * diff --git a/ruoyi-admin/src/main/java/com/ruoyi/operation/service/IZcCarModelService.java b/ruoyi-admin/src/main/java/com/ruoyi/operation/service/IZcCarModelService.java index 9461fa5..e26dc33 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/operation/service/IZcCarModelService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/operation/service/IZcCarModelService.java @@ -33,7 +33,7 @@ public interface IZcCarModelService * @param zcCarModel 车型管理 * @return 结果 */ - public int insertZcCarModel(ZcCarModel zcCarModel); + public int insertZcCarModel(List rentCarRuleIds, ZcCarModel zcCarModel); /** * 修改车型管理 @@ -43,6 +43,8 @@ public interface IZcCarModelService */ public int updateZcCarModel(ZcCarModel zcCarModel); + public int updateZcCarModel(List rentCarRuleIds, ZcCarModel zcCarModel); + /** * 批量删除车型管理 * diff --git a/ruoyi-admin/src/main/java/com/ruoyi/operation/service/IZcRentCarRuleService.java b/ruoyi-admin/src/main/java/com/ruoyi/operation/service/IZcRentCarRuleService.java index c093a32..5dafcf4 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/operation/service/IZcRentCarRuleService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/operation/service/IZcRentCarRuleService.java @@ -28,6 +28,8 @@ public interface IZcRentCarRuleService */ public List selectZcRentCarRuleList(ZcRentCarRule zcRentCarRule); + public List selectZcRentCarRuleListByCarModelId(Long carModelId); + /** * 新增租车计费规则 * diff --git a/ruoyi-admin/src/main/java/com/ruoyi/operation/service/impl/ZcCarModelPackageServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/operation/service/impl/ZcCarModelPackageServiceImpl.java index 7a825e3..d497c12 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/operation/service/impl/ZcCarModelPackageServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/operation/service/impl/ZcCarModelPackageServiceImpl.java @@ -88,6 +88,13 @@ public class ZcCarModelPackageServiceImpl implements IZcCarModelPackageService return zcCarModelPackageMapper.deleteZcCarModelPackageByIds(Convert.toStrArray(ids)); } + + @Override + public int deleteZcCarModelPackageByModeId(Long modeId) + { + return zcCarModelPackageMapper.deleteZcCarModelPackageByModeId(modeId); + } + /** * 删除车型与租车规则关联信息 * diff --git a/ruoyi-admin/src/main/java/com/ruoyi/operation/service/impl/ZcCarModelServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/operation/service/impl/ZcCarModelServiceImpl.java index 851c092..18a13b6 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/operation/service/impl/ZcCarModelServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/operation/service/impl/ZcCarModelServiceImpl.java @@ -1,13 +1,18 @@ package com.ruoyi.operation.service.impl; +import java.util.ArrayList; +import java.util.Date; import java.util.List; import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.operation.domain.ZcCarModelPackage; +import com.ruoyi.operation.service.IZcCarModelPackageService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.operation.mapper.ZcCarModelMapper; import com.ruoyi.operation.domain.ZcCarModel; import com.ruoyi.operation.service.IZcCarModelService; import com.ruoyi.common.core.text.Convert; +import org.springframework.transaction.annotation.Transactional; /** * 车型管理Service业务层处理 @@ -20,7 +25,8 @@ public class ZcCarModelServiceImpl implements IZcCarModelService { @Autowired private ZcCarModelMapper zcCarModelMapper; - + @Autowired + private IZcCarModelPackageService zcCarModelPackageService; /** * 查询车型管理 * @@ -52,11 +58,27 @@ public class ZcCarModelServiceImpl implements IZcCarModelService * @return 结果 */ @Override - public int insertZcCarModel(ZcCarModel zcCarModel) + @Transactional + public int insertZcCarModel(List rentCarRuleIds, ZcCarModel zcCarModel) { zcCarModel.setCreateTime(DateUtils.getNowDate()); zcCarModel.setUpdateTime(DateUtils.getNowDate()); - return zcCarModelMapper.insertZcCarModel(zcCarModel); + int flag = zcCarModelMapper.insertZcCarModel(zcCarModel); + + // 保存关联表 ZcRentCarRuleBattery 数据 + List carModelPackageList = new ArrayList<>(); + for (Long rentCarRuleId : rentCarRuleIds) { + ZcCarModelPackage zcCarModelPackage = new ZcCarModelPackage(); + zcCarModelPackage.setCarModelId(zcCarModel.getId()); + zcCarModelPackage.setCarRuleId(rentCarRuleId); + zcCarModelPackage.setCreateTime(new Date()); + carModelPackageList.add(zcCarModelPackage); + } + if (!carModelPackageList.isEmpty()) { + zcCarModelPackageService.batchInsert(carModelPackageList); + } + return flag; + } /** @@ -72,6 +94,29 @@ public class ZcCarModelServiceImpl implements IZcCarModelService return zcCarModelMapper.updateZcCarModel(zcCarModel); } + @Override + @Transactional + public int updateZcCarModel(List rentCarRuleIds,ZcCarModel zcCarModel) + { + zcCarModel.setUpdateTime(DateUtils.getNowDate()); + int flag = zcCarModelMapper.updateZcCarModel(zcCarModel); + + zcCarModelPackageService.deleteZcCarModelPackageByModeId(zcCarModel.getId()); + // 保存关联表 ZcRentCarRuleBattery 数据 + List carModelPackageList = new ArrayList<>(); + for (Long rentCarRuleId : rentCarRuleIds) { + ZcCarModelPackage zcCarModelPackage = new ZcCarModelPackage(); + zcCarModelPackage.setCarModelId(zcCarModel.getId()); + zcCarModelPackage.setCarRuleId(rentCarRuleId); + zcCarModelPackage.setCreateTime(new Date()); + carModelPackageList.add(zcCarModelPackage); + } + if (!carModelPackageList.isEmpty()) { + zcCarModelPackageService.batchInsert(carModelPackageList); + } + return flag; + } + /** * 批量删除车型管理 * diff --git a/ruoyi-admin/src/main/java/com/ruoyi/operation/service/impl/ZcRentCarRuleServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/operation/service/impl/ZcRentCarRuleServiceImpl.java index 279cc88..93ad882 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/operation/service/impl/ZcRentCarRuleServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/operation/service/impl/ZcRentCarRuleServiceImpl.java @@ -1,7 +1,13 @@ package com.ruoyi.operation.service.impl; import java.util.List; + +import com.ruoyi.common.core.domain.entity.SysRole; import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.operation.domain.ZcCarModelPackage; +import com.ruoyi.operation.domain.ZcRentCarRuleBattery; +import com.ruoyi.operation.service.IZcCarModelPackageService; +import com.ruoyi.operation.service.IZcRentCarRuleBatteryService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.operation.mapper.ZcRentCarRuleMapper; @@ -20,7 +26,8 @@ public class ZcRentCarRuleServiceImpl implements IZcRentCarRuleService { @Autowired private ZcRentCarRuleMapper zcRentCarRuleMapper; - + @Autowired + private IZcCarModelPackageService zcCarModelPackageService; /** * 查询租车计费规则 * @@ -45,6 +52,29 @@ public class ZcRentCarRuleServiceImpl implements IZcRentCarRuleService return zcRentCarRuleMapper.selectZcRentCarRuleList(zcRentCarRule); } + @Override + public List selectZcRentCarRuleListByCarModelId(Long carModelId) + { + ZcRentCarRule zcRentCarRule = new ZcRentCarRule(); + zcRentCarRule.setStatus("0"); + List rentCarRuleList = zcRentCarRuleMapper.selectZcRentCarRuleList(zcRentCarRule); + ZcCarModelPackage zcCarModelPackage = new ZcCarModelPackage(); + zcCarModelPackage.setCarModelId(carModelId); + List carModeBatteryList = zcCarModelPackageService.selectZcCarModelPackageList(zcCarModelPackage); + for (ZcRentCarRule rcr : rentCarRuleList) + { + for (ZcCarModelPackage modeRcr : carModeBatteryList) + { + if (rcr.getId().longValue() == modeRcr.getCarRuleId().longValue()) + { + rcr.setFlag(true); + break; + } + } + } + return rentCarRuleList; + } + /** * 新增租车计费规则 * diff --git a/ruoyi-admin/src/main/resources/mapper/operation/ZcCarModelMapper.xml b/ruoyi-admin/src/main/resources/mapper/operation/ZcCarModelMapper.xml index 214a985..a497fc4 100644 --- a/ruoyi-admin/src/main/resources/mapper/operation/ZcCarModelMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/operation/ZcCarModelMapper.xml @@ -22,12 +22,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + + + + + + + select id, model_name, brand_id, brand_name, battery_type, max_speed, weight, status, del_flag, create_by, create_time, update_by, update_time, remark, extend1, extend2, extend3 from zc_car_model - + + select u.*, + r.id as carRuleId, r.rule_name, r.rule_code, r.rental_type + from zc_car_model u + left join zc_car_model_package p on u.id = p.car_model_id + left join zc_rent_car_rule r on r.id = p.car_rule_id + diff --git a/ruoyi-admin/src/main/resources/mapper/operation/ZcCarModelPackageMapper.xml b/ruoyi-admin/src/main/resources/mapper/operation/ZcCarModelPackageMapper.xml index 4ff71dc..0a5f63c 100644 --- a/ruoyi-admin/src/main/resources/mapper/operation/ZcCarModelPackageMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/operation/ZcCarModelPackageMapper.xml @@ -90,5 +90,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{id} + + delete from zc_car_model_package where car_model_id = #{modeId} + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/templates/operation/carModel/edit.html b/ruoyi-admin/src/main/resources/templates/operation/carModel/edit.html index 6ce9a52..815fb4f 100644 --- a/ruoyi-admin/src/main/resources/templates/operation/carModel/edit.html +++ b/ruoyi-admin/src/main/resources/templates/operation/carModel/edit.html @@ -7,24 +7,26 @@
- +
- -
+ +
- -
+ +
- -
- -
- + +

关联套餐

+
+
+
+
+
@@ -32,11 +34,111 @@