소스 검색

20230318 17:40

wangzhuo 2 년 전
부모
커밋
9631e84842

+ 16 - 1
blade-service-api/blade-client-api/src/main/java/org/springblade/client/entity/VehicleBrand.java

@@ -16,6 +16,7 @@
  */
 package org.springblade.client.entity;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import java.time.LocalDateTime;
 import java.io.Serializable;
@@ -50,6 +51,13 @@ public class VehicleBrand implements Serializable {
 	*/
 		@ApiModelProperty(value = "创建人")
 		private Long createUser;
+
+	/**
+	 * 创建人名称
+	 */
+		@TableField(exist = false)
+		private String createUserName;
+
 	/**
 	* 创建部门
 	*/
@@ -67,6 +75,13 @@ public class VehicleBrand implements Serializable {
 	*/
 		@ApiModelProperty(value = "修改人")
 		private Long updateUser;
+
+	/**
+	 * 修改人名称
+	 */
+		@TableField(exist = false)
+		private String updateUserName;
+
 	/**
 	* 修改时间
 	*/
@@ -103,7 +118,7 @@ public class VehicleBrand implements Serializable {
 	* 更新时间
 	*/
 		@ApiModelProperty(value = "更新时间")
-		private Date renewTime;
+		private String renewTime;
 	/**
 	* 品牌id
 	*/

+ 23 - 8
blade-service-api/blade-client-api/src/main/java/org/springblade/client/entity/VehicleModel.java

@@ -16,6 +16,7 @@
  */
 package org.springblade.client.entity;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import java.io.Serializable;
 import java.util.Date;
@@ -48,6 +49,13 @@ public class VehicleModel implements Serializable {
 	*/
 		@ApiModelProperty(value = "创建人")
 		private Long createUser;
+
+	/**
+	 * 创建人名称
+	 */
+		@TableField(exist = false)
+		private String createUserName;
+
 	/**
 	* 创建部门
 	*/
@@ -63,6 +71,13 @@ public class VehicleModel implements Serializable {
 	*/
 		@ApiModelProperty(value = "修改人")
 		private Long updateUser;
+
+	/**
+	 * 修改人名称
+	 */
+		@TableField(exist = false)
+		private String updateUserName;
+
 	/**
 	* 修改时间
 	*/
@@ -147,12 +162,12 @@ public class VehicleModel implements Serializable {
 	* 更新时间
 	*/
 		@ApiModelProperty(value = "更新时间")
-		private Date renewTime;
+		private String renewTime;
 	/**
 	* 上市时间
 	*/
 		@ApiModelProperty(value = "上市时间")
-		private Date marketTime;
+		private String marketTime;
 	/**
 	* 厂商指导价(万)
 	*/
@@ -302,12 +317,12 @@ public class VehicleModel implements Serializable {
 	* 车门数(个)
 	*/
 		@ApiModelProperty(value = "车门数(个)")
-		private Integer numberOfDoors;
+		private String numberOfDoors;
 	/**
 	* 座位数(个)
 	*/
 		@ApiModelProperty(value = "座位数(个)")
-		private Integer seats;
+		private String seats;
 	/**
 	* 后排车门开启方式
 	*/
@@ -317,12 +332,12 @@ public class VehicleModel implements Serializable {
 	* 油箱容积(L)
 	*/
 		@ApiModelProperty(value = "油箱容积(L)")
-		private Integer tankVolume;
+		private String  tankVolume;
 	/**
 	* 行李厢容积(L)
 	*/
 		@ApiModelProperty(value = "行李厢容积(L)")
-		private Integer luggageCompartmentVolume;
+		private String luggageCompartmentVolume;
 	/**
 	* 货箱尺寸(mm)
 	*/
@@ -367,12 +382,12 @@ public class VehicleModel implements Serializable {
 	* 气缸数(个)
 	*/
 		@ApiModelProperty(value = "气缸数(个)")
-		private Integer numberCylinders;
+		private String numberCylinders;
 	/**
 	* 每缸气门数(个)
 	*/
 		@ApiModelProperty(value = "每缸气门数(个)")
-		private Integer valveTrain;
+		private String valveTrain;
 	/**
 	* 压缩比
 	*/

+ 17 - 1
blade-service-api/blade-client-api/src/main/java/org/springblade/client/entity/VehicleSeries.java

@@ -17,6 +17,8 @@
 package org.springblade.client.entity;
 
 import java.math.BigDecimal;
+
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import java.time.LocalDateTime;
 import java.io.Serializable;
@@ -50,6 +52,13 @@ public class VehicleSeries implements Serializable {
 	*/
 		@ApiModelProperty(value = "创建人")
 		private Long createUser;
+
+	/**
+	 * 创建人名称
+	 */
+		@TableField(exist = false)
+		private String createUserName;
+
 	/**
 	* 创建部门
 	*/
@@ -65,6 +74,13 @@ public class VehicleSeries implements Serializable {
 	*/
 		@ApiModelProperty(value = "修改人")
 		private Long updateUser;
+
+	/**
+	 * 修改人名称
+	 */
+		@TableField(exist = false)
+		private String updateUserName;
+
 	/**
 	* 修改时间
 	*/
@@ -129,7 +145,7 @@ public class VehicleSeries implements Serializable {
 	* 更新时间
 	*/
 		@ApiModelProperty(value = "更新时间")
-		private Date renewTime;
+		private String renewTime;
 	/**
 	* 最低价
 	*/

+ 1 - 1
blade-service-api/blade-client-api/src/main/java/org/springblade/client/excel/VehicleBrandExcel.java

@@ -48,6 +48,6 @@ public class VehicleBrandExcel implements Serializable {
 	 * 更新时间
 	 */
 	@ExcelProperty(value = "更新时间")
-	private Date renewTime;
+	private String renewTime;
 
 }

+ 8 - 8
blade-service-api/blade-client-api/src/main/java/org/springblade/client/excel/VehicleModelExcel.java

@@ -89,12 +89,12 @@ public class VehicleModelExcel implements Serializable {
 	 * 更新时间
 	 */
 	@ExcelProperty(value = "更新时间")
-	private Date renewTime;
+	private String renewTime;
 	/**
 	 * 上市时间
 	 */
 	@ExcelProperty(value = "上市时间")
-	private Date marketTime;
+	private String marketTime;
 	/**
 	 * 厂商指导价(万)
 	 */
@@ -244,12 +244,12 @@ public class VehicleModelExcel implements Serializable {
 	 * 车门数(个)
 	 */
 	@ExcelProperty(value = "车门数(个)")
-	private Integer numberOfDoors;
+	private String numberOfDoors;
 	/**
 	 * 座位数(个)
 	 */
 	@ExcelProperty(value = "座位数(个)")
-	private Integer seats;
+	private String seats;
 	/**
 	 * 后排车门开启方式
 	 */
@@ -259,12 +259,12 @@ public class VehicleModelExcel implements Serializable {
 	 * 油箱容积(L)
 	 */
 	@ExcelProperty(value = "油箱容积(L)")
-	private Integer tankVolume;
+	private String tankVolume;
 	/**
 	 * 行李厢容积(L)
 	 */
 	@ExcelProperty(value = "行李厢容积(L)")
-	private Integer luggageCompartmentVolume;
+	private String luggageCompartmentVolume;
 	/**
 	 * 货箱尺寸(mm)
 	 */
@@ -309,12 +309,12 @@ public class VehicleModelExcel implements Serializable {
 	 * 气缸数(个)
 	 */
 	@ExcelProperty(value = "气缸数(个)")
-	private Integer numberCylinders;
+	private String numberCylinders;
 	/**
 	 * 每缸气门数(个)
 	 */
 	@ExcelProperty(value = "每缸气门数(个)")
-	private Integer valveTrain;
+	private String valveTrain;
 	/**
 	 * 压缩比
 	 */

+ 1 - 1
blade-service-api/blade-client-api/src/main/java/org/springblade/client/excel/VehicleSeriesExcel.java

@@ -77,6 +77,6 @@ public class VehicleSeriesExcel implements Serializable {
 	 * 更新时间
 	 */
 	@ExcelProperty(value = "更新时间")
-	private Date renewTime;
+	private String renewTime;
 
 }

+ 60 - 7
blade-service/blade-client/src/main/java/org/springblade/client/vehicle/controller/VehicleBrandController.java

@@ -19,6 +19,7 @@ package org.springblade.client.vehicle.controller;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -27,19 +28,19 @@ import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import lombok.AllArgsConstructor;
 import javax.validation.Valid;
 
-import org.springblade.client.entity.CorpsDesc;
 import org.springblade.client.entity.VehicleBrand;
 import org.springblade.client.excel.VehicleBrandExcel;
-import org.springblade.client.vo.CorpsDescVO;
+import org.springblade.client.feign.IRedisClient;
 import org.springblade.client.vo.VehicleBrandVO;
 import org.springblade.core.excel.util.ExcelUtil;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
-import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tenant.annotation.TenantIgnore;
 import org.springblade.core.tool.api.R;
-import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.core.tool.utils.Func;
-import org.springblade.core.tool.utils.StringUtil;
+import org.springblade.core.tool.utils.ObjectUtil;
+import org.springblade.system.user.entity.User;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.web.bind.annotation.*;
 import org.springblade.client.vehicle.service.IVehicleBrandService;
 import org.springblade.core.boot.ctrl.BladeController;
@@ -58,10 +59,14 @@ import java.util.List;
 @AllArgsConstructor
 @RequestMapping("/vehicleBrand")
 @Api(value = "车辆品牌", tags = "车辆品牌接口")
+@TenantIgnore//忽略租户
 public class VehicleBrandController extends BladeController {
 
 	private final IVehicleBrandService vehicleBrandService;
 
+	private final IRedisClient redisClient;//redis缓存处理
+	private final RedisTemplate<String, Object> redisTemplate;
+
 	/**
 	 * 详情
 	 */
@@ -80,7 +85,34 @@ public class VehicleBrandController extends BladeController {
 	@ApiOperationSupport(order = 2)
 	@ApiOperation(value = "分页", notes = "传入vehicleBrand")
 	public R<IPage<VehicleBrand>> list(VehicleBrand vehicleBrand, Query query) {
-		IPage<VehicleBrand> pages = vehicleBrandService.page(Condition.getPage(query), Condition.getQueryWrapper(vehicleBrand));
+		LambdaQueryWrapper<VehicleBrand> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+		lambdaQueryWrapper.eq(VehicleBrand::getIsDeleted, 0)
+			.like(ObjectUtils.isNotEmpty(vehicleBrand.getBrand()), VehicleBrand::getBrand, vehicleBrand.getBrand())
+			.eq(ObjectUtils.isNotEmpty(vehicleBrand.getCreateUser()), VehicleBrand::getCreateUser, vehicleBrand.getCreateUser())
+			.eq(ObjectUtils.isNotEmpty(vehicleBrand.getUpdateUser()), VehicleBrand::getUpdateUser, vehicleBrand.getUpdateUser());
+		IPage<VehicleBrand> pages = vehicleBrandService.page(Condition.getPage(query), lambdaQueryWrapper);
+
+		redisClient.basicData("all");
+		List<User> userList = castToList(redisTemplate.opsForValue().get("user"), User.class);
+
+		if (CollectionUtils.isNotEmpty(pages.getRecords())){
+			pages.getRecords().stream().forEach(item ->{
+				if (item.getCreateUser() != null){
+					User user = userList.stream().filter(e -> e.getId().equals(item.getCreateUser())).findFirst().orElse(null);
+					if (ObjectUtil.isNotEmpty(user)){
+						item.setCreateUserName(user.getName());
+					}
+				}
+
+				if (item.getUpdateUser() != null){
+					User info = userList.stream().filter(e -> e.getId().equals(item.getUpdateUser())).findFirst().orElse(null);
+					if (ObjectUtil.isNotEmpty(info)){
+						item.setUpdateUserName(info.getName());
+					}
+				}
+			});
+		}
+
 		return R.data(pages);
 	}
 
@@ -162,7 +194,8 @@ public class VehicleBrandController extends BladeController {
 	public R<List<List<VehicleBrand>>> initialsAllList(VehicleBrand vehicleBrand) {
 		// 默认查有效的
 		LambdaQueryWrapper<VehicleBrand> lambdaQueryWrapper = new LambdaQueryWrapper<>();
-		lambdaQueryWrapper.eq(VehicleBrand::getIsDeleted, 0);
+		lambdaQueryWrapper.eq(VehicleBrand::getIsDeleted, 0)
+			.like(ObjectUtils.isNotEmpty(vehicleBrand.getBrand()), VehicleBrand::getBrand, vehicleBrand.getBrand());
 
 		//获得车辆信息
 		List<VehicleBrand> brandList = vehicleBrandService.list(lambdaQueryWrapper);
@@ -303,4 +336,24 @@ public class VehicleBrandController extends BladeController {
 		return R.data(vehicleBrandList);
 	}
 
+	/**
+	 * 将Object转换成List类型
+	 *
+	 * @param obj   Object对象
+	 * @param clazz 数据类型
+	 * @param <T>   泛型类型
+	 * @return List类型
+	 */
+	public static <T> List<T> castToList(Object obj, Class<T> clazz) {
+		List<T> resList = new ArrayList<>();
+		// 如果不是List<?>对象,是没有办法转换的
+		if (obj instanceof List<?>) {
+			for (Object o : (List<?>) obj) {
+				// 将对应的元素进行类型转换
+				resList.add(clazz.cast(o));
+			}
+			return resList;
+		}
+		return resList;
+	}
 }

+ 56 - 3
blade-service/blade-client/src/main/java/org/springblade/client/vehicle/controller/VehicleModelController.java

@@ -18,6 +18,7 @@ package org.springblade.client.vehicle.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
@@ -28,14 +29,17 @@ import javax.validation.Valid;
 import org.springblade.client.entity.VehicleModel;
 import org.springblade.client.entity.VehicleSeries;
 import org.springblade.client.excel.VehicleModelExcel;
-import org.springblade.client.excel.VehicleSeriesExcel;
+import org.springblade.client.feign.IRedisClient;
 import org.springblade.client.vo.VehicleModelVO;
 import org.springblade.core.excel.util.ExcelUtil;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
+import org.springblade.core.tenant.annotation.TenantIgnore;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.ObjectUtil;
+import org.springblade.system.user.entity.User;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.web.bind.annotation.*;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springblade.client.vehicle.service.IVehicleModelService;
@@ -58,9 +62,12 @@ import java.util.stream.Collectors;
 @AllArgsConstructor
 @RequestMapping("/vehicleModel")
 @Api(value = "", tags = "接口")
+@TenantIgnore//忽略租户
 public class VehicleModelController extends BladeController {
 
 	private final IVehicleModelService vehicleModelService;
+	private final IRedisClient redisClient;//redis缓存处理
+	private final RedisTemplate<String, Object> redisTemplate;
 
 	/**
 	 * 详情
@@ -80,7 +87,33 @@ public class VehicleModelController extends BladeController {
 	@ApiOperationSupport(order = 2)
 	@ApiOperation(value = "分页", notes = "传入vehicleModel")
 	public R<IPage<VehicleModel>> list(VehicleModel vehicleModel, Query query) {
-		IPage<VehicleModel> pages = vehicleModelService.page(Condition.getPage(query), Condition.getQueryWrapper(vehicleModel));
+		LambdaQueryWrapper<VehicleModel> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+		lambdaQueryWrapper.eq(VehicleModel::getIsDeleted, 0)
+			.eq(ObjectUtils.isNotEmpty(vehicleModel.getCreateUser()), VehicleModel::getCreateUser, vehicleModel.getCreateUser())
+			.eq(ObjectUtils.isNotEmpty(vehicleModel.getUpdateUser()), VehicleModel::getUpdateUser, vehicleModel.getUpdateUser());
+		IPage<VehicleModel> pages = vehicleModelService.page(Condition.getPage(query), lambdaQueryWrapper);
+
+		redisClient.basicData("all");
+		List<User> userList = castToList(redisTemplate.opsForValue().get("user"), User.class);
+
+		if (CollectionUtils.isNotEmpty(pages.getRecords())){
+			pages.getRecords().stream().forEach(item ->{
+				if (item.getCreateUser() != null){
+					User user = userList.stream().filter(e -> e.getId().equals(item.getCreateUser())).findFirst().orElse(null);
+					if (ObjectUtil.isNotEmpty(user)){
+						item.setCreateUserName(user.getName());
+					}
+				}
+
+				if (item.getUpdateUser() != null){
+					User info = userList.stream().filter(e -> e.getId().equals(item.getUpdateUser())).findFirst().orElse(null);
+					if (ObjectUtil.isNotEmpty(info)){
+						item.setUpdateUserName(info.getName());
+					}
+				}
+			});
+		}
+
 		return R.data(pages);
 	}
 
@@ -164,7 +197,7 @@ public class VehicleModelController extends BladeController {
 		lambdaQueryWrapper.eq(VehicleModel::getIsDeleted, 0)
 			.eq(VehicleModel::getBrandId, vehicleModel.getBrandId())
 			.eq(VehicleModel::getSeriesId, vehicleModel.getSeriesId())
-			.eq(ObjectUtil.isNotEmpty(vehicleModel.getEngine()), VehicleModel::getEngine, vehicleModel)
+			.eq(ObjectUtil.isNotEmpty(vehicleModel.getEngine()), VehicleModel::getEngine, vehicleModel.getEngine())
 			.eq(ObjectUtil.isNotEmpty(vehicleModel.getModelYear()), VehicleModel::getModelYear, vehicleModel.getModelYear());
 		List<VehicleModel> list = vehicleModelService.list(lambdaQueryWrapper);
 
@@ -193,4 +226,24 @@ public class VehicleModelController extends BladeController {
 		return R.data(list);
 	}
 
+	/**
+	 * 将Object转换成List类型
+	 *
+	 * @param obj   Object对象
+	 * @param clazz 数据类型
+	 * @param <T>   泛型类型
+	 * @return List类型
+	 */
+	public static <T> List<T> castToList(Object obj, Class<T> clazz) {
+		List<T> resList = new ArrayList<>();
+		// 如果不是List<?>对象,是没有办法转换的
+		if (obj instanceof List<?>) {
+			for (Object o : (List<?>) obj) {
+				// 将对应的元素进行类型转换
+				resList.add(clazz.cast(o));
+			}
+			return resList;
+		}
+		return resList;
+	}
 }

+ 90 - 5
blade-service/blade-client/src/main/java/org/springblade/client/vehicle/controller/VehicleSeriesController.java

@@ -18,6 +18,7 @@ package org.springblade.client.vehicle.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
@@ -25,22 +26,29 @@ import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import lombok.AllArgsConstructor;
 import javax.validation.Valid;
 
+import org.springblade.client.entity.VehicleBrand;
+import org.springblade.client.entity.VehicleModel;
 import org.springblade.client.entity.VehicleSeries;
-import org.springblade.client.excel.VehicleBrandExcel;
 import org.springblade.client.excel.VehicleSeriesExcel;
+import org.springblade.client.feign.IRedisClient;
 import org.springblade.client.vo.VehicleSeriesVO;
 import org.springblade.core.excel.util.ExcelUtil;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
+import org.springblade.core.tenant.annotation.TenantIgnore;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
+import org.springblade.core.tool.utils.ObjectUtil;
+import org.springblade.system.user.entity.User;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.web.bind.annotation.*;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springblade.client.vehicle.service.IVehicleSeriesService;
 import org.springblade.core.boot.ctrl.BladeController;
 import org.springframework.web.multipart.MultipartFile;
 
-import java.util.List;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * 车辆车系 控制器
@@ -52,9 +60,12 @@ import java.util.List;
 @AllArgsConstructor
 @RequestMapping("/vehicleSeries")
 @Api(value = "车辆车系", tags = "车辆车系接口")
+@TenantIgnore//忽略租户
 public class VehicleSeriesController extends BladeController {
 
 	private final IVehicleSeriesService vehicleSeriesService;
+	private final IRedisClient redisClient;//redis缓存处理
+	private final RedisTemplate<String, Object> redisTemplate;
 
 	/**
 	 * 详情
@@ -74,7 +85,33 @@ public class VehicleSeriesController extends BladeController {
 	@ApiOperationSupport(order = 2)
 	@ApiOperation(value = "分页", notes = "传入vehicleSeries")
 	public R<IPage<VehicleSeries>> list(VehicleSeries vehicleSeries, Query query) {
-		IPage<VehicleSeries> pages = vehicleSeriesService.page(Condition.getPage(query), Condition.getQueryWrapper(vehicleSeries));
+		LambdaQueryWrapper<VehicleSeries> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+		lambdaQueryWrapper.eq(VehicleSeries::getIsDeleted, 0)
+			.eq(ObjectUtils.isNotEmpty(vehicleSeries.getCreateUser()), VehicleSeries::getCreateUser, vehicleSeries.getCreateUser())
+			.eq(ObjectUtils.isNotEmpty(vehicleSeries.getUpdateUser()), VehicleSeries::getUpdateUser, vehicleSeries.getUpdateUser());
+		IPage<VehicleSeries> pages = vehicleSeriesService.page(Condition.getPage(query), lambdaQueryWrapper);
+
+		redisClient.basicData("all");
+		List<User> userList = castToList(redisTemplate.opsForValue().get("user"), User.class);
+
+		if (CollectionUtils.isNotEmpty(pages.getRecords())){
+			pages.getRecords().stream().forEach(item ->{
+				if (item.getCreateUser() != null){
+					User user = userList.stream().filter(e -> e.getId().equals(item.getCreateUser())).findFirst().orElse(null);
+					if (ObjectUtil.isNotEmpty(user)){
+						item.setCreateUserName(user.getName());
+					}
+				}
+
+				if (item.getUpdateUser() != null){
+					User info = userList.stream().filter(e -> e.getId().equals(item.getUpdateUser())).findFirst().orElse(null);
+					if (ObjectUtil.isNotEmpty(info)){
+						item.setUpdateUserName(info.getName());
+					}
+				}
+			});
+		}
+
 		return R.data(pages);
 	}
 
@@ -153,12 +190,60 @@ public class VehicleSeriesController extends BladeController {
 	@GetMapping("/brandList")
 	@ApiOperationSupport(order = 10)
 	@ApiOperation(value = "根据品牌id查询车系", notes = "传入vehicleSeries")
-	public R<List<VehicleSeries>> brandList(VehicleSeries vehicleSeries) {
+	public R<List<Map<String, Object>>> brandList(VehicleSeries vehicleSeries) {
 		LambdaQueryWrapper<VehicleSeries> lambdaQueryWrapper = new LambdaQueryWrapper<>();
 		lambdaQueryWrapper.eq(VehicleSeries::getIsDeleted, 0)
 			.eq(VehicleSeries::getBrandId, vehicleSeries.getBrandId());
 		List<VehicleSeries> list = vehicleSeriesService.list(lambdaQueryWrapper);
-		return R.data(list);
+
+		//根据厂商去重
+		List<VehicleSeries> manufacturerList = new ArrayList<>();
+		if (ObjectUtil.isNotEmpty(list)){
+			manufacturerList = list.stream().collect(Collectors.collectingAndThen(
+				Collectors.toCollection(() -> new TreeSet<>(
+					Comparator.comparing(VehicleSeries::getManufacturerId))), ArrayList::new));
+		}
+
+		List<Map<String, Object>> mapList = new ArrayList<>();
+
+		//根据厂商获得车系
+		if (ObjectUtil.isNotEmpty(manufacturerList)){
+			manufacturerList.forEach(series -> {
+				Map<String, Object> map = new HashMap<>();
+
+				LambdaQueryWrapper<VehicleSeries> lambdaMap = new LambdaQueryWrapper<>();
+				lambdaMap.eq(VehicleSeries::getIsDeleted, 0)
+					.eq(VehicleSeries::getBrandId, vehicleSeries.getBrandId())
+					.eq(VehicleSeries::getManufacturerId, series.getManufacturerId());
+				List<VehicleSeries> seriesList = vehicleSeriesService.list(lambdaMap);
+
+				map.put("name",series.getManufacturerName());
+				map.put(series.getManufacturerName(), seriesList);
+				mapList.add(map);
+			});
+		}
+
+		return R.data(mapList);
 	}
 
+	/**
+	 * 将Object转换成List类型
+	 *
+	 * @param obj   Object对象
+	 * @param clazz 数据类型
+	 * @param <T>   泛型类型
+	 * @return List类型
+	 */
+	public static <T> List<T> castToList(Object obj, Class<T> clazz) {
+		List<T> resList = new ArrayList<>();
+		// 如果不是List<?>对象,是没有办法转换的
+		if (obj instanceof List<?>) {
+			for (Object o : (List<?>) obj) {
+				// 将对应的元素进行类型转换
+				resList.add(clazz.cast(o));
+			}
+			return resList;
+		}
+		return resList;
+	}
 }

+ 2 - 2
blade-service/blade-client/src/main/java/org/springblade/client/vehicle/service/impl/VehicleModelServiceImpl.java

@@ -80,12 +80,12 @@ public class VehicleModelServiceImpl extends ServiceImpl<VehicleModelMapper, Veh
 			if (ObjectUtil.isEmpty(modelExcel.getEngine())){
 				throw new SecurityException("第"+(i+2)+"行,发动机为空");
 			}
-			if (ObjectUtil.isEmpty(modelExcel.getFrontTireSpecification())){
+			/*if (ObjectUtil.isEmpty(modelExcel.getFrontTireSpecification())){
 				throw new SecurityException("第"+(i+2)+"行,前轮胎规格为空");
 			}
 			if (ObjectUtil.isEmpty(modelExcel.getRearTireSpecification())){
 				throw new SecurityException("第"+(i+2)+"行,后轮胎规格为空");
-			}
+			}*/
 
 			VehicleModel vehicleModel = new VehicleModel();
 			BeanUtil.copy(modelExcel,vehicleModel);