Bläddra i källkod

二手车相关接口

wwl 3 år sedan
förälder
incheckning
fceb256328
19 ändrade filer med 1356 tillägg och 0 borttagningar
  1. 37 0
      zzjs-admin/src/main/java/com/miaxis/app/controller/car/AppletCarController.java
  2. 111 0
      zzjs-admin/src/main/java/com/miaxis/app/controller/car/AppletUsedCarInfoController.java
  3. 104 0
      zzjs-admin/src/main/java/com/miaxis/pc/controller/car/UsedCarInfoController.java
  4. 48 0
      zzjs-service/src/main/java/com/miaxis/car/domain/CarParameterData.java
  5. 39 0
      zzjs-service/src/main/java/com/miaxis/car/domain/CarParameterType.java
  6. 31 0
      zzjs-service/src/main/java/com/miaxis/car/domain/UsedCarFile.java
  7. 144 0
      zzjs-service/src/main/java/com/miaxis/car/domain/UsedCarInfo.java
  8. 31 0
      zzjs-service/src/main/java/com/miaxis/car/dto/ExamineUsedCarDto.java
  9. 110 0
      zzjs-service/src/main/java/com/miaxis/car/dto/UsedCarInfoDto.java
  10. 13 0
      zzjs-service/src/main/java/com/miaxis/car/mapper/CarParameterDataMapper.java
  11. 13 0
      zzjs-service/src/main/java/com/miaxis/car/mapper/CarParameterTypeMapper.java
  12. 13 0
      zzjs-service/src/main/java/com/miaxis/car/mapper/UsedCarFileMapper.java
  13. 23 0
      zzjs-service/src/main/java/com/miaxis/car/mapper/UsedCarInfoMapper.java
  14. 9 0
      zzjs-service/src/main/java/com/miaxis/car/service/ICarBrandInfoService.java
  15. 76 0
      zzjs-service/src/main/java/com/miaxis/car/service/IUsedCarInfoService.java
  16. 30 0
      zzjs-service/src/main/java/com/miaxis/car/service/impl/CarBrandInfoServiceImpl.java
  17. 345 0
      zzjs-service/src/main/java/com/miaxis/car/service/impl/UsedCarInfoServiceImpl.java
  18. 117 0
      zzjs-service/src/main/java/com/miaxis/car/vo/UsedCarInfoVo.java
  19. 62 0
      zzjs-service/src/main/resources/mapper/car/UsedCarInfoMapper.xml

+ 37 - 0
zzjs-admin/src/main/java/com/miaxis/app/controller/car/AppletCarController.java

@@ -0,0 +1,37 @@
+package com.miaxis.app.controller.car;
+
+import com.miaxis.car.service.ICarBrandInfoService;
+import com.miaxis.common.constant.Constants;
+import com.miaxis.common.core.controller.BaseController;
+import com.miaxis.common.core.domain.Response;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @author wwl
+ * @version 1.0
+ * @date 2021/5/24 10:10
+ */
+@RestController
+@RequiredArgsConstructor
+@RequestMapping(Constants.STUDENT_PREFIX+"/applet/car")
+@Api(tags={"【小程序-汽车品牌】"})
+public class AppletCarController extends BaseController {
+
+    private final ICarBrandInfoService carBrandInfoService;
+
+    /**
+     * 查询汽车品牌列表
+     */
+    @GetMapping("/list")
+    @ApiOperation("查询汽车品牌列表")
+    public Response list(){
+        return carBrandInfoService.selectCarBrandInfoList();
+    }
+
+
+}

+ 111 - 0
zzjs-admin/src/main/java/com/miaxis/app/controller/car/AppletUsedCarInfoController.java

@@ -0,0 +1,111 @@
+package com.miaxis.app.controller.car;
+
+import com.miaxis.car.domain.UsedCarInfo;
+import com.miaxis.car.dto.UsedCarInfoDto;
+import com.miaxis.car.service.IUsedCarInfoService;
+import com.miaxis.common.annotation.Log;
+import com.miaxis.common.constant.Constants;
+import com.miaxis.common.core.controller.BaseController;
+import com.miaxis.common.core.domain.Response;
+import com.miaxis.common.core.domain.entity.UserInfo;
+import com.miaxis.common.core.page.ResponsePageInfo;
+import com.miaxis.common.enums.BusinessTypeEnum;
+import com.miaxis.common.utils.SecurityUtils;
+import io.swagger.annotations.*;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 二手车 Controller
+ * @author wwl
+ * @version 1.0
+ * @date 2021/5/27 13:32
+ */
+@RestController
+@RequiredArgsConstructor
+@RequestMapping(Constants.STUDENT_PREFIX+"/applet/usedCar")
+@Api(tags={"【小程序-二手车】"})
+public class AppletUsedCarInfoController extends BaseController {
+
+    private final IUsedCarInfoService usedCarInfoService;
+
+    /**
+     * 查询二手车参数列表
+     */
+    @GetMapping("/dictDataCarList/{parameterTypes}")
+    @ApiOperation("查询二手车参数列表")
+    public Response dictDataCarList(@ApiParam(name = "parameterTypes",value = "参数类型",required = true)
+                                    @PathVariable("parameterTypes") String[] parameterTypes){
+        return usedCarInfoService.selectDictDataCarList(parameterTypes);
+    }
+
+    /**
+     * 查询二手车列表
+     */
+    @GetMapping("/list")
+    @ApiOperation("查询二手车列表")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "pageNum",value = "当前页码" ,dataType = "int", paramType = "query", required = false),
+            @ApiImplicitParam(name = "pageSize",value = "每页数据量" , dataType = "int", paramType = "query", required = false),
+    })
+    public ResponsePageInfo<UsedCarInfo> list(@ModelAttribute UsedCarInfo usedCarInfo){
+        startPage();
+        List<UsedCarInfo> list = usedCarInfoService.selectUsedCarInfoList(usedCarInfo);
+        return toResponsePageInfo(list);
+    }
+
+
+    /**
+     * 发布二手车
+     */
+    @PostMapping
+    @ApiOperation("发布二手车")
+    public Response add(@RequestBody UsedCarInfoDto usedCarInfoDto){
+        UserInfo userInfo = SecurityUtils.getLoginUser().getStudent();
+        usedCarInfoDto.setUserId(userInfo.getId());
+        return usedCarInfoService.saveUsedCarInfo(usedCarInfoDto);
+    }
+
+
+    /**
+     * 编辑二手车
+     * @param usedCarInfoDto
+     * @return
+     */
+    @PutMapping
+    @ApiOperation("编辑二手车")
+    public Response edit(@RequestBody UsedCarInfoDto usedCarInfoDto){
+        return usedCarInfoService.editUsedCarById(usedCarInfoDto);
+    }
+
+
+    /**
+     * 二手商品详细信息
+     */
+    @GetMapping(value = "/{id}")
+    @ApiOperation("二手商品详细信息")
+    public Response getInfo(
+            @ApiParam(name = "id", value = "首页数据id", required = true)
+            @PathVariable("id") Long id
+    ){
+        return usedCarInfoService.getUsedCarById(id);
+    }
+
+
+    /**
+     * 删除二手车(伪删除)
+     */
+    @Log(title = "删除二手车", businessType = BusinessTypeEnum.UPDATE)
+    @PutMapping("/{ids}")
+    @ApiOperation("删除二手车")
+    public  Response remove(
+            @ApiParam(name = "ids", value = "二手车ids参数", required = true)
+            @PathVariable Long[] ids
+    ){
+        return usedCarInfoService.removeUsedCarByIds(ids);
+    }
+
+
+}

