Commit 10a5c931 authored by huangcb's avatar huangcb

承运商接口:APP终端新增车辆时,添加司机与车辆的绑定记录

parent 1e4d01f2
......@@ -3,6 +3,7 @@ package com.esv.freight.customer.common.util;
import com.alibaba.fastjson.JSONObject;
import com.esv.freight.customer.common.exception.EException;
import com.esv.freight.customer.common.response.ECode;
import com.esv.gateway.common.GatewayHeaders;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.web.context.request.RequestContextHolder;
......@@ -24,6 +25,33 @@ public class ReqUtils {
return request.getHeader(headerKey);
}
/**
* description 获取当前请求的用户ID
* param []
* return java.lang.Long
* author Administrator
* createTime 2020/04/28 14:08
**/
public static Long getRequestUserId() {
String userId = getRequestHeader(GatewayHeaders.USER_ID);
if (StringUtils.isNotBlank(userId)) {
return Long.parseLong(userId);
} else {
return null;
}
}
/**
* description 获取当前请求的用户帐号
* param []
* return java.lang.String
* author Administrator
* createTime 2020/04/28 14:12
**/
public static String getRequestUserAccount() {
return getRequestHeader(GatewayHeaders.USER_ACCOUNT);
}
/**
* 获得Http客户端的ip
* @param req
......
......@@ -30,5 +30,10 @@ public class VehicleConstants {
public static final Integer VEHICLE_AUDIT_STATUS_SUCCESS = 1;
public static final Integer VEHICLE_AUDIT_STATUS_FAILURE = 2;
/**
* 是否默认车辆:0-不是、1-是
**/
public static final Boolean VEHICLE_SELECTED_YES = true;
public static final Boolean VEHICLE_SELECTED_NO = false;
}
package com.esv.freight.customer.module.vehicle.dao;
import com.esv.freight.customer.module.vehicle.entity.VehicleDriverEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
/**
* 车辆司机表
*
* @author 黄朝斌
* @email huangchaobin@esvtek.com
* @date 2020-04-28 13:37:33
*/
@Mapper
public interface VehicleDriverDao extends BaseMapper<VehicleDriverEntity> {
}
package com.esv.freight.customer.module.vehicle.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* 车辆司机表
*
* @author 黄朝斌
* @email huangchaobin@esvtek.com
* @date 2020-04-28 13:37:33
*/
@Data
@TableName("vehicle_driver")
public class VehicleDriverEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId
private Long id;
/**
* 租户ID
*/
@TableField(fill = FieldFill.INSERT)
private Long tenantId;
/**
* 部门ID
*/
@TableField(fill = FieldFill.INSERT)
private Long departmentId;
/**
* 承运商ID
*/
private Long carrierId;
/**
* 车辆ID
*/
private Long vehicleId;
/**
* 司机ID
*/
private Long driverId;
/**
* 是否默认车辆:0-不是、1-是
*/
private Boolean selected;
/**
* 操作者
*/
private String operateUser;
/**
* 操作时间
*/
private Date operateTime;
}
package com.esv.freight.customer.module.vehicle.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.esv.freight.customer.module.vehicle.entity.VehicleDriverEntity;
/**
* 车辆司机表
*
* @author 黄朝斌
* @email huangchaobin@esvtek.com
* @date 2020-04-28 13:37:33
*/
public interface VehicleDriverService extends IService<VehicleDriverEntity> {
}
package com.esv.freight.customer.module.vehicle.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.esv.freight.customer.module.vehicle.dao.VehicleDriverDao;
import com.esv.freight.customer.module.vehicle.entity.VehicleDriverEntity;
import com.esv.freight.customer.module.vehicle.service.VehicleDriverService;
import org.springframework.stereotype.Service;
@Service("vehicleDriverService")
public class VehicleDriverServiceImpl extends ServiceImpl<VehicleDriverDao, VehicleDriverEntity> implements VehicleDriverService {
}
\ No newline at end of file
......@@ -18,12 +18,14 @@ import com.esv.freight.customer.module.vehicle.dao.VehicleDao;
import com.esv.freight.customer.module.vehicle.dto.VehicleDetailDto;
import com.esv.freight.customer.module.vehicle.entity.AttachmentEntity;
import com.esv.freight.customer.module.vehicle.entity.VehicleAuditHistoryEntity;
import com.esv.freight.customer.module.vehicle.entity.VehicleDriverEntity;
import com.esv.freight.customer.module.vehicle.entity.VehicleEntity;
import com.esv.freight.customer.module.vehicle.form.VehicleAuditForm;
import com.esv.freight.customer.module.vehicle.form.VehicleInfoForm;
import com.esv.freight.customer.module.vehicle.form.VehicleQueryForm;
import com.esv.freight.customer.module.vehicle.service.AttachmentService;
import com.esv.freight.customer.module.vehicle.service.VehicleAuditHistoryService;
import com.esv.freight.customer.module.vehicle.service.VehicleDriverService;
import com.esv.freight.customer.module.vehicle.service.VehicleService;
import com.esv.freight.customer.module.vehicle.vo.VehicleListVO;
import com.esv.gateway.common.GatewayHeaders;
......@@ -49,13 +51,17 @@ public class VehicleServiceImpl extends ServiceImpl<VehicleDao, VehicleEntity> i
private VehicleAuditHistoryService vehicleAuditHistoryService;
private VehicleDriverService vehicleDriverService;
@Autowired
public VehicleServiceImpl(ErrorMessageComponent errorMessageComponent, CarrierAccountService carrierAccountService,
AttachmentService attachmentService, VehicleAuditHistoryService vehicleAuditHistoryService) {
AttachmentService attachmentService, VehicleAuditHistoryService vehicleAuditHistoryService,
VehicleDriverService vehicleDriverService) {
this.errorMessageComponent = errorMessageComponent;
this.carrierAccountService = carrierAccountService;
this.attachmentService = attachmentService;
this.vehicleAuditHistoryService = vehicleAuditHistoryService;
this.vehicleDriverService = vehicleDriverService;
}
@Override
......@@ -125,6 +131,18 @@ public class VehicleServiceImpl extends ServiceImpl<VehicleDao, VehicleEntity> i
vehicleAuditHistoryEntity.setOperateUser(ReqUtils.getRequestHeader(GatewayHeaders.USER_ACCOUNT));
this.vehicleAuditHistoryService.getBaseMapper().insert(vehicleAuditHistoryEntity);
// 5:新增车辆-司机绑定关系
if (CommonConstants.REQ_SOURCE_TYPE_ANDROID.equals(sourceType)
|| CommonConstants.REQ_SOURCE_TYPE_IOS.equals(sourceType) ) {
VehicleDriverEntity vehicleDriverEntity = new VehicleDriverEntity();
vehicleDriverEntity.setDriverId(ReqUtils.getRequestUserId());
vehicleDriverEntity.setVehicleId(vehicleId);
vehicleDriverEntity.setCarrierId(form.getCarrierId());
vehicleDriverEntity.setSelected(VehicleConstants.VEHICLE_SELECTED_NO);
vehicleDriverEntity.setOperateUser(ReqUtils.getRequestUserAccount());
this.vehicleDriverService.getBaseMapper().insert(vehicleDriverEntity);
}
return vehicleId;
}
......
<?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.esv.freight.customer.module.vehicle.dao.VehicleDriverDao">
<!-- 可根据自己的需求,是否要使用 -->
<resultMap type="com.esv.freight.customer.module.vehicle.entity.VehicleDriverEntity" id="vehicleDriverMap">
<result property="id" column="id"/>
<result property="tenantId" column="tenant_id"/>
<result property="departmentId" column="department_id"/>
<result property="carrierId" column="carrier_id"/>
<result property="vehicleId" column="vehicle_id"/>
<result property="driverId" column="driver_id"/>
<result property="selected" column="selected"/>
<result property="operateUser" column="operate_user"/>
<result property="operateTime" column="operate_time"/>
</resultMap>
</mapper>
\ No newline at end of file
package com.esv.freight.customer;
import com.esv.freight.customer.common.constants.CommonConstants;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.junit.After;
......@@ -49,6 +50,7 @@ public class BaseTestController {
httpHeaders.add("esv_department_children", "1,2,3");
httpHeaders.add("esv_user", "1");
httpHeaders.add("esv_account", "admin");
httpHeaders.add(CommonConstants.REQ_SOURCE_TYPE_KEY, CommonConstants.REQ_SOURCE_TYPE_ANDROID);
return httpHeaders;
}
......
......@@ -49,7 +49,7 @@ public class VehicleControllerAddTest extends BaseTestController {
// 构造数据
VehicleInfoForm form = new VehicleInfoForm();
form.setCarrierId(2L);
form.setLicenseNumber("辽A12301");
form.setLicenseNumber("辽A12303");
form.setLicenseType(2); // 牌照类型(字典表):1-大型汽车号牌、2-小型汽车号牌、3-其他号牌
form.setVehicleType(14); // 车辆类型(字典表):14-微型货车
form.setVehicleType2(1402); // 二级车辆类型(字典表):1402-微型厢式货车
......@@ -60,11 +60,11 @@ public class VehicleControllerAddTest extends BaseTestController {
form.setVehicleBelong(1); // 车辆所属(字典表):1-自有车、2-外协车
form.setYearAuditDate("20191018");
form.setEnergyType(2); // 能源类型(字典表):1-汽油、2-柴油、3-电、4-混合油、5-天然气、6-液化石油气、7-甲醇、8-乙醇、9-太阳能、10-混合动力、0-其他
form.setVehicleLicenseNumber("210101123456");
form.setVehicleLicenseNumber("210101123458");
form.setLoadCapacity(new BigDecimal("4.0"));
form.setTotalMass(new BigDecimal("5.1"));
form.setVehicleOwner("辽宁省沈阳市恒源物流有限公司");
form.setVehicleOwnerCode("91310107MA1G11CY6D");
form.setVehicleOwner("庞俊辉");
form.setVehicleOwnerCode("210102198005121234");
form.setUseNature("营运");
form.setRegisterDate("20150618");
form.setVin("LGWEF6A59HH505511");
......
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