增加租车详情页面的相关接口

This commit is contained in:
2025-07-13 20:17:51 +08:00
parent 5a83189579
commit f4b46b4fcd
21 changed files with 733 additions and 8 deletions

View File

@ -168,4 +168,52 @@ CREATE TABLE `zc_car_model_package` (
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`),
UNIQUE KEY `car_model_id` (`car_model_id`,`car_rule_id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='车型与租车规则关联表';
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='车型与租车规则关联表';
/**租电套餐计费规则*/
CREATE TABLE `zc_rent_battey_rule` (
`id` int NOT NULL AUTO_INCREMENT,
`title` varchar(50) NOT NULL COMMENT '商品标题',
`detail` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '商品描述',
`icon` varchar(50) DEFAULT NULL COMMENT '图标',
`voltage` varchar(5) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '电压',
`ah` varchar(5) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '电容',
`max_mileage` smallint DEFAULT NULL COMMENT '最大里程',
`min_mileage` smallint DEFAULT NULL COMMENT '最小里程 默认0',
`deposit_price` decimal(6,2) DEFAULT NULL COMMENT '押金 ',
`rent_price` decimal(7,2) DEFAULT NULL COMMENT '租金',
`duration_type` smallint DEFAULT NULL COMMENT '计时方式',
`duration` smallint DEFAULT NULL COMMENT '租赁时长',
`insurance_price` decimal(6,2) DEFAULT NULL COMMENT '盗抢险',
`compulsory_insurance` tinyint(1) DEFAULT NULL COMMENT '是否强制投保 默认0 false',
`insurance_duration` smallint DEFAULT NULL COMMENT '保险有效时长 默认12个月',
`change_num` smallint DEFAULT NULL COMMENT '换电次数',
`change_type` smallint DEFAULT NULL COMMENT '1、有限次数 2无限次数',
`is_delete` tinyint(1) DEFAULT NULL,
`city_id` int DEFAULT NULL,
`operator_id` int DEFAULT NULL,
`province_id` int DEFAULT NULL,
`category_id` int DEFAULT NULL COMMENT '电池类型',
`meal_type` smallint NOT NULL DEFAULT '1' COMMENT '套餐类型 换电/租电',
`meal_sort` int DEFAULT '999' COMMENT '套餐排序规则',
`is_join_invite` tinyint(1) DEFAULT '1',
`meal_channel` tinyint DEFAULT '0' COMMENT '套餐渠道租车默认 id号待定',
`buy_limit_type` tinyint DEFAULT '0' COMMENT '购买限制类型',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='租电套餐计费规则';
/**租车规则租电规则关联表*/
CREATE TABLE `zc_rent_car_rule_battery` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '规则ID',
`car_rule_id` bigint NOT NULL,
`battery_rule_id` bigint NOT NULL,
`sort_order` int DEFAULT NULL,
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志0代表存在 2代表删除',
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`),
UNIQUE KEY `car_rule_id` (`car_rule_id`,`battery_rule_id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='租车规则租电规则关联表';

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.sczx.car.mapper.RentBatteyRuleMapper">
<select id="queryRentBatteyRuleByCarRuleId" resultType="com.sczx.car.dto.RentBatteyRuleDTO">
SELECT
b.*
FROM
zc_rent_car_rule_battery rcb
JOIN
zc_rent_battey_rule b ON rcb.battery_rule_id = b.id
WHERE
rcb.car_rule_id = #{carRuleId}
AND b.is_delete = 0
</select>
</mapper>

View File

@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.sczx.car.mapper.RentCarRuleMapper">
<select id="queryRentCarRulebyCarModelId" resultType="com.sczx.car.dto.RentCarRuleDTO">
SELECT
r.id AS id,
r.rule_name AS rule_name,
r.rule_code AS rule_code,
r.rental_type AS rental_type,
r.rental_days AS rental_days,
r.rental_price AS rental_price,
r.deposit_price AS deposit_price,
r.overdue_fee AS overdue_fee,
r.overdue_type AS overdue_type,
r.deposit_free AS deposit_free,
r.auto_deduct AS auto_deduct,
r.operating_company_id AS operating_company_id,
r.status AS status,
r.is_default AS is_default,
r.del_flag AS del_flag,
r.remark AS remark,
r.extend1 AS extend1,
r.extend2 AS extend2,
r.extend3 AS extend3,
r.extend4 AS extend4,
r.extend5 AS extend5
FROM (
SELECT DISTINCT mp.car_rule_id
FROM zc_car_model cm
JOIN zc_car c ON cm.id = c.model_id
JOIN zc_company_store s ON c.store_id = s.id
JOIN zc_car_model_package mp ON cm.id = mp.car_model_id
WHERE
s.id = #{storeId}
AND cm.id = #{carModelId}
AND cm.del_flag = '0'
AND cm.status = '0'
) tmp
JOIN zc_rent_car_rule r ON tmp.car_rule_id = r.id
WHERE r.del_flag = '0' AND r.status = '0'
</select>
</mapper>