+ 104 - 0
zzjs-admin/src/main/java/com/miaxis/pc/controller/car/UsedCarInfoController.java

@@ -0,0 +1,104 @@
+package com.miaxis.pc.controller.car;
+
+import com.miaxis.car.domain.UsedCarInfo;
+import com.miaxis.car.dto.ExamineUsedCarDto;
+import com.miaxis.car.dto.UsedCarInfoDto;
+import com.miaxis.car.service.IUsedCarInfoService;
+import com.miaxis.common.annotation.Log;
+import com.miaxis.common.core.controller.BaseController;
+import com.miaxis.common.core.domain.Response;
+import com.miaxis.common.core.page.ResponsePageInfo;
+import com.miaxis.common.enums.BusinessTypeEnum;
+import io.swagger.annotations.*;
+import lombok.AllArgsConstructor;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * 二手车 controller
+ * @author wwl
+ * @version 1.0
+ * @date 2021/5/26 13:45
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/pc/usedCar")
+@Api(tags={"【pc-二手车】"})
+public class UsedCarInfoController extends BaseController {
+
+    private final IUsedCarInfoService usedCarInfoService;
+
+    /**
+     * 查询二手车列表
+     */
+    @PreAuthorize("@ss.hasPermi('usedCar:usedCar:list')")
+    @GetMapping("/list")
+    @ApiOperation("查询二手车列表")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "pageNum",value = "当前页码" ,dataType = "int", paramType = "query", required = false),
+            @ApiImplicitParam(name = "pageSize",value = "每页数据量" , dataType = "int", paramType = "query", required = false),
+    })
+    public ResponsePageInfo<UsedCarInfo> list(@ModelAttribute UsedCarInfo usedCarInfo){
+        startPage();
+        List<UsedCarInfo> list = usedCarInfoService.selectUsedCarInfoList(usedCarInfo);
+        return toResponsePageInfo(list);
+    }
+
+
+    /**
+     * 获取二手车详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('usedCar:usedCar:query')")
+    @GetMapping(value = "/{id}")
+    @ApiOperation("获取二手车详细信息")
+    public Response getInfo(
+            @ApiParam(name = "id", value = "首页数据id", required = true)
+            @PathVariable("id") Long id
+    ){
+        return usedCarInfoService.getUsedCarById(id);
+    }
+
+
+    /**
+     * 修改二手车
+     */
+    @PreAuthorize("@ss.hasPermi('usedCar:usedCar:edit')")
+    @Log(title = "二手车", businessType = BusinessTypeEnum.UPDATE)
+    @PutMapping
+    @ApiOperation("修改二手车")
+    public Response edit(@RequestBody UsedCarInfoDto usedCarInfoDto){
+        return usedCarInfoService.updateUsedCarById(usedCarInfoDto);
+    }
+
+
+    /**
+     * 二手车审核
+     */
+    @Log(title = "二手车审核", businessType = BusinessTypeEnum.UPDATE)
+    @PutMapping("/usedCarExamine")
+    @ApiOperation("二手车审核")
+    public Response usedCarExamine(ExamineUsedCarDto examineUsedCarDto){
+        return usedCarInfoService.usedCarExamine(examineUsedCarDto);
+    }
+
+
+    /**
+     * 删除二手车(伪删除)
+     */
+    @PreAuthorize("@ss.hasPermi('usedCar:usedCar:remove')")
+    @Log(title = "删除二手车", businessType = BusinessTypeEnum.UPDATE)
+    @PutMapping("/{ids}")
+    @ApiOperation("删除二手车")
+    public  Response remove(
+            @ApiParam(name = "ids", value = "二手车ids参数", required = true)
+            @PathVariable Long[] ids
+    ){
+        return usedCarInfoService.removeUsedCarByIds(ids);
+    }
+
+
+
+}

+ 48 - 0
zzjs-service/src/main/java/com/miaxis/car/domain/CarParameterData.java

@@ -0,0 +1,48 @@
+package com.miaxis.car.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.miaxis.common.core.domain.BaseBusinessEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 汽车参数数据对象 car_parameter_data
+ * @author wwl
+ * @version 1.0
+ * @date 2021/5/27 17:01
+ */
+@Data
+@TableName("car_parameter_data")
+@ApiModel(value = "CarParameterData", description = "汽车参数数据对象 car_parameter_data")
+public class CarParameterData extends BaseBusinessEntity {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id")
+    @ApiModelProperty(value = "$column.columnComment")
+    private Long id;
+
+    @TableField("parameter_name")
+    @ApiModelProperty(value = "参数名")
+    private String parameterName;
+
+    @TableField("parameter_value")
+    @ApiModelProperty(value = "参数值")
+    private String parameterValue;
+
+    @TableField("parameter_type")
+    @ApiModelProperty(value = "参数类型(关联car_parameter_type)")
+    private String parameterType;
+
+    @TableField("parameter_sort")
+    @ApiModelProperty(value = "排序")
+    private Integer parameterSort;
+
+    @TableField("status")
+    @ApiModelProperty(value = "状态(0正常 1停用)")
+    private String status;
+
+}

+ 39 - 0
zzjs-service/src/main/java/com/miaxis/car/domain/CarParameterType.java

@@ -0,0 +1,39 @@
+package com.miaxis.car.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.miaxis.common.core.domain.BaseBusinessEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 汽车参数类型对象 car_parameter_type
+ * @author wwl
+ * @version 1.0
+ * @date 2021/5/27 17:04
+ */
+@Data
+@TableName("car_parameter_type")
+@ApiModel(value = "CarParameterType", description = "汽车参数类型对象 car_parameter_type")
+public class CarParameterType extends BaseBusinessEntity {
+    private static final long serialVersionUID = 1L;
+
+    /** $column.columnComment */
+    @TableId(value = "id")
+    @ApiModelProperty(value = "$column.columnComment")
+    private Long id;
+
+    @TableField("parameter_name")
+    @ApiModelProperty(value = "参数名")
+    private String parameterName;
+
+    @TableField("parameter_type")
+    @ApiModelProperty(value = "参数类型")
+    private String parameterType;
+
+    @TableField("status")
+    @ApiModelProperty(value = "状态(0正常 1停用)")
+    private String status;
+}

+ 31 - 0
zzjs-service/src/main/java/com/miaxis/car/domain/UsedCarFile.java

@@ -0,0 +1,31 @@
+package com.miaxis.car.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ *  二手车图片关联对象
+ * @author wwl
+ * @version 1.0
+ * @date 2021/5/26 14:13
+ */
+@Data
+@TableName("used_car_file")
+@ApiModel(value = "UsedCarFile", description = "二手车图片关联对象 used_car_file")
+public class UsedCarFile {
+
+    @TableField("used_car_id")
+    @ApiModelProperty(value = "二手车id")
+    private Long usedCarId;
+
+    @TableField("file_id")
+    @ApiModelProperty(value = "图片id")
+    private Long fileId;
+
+    @TableField("sign")
+    @ApiModelProperty(value = "主图标识(同一个used_car_id下只有一个main)")
+    private String sign;
+}

+ 144 - 0
zzjs-service/src/main/java/com/miaxis/car/domain/UsedCarInfo.java

@@ -0,0 +1,144 @@
+package com.miaxis.car.domain;
+
+import cn.hutool.json.JSONObject;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
+import com.google.gson.JsonObject;
+import com.miaxis.common.core.domain.BaseBusinessEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 二手车对象 used_car_info
+ * @author wwl
+ * @version 1.0
+ * @date 2021/5/26 13:38
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName(autoResultMap = true)
+@ApiModel(value = "UsedCarInfo", description = "二手车对象 used_car_info")
+public class UsedCarInfo extends BaseBusinessEntity implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /** $column.columnComment */
+    @TableId(value = "id")
+    @ApiModelProperty(value = "$column.columnComment")
+    private Long id;
+
+    @TableField("user_id")
+    @ApiModelProperty(value = "用户id(user_info表id)")
+    private Long userId;
+
+    /** 车辆品牌id(关联car_brand_info表) */
+    @TableField("car_brand")
+    @ApiModelProperty(value = "车辆品牌id(关联car_brand_info表)")
+    private Long carBrand;
+
+    /** 车系车款 */
+    @TableField("car_series")
+    @ApiModelProperty(value = "车系车款")
+    private String carSeries;
+
+    /** 汽车排量 */
+    @TableField("vehicle_displacement")
+    @ApiModelProperty(value = "汽车排量")
+    private String vehicleDisplacement;
+
+    /** 购买日期 */
+    @TableField("purchase_date")
+    @ApiModelProperty(value = "购买日期")
+    private Date purchaseDate;
+
+    /** 出售价格 */
+    @TableField("selling_price")
+    @ApiModelProperty(value = "出售价格")
+    private BigDecimal sellingPrice;
+
+    /** 车辆介绍 */
+    @TableField("vehicle_introduction")
+    @ApiModelProperty(value = "车辆介绍")
+    private String vehicleIntroduction;
+
+    /** 生产国 */
+    @TableField("producing_country")
+    @ApiModelProperty(value = "生产国")
+    private Integer producingCountry;
+
+    /** 座位数 */
+    @TableField("number_of_seats")
+    @ApiModelProperty(value = "座位数")
+    private Integer numberOfSeats;
+
+    /** 车型 */
+    @TableField("model")
+    @ApiModelProperty(value = "车型")
+    private Integer model;
+
+    /** 燃料 */
+    @TableField("fuel")
+    @ApiModelProperty(value = "燃料")
+    private String fuel;
+
+    /** 车身结构 */
+    @TableField("body_structure")
+    @ApiModelProperty(value = "车身结构")
+    private String bodyStructure;
+
+    /** 驱动方式 */
+    @TableField("driving_mode")
+    @ApiModelProperty(value = "驱动方式")
+    private String drivingMode;
+
+    /** 变速箱 */
+    @TableField("transmission_case")
+    @ApiModelProperty(value = "变速箱")
+    private String transmissionCase;
+
+    /** 购买价格 */
+    @TableField("purchase_price")
+    @ApiModelProperty(value = "购买价格")
+    private BigDecimal purchasePrice;
+
+    /** 过户次数 */
+    @TableField("transfer_frequency")
+    @ApiModelProperty(value = "过户次数")
+    private Integer transferFrequency;
+
+    /** 排放标准 */
+    @TableField("emission_standard")
+    @ApiModelProperty(value = "排放标准")
+    private Integer emissionStandard;
+
+    /** 看车点 */
+    @TableField("car_watching_point")
+    @ApiModelProperty(value = "看车点")
+    private String carWatchingPoint;
+
+    @TableField("examine_status")
+    @ApiModelProperty(value = "审核状态  0:待审核(默认)、1:审核通过、2:审核未通过")
+    private String examineStatus;
+
+    @TableField("audit_information")
+    @ApiModelProperty(value = "审核信息(审核未通过原因)")
+    private String auditInformation;
+
+    /** 状态  0:有效(默认)、1:失效 (伪删除) */
+    @TableField("status")
+    @ApiModelProperty(value = "状态  0:有效(默认)、1:失效 (伪删除)")
+    private String status;
+
+    @TableField(typeHandler = JacksonTypeHandler.class)
+    @ApiModelProperty(value = "ceshi")
+    private JsonObject testA;
+
+
+}

+ 31 - 0
zzjs-service/src/main/java/com/miaxis/car/dto/ExamineUsedCarDto.java

@@ -0,0 +1,31 @@
+package com.miaxis.car.dto;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 二手车审核入参
+ * @author wwl
+ * @version 1.0
+ * @date 2021/5/27 15:36
+ */
+@Data
+@ApiModel(value = "UsedCarInfoDto", description = "二手车审核入参")
+public class ExamineUsedCarDto {
+
+    @TableId(value = "id")
+    @ApiModelProperty(value = "id")
+    private Long id;
+
+    @TableField("examine_status")
+    @ApiModelProperty(value = "审核状态  0:待审核(默认)、1:审核通过、2:审核未通过")
+    private String examineStatus;
+
+    @TableField("audit_information")
+    @ApiModelProperty(value = "审核信息(审核未通过原因)")
+    private String auditInformation;
+
+}

+ 110 - 0
zzjs-service/src/main/java/com/miaxis/car/dto/UsedCarInfoDto.java

@@ -0,0 +1,110 @@
+package com.miaxis.car.dto;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.miaxis.common.core.domain.BaseBusinessEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 二手车对象 used_car_info 入参
+ * @author wwl
+ * @version 1.0
+ * @date 2021/5/26 14:03
+ */
+@Data
+@ApiModel(value = "UsedCarInfoDto", description = "二手车对象入参")
+public class UsedCarInfoDto {
+
+    @TableId(value = "id")
+    @ApiModelProperty(value = "$column.columnComment")
+    private Long id;
+
+    @TableField("user_id")
+    @ApiModelProperty(value = "用户id(user_info表id)")
+    private Long userId;
+
+    @TableField("car_brand")
+    @ApiModelProperty(value = "车辆品牌id(关联car_brand_info表)")
+    private Long carBrand;
+
+    @TableField("car_series")
+    @ApiModelProperty(value = "车系车款")
+    private String carSeries;
+
+    @TableField("vehicle_displacement")
+    @ApiModelProperty(value = "汽车排量")
+    private String vehicleDisplacement;
+
+    @TableField("purchase_date")
+    @ApiModelProperty(value = "购买日期")
+    private Date purchaseDate;
+
+    @TableField("selling_price")
+    @ApiModelProperty(value = "出售价格")
+    private BigDecimal sellingPrice;
+
+    @TableField("vehicle_introduction")
+    @ApiModelProperty(value = "车辆介绍")
+    private String vehicleIntroduction;
+
+    @TableField("producing_country")
+    @ApiModelProperty(value = "生产国")
+    private Integer producingCountry;
+
+    @TableField("number_of_seats")
+    @ApiModelProperty(value = "座位数")
+    private Integer numberOfSeats;
+
+    @TableField("model")
+    @ApiModelProperty(value = "车型")
+    private Integer model;
+
+    @TableField("fuel")
+    @ApiModelProperty(value = "燃料")
+    private String fuel;
+
+    @TableField("body_structure")
+    @ApiModelProperty(value = "车身结构")
+    private String bodyStructure;
+
+    @TableField("driving_mode")
+    @ApiModelProperty(value = "驱动方式")
+    private String drivingMode;
+
+    @TableField("transmission_case")
+    @ApiModelProperty(value = "变速箱")
+    private String transmissionCase;
+
+    @TableField("purchase_price")
+    @ApiModelProperty(value = "购买价格")
+    private BigDecimal purchasePrice;
+
+    @TableField("transfer_frequency")
+    @ApiModelProperty(value = "过户次数")
+    private Integer transferFrequency;
+
+    @TableField("emission_standard")
+    @ApiModelProperty(value = "排放标准")
+    private Integer emissionStandard;
+
+    @TableField("car_watching_point")
+    @ApiModelProperty(value = "看车点")
+    private String carWatchingPoint;
+
+    @ApiModelProperty(value = "主图标识-图片id")
+    private Long mainSignId;
+
+    @ApiModelProperty(value = "图片ids集合")
+    private List<Long> pictureIds;
+
+    @TableField("status")
+    @ApiModelProperty(value = "状态  0:有效(默认)、1:失效 (伪删除)")
+    private String status;
+}

+ 13 - 0
zzjs-service/src/main/java/com/miaxis/car/mapper/CarParameterDataMapper.java

@@ -0,0 +1,13 @@
+package com.miaxis.car.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.miaxis.car.domain.CarParameterData;
+
+/**
+ * 汽车参数数据Mapper接口
+ * @author wwl
+ * @version 1.0
+ * @date 2021/5/27 17:03
+ */
+public interface CarParameterDataMapper extends BaseMapper<CarParameterData> {
+}

+ 13 - 0
zzjs-service/src/main/java/com/miaxis/car/mapper/CarParameterTypeMapper.java

@@ -0,0 +1,13 @@
+package com.miaxis.car.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.miaxis.car.domain.CarParameterType;
+
+/**
+ * 汽车参数类型Mapper接口
+ * @author wwl
+ * @version 1.0
+ * @date 2021/5/27 17:06
+ */
+public interface CarParameterTypeMapper extends BaseMapper<CarParameterType> {
+}

+ 13 - 0
zzjs-service/src/main/java/com/miaxis/car/mapper/UsedCarFileMapper.java

@@ -0,0 +1,13 @@
+package com.miaxis.car.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.miaxis.car.domain.UsedCarFile;
+
+/**
+ * 二手车图片关联Mapper接口
+ * @author wwl
+ * @version 1.0
+ * @date 2021/5/26 14:15
+ */
+public interface UsedCarFileMapper extends BaseMapper<UsedCarFile> {
+}

+ 23 - 0
zzjs-service/src/main/java/com/miaxis/car/mapper/UsedCarInfoMapper.java

@@ -0,0 +1,23 @@
+package com.miaxis.car.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.miaxis.car.domain.UsedCarInfo;
+
+import java.util.List;
+
+/**
+ * 二手车Mapper接口
+ * @author wwl
+ * @version 1.0
+ * @date 2021/5/26 13:41
+ */
+public interface UsedCarInfoMapper extends BaseMapper<UsedCarInfo> {
+
+    /**
+     * 查询二手车列表
+     *
+     * @param usedCarInfo 二手车
+     * @return 二手车集合
+     */
+    List<UsedCarInfo> selectUsedCarInfoList(UsedCarInfo usedCarInfo);
+}

+ 9 - 0
zzjs-service/src/main/java/com/miaxis/car/service/ICarBrandInfoService.java

@@ -2,6 +2,7 @@ package com.miaxis.car.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.miaxis.car.domain.CarBrandInfo;
+import com.miaxis.common.core.domain.Response;
 
 /**
  * @author wwl
@@ -9,4 +10,12 @@ import com.miaxis.car.domain.CarBrandInfo;
  * @date 2021/5/21 10:41
  */
 public interface ICarBrandInfoService extends IService<CarBrandInfo> {
+
+    /**
+     * 查询汽车品牌列表
+     * applet
+     * @return
+     */
+    Response selectCarBrandInfoList();
+
 }

+ 76 - 0
zzjs-service/src/main/java/com/miaxis/car/service/IUsedCarInfoService.java

@@ -0,0 +1,76 @@
+package com.miaxis.car.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.miaxis.car.domain.UsedCarInfo;
+import com.miaxis.car.dto.ExamineUsedCarDto;
+import com.miaxis.car.dto.UsedCarInfoDto;
+import com.miaxis.common.core.domain.Response;
+
+import java.util.List;
+
+/**
+ * 二手车service接口
+ * @author wwl
+ * @version 1.0
+ * @date 2021/5/26 13:42
+ */
+public interface IUsedCarInfoService extends IService<UsedCarInfo> {
+
+    /**
+     * 查询二手车列表
+     *
+     * @param usedCarInfo 二手车
+     * @return 二手车集合
+     */
+    List<UsedCarInfo> selectUsedCarInfoList(UsedCarInfo usedCarInfo);
+
+    /**
+     * applet
+     * 新增二手车
+     * @param usedCarInfoDto
+     * @return
+     */
+    Response saveUsedCarInfo(UsedCarInfoDto usedCarInfoDto);
+
+    /**
+     * 修改二手车
+     * @param usedCarInfoDto
+     * @return
+     */
+    Response updateUsedCarById(UsedCarInfoDto usedCarInfoDto);
+
+    /**
+     * 查询二手车参数列表
+     * @param parameterType
+     * @return
+     */
+    Response selectDictDataCarList(String[] parameterType);
+
+    /**
+     * 获取二手车详细信息
+     * @param id
+     * @return
+     */
+    Response getUsedCarById(Long id);
+
+    /**
+     * 编辑二手车
+     * @param usedCarInfoDto
+     * @return
+     */
+    Response editUsedCarById(UsedCarInfoDto usedCarInfoDto);
+
+    /**
+     * 二手车审核
+     * @param examineUsedCarDto
+     * @return
+     */
+    Response usedCarExamine(ExamineUsedCarDto examineUsedCarDto);
+
+    /**
+     * 删除二手车(伪删除)
+     * @param ids
+     * @return
+     */
+    Response removeUsedCarByIds(Long[] ids);
+}

+ 30 - 0
zzjs-service/src/main/java/com/miaxis/car/service/impl/CarBrandInfoServiceImpl.java

@@ -4,13 +4,43 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.miaxis.car.domain.CarBrandInfo;
 import com.miaxis.car.mapper.CarBrandInfoMapper;
 import com.miaxis.car.service.ICarBrandInfoService;
+import com.miaxis.common.core.domain.Response;
+import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
 /**
  * @author wwl
  * @version 1.0
  * @date 2021/5/21 10:42
  */
 @Service
+@AllArgsConstructor
 public class CarBrandInfoServiceImpl extends ServiceImpl<CarBrandInfoMapper, CarBrandInfo> implements ICarBrandInfoService {
+
+    private final CarBrandInfoMapper carBrandInfoMapper;
+
+
+    /**
+     * 查询汽车品牌列表 used_car_file
+     * @return
+     */
+    @Override
+    public Response selectCarBrandInfoList() {
+        List<CarBrandInfo> list = this.list();
+        Map<String, List<CarBrandInfo>> map = new HashMap<>();
+        for(int i=0;i<26;i++) {
+            System.out.print((char)('A'+i)+" ");
+            String s = String.valueOf((char) ('A' + i));
+            map.put(s,list.stream().filter(m -> s.equals(m.getFirstletter())).collect(Collectors.toList()));
+        }
+        return Response.success(map);
+    }
+
+
+
 }

+ 345 - 0
zzjs-service/src/main/java/com/miaxis/car/service/impl/UsedCarInfoServiceImpl.java

