增加根据门店查询车型的接口实现
This commit is contained in:
@ -1,4 +1,104 @@
|
||||
|
||||
|
||||
/** 门店表 */
|
||||
CREATE TABLE `zc_company_store` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(100) NOT NULL DEFAULT '' COMMENT '门店名称',
|
||||
`contact_person` varchar(255) NOT NULL DEFAULT '' COMMENT '联系人',
|
||||
`phone` char(11) NOT NULL DEFAULT '' COMMENT '手机号码',
|
||||
`contact_person2` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '联系人2',
|
||||
`phone2` char(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '手机号码2',
|
||||
`province_id` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '省份',
|
||||
`province_name` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '省份',
|
||||
`city_id` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '城市',
|
||||
`city_name` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '城市',
|
||||
`area_id` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '区县',
|
||||
`area_name` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '城市',
|
||||
`address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '省市区',
|
||||
`detailed_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '详细地址',
|
||||
`image` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '门店logo',
|
||||
`latitude` double(10,6) DEFAULT NULL COMMENT '纬度',
|
||||
`longitude` double(10,6) DEFAULT NULL COMMENT '经度',
|
||||
`contract_date` varchar(255) DEFAULT '' COMMENT '合同签订日期',
|
||||
`day_time` varchar(100) DEFAULT '' COMMENT '每日营业开关时间',
|
||||
`start_time` varchar(100) DEFAULT '' COMMENT '每日营业开始时间',
|
||||
`end_time` varchar(100) DEFAULT '' COMMENT '每日营业结束时间',
|
||||
`is_show` tinyint(1) DEFAULT '1' COMMENT '是否显示',
|
||||
`is_del` tinyint(1) DEFAULT '0' COMMENT '是否删除',
|
||||
`zuche_ratio` decimal(10,2) DEFAULT '0.00' COMMENT '租车订单分成比例',
|
||||
`zudian_ratio` decimal(10,2) DEFAULT '0.00' COMMENT '租电订单分成比例',
|
||||
`daishou_ratio` decimal(10,2) DEFAULT '0.00' COMMENT '以租代售分成比例',
|
||||
`label` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '1' COMMENT '标签 1.可租车 2.可换电 3.二手车,多个用,号隔开,例如1,2,3',
|
||||
`operating_company_id` int DEFAULT '0' COMMENT '运营公司id',
|
||||
`operating_nature` tinyint(1) DEFAULT '1' COMMENT '运营性质 1.直营 0.合作',
|
||||
`introduction` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '简介',
|
||||
`bank_account` char(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '对公账号',
|
||||
`store_number` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '门店编号',
|
||||
`business_license_img` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '营业执照',
|
||||
`audit_status` tinyint(1) DEFAULT '0' COMMENT '审核状态 0.未审核 1.审核通过 2.审核未通过',
|
||||
`audit_time` timestamp NULL DEFAULT NULL COMMENT '审核时间',
|
||||
`auditor_id` int DEFAULT NULL COMMENT '审核人id',
|
||||
`user_id` int DEFAULT NULL COMMENT '所属用户id',
|
||||
`is_return_allowed` tinyint(1) DEFAULT '0' COMMENT '是否允许回收退租天数 0.不允许 1.允许',
|
||||
`meal_deposit_price` decimal(10,2) DEFAULT '0.00' COMMENT '企业套餐保证金',
|
||||
`order_num_limit` int DEFAULT '0' COMMENT '企业充值订单数限制',
|
||||
`create_by` varchar(25) DEFAULT '' COMMENT '创建人',
|
||||
`create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '添加时间',
|
||||
`update_by` varchar(25) DEFAULT '' COMMENT '修改人',
|
||||
`update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`del_flag` varchar(10) DEFAULT '',
|
||||
`status` varchar(10) DEFAULT '',
|
||||
`extend1` varchar(25) DEFAULT '',
|
||||
`extend2` varchar(25) DEFAULT '',
|
||||
`extend3` varchar(25) DEFAULT '',
|
||||
`extend4` varchar(25) DEFAULT '',
|
||||
`extend5` varchar(25) DEFAULT '',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=47 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='门店';
|
||||
|
||||
/** 车辆表 */
|
||||
CREATE TABLE `zc_car` (
|
||||
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||
`vin` varchar(30) DEFAULT '' COMMENT '车架号(VIN)',
|
||||
`license_plate` varchar(30) DEFAULT '' COMMENT '车牌号码',
|
||||
`brand_id` bigint DEFAULT NULL COMMENT '车辆品牌ID',
|
||||
`brand_name` varchar(50) DEFAULT '' COMMENT '车辆品牌名称',
|
||||
`model_id` bigint DEFAULT NULL COMMENT '车辆型号ID',
|
||||
`model_name` varchar(50) DEFAULT '' COMMENT '车辆型号名称',
|
||||
`battery_type` varchar(50) DEFAULT '' COMMENT '支持电池类型(48V标准版/100km,48V超长版/200km等)',
|
||||
`weight` varchar(10) DEFAULT '' COMMENT '整车重量(kg)',
|
||||
`max_speed` varchar(10) DEFAULT '' COMMENT '最高时速(km/h)',
|
||||
`lot_number` varchar(30) DEFAULT '' COMMENT 'LOT识别号',
|
||||
`purchase_date` datetime DEFAULT NULL COMMENT '采购日期',
|
||||
`purchase_price` decimal(10,2) DEFAULT NULL COMMENT '采购价格(元)',
|
||||
`belong_type` char(1) DEFAULT '0' COMMENT '车辆归属(0归属于合,1归属运营商)',
|
||||
`images` varchar(255) DEFAULT '' COMMENT '车辆图片(多个图片用逗号分隔)',
|
||||
`brs_status` varchar(20) DEFAULT '0' COMMENT 'BRS车辆状态(空闲/使用中/维修中/丢失报损等)',
|
||||
`iot_status` varchar(20) DEFAULT NULL COMMENT 'IoT设备状态',
|
||||
`iot_code` varchar(50) DEFAULT NULL COMMENT 'IoT识别码',
|
||||
`operator_id` bigint DEFAULT NULL COMMENT '所属运营商ID',
|
||||
`operator_name` varchar(100) DEFAULT '' COMMENT '所属运营商名称',
|
||||
`store_id` bigint DEFAULT NULL COMMENT '所属门店ID',
|
||||
`store_name` varchar(100) DEFAULT '' COMMENT '所属门店名称',
|
||||
`package_id` bigint DEFAULT NULL COMMENT '应用套餐ID',
|
||||
`package_name` varchar(100) DEFAULT '' COMMENT '应用套餐名称',
|
||||
`status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)',
|
||||
`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(100) DEFAULT '' COMMENT '备注信息',
|
||||
`extend1` varchar(200) DEFAULT NULL COMMENT '扩展字段1',
|
||||
`extend2` varchar(200) DEFAULT NULL COMMENT '扩展字段2',
|
||||
`extend3` varchar(200) DEFAULT NULL COMMENT '扩展字段3',
|
||||
`extend4` varchar(200) DEFAULT NULL COMMENT '扩展字段4',
|
||||
`extend5` varchar(200) DEFAULT NULL COMMENT '扩展字段5',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `idx_vin` (`vin`),
|
||||
KEY `idx_license_plate` (`license_plate`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='电动车信息表';
|
||||
|
||||
/** 车型表 */
|
||||
CREATE TABLE `zc_car_model` (
|
||||
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '车型ID',
|
||||
@ -52,4 +152,20 @@ CREATE TABLE `zc_rent_car_rule` (
|
||||
UNIQUE KEY `idx_rule_code` (`rule_code`),
|
||||
KEY `idx_rental_type` (`rental_type`),
|
||||
KEY `idx_status` (`status`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='租车计费规则表';
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='租车计费规则表';
|
||||
|
||||
/** 车型与租车规则关联表 */
|
||||
CREATE TABLE `zc_car_model_package` (
|
||||
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '规则ID',
|
||||
`car_model_id` bigint NOT NULL,
|
||||
`car_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_model_id` (`car_model_id`,`car_rule_id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='车型与租车规则关联表';
|
||||
@ -4,8 +4,39 @@
|
||||
|
||||
<select id="pageCarModelSimpleDTO" resultType="com.sczx.car.dto.CarModelSimpleDTO">
|
||||
<!--
|
||||
TODO - 根据门店信息查询车型信息,包含车型对应的套餐部分信息如:租赁类型、是否支持免押、是否支持代扣等
|
||||
根据门店信息查询车型信息,包含车型对应的套餐部分信息如:租赁类型、是否支持免押、是否支持代扣等
|
||||
-->
|
||||
SELECT
|
||||
cm.id AS car_model_id,
|
||||
s.id AS store_id,
|
||||
s.store_number AS store_number,
|
||||
cm.model_name AS model_name,
|
||||
cm.brand_name AS brand_name,
|
||||
GROUP_CONCAT(DISTINCT r.rental_type SEPARATOR ',') AS battery_types,
|
||||
MAX(r.deposit_free) AS deposit_free,
|
||||
MAX(r.auto_deduct) AS auto_deduct
|
||||
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
|
||||
JOIN
|
||||
zc_rent_car_rule r ON mp.car_rule_id = r.id AND r.del_flag = '0' AND r.status = '0'
|
||||
<where>
|
||||
s.id = #{storeCarModelReq.storeId}
|
||||
<if test="storeCarModelReq.depositFree != null and storeCarModelReq.depositFree != ''">
|
||||
AND r.deposit_free = #{storeCarModelReq.depositFree}
|
||||
</if>
|
||||
<if test="storeCarModelReq.autoDeduct != null and storeCarModelReq.autoDeduct != ''">
|
||||
AND r.auto_deduct = #{storeCarModelReq.autoDeduct}
|
||||
</if>
|
||||
AND cm.del_flag = '0' AND cm.status = '0'
|
||||
</where>
|
||||
GROUP BY
|
||||
cm.id, s.id, s.store_number, cm.model_name, cm.brand_name
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
Reference in New Issue
Block a user