service = new VehVehicleSkuService(); } /** * 列表页数据格式化 * * @param array $data * @return array */ protected function indexFormat($data) { if (isset($data['created_at'])) $data['created_at'] = date('Y-m-d H:i:s', $data['created_at']); if (isset($data['updated_at'])) $data['updated_at'] = date('Y-m-d H:i:s', $data['updated_at']); return $data; } protected function showFormat($data) { if (isset($data['created_at'])) $data['created_at'] = date('Y-m-d H:i:s', $data['created_at']); if (isset($data['updated_at'])) $data['updated_at'] = date('Y-m-d H:i:s', $data['updated_at']); return $data; } public function store(Request $request) { try { $data = $this->validate($this->service->getValidator(), $request->post(), 'store'); $res = $this->service->serviceStore($request, $data); return $this->success($res, '创建成功'); } catch (\PDOException $e) { $errorCode = $e->getCode(); $errorMessage = $e->getMessage(); if ($errorCode == '23000') { if (strpos($errorMessage, "Duplicate entry") !== false && strpos($errorMessage, "uk_fingerprint") !== false) { return $this->error("该车辆指纹已存在,请勿重复提交"); } // 其他类型的完整性约束错误 throw new BusinessException("数据完整性错误", 0, $e); } // 重新抛出其他类型的异常 throw $e; } catch (\Throwable $e) { return $this->error($e->getMessage()); } } public function update(Request $request) { try { $data = $this->validate($this->service->getValidator(), $request->post(), 'update'); $res = $this->service->serviceUpdate($request, $data); return $this->success([], '更新成功'); } catch (\PDOException $e) { $errorCode = $e->getCode(); $errorMessage = $e->getMessage(); if ($errorCode == '23000') { if (strpos($errorMessage, "Duplicate entry") !== false && strpos($errorMessage, "uk_fingerprint") !== false) { return $this->error("该车辆指纹已存在,请勿重复提交"); } // 其他类型的完整性约束错误 throw new BusinessException("数据完整性错误", 0, $e); } // 重新抛出其他类型的异常 throw $e; } catch (\Throwable $e) { return $this->error($e->getMessage()); } } public function preset(Request $request){ try { $series_id = $request->input('series_id'); $series_code = BrandSeries::where('id', $series_id)->value('series_code'); $data = [ 'series_code' => $series_code, ]; $result = $this->service->getList($data); return $this->success($result, '获取车型列表'); } catch (\Throwable $e) { return $this->error($e->getMessage()); } } public function fields_desc(Request $request) { $data = [ 'sku_code' , // 'SKU编码,系统生成', 'fingerprint' , // '规格指纹(sha256)去重', 'brand_code' , // '品牌代码,如 BYD、HYUNDAI、KIA', 'brand_name' , // '品牌名称展示,如 比亚迪、现代、起亚', 'series_code' , // '车系代码,如 ELANTRA、SONGPLUS', 'series_name' , // '车系名称展示', 'model_code' , // '车型/配置代码(工厂/内部编码)', 'model_name' , // '车型/配置名称(可读,如 伊兰特 1.5L、海狮07)', 'model_year' , // '年款(YYYY)', 'trim_code' , // '版型代码(TRIM)', 'trim_level_code' , // '配置等级代码(TRIM_LEVEL)', 'edition_code' , // '特别版代码(EDITION)', 'trim' , // '版型/细分配置(如 TOP旗舰版、荣耀版)', 'trim_level' , // '配置等级(豪华型/旗舰型等,便于筛选)', 'edition_name' , // '特别版/纪念版(如 荣耀版、致敬版等)', 'body_type_code' , // '车身类型:SEDAN/SUV/HB/MPV/Pickup', 'drive_type_code' , // '驱动:FWD/RWD/AWD/4WD', 'motor_layout_code' , // '电驱/电机布置(MOTOR_LAYOUT):FWD/RWD/AWD/DM-i/DM-p 等', 'fuel_type_code' , // '能源:GAS/HEV/PHEV/EV/EREV', 'engine_disp_l' , // '排量(L),如 1.5;纯电为空', 'engine_turbo' , // '0' COMMENT '是否涡轮(0/1)', 'engine_power_kw' , // '最大功率(kW)', 'battery_kwh' , // '电池容量(kWh)', 'transmission_code' , // '变速箱:MT/AT/CVT/DCT/1SPEED', 'gears' , // '挡位数(EV多为1)', 'range_km' , // '续航里程(km)', 'range_std_code' , // '续航标准:CLTC/WLTP/EPA/NEDC', 'doors' , // '门数', 'seats' , // '座位数', 'weight_kg' , // '整备质量(kg)', 'dimensions_mm' , // '尺寸(mm):{length,width,height,wheelbase}', 'color_exterior_code' , // '外观色代码', 'color_exterior_text' , // '外观色名称', 'color_interior_code' , // '内饰色代码', 'color_interior_text' , // '内饰色名称', 'options_official' , // '官方选装(结构化 JSON)', 'features' , // '功能/安全/智能配置(结构化 JSON)', 'emission_std_code' , // '排放标准:CHN6/EURO6/EPA', 'origin_country' , // '原产国 ISO-3166-1 alpha-2', 'currency' , // 'CNY' COMMENT '币种 ISO-4217', 'msrp' , // '建议零售价/参考价', 'is_active' , // '1' COMMENT '启用(1)/禁用(0)', 'corp_id' , // '0' COMMENT '租户/公司(全局库可写0)', 'remark' , // '备注', 'created_by' , // '0', 'updated_by' , // '0', ]; $data = [ 'fingerprint' , // '规格指纹(sha256)去重', 'brand_name' , // '品牌名称展示,如 比亚迪、现代、起亚', 'series_name' , // '车系名称展示', 'model_name' , // '车型/配置名称(可读,如 伊兰特 1.5L、海狮07)', 'model_year' , // '年款(YYYY)', 'trim' , // '版型/细分配置(如 TOP旗舰版、荣耀版)', 'trim_level' , // '配置等级(豪华型/旗舰型等,便于筛选)', 'edition_name' , // '特别版/纪念版(如 荣耀版、致敬版等)', 'engine_disp_l' , // '排量(L),如 1.5;纯电为空', 'engine_turbo' , // '0' COMMENT '是否涡轮(0/1)', 'engine_power_kw' , // '最大功率(kW)', 'battery_kwh' , // '电池容量(kWh)', 'gears' , // '挡位数(EV多为1)', 'range_km' , // '续航里程(km)', 'doors' , // '门数', 'seats' , // '座位数', 'weight_kg' , // '整备质量(kg)', 'dimensions_mm' , // '尺寸(mm):{length,width,height,wheelbase}', 'color_exterior_text' , // '外观色名称', 'color_interior_text' , // '内饰色名称', 'options_official' , // '官方选装(结构化 JSON)', 'features' , // '功能/安全/智能配置(结构化 JSON)', 'origin_country' , // '原产国 ISO-3166-1 alpha-2', 'currency' , // 'CNY' COMMENT '币种 ISO-4217', 'msrp' , // '建议零售价/参考价', 'is_active' , // '1' COMMENT '启用(1)/禁用(0)', 'corp_id' , // '0' COMMENT '租户/公司(全局库可写0)', 'remark' , // '备注', 'created_by' , // '0', 'updated_by' , // '0', 'body_type', // '车身类型' 'drive_type', // '驱动:FWD/RWD/AWD/4WD', 'motor_layout', // '电机布置(MOTOR_LAYOUT):FWD/RWD/AWD/DM-i/DM-p 等' 'fuel_type', // '能源:GAS/HEV/PHEV/EV/EREV' 'transmission', // '变速箱:MT/AT/CVT/DCT/1SPEED' 'range_std', // '续航标准:CLTC/WLTP/EPA/NEDC' 'emission_std', // '排放标准:CHN6/EURO6/EPA' 'sku_code' , // 'SKU编码,系统生成', 'brand_code' , // '品牌代码,如 BYD、HYUNDAI、KIA', 'series_code' , // '车系代码,如 ELANTRA、SONGPLUS', 'model_code' , // '车型/配置代码(工厂/内部编码)', 'trim_code' , // '版型代码(TRIM)', 'trim_level_code' , // '配置等级代码(TRIM_LEVEL)', 'edition_code' , // '特别版代码(EDITION)', 'color_exterior_code' , // '外观色代码', 'color_interior_code' , // '内饰色代码', 'body_type_code' , // '车身类型:SEDAN/SUV/HB/MPV/Pickup', 'drive_type_code' , // '驱动:FWD/RWD/AWD/4WD', 'motor_layout_code' , // '电驱/电机布置(MOTOR_LAYOUT):FWD/RWD/AWD/DM-i/DM-p 等', 'fuel_type_code' , // '能源:GAS/HEV/PHEV/EV/EREV', 'transmission_code' , // '变速箱:MT/AT/CVT/DCT/1SPEED', 'range_std_code' , // '续航标准:CLTC/WLTP/EPA/NEDC', 'emission_std_code' , // '排放标准:CHN6/EURO6/EPA', ]; } }