@@ -0,0 +1,345 @@
+package com.miaxis.car.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.miaxis.car.domain.CarParameterData;
+import com.miaxis.car.domain.UsedCarFile;
+import com.miaxis.car.domain.UsedCarInfo;
+import com.miaxis.car.dto.ExamineUsedCarDto;
+import com.miaxis.car.dto.UsedCarInfoDto;
+import com.miaxis.car.mapper.CarParameterDataMapper;
+import com.miaxis.car.mapper.UsedCarFileMapper;
+import com.miaxis.car.mapper.UsedCarInfoMapper;
+import com.miaxis.car.service.IUsedCarInfoService;
+import com.miaxis.car.vo.UsedCarInfoVo;
+import com.miaxis.common.core.domain.Response;
+import com.miaxis.common.core.domain.entity.SysDictData;
+import com.miaxis.common.exception.CustomException;
+import com.miaxis.common.utils.bean.BeanUtils;
+import com.miaxis.customer.domain.CustomerInfo;
+import com.miaxis.file.domain.FileInfo;
+import com.miaxis.file.service.IFileInfoService;
+import com.miaxis.system.mapper.SysDictDataMapper;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import static java.util.stream.Collectors.toList;
+
+/**
+ * 二手车Service业务层处理
+ * @author wwl
+ * @version 1.0
+ * @date 2021/5/26 13:43
+ */
+@Service
+@AllArgsConstructor
+public class UsedCarInfoServiceImpl extends ServiceImpl<UsedCarInfoMapper, UsedCarInfo> implements IUsedCarInfoService {
+
+    private final UsedCarInfoMapper usedCarInfoMapper;
+
+    private final UsedCarFileMapper usedCarFileMapper;
+
+    private final IFileInfoService fileInfoService;
+
+    private final CarParameterDataMapper carParameterDataMapper;
+
+    /**
+     * pc
+     * 查询二手车列表
+     *
+     * @param usedCarInfo 二手车
+     * @return 二手车
+     */
+    @Override
+    public List<UsedCarInfo> selectUsedCarInfoList(UsedCarInfo usedCarInfo){
+        return usedCarInfoMapper.selectUsedCarInfoList(usedCarInfo);
+    }
+
+    /**
+     * applet
+     * 新增二手车
+     * @param usedCarInfoDto
+     * @return
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Response saveUsedCarInfo(UsedCarInfoDto usedCarInfoDto) {
+        try{
+            UsedCarInfo usedCarInfo = new UsedCarInfo();
+            BeanUtils.copyProperties(usedCarInfoDto,usedCarInfo);
+            //保存二手车信息
+            this.save(usedCarInfo);
+            //保存二手车图片关联表
+            List<Long> pictureIds = usedCarInfoDto.getPictureIds();
+            if (!pictureIds.isEmpty()){
+                for (Long pictureId : pictureIds) {
+                    UsedCarFile usedCarFile = new UsedCarFile();
+                    usedCarFile.setUsedCarId(usedCarInfo.getId());
+                    usedCarFile.setFileId(pictureId);
+                    //主图标识
+                    if (pictureId.equals(usedCarInfoDto.getMainSignId())){
+                        usedCarFile.setSign("main");
+                    }
+                    usedCarFileMapper.insert(usedCarFile);
+                }
+            }
+
+            return Response.success();
+        }catch (Exception e){
+            throw new CustomException("系统异常");
+        }
+    }
+
+    /**
+     * pc
+     * 修改二手车
+     * @param usedCarInfoDto
+     * @return
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Response updateUsedCarById(UsedCarInfoDto usedCarInfoDto) {
+            try{
+                UsedCarInfo usedCarInfo = new UsedCarInfo();
+                BeanUtils.copyProperties(usedCarInfoDto,usedCarInfo);
+                //修改二手车
+                usedCarInfoMapper.updateById(usedCarInfo);
+
+            //修改二手车图片关联表
+            List<UsedCarFile> usedCarFiles = usedCarFileMapper.selectByMap(new HashMap<String, Object>() {{
+                put("used_car_id", usedCarInfoDto.getId());
+            }});
+
+            //删除图片ids
+            List<Long> fileIds = usedCarFiles.parallelStream()
+                    .map(u -> u.getFileId()).collect(toList())
+                    .stream()
+                    .filter(item -> !usedCarInfoDto.getPictureIds().contains(item))
+                    .collect(toList());
+            if (!fileIds.isEmpty()){
+                for (Long fileId : fileIds) {
+                    usedCarFileMapper.deleteByMap(new HashMap<String, Object>(){{
+                        put("used_car_id",usedCarInfoDto.getId());
+                        put("file_id",fileId);
+                    }});
+                }
+            }
+
+            //更新主图
+            List<Long> mainFileId = usedCarFiles.stream()
+                    .filter(u -> "main".equals(u.getSign()))
+                    .map(m -> m.getFileId())
+                    .collect(toList());
+
+            if (fileIds.contains(mainFileId.get(0))){
+                UsedCarFile usedCarFile = new UsedCarFile();
+                usedCarFile.setSign("main");
+                usedCarFileMapper.update(usedCarFile,new UpdateWrapper<UsedCarFile>()
+                        .eq("used_car_id",usedCarInfoDto.getId())
+                        .eq("file_id",mainFileId.get(0)));
+            }
+
+            if (!usedCarInfoDto.getMainSignId().equals(mainFileId.get(0))){
+                UsedCarFile mainUsedCarFile = new UsedCarFile();
+                mainUsedCarFile.setSign("main");
+                usedCarFileMapper.update(mainUsedCarFile,new UpdateWrapper<UsedCarFile>()
+                        .eq("used_car_id",usedCarInfoDto.getId())
+                        .eq("file_id",usedCarInfoDto.getMainSignId()));
+
+                if (!fileIds.contains(mainFileId.get(0))){
+                    UsedCarFile usedCarFile = new UsedCarFile();
+                    usedCarFile.setSign("1");
+                    usedCarFileMapper.update(usedCarFile,new UpdateWrapper<UsedCarFile>()
+                            .eq("used_car_id",usedCarInfoDto.getId())
+                            .eq("file_id",mainFileId.get(0)));
+                }
+            }
+
+            return Response.success();
+        }catch (Exception e){
+            throw new CustomException("系统异常");
+        }
+    }
+
+
+    /**
+     * 查询二手车参数列表
+     * @param parameterType
+     * @return
+     */
+    @Override
+    public Response selectDictDataCarList(String[] parameterType) {
+        HashMap<String, List<CarParameterData>> map = new HashMap<>();
+        for (String parameter : parameterType) {
+            map.put(parameter,carParameterDataMapper.selectByMap(new HashMap<String, Object>(){{
+                put("parameter_type",parameter);
+            }}));
+        }
+        return Response.success(map);
+    }
+
+
+    /**
+     * 获取二手车详细信息
+     * @param id
+     * @return
+     */
+    @Override
+    public Response getUsedCarById(Long id) {
+
+        //返回值
+        UsedCarInfoVo usedCarInfoVo = new UsedCarInfoVo();
+
+        UsedCarInfo usedCarInfo = usedCarInfoMapper.selectById(id);
+        BeanUtils.copyProperties(usedCarInfo,usedCarInfoVo);
+
+        List<UsedCarFile> usedCarFiles = usedCarFileMapper.selectByMap(new HashMap<String, Object>() {{
+            put("used_car_id", id);
+        }});
+        List<Long> fileIds = usedCarFiles.stream().map(m -> m.getFileId()).collect(toList());
+
+        ArrayList<Map<String, String>> listMaps = new ArrayList<>();
+        List<FileInfo> fileInfos = fileInfoService.list(new QueryWrapper<FileInfo>().in("file_id", fileIds));
+        for (FileInfo fileInfo : fileInfos) {
+            HashMap<String, String> map = new HashMap<>();
+            map.put("id",fileInfo.getFileId().toString());
+            map.put("fileUrl",fileInfo.getFileUrl());
+            listMaps.add(map);
+        }
+        usedCarInfoVo.setMainSignId(usedCarFiles.stream().filter(u -> "main".equals(u.getSign())).collect(toList()).get(0).getFileId());
+        usedCarInfoVo.setPictureUrlList(listMaps);
+        return Response.success(usedCarInfoVo);
+    }
+
+
+    /**
+     * applet
+     * 编辑二手车
+     * @param usedCarInfoDto
+     * @return
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Response editUsedCarById(UsedCarInfoDto usedCarInfoDto) {
+        try{
+            UsedCarInfo usedCarInfo = new UsedCarInfo();
+            BeanUtils.copyProperties(usedCarInfoDto,usedCarInfo);
+            //修改二手车
+            usedCarInfoMapper.updateById(usedCarInfo);
+
+            //修改二手车图片关联表
+            List<UsedCarFile> usedCarFiles = usedCarFileMapper.selectByMap(new HashMap<String, Object>() {{
+                put("used_car_id", usedCarInfoDto.getId());
+            }});
+
+            //原主图id
+            List<Long> mainFileId = usedCarFiles.stream()
+                    .filter(u -> "main".equals(u.getSign()))
+                    .map(m -> m.getFileId())
+                    .collect(toList());
+
+            //删除图片ids
+            List<Long> delFileIds = usedCarFiles.parallelStream()
+                    .map(u -> u.getFileId()).collect(toList())
+                    .stream()
+                    .filter(item -> !usedCarInfoDto.getPictureIds().contains(item))
+                    .collect(toList());
+
+            //新增图片ids
+            List<Long> addfileIds = usedCarInfoDto.getPictureIds()
+                    .parallelStream()
+                    .filter(item ->
+                            !usedCarFiles.parallelStream()
+                            .map(u -> u.getFileId()).collect(toList()).contains(item))
+                    .collect(toList());
+
+            if (!delFileIds.isEmpty()){
+                for (Long fileId : delFileIds) {
+                    usedCarFileMapper.deleteByMap(new HashMap<String, Object>(){{
+                        put("used_car_id",usedCarInfoDto.getId());
+                        put("file_id",fileId);
+                    }});
+                }
+            }
+            if (!addfileIds.isEmpty()){
+                //保存新增图片id
+                for (Long addfileId : addfileIds) {
+                    UsedCarFile addUsedCarFile = new UsedCarFile();
+                    addUsedCarFile.setFileId(addfileId);
+
+                    addUsedCarFile.setUsedCarId(usedCarInfoDto.getId());
+                    if (addfileId.equals(usedCarInfoDto.getMainSignId())){
+                        addUsedCarFile.setSign("main");
+                    }
+                    usedCarFileMapper.insert(addUsedCarFile);
+                }
+            }
+
+            //判断主图是否被修改
+            if (!usedCarInfoDto.getMainSignId().equals(mainFileId.get(0))){
+
+                if (!delFileIds.contains(mainFileId.get(0))){
+                    //更新原主图
+                    UsedCarFile usedCarFile = new UsedCarFile();
+                    usedCarFile.setSign("1");
+                    usedCarFileMapper.update(usedCarFile,new UpdateWrapper<UsedCarFile>()
+                            .eq("used_car_id",usedCarInfoDto.getId())
+                            .eq("file_id",mainFileId.get(0)));
+                }
+
+                //判断是新增主图还是修改主图
+                if (!addfileIds.contains(usedCarInfoDto.getMainSignId())){
+                    UsedCarFile mainUsedCarFile = new UsedCarFile();
+                    mainUsedCarFile.setSign("main");
+                    usedCarFileMapper.update(mainUsedCarFile,new UpdateWrapper<UsedCarFile>()
+                            .eq("used_car_id",usedCarInfoDto.getId())
+                            .eq("file_id",usedCarInfoDto.getMainSignId()));
+                }
+            }
+
+            return Response.success();
+        }catch (Exception e){
+            throw new CustomException("系统异常");
+        }
+    }
+
+
+    /**
+     *  二手车审核
+     * @param examineUsedCarDto
+     * @return
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Response usedCarExamine(ExamineUsedCarDto examineUsedCarDto) {
+        UsedCarInfo usedCarInfo = new UsedCarInfo();
+        BeanUtils.copyProperties(examineUsedCarDto,usedCarInfo);
+        usedCarInfoMapper.updateById(usedCarInfo);
+        return Response.success();
+    }
+
+
+    /**
+     * 删除二手车(伪删除)
+     * @param ids
+     * @return
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Response removeUsedCarByIds(Long[] ids) {
+        for (Long id : ids) {
+            this.update(new UpdateWrapper<UsedCarInfo>().set("status",1).eq("id",id));
+        }
+        return Response.success();
+    }
+
+
+}

+ 117 - 0
zzjs-service/src/main/java/com/miaxis/car/vo/UsedCarInfoVo.java

@@ -0,0 +1,117 @@
+package com.miaxis.car.vo;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 二手车对象 used_car_info 返回参
+ * @author wwl
+ * @version 1.0
+ * @date 2021/5/26 15:03
+ */
+@Data
+@ApiModel(value = "UsedCarInfoVo", description = "二手车对象返回参")
+public class UsedCarInfoVo {
+
+    @TableId(value = "id")
+    @ApiModelProperty(value = "$column.columnComment")
+    private Long id;
+
+    @TableField("user_id")
+    @ApiModelProperty(value = "用户id(user_info表id)")
+    private Long userId;
+
+    @TableField("car_brand")
+    @ApiModelProperty(value = "车辆品牌id(关联car_brand_info表)")
+    private Long carBrand;
+
+    @TableField("car_series")
+    @ApiModelProperty(value = "车系车款")
+    private String carSeries;
+
+    @TableField("vehicle_displacement")
+    @ApiModelProperty(value = "汽车排量")
+    private String vehicleDisplacement;
+
+    @TableField("purchase_date")
+    @ApiModelProperty(value = "购买日期")
+    private Date purchaseDate;
+
+    @TableField("selling_price")
+    @ApiModelProperty(value = "出售价格")
+    private BigDecimal sellingPrice;
+
+    @TableField("vehicle_introduction")
+    @ApiModelProperty(value = "车辆介绍")
+    private String vehicleIntroduction;
+
+    @TableField("producing_country")
+    @ApiModelProperty(value = "生产国")
+    private Integer producingCountry;
+
+    @TableField("number_of_seats")
+    @ApiModelProperty(value = "座位数")
+    private Integer numberOfSeats;
+
+    @TableField("model")
+    @ApiModelProperty(value = "车型")
+    private Integer model;
+
+    @TableField("fuel")
+    @ApiModelProperty(value = "燃料")
+    private String fuel;
+
+    @TableField("body_structure")
+    @ApiModelProperty(value = "车身结构")
+    private String bodyStructure;
+
+    @TableField("driving_mode")
+    @ApiModelProperty(value = "驱动方式")
+    private String drivingMode;
+
+    @TableField("transmission_case")
+    @ApiModelProperty(value = "变速箱")
+    private String transmissionCase;
+
+    @TableField("purchase_price")
+    @ApiModelProperty(value = "购买价格")
+    private BigDecimal purchasePrice;
+
+    @TableField("transfer_frequency")
+    @ApiModelProperty(value = "过户次数")
+    private Integer transferFrequency;
+
+    @TableField("emission_standard")
+    @ApiModelProperty(value = "排放标准")
+    private Integer emissionStandard;
+
+    @TableField("car_watching_point")
+    @ApiModelProperty(value = "看车点")
+    private String carWatchingPoint;
+
+    @ApiModelProperty(value = "主图标识-图片id")
+    private Long mainSignId;
+
+    @ApiModelProperty(value = "图片url集合")
+    private List<Map<String, String>> pictureUrlList;
+
+    @TableField("examine_status")
+    @ApiModelProperty(value = "审核状态  0:待审核(默认)、1:审核通过、2:审核未通过")
+    private String examineStatus;
+
+    @TableField("audit_information")
+    @ApiModelProperty(value = "审核信息(审核未通过原因)")
+    private String auditInformation;
+
+    @TableField("status")
+    @ApiModelProperty(value = "状态  0:有效(默认)、1:失效 (伪删除)")
+    private String status;
+}

+ 62 - 0
zzjs-service/src/main/resources/mapper/car/UsedCarInfoMapper.xml

@@ -0,0 +1,62 @@
+<?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.miaxis.car.mapper.UsedCarInfoMapper">
+
+    <resultMap type="UsedCarInfo" id="UsedCarInfoResult">
+        <result property="id"    column="id"    />
+        <result property="userId"    column="user_id"    />
+        <result property="carBrand"    column="car_brand"    />
+        <result property="carSeries"    column="car_series"    />
+        <result property="vehicleDisplacement"    column="vehicle_displacement"    />
+        <result property="purchaseDate"    column="purchase_date"    />
+        <result property="sellingPrice"    column="selling_price"    />
+        <result property="vehicleIntroduction"    column="vehicle_introduction"    />
+        <result property="producingCountry"    column="producing_country"    />
+        <result property="numberOfSeats"    column="number_of_seats"    />
+        <result property="model"    column="model"    />
+        <result property="fuel"    column="fuel"    />
+        <result property="bodyStructure"    column="body_structure"    />
+        <result property="drivingMode"    column="driving_mode"    />
+        <result property="transmissionCase"    column="transmission_case"    />
+        <result property="purchasePrice"    column="purchase_price"    />
+        <result property="transferFrequency"    column="transfer_frequency"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="emissionStandard"    column="emission_standard"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="carWatchingPoint"    column="car_watching_point"    />
+        <result property="examineStatus"    column="examine_status"    />
+        <result property="auditInformation"    column="audit_information"    />
+        <result property="status"    column="status"    />
+    </resultMap>
+
+    <sql id="selectUsedCarInfoVo">
+        select * from used_car_info
+    </sql>
+
+    <select id="selectUsedCarInfoList" parameterType="UsedCarInfo" resultMap="UsedCarInfoResult">
+        <include refid="selectUsedCarInfoVo"/>
+        <where>
+            <if test="carBrand != null "> and car_brand = #{carBrand}</if>
+            <if test="carSeries != null  and carSeries != ''"> and car_series = #{carSeries}</if>
+            <if test="vehicleDisplacement != null  and vehicleDisplacement != ''"> and vehicle_displacement = #{vehicleDisplacement}</if>
+            <if test="purchaseDate != null "> and purchase_date = #{purchaseDate}</if>
+            <if test="sellingPrice != null "> and selling_price = #{sellingPrice}</if>
+            <if test="vehicleIntroduction != null  and vehicleIntroduction != ''"> and vehicle_introduction = #{vehicleIntroduction}</if>
+            <if test="producingCountry != null "> and producing_country = #{producingCountry}</if>
+            <if test="numberOfSeats != null "> and number_of_seats = #{numberOfSeats}</if>
+            <if test="model != null "> and model = #{model}</if>
+            <if test="fuel != null  and fuel != ''"> and fuel = #{fuel}</if>
+            <if test="bodyStructure != null  and bodyStructure != ''"> and body_structure = #{bodyStructure}</if>
+            <if test="drivingMode != null  and drivingMode != ''"> and driving_mode = #{drivingMode}</if>
+            <if test="transmissionCase != null  and transmissionCase != ''"> and transmission_case = #{transmissionCase}</if>
+            <if test="purchasePrice != null "> and purchase_price = #{purchasePrice}</if>
+            <if test="transferFrequency != null "> and transfer_frequency = #{transferFrequency}</if>
+            <if test="emissionStandard != null "> and emission_standard = #{emissionStandard}</if>
+            <if test="carWatchingPoint != null  and carWatchingPoint != ''"> and car_watching_point = #{carWatchingPoint}</if>
+            <if test="status != null  and status != ''"> and status = #{status}</if>
+        </where>
+    </select>
+
+</mapper>