Commit de4f3007 authored by zhangzc's avatar zhangzc

添加车辆模块

parent e2f100a5
package com.esv.freight.app.feign;
import com.alibaba.fastjson.JSONObject;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
/**
* @description:
* @project: Freight
* @name: com.esv.freight.app.feign.VehicleInterface
* @author: 张志臣
* @email: zhangzhichen@esvtek.com
* @createTime: 2020/04/28 17:00
* @version:1.0
*/
@FeignClient(value = "freight-customer-service")
public interface VehicleInterface {
/**
* 新增车辆
* @param bodyJson
* @return
*/
@PostMapping(value = "customer/carrier/vehicle/add")
JSONObject add(JSONObject bodyJson);
/**
* 更新车辆
* @param bodyJson
* @return
*/
@PostMapping(value = "customer/carrier/vehicle/edit")
JSONObject edit(JSONObject bodyJson);
/**
* 获取车辆详情
* @param bodyJson
* @return
*/
@PostMapping(value = "customer/carrier/vehicle/detail")
JSONObject detail(JSONObject bodyJson);
/**
* 分页查询车辆列表
* @param bodyJson
* @return
*/
@PostMapping(value = "customer/carrier/vehicle/list")
JSONObject list(JSONObject bodyJson);
}
package com.esv.freight.app.module.order.form; package com.esv.freight.app.module.order.form;
import com.esv.freight.app.common.util.DateUtils;
import com.esv.freight.app.common.validator.groups.ValidatorDelete; import com.esv.freight.app.common.validator.groups.ValidatorDelete;
import com.esv.freight.app.common.validator.groups.ValidatorInsert; import com.esv.freight.app.common.validator.groups.ValidatorInsert;
import com.esv.freight.app.common.validator.groups.ValidatorList; import com.esv.freight.app.common.validator.groups.ValidatorList;
import com.esv.freight.app.common.validator.groups.ValidatorUpdate; import com.esv.freight.app.common.validator.groups.ValidatorUpdate;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.*;
import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle; import org.apache.commons.lang3.builder.ToStringStyle;
import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.Range; import org.hibernate.validator.constraints.Range;
import javax.validation.constraints.DecimalMax;
import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Positive;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
/** /**
* @description: * @description:
......
package com.esv.freight.app.module.vehicle.controller;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.esv.freight.app.common.response.ECode;
import com.esv.freight.app.common.response.EResponse;
import com.esv.freight.app.common.util.ReqUtils;
import com.esv.freight.app.common.validator.groups.ValidatorInsert;
import com.esv.freight.app.common.validator.groups.ValidatorUpdate;
import com.esv.freight.app.feign.VehicleInterface;
import com.esv.freight.app.module.account.service.AppLoginService;
import com.esv.freight.app.module.order.form.OrderForm;
import com.esv.freight.app.module.order.vo.OrderListItemVO;
import com.esv.freight.app.module.order.vo.OrderListVO;
import com.esv.freight.app.module.vehicle.form.VehicleForm;
import com.esv.freight.app.module.vehicle.form.VehicleQueryForm;
import com.esv.freight.app.module.vehicle.vo.VehicleDetailVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List;
/**
* @description: 车辆Controller
* @project: Freight
* @name: com.esv.freight.app.module.vehicle.controller.VehicleController
* @author: 张志臣
* @email: zhangzhichen@esvtek.com
* @createTime: 2020/04/28 17:00
* @version:1.0
*/
@RestController
@RequestMapping("/driverBackend/vehicle")
@Slf4j
@Validated
public class VehicleController {
private AppLoginService appLoginService;
private VehicleInterface vehicleInterface;
@Autowired
public VehicleController(VehicleInterface vehicleInterface, AppLoginService appLoginService) {
this.appLoginService = appLoginService;
this.vehicleInterface = vehicleInterface;
}
/**
* description 添加车辆
* param vehicleForm
* return com.esv.freight.common.response.EResponse
* author 张志臣
* createTime 2020/04/28 17:00
**/
@PostMapping("/add")
public EResponse add(@RequestBody(required=false) @Validated(ValidatorInsert.class) VehicleForm vehicleForm) {
String accessToken = ReqUtils.getTokenInfo().getAccessToken();
if(appLoginService.isInvalidAccessToken(accessToken)) {
return EResponse.error(ECode.TOKEN_EXPIRED);
}
// 调用新增车辆接口
JSONObject reqJson = new JSONObject();
reqJson.put("carrierId", vehicleForm.getCarrierId());
reqJson.put("licenseNumber", vehicleForm.getLicenseNumber());
reqJson.put("licenseType", vehicleForm.getLicenseType());
reqJson.put("licenseColor", vehicleForm.getLicenseColor());
reqJson.put("vehicleType", vehicleForm.getVehicleType());
reqJson.put("vehicleType2", vehicleForm.getVehicleType2());
reqJson.put("vehicleLength", vehicleForm.getVehicleLength());
reqJson.put("vehicleWidth", vehicleForm.getVehicleWidth());
reqJson.put("vehicleHeight", vehicleForm.getVehicleHeight());
reqJson.put("vehicleBelong", "1"); // 车辆所属(字典表):1-自有车、2-外协车
reqJson.put("yearAuditDate", vehicleForm.getYearAuditDate());
reqJson.put("energyType", vehicleForm.getEnergyType());
reqJson.put("vehicleLicenseNumber", vehicleForm.getVehicleLicenseNumber());
reqJson.put("loadCapacity", vehicleForm.getLoadCapacity());
reqJson.put("totalMass", vehicleForm.getTotalMass());
reqJson.put("unladenMass", vehicleForm.getUnladenMass());
reqJson.put("vehicleOwner", vehicleForm.getVehicleOwner());
reqJson.put("vehicleOwnerCode", vehicleForm.getVehicleOwnerCode());
reqJson.put("useNature", vehicleForm.getUseNature());
reqJson.put("registerDate", vehicleForm.getRegisterDate());
reqJson.put("vin", vehicleForm.getVin());
reqJson.put("brandModel", vehicleForm.getBrandModel());
reqJson.put("engineNumber", vehicleForm.getEngineNumber());
reqJson.put("vehicleLicenseIssuedDate", vehicleForm.getVehicleLicenseIssuedDate());
reqJson.put("vehicleLicenseExpireDate", vehicleForm.getVehicleLicenseExpireDate());
reqJson.put("vehicleLicenseIssueDepartment", vehicleForm.getVehicleLicenseIssueDepartment());
reqJson.put("roadCertificateNumber", vehicleForm.getRoadCertificateNumber());
reqJson.put("businessLicenseNumber", vehicleForm.getBusinessLicenseNumber());
reqJson.put("businessLicenseExpireDate", vehicleForm.getBusinessLicenseExpireDate());
reqJson.put("vehicleProvinceCode", vehicleForm.getVehicleProvinceCode());
reqJson.put("vehicleCityCode", vehicleForm.getVehicleCityCode());
reqJson.put("vehicleDistrictCode", vehicleForm.getVehicleDistrictCode());
reqJson.put("etc", vehicleForm.getEtc());
reqJson.put("vehicleHeadUrl", vehicleForm.getVehicleHeadUrl());
reqJson.put("vehicleHeadPersonUrl", vehicleForm.getVehicleHeadPersonUrl());
reqJson.put("vehicleLicenseFrontUrl", vehicleForm.getVehicleLicenseFrontUrl());
reqJson.put("vehicleLicenseBackUrl", vehicleForm.getVehicleLicenseBackUrl());
reqJson.put("roadCertificateFrontUrl", vehicleForm.getRoadCertificateFrontUrl());
reqJson.put("attachedStatementUrl", vehicleForm.getAttachedStatementUrl());
log.info(reqJson.toJSONString());
JSONObject result = vehicleInterface.add(reqJson);
log.info(result.toJSONString());
if(result.getInteger("code") != 200) {
return EResponse.error(result.getInteger("code"), result.getString("message"));
}
return EResponse.ok();
}
/**
* description 编辑车辆
* param vehicleForm
* return com.esv.freight.common.response.EResponse
* author 张志臣
* createTime 2020/04/28 17:00
**/
@PostMapping("/edit")
public EResponse edit(@RequestBody(required=false) @Validated(ValidatorUpdate.class) VehicleForm vehicleForm) {
String accessToken = ReqUtils.getTokenInfo().getAccessToken();
if(appLoginService.isInvalidAccessToken(accessToken)) {
return EResponse.error(ECode.TOKEN_EXPIRED);
}
// 调用编辑车辆接口
JSONObject reqJson = new JSONObject();
reqJson.put("id", vehicleForm.getId());
reqJson.put("licenseNumber", vehicleForm.getLicenseNumber());
reqJson.put("licenseType", vehicleForm.getLicenseType());
reqJson.put("licenseColor", vehicleForm.getLicenseColor());
reqJson.put("vehicleType", vehicleForm.getVehicleType());
reqJson.put("vehicleType2", vehicleForm.getVehicleType2());
reqJson.put("vehicleLength", vehicleForm.getVehicleLength());
reqJson.put("vehicleWidth", vehicleForm.getVehicleWidth());
reqJson.put("vehicleHeight", vehicleForm.getVehicleHeight());
reqJson.put("vehicleBelong", "1"); // 车辆所属(字典表):1-自有车、2-外协车
reqJson.put("yearAuditDate", vehicleForm.getYearAuditDate());
reqJson.put("energyType", vehicleForm.getEnergyType());
reqJson.put("vehicleLicenseNumber", vehicleForm.getVehicleLicenseNumber());
reqJson.put("loadCapacity", vehicleForm.getLoadCapacity());
reqJson.put("totalMass", vehicleForm.getTotalMass());
reqJson.put("unladenMass", vehicleForm.getUnladenMass());
reqJson.put("vehicleOwner", vehicleForm.getVehicleOwner());
reqJson.put("vehicleOwnerCode", vehicleForm.getVehicleOwnerCode());
reqJson.put("useNature", vehicleForm.getUseNature());
reqJson.put("registerDate", vehicleForm.getRegisterDate());
reqJson.put("vin", vehicleForm.getVin());
reqJson.put("brandModel", vehicleForm.getBrandModel());
reqJson.put("engineNumber", vehicleForm.getEngineNumber());
reqJson.put("vehicleLicenseIssuedDate", vehicleForm.getVehicleLicenseIssuedDate());
reqJson.put("vehicleLicenseExpireDate", vehicleForm.getVehicleLicenseExpireDate());
reqJson.put("vehicleLicenseIssueDepartment", vehicleForm.getVehicleLicenseIssueDepartment());
reqJson.put("roadCertificateNumber", vehicleForm.getRoadCertificateNumber());
reqJson.put("businessLicenseNumber", vehicleForm.getBusinessLicenseNumber());
reqJson.put("businessLicenseExpireDate", vehicleForm.getBusinessLicenseExpireDate());
reqJson.put("vehicleProvinceCode", vehicleForm.getVehicleProvinceCode());
reqJson.put("vehicleCityCode", vehicleForm.getVehicleCityCode());
reqJson.put("vehicleDistrictCode", vehicleForm.getVehicleDistrictCode());
reqJson.put("etc", vehicleForm.getEtc());
reqJson.put("vehicleHeadUrl", vehicleForm.getVehicleHeadUrl());
reqJson.put("vehicleHeadPersonUrl", vehicleForm.getVehicleHeadPersonUrl());
reqJson.put("vehicleLicenseFrontUrl", vehicleForm.getVehicleLicenseFrontUrl());
reqJson.put("vehicleLicenseBackUrl", vehicleForm.getVehicleLicenseBackUrl());
reqJson.put("roadCertificateFrontUrl", vehicleForm.getRoadCertificateFrontUrl());
reqJson.put("attachedStatementUrl", vehicleForm.getAttachedStatementUrl());
log.info(reqJson.toJSONString());
JSONObject result = vehicleInterface.edit(reqJson);
log.info(result.toJSONString());
if(result.getInteger("code") != 200) {
return EResponse.error(result.getInteger("code"), result.getString("message"));
}
return EResponse.ok();
}
/**
* description 获取车辆详情
* param vehicleQueryForm
* return com.esv.freight.common.response.EResponse
* author 张志臣
* createTime 2020/04/28 17:00
**/
@PostMapping("/detail")
public EResponse detail(@RequestBody(required=false) @Validated(ValidatorUpdate.class) VehicleQueryForm vehicleQueryForm) {
String accessToken = ReqUtils.getTokenInfo().getAccessToken();
if(appLoginService.isInvalidAccessToken(accessToken)) {
return EResponse.error(ECode.TOKEN_EXPIRED);
}
// 调用获取订单详情接口
JSONObject reqJson = new JSONObject();
reqJson.put("id", vehicleQueryForm.getId());
log.info(reqJson.toJSONString());
JSONObject result = vehicleInterface.detail(reqJson);
log.info(result.toJSONString());
if(result.getInteger("code") != 200) {
return EResponse.error(result.getInteger("code"), result.getString("message"));
}
VehicleDetailVO vehicleDetailVO = new VehicleDetailVO();
JSONObject data = result.getJSONObject("data");
vehicleDetailVO.setId(data.getLong("id"));
vehicleDetailVO.setCarrierId(data.getLong("carrierId"));
vehicleDetailVO.setCarrierName(data.getString("carrierName"));
vehicleDetailVO.setLicenseNumber(data.getString("licenseNumber"));
vehicleDetailVO.setVehicleStatus(data.getString("vehicleStatus"));
vehicleDetailVO.setAuditStatus(data.getInteger("auditStatus"));
vehicleDetailVO.setLicenseType(data.getInteger("licenseType"));
vehicleDetailVO.setLicenseColor(data.getInteger("licenseColor"));
vehicleDetailVO.setVehicleType(data.getInteger("vehicleType"));
vehicleDetailVO.setVehicleType2(data.getInteger("vehicleType2"));
vehicleDetailVO.setVehicleLength(data.getInteger("vehicleLength"));
vehicleDetailVO.setVehicleWidth(data.getInteger("vehicleWidth"));
vehicleDetailVO.setVehicleHeight(data.getInteger("vehicleHeight"));
vehicleDetailVO.setVehicleBelong(data.getInteger("vehicleBelong"));
vehicleDetailVO.setYearAuditDate(data.getString("yearAuditDate"));
vehicleDetailVO.setEnergyType(data.getInteger("energyType"));
vehicleDetailVO.setVehicleLicenseNumber(data.getString("vehicleLicenseNumber"));
vehicleDetailVO.setLoadCapacity(data.getBigDecimal("loadCapacity"));
vehicleDetailVO.setTotalMass(data.getBigDecimal("totalMass"));
vehicleDetailVO.setUnladenMass(data.getBigDecimal("unladenMass"));
vehicleDetailVO.setVehicleOwner(data.getString("vehicleOwner"));
vehicleDetailVO.setVehicleOwnerCode(data.getString("vehicleOwnerCode"));
vehicleDetailVO.setUseNature(data.getString("useNature"));
vehicleDetailVO.setRegisterDate(data.getString("registerDate"));
vehicleDetailVO.setVin(data.getString("vin"));
vehicleDetailVO.setBrandModel(data.getString("brandModel"));
vehicleDetailVO.setEngineNumber(data.getString("engineNumber"));
vehicleDetailVO.setVehicleLicenseIssuedDate(data.getString("vehicleLicenseIssuedDate"));
vehicleDetailVO.setVehicleLicenseExpireDate(data.getString("vehicleLicenseExpireDate"));
vehicleDetailVO.setVehicleLicenseIssueDepartment(data.getString("vehicleLicenseIssueDepartment"));
vehicleDetailVO.setRoadCertificateNumber(data.getString("roadCertificateNumber"));
vehicleDetailVO.setBusinessLicenseNumber(data.getString("businessLicenseNumber"));
vehicleDetailVO.setBusinessLicenseExpireDate(data.getString("businessLicenseExpireDate"));
vehicleDetailVO.setVehicleProvinceCode(data.getString("vehicleProvinceCode"));
vehicleDetailVO.setVehicleCityCode(data.getString("vehicleCityCode"));
vehicleDetailVO.setVehicleDistrictCode(data.getString("vehicleDistrictCode"));
vehicleDetailVO.setEtc(data.getString("etc"));
vehicleDetailVO.setUploadState(data.getInteger("uploadState"));
vehicleDetailVO.setUploadTime(data.getString("uploadTime"));
vehicleDetailVO.setVehicleHeadUrl(data.getString("vehicleHeadUrl"));
vehicleDetailVO.setVehicleHeadPersonUrl(data.getString("vehicleHeadPersonUrl"));
vehicleDetailVO.setVehicleLicenseFrontUrl(data.getString("vehicleLicenseFrontUrl"));
vehicleDetailVO.setVehicleLicenseBackUrl(data.getString("vehicleLicenseBackUrl"));
vehicleDetailVO.setRoadCertificateFrontUrl(data.getString("roadCertificateFrontUrl"));
vehicleDetailVO.setAttachedStatementUrl(data.getString("attachedStatementUrl"));
return EResponse.ok(vehicleDetailVO);
}
/**
* description 分页查询车辆列表
* param vehicleQueryForm
* return com.esv.freight.common.response.EResponse
* author 张志臣
* createTime 2020/04/28 17:00
**/
@PostMapping("/list")
public EResponse list(@RequestBody(required=false) @Validated(ValidatorUpdate.class) VehicleQueryForm vehicleQueryForm) {
String accessToken = ReqUtils.getTokenInfo().getAccessToken();
if(appLoginService.isInvalidAccessToken(accessToken)) {
return EResponse.error(ECode.TOKEN_EXPIRED);
}
// 调用订单列表分页查询接口
/* JSONObject reqJson = new JSONObject();
reqJson.put("goodsOwnerId", orderQueryForm.getGoodsOwnerId());
reqJson.put("pageNum", orderQueryForm.getPageNum());
reqJson.put("pageSize", orderQueryForm.getPageSize());
reqJson.put("orderStateList", orderQueryForm.getOrderStateList());
log.info(reqJson.toJSONString());
JSONObject result = tmsInterface.listOrders(reqJson);
log.info(result.toJSONString());
if(result.getInteger("code") != 200) {
return EResponse.error(result.getInteger("code"), result.getString("message"));
}
OrderListVO pageResultVO = new OrderListVO();
JSONObject data = result.getJSONObject("data");
pageResultVO.setPageSize(data.getLong("pageSize"));
pageResultVO.setPageNum(data.getLong("pageNum"));
pageResultVO.setTotal(data.getLong("total"));
pageResultVO.setRecordSize(data.getLong("recordSize"));
if(pageResultVO.getRecordSize() > 0) {
JSONArray items = data.getJSONArray("records");
List<OrderListItemVO> records = new ArrayList<>();
for(int i=0; i<items.size(); ++i) {
OrderListItemVO vo = new OrderListItemVO();
JSONObject object = items.getJSONObject(i);
vo.setId(object.getLong("id"));
vo.setOrderNO(object.getString("orderNo"));
vo.setOrderState(object.getInteger("orderState"));
vo.setAuditState(object.getInteger("auditState"));
vo.setDeliveryCityCode(object.getString("deliveryCityCode"));
vo.setReceiveCityCode(object.getString("receiveCityCode"));
vo.setBusinessType(object.getInteger("businessType"));
vo.setGoodsType(object.getInteger("goodsType"));
vo.setGoodsName(object.getInteger("goodsName"));
vo.setGoodsDetail(object.getString("goodsDetail"));
vo.setGoodsTotalAmount(object.getBigDecimal("goodsTotalAmount"));
vo.setGoodsUnit(object.getString("goodsUnit"));
vo.setRequiredDeliveryTime(object.getDate("requiredDeliveryTime"));
vo.setRequiredReceiveTime(object.getDate("requiredReceiveTime"));
vo.setCreateTime(object.getDate("createTime"));
vo.setOrderSource(object.getString("orderSource"));
records.add(vo);
}
pageResultVO.setRecord(records);
}*/
return EResponse.ok();
}
}
package com.esv.freight.app.module.vehicle.form;
import com.esv.freight.app.common.validator.groups.ValidatorInsert;
import com.esv.freight.app.common.validator.groups.ValidatorUpdate;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.Range;
import javax.validation.constraints.*;
import java.math.BigDecimal;
/**
* @description:
* @project: Freight
* @name: com.esv.freight.app.module.vehicle.form.VehicleForm
* @author: 张志臣
* @email: zhangzhichen@esvtek.com
* @createTime: 2020/04/28 16:00
* @version:1.0
*/
@Data
public class VehicleForm {
/**
*
*/
@NotNull(message = "参数id不能为空", groups = {ValidatorUpdate.class})
private Long id;
/**
* 承运商帐号ID
*/
@NotNull(message = "参数carrierId不能为空", groups = {ValidatorInsert.class})
private Long carrierId;
/**
* 车牌号
*/
@Length(min = 7, max = 8, message = "参数licenseNumber长度不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
@NotBlank(message = "参数licenseNumber不能为空", groups = {ValidatorInsert.class})
private String licenseNumber;
/**
* 牌照类型(字典表):1-大型汽车号牌、2-小型汽车号牌、3-其他号牌
*/
@Range(min = 1, max = 3, message = "参数licenseType不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
@NotNull(message = "参数licenseType不能为空", groups = {ValidatorInsert.class})
private Integer licenseType;
/**
* 车牌颜色(字典表):1-蓝色、2-黄色、3-黑色、4-白色、5-绿色、6-农黄色、7-农绿色、8-黄绿色、9-渐变绿、0-其他
*/
@Range(min = 0, max = 9, message = "参数licenseColor不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
@NotNull(message = "参数licenseColor不能为空", groups = {ValidatorInsert.class})
private Integer licenseColor;
/**
* 车辆类型(字典表)
*/
@NotNull(message = "参数vehicleType不能为空", groups = {ValidatorInsert.class})
private Integer vehicleType;
/**
* 二级车辆类型(字典表)
*/
@NotNull(message = "参数vehicleType2不能为空", groups = {ValidatorInsert.class})
private Integer vehicleType2;
/**
* 车辆长度(单位毫米)
*/
@Range(min = 1000, max = 50000, message = "参数vehicleLength不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
@NotNull(message = "参数vehicleLength不能为空", groups = {ValidatorInsert.class})
private Integer vehicleLength;
/**
* 车辆宽度(单位毫米)
*/
@Range(min = 1000, max = 5000, message = "参数vehicleWidth不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
@NotNull(message = "参数vehicleWidth不能为空", groups = {ValidatorInsert.class})
private Integer vehicleWidth;
/**
* 车辆高度(单位毫米)
*/
@Range(min = 1000, max = 5000, message = "参数vehicleHeight不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
@NotNull(message = "参数vehicleHeight不能为空", groups = {ValidatorInsert.class})
private Integer vehicleHeight;
/**
* 车辆所属(字典表):1-自有车、2-外协车
*/
@Range(min = 1, max = 2, message = "参数vehicleBelong不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
@NotNull(message = "参数vehicleBelong不能为空", groups = {ValidatorInsert.class})
private Integer vehicleBelong;
/**
* 年审日期
*/
@Length(max = 20, message = "参数yearAuditDate长度不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
private String yearAuditDate;
/**
* 能源类型(字典表):1-汽油、2-柴油、3-电、4-混合油、5-天然气、6-液化石油气、7-甲醇、8-乙醇、9-太阳能、10-混合动力、0-其他
*/
@Range(min = 0, max = 10, message = "参数energyType不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
@NotNull(message = "参数energyType不能为空", groups = {ValidatorInsert.class})
private Integer energyType;
/**
* 行驶证档案编号
*/
@Length(max = 20, message = "参数vehicleLicenseNumber长度不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
@NotBlank(message = "参数vehicleLicenseNumber不能为空", groups = {ValidatorInsert.class})
private String vehicleLicenseNumber;
/**
* 核定载质量(吨)
*/
@DecimalMax(value = "9999.99", message = "参数loadCapacity不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
@DecimalMin(value = "1.00", message = "参数loadCapacity不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
@NotNull(message = "参数loadCapacity不能为空", groups = {ValidatorInsert.class})
private BigDecimal loadCapacity;
/**
* 总质量(吨)
*/
@DecimalMax(value = "9999.99", message = "参数totalMass不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
@DecimalMin(value = "1.00", message = "参数totalMass不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
private BigDecimal totalMass;
/**
* 整备质量(吨)
*/
@DecimalMax(value = "9999.99", message = "参数unladenMass不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
@DecimalMin(value = "1.00", message = "参数unladenMass不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
private BigDecimal unladenMass;
/**
* 车辆所有人
*/
@Length(max = 20, message = "参数vehicleOwner长度不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
@NotBlank(message = "参数vehicleOwner不能为空", groups = {ValidatorInsert.class})
private String vehicleOwner;
/**
* 车辆所有人代码:企业-统一社会信用代码,个人-身份证号码
*/
@Length(max = 20, message = "参数vehicleOwnerCode长度不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
@NotBlank(message = "参数vehicleOwnerCode不能为空", groups = {ValidatorInsert.class})
private String vehicleOwnerCode;
/**
* 使用性质
*/
@Length(max = 20, message = "参数useNature长度不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
private String useNature;
/**
* 注册日期
*/
@Length(max = 20, message = "参数registerDate长度不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
private String registerDate;
/**
* 车辆识别代码
*/
@Length(max = 20, message = "参数vin长度不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
private String vin;
/**
* 品牌型号
*/
@Length(max = 20, message = "参数brandModel长度不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
private String brandModel;
/**
* 发动机号
*/
@Length(max = 20, message = "参数engineNumber长度不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
private String engineNumber;
/**
* 发证日期
*/
@Length(max = 20, message = "参数vehicleLicenseIssuedDate长度不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
private String vehicleLicenseIssuedDate;
/**
* 检验有效期至
*/
@Length(max = 20, message = "参数vehicleLicenseExpireDate长度不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
private String vehicleLicenseExpireDate;
/**
* 发证机关
*/
@Length(max = 50, message = "参数vehicleLicenseIssueDepartment长度不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
private String vehicleLicenseIssueDepartment;
/**
* 道路运输证号
*/
@Length(max = 50, message = "参数roadCertificateNumber长度不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
private String roadCertificateNumber;
/**
* 经营许可证号
*/
@Length(max = 20, message = "参数businessLicenseNumber长度不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
private String businessLicenseNumber;
/**
* 经营许可证有效期至
*/
@Length(max = 20, message = "参数businessLicenseExpireDate长度不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
private String businessLicenseExpireDate;
/**
* 车籍地-省份代码
*/
@Length(max = 6, message = "参数vehicleProvinceCode长度不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
@NotBlank(message = "参数vehicleProvinceCode不能为空", groups = {ValidatorInsert.class})
private String vehicleProvinceCode;
/**
* 车籍地-市代码
*/
@Length(max = 6, message = "参数vehicleCityCode长度不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
@NotBlank(message = "参数vehicleCityCode不能为空", groups = {ValidatorInsert.class})
private String vehicleCityCode;
/**
* 车籍地-区县代码
*/
@Length(max = 6, message = "参数vehicleDistrictCode长度不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
@NotBlank(message = "参数vehicleDistrictCode不能为空", groups = {ValidatorInsert.class})
private String vehicleDistrictCode;
/**
* 是否开通ETC:1-已开通、2-未开通、3-未知
*/
@Pattern(regexp = "[12]", message = "参数etc不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
private String etc;
/**
* 车头照片URL
*/
@Length(max = 200, message = "参数vehicleHeadUrl长度不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
private String vehicleHeadUrl;
/**
* 人车合照URL
*/
@Length(max = 200, message = "参数vehicleHeadPersonUrl长度不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
private String vehicleHeadPersonUrl;
/**
* 行驶证正面URL
*/
@Length(max = 200, message = "参数vehicleLicenseFrontUrl长度不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
@NotBlank(message = "参数vehicleLicenseFrontUrl不能为空", groups = {ValidatorInsert.class})
private String vehicleLicenseFrontUrl;
/**
* 行驶证背面URL
*/
@Length(max = 200, message = "参数vehicleLicenseBackUrl长度不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
@NotBlank(message = "参数vehicleLicenseBackUrl不能为空", groups = {ValidatorInsert.class})
private String vehicleLicenseBackUrl;
/**
* 道路运输证正面URL
*/
@Length(max = 200, message = "参数roadCertificateFrontUrl长度不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
@NotBlank(message = "参数roadCertificateFrontUrl不能为空", groups = {ValidatorInsert.class})
private String roadCertificateFrontUrl;
/**
* 挂靠声明URL
*/
@Length(max = 200, message = "参数attachedStatementUrl长度不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
private String attachedStatementUrl;
@Override
public String toString() {
return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE);
}
}
package com.esv.freight.app.module.vehicle.form;
import com.esv.freight.app.common.validator.groups.ValidatorDetail;
import com.esv.freight.app.common.validator.groups.ValidatorList;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.Range;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
/**
* @description:
* @project: Freight
* @name: com.esv.freight.app.module.vehicle.form.VehicleQueryForm
* @author: 张志臣
* @email: zhangzhichen@esvtek.com
* @createTime: 2020/04/28 16:00
* @version:1.0
*/
@Data
public class VehicleQueryForm {
/**
*
*/
@NotNull(message = "参数id不能为空", groups = {ValidatorDetail.class})
private Long id;
/**
* 承运商帐号ID
*/
private Long carrierId;
/**
* 车辆状态:1-正常、2-停用
*/
@Pattern(regexp = "[12]", message = "参数vehicleStatus不合法", groups = {ValidatorList.class})
private String vehicleStatus;
/**
* 审核状态(字典表):0-待审核、1-审核成功,2-审核失败
*/
@Range(min = 0, max = 2, message = "参数auditStatus不合法", groups = {ValidatorList.class})
private Integer auditStatus;
/**
* 车牌号
*/
@Length(max = 8, message = "参数licenseNumber长度不合法", groups = {ValidatorList.class})
private String licenseNumber;
/**
* 行驶证档案编号
*/
@Length(max = 20, message = "参数vehicleLicenseNumber长度不合法", groups = {ValidatorList.class})
private String vehicleLicenseNumber;
/**
* 道路运输证号
*/
@Length(max = 50, message = "参数ownerName长度不合法", groups = {ValidatorList.class})
private String roadCertificateNumber;
/**
* 车辆类型(字典表)
*/
private Integer vehicleType;
/**
* 二级车辆类型(字典表)
*/
private Integer vehicleType2;
/**
* 页码
**/
@Range(min = 1, max = 65535, message = "无效的pageNum", groups = {ValidatorList.class})
@NotNull(message = "参数pageNum不能为空", groups = {ValidatorList.class})
private Integer pageNum;
/**
* 每页记录条数
**/
@Range(min = 1, max = 100, message = "pageSize", groups = {ValidatorList.class})
@NotNull(message = "参数pageSize不能为空", groups = {ValidatorList.class})
private Integer pageSize;
@Override
public String toString() {
return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE);
}
}
package com.esv.freight.app.module.vehicle.vo;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.math.BigDecimal;
/**
* @description: 车辆详情VO
* @project: Freight
* @name: com.esv.freight.app.module.vehicle.vo.VehicleDetailVO
* @author: 张志臣
* @email: zhangzhichen@esvtek.com
* @createTime: 2020/04/28 16:00
* @version:1.0
*/
@Data
public class VehicleDetailVO {
/**
*
*/
private Long id;
/**
* 承运商帐号ID
*/
private Long carrierId;
/**
* 承运商名称
*/
private String carrierName;
/**
* 车牌号
*/
private String licenseNumber;
/**
* 车辆状态:1-正常、2-停用
*/
private String vehicleStatus;
/**
* 审核状态(字典表):0-待审核、1-审核成功,2-审核失败
*/
private Integer auditStatus;
/**
* 牌照类型(字典表):1-大型汽车号牌、2-小型汽车号牌、3-其他号牌
*/
private Integer licenseType;
/**
* 车牌颜色(字典表):1-蓝色、2-黄色、3-黑色、4-白色、5-绿色、6-农黄色、7-农绿色、8-黄绿色、9-渐变绿、0-其他
*/
private Integer licenseColor;
/**
* 车辆类型(字典表)
*/
private Integer vehicleType;
/**
* 二级车辆类型(字典表)
*/
private Integer vehicleType2;
/**
* 车辆长度(单位毫米)
*/
private Integer vehicleLength;
/**
* 车辆宽度(单位毫米)
*/
private Integer vehicleWidth;
/**
* 车辆高度(单位毫米)
*/
private Integer vehicleHeight;
/**
* 车辆所属(字典表):1-自有车、2-外协车
*/
private Integer vehicleBelong;
/**
* 年审日期
*/
private String yearAuditDate;
/**
* 能源类型(字典表):1-汽油、2-柴油、3-电、4-混合油、5-天然气、6-液化石油气、7-甲醇、8-乙醇、9-太阳能、10-混合动力、99-其他
*/
private Integer energyType;
/**
* 行驶证档案编号
*/
private String vehicleLicenseNumber;
/**
* 核定载质量(吨)
*/
private BigDecimal loadCapacity;
/**
* 总质量(吨)
*/
private BigDecimal totalMass;
/**
* 整备质量(吨)
*/
private BigDecimal unladenMass;
/**
* 车辆所有人
*/
private String vehicleOwner;
/**
* 车辆所有人代码:企业-统一社会信用代码,个人-身份证号码
*/
private String vehicleOwnerCode;
/**
* 使用性质
*/
private String useNature;
/**
* 注册日期
*/
private String registerDate;
/**
* 车辆识别代码
*/
private String vin;
/**
* 品牌型号
*/
private String brandModel;
/**
* 发动机号
*/
private String engineNumber;
/**
* 发证日期
*/
private String vehicleLicenseIssuedDate;
/**
* 检验有效期至
*/
private String vehicleLicenseExpireDate;
/**
* 发证机关
*/
private String vehicleLicenseIssueDepartment;
/**
* 道路运输证号
*/
private String roadCertificateNumber;
/**
* 经营许可证号
*/
private String businessLicenseNumber;
/**
* 经营许可证有效期至
*/
private String businessLicenseExpireDate;
/**
* 车籍地-省份代码
*/
private String vehicleProvinceCode;
/**
* 车籍地-市代码
*/
private String vehicleCityCode;
/**
* 车籍地-区县代码
*/
private String vehicleDistrictCode;
/**
* 是否开通ETC:1-已开通、2-未开通、3-未知
*/
private String etc;
/**
* 上报状态(字典表):0-未上报、1-上报成功、2-上报失败
*/
private Integer uploadState;
/**
* 上报时间
*/
private String uploadTime;
/**
* 车头照片URL
*/
private String vehicleHeadUrl;
/**
* 人车合照URL
*/
private String vehicleHeadPersonUrl;
/**
* 行驶证正面URL
*/
private String vehicleLicenseFrontUrl;
/**
* 行驶证背面URL
*/
private String vehicleLicenseBackUrl;
/**
* 道路运输证正面URL
*/
private String roadCertificateFrontUrl;
/**
* 挂靠声明URL
*/
private String attachedStatementUrl;
@Override
public String toString() {
return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE);
}
}
package com.esv.freight.app.module.vehicle.vo;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.math.BigDecimal;
/**
* @description: 车辆列表VO
* @project: Freight
* @name: com.esv.freight.app.module.vehicle.vo.VehicleListItemVO
* @author: 张志臣
* @email: zhangzhichen@esvtek.com
* @createTime: 2020/04/28 16:00
* @version:1.0
*/
@Data
public class VehicleListItemVO {
/**
*
*/
private Long id;
/**
* 车牌号
*/
private String licenseNumber;
/**
* 车辆状态:1-正常、2-停用
*/
private String vehicleStatus;
/**
* 审核状态(字典表):0-待审核、1-审核成功,2-审核失败
*/
private Integer auditStatus;
/**
* 车辆类型(字典表)
*/
private Integer vehicleType;
/**
* 二级车辆类型(字典表)
*/
private Integer vehicleType2;
/**
* 行驶证档案编号
*/
private String vehicleLicenseNumber;
/**
* 道路运输证号
*/
private String roadCertificateNumber;
/**
* 核定载质量(吨)
*/
private BigDecimal loadCapacity;
/**
* 创建来源:1-平台创建、2-司机创建
*/
private String sourceType;
/**
* 创建者
*/
private String createUser;
/**
* 创建时间
*/
private Long createTime;
@Override
public String toString() {
return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE);
}
}
package com.esv.freight.app.module.vehicle.vo;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.util.List;
/**
* @description: 车辆列表VO
* @project: Freight
* @name: com.esv.freight.app.module.vehicle.vo.VehicleListVO
* @author: 张志臣
* @email: zhangzhichen@esvtek.com
* @createTime: 2020/04/28 16:00
* @version:1.0
*/
@Data
public class VehicleListVO {
/**
* 每页记录条数
**/
private Long pageSize;
/**
* 当前页码
**/
private Long pageNum;
/**
* 总记录条数
**/
private Long total;
/**
* 当前页的记录条数
**/
private Long recordSize;
/**
* 数据
**/
private List<VehicleListItemVO> record;
@Override
public String toString() {
return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment