1 package com.ycg.rosefinch.vms.manager.service.common;
2
3 import com.ycg.rdc.framework.application.exception.BusinessException;
4
5 public class VmsBusinessException extends BusinessException {
6 private static final long serialVersionUID = -1054869492237073561L;
7
8 /**
9 * 异常code
10 */
11 protected String errCode;
12
13 /**
14 * 异常信息
15 */
16 private String natvieMsg;
17
18 /**
19 * 异常 arguments
20 */
21 private Object[] arguments;
22 public VmsBusinessException() {
23 super();
24 }
25
26 public VmsBusinessException(String msg) {
27 super(msg);
28 }
29
30 public VmsBusinessException(String msg, Throwable cause) {
31 super(msg, cause);
32 }
33
34 public VmsBusinessException(String code, String msg) {
35 super(msg);
36 this.errCode = code;
37 }
38
39 public VmsBusinessException(String code, String msg, Throwable cause) {
40 super(msg, cause);
41 this.errCode = code;
42 }
43
44 public VmsBusinessException(String code, String msg, String natvieMsg) {
45 super(msg);
46 this.errCode = code;
47 this.natvieMsg = natvieMsg;
48 }
49
50 public VmsBusinessException(String code, String msg,String natvieMsg, Throwable cause) {
51 super(msg, cause);
52 this.errCode = code;
53 this.natvieMsg = natvieMsg;
54 }
55
56 public VmsBusinessException(String code,Object... args) {
57 super();
58 this.errCode = code;
59 this.arguments = args;
60 }
61
62 public VmsBusinessException(String code,String msg, Object... args) {
63 super(msg);
64 this.errCode = code;
65 this.arguments = args;
66 }
67
68 @Override
69 public void setErrorArguments(Object... args) {
70 this.arguments = args;
71 }
72
73 @Override
74 public Object[] getErrorArguments() {
75 return this.arguments;
76 }
77
78 @Override
79 public String getErrorCode() {
80 return this.errCode;
81 }
82
83 @Override
84 public String getNativeMessage() {
85 return natvieMsg;
86 }
87 }
1 package com.ycg.rosefinch.op.vms.manager.web.model;
2
3 import java.io.Serializable;
4
5 import com.fasterxml.jackson.annotation.JsonIgnore;
6 import com.fasterxml.jackson.annotation.JsonProperty;
7
8 public class ResponseModel implements Serializable {
9 /**
10 *
11 */
12 private static final long serialVersionUID = -5598840566266782861L;
13
14 @JsonProperty("StatusCode")
15 private String StatusCode;
16
17 @JsonProperty("Data")
18 private Object Data;
19
20 @JsonProperty("ErrorMessage")
21 private String ErrorMessage;
22
23 @JsonProperty("ExptMsgDetail")
24 private String exptMsgDetail;
25
26 @JsonIgnore
27 public String getStatusCode() {
28 return StatusCode;
29 }
30
31 @JsonIgnore
32 public void setStatusCode(String statusCode) {
33 StatusCode = statusCode;
34 }
35
36 @JsonIgnore
37 public Object getData() {
38 return Data;
39 }
40
41 @JsonIgnore
42 public void setData(Object data) {
43 Data = data;
44 }
45
46 @JsonIgnore
47 public String getErrorMessage() {
48 return ErrorMessage;
49 }
50
51 @JsonIgnore
52 public void setErrorMessage(String errorMessage) {
53 ErrorMessage = errorMessage;
54 }
55
56 @JsonIgnore
57 public String getExptMsgDetail() {
58 return exptMsgDetail;
59 }
60
61 @JsonIgnore
62 public void setExptMsgDetail(String exptMsgDetail) {
63 this.exptMsgDetail = exptMsgDetail;
64 }
65
66 @Override
67 public String toString() {
68 return "ResponseModel{" +
69 "StatusCode='" + StatusCode + '\'' +
70 ", Data=" + Data +
71 ", ErrorMessage='" + ErrorMessage + '\'' +
72 ", exptMsgDetail='" + exptMsgDetail + '\'' +
73 '}';
74 }
75 }
1 @RequestMapping(value="addVehicleManager",method=RequestMethod.POST, produces = "application/json; charset=utf-8")
2 public @ResponseBody ResponseModel addVehicleManager(HttpServletRequest request,HttpServletResponse response,@RequestBody ContractVehicleManagerModel model){
3 ResponseModel resp = new ResponseModel();
4 logger.info("新增合同车辆信息-/contract/vehicle/addVehicleManager>" + JSONObject.toJSONString(model));
5 if (model == null) {
6 resp.setErrorMessage(VmsManageConstants.RESPONSE_FAILURE);
7 resp.setStatusCode("Lx011-00001-0000021");
8 resp.setExptMsgDetail("传入的数据不能为空");
9 return resp;
10 }
11 try {
12 LoginUserInfo loginUserInfo = super.getAuthSession().getAuthInfo(request.getHeader("token"));
13 vmsContractVehicleManagerService.insertContractVehicle(model,model.getLineModelList(),loginUserInfo);
14 resp.setStatusCode("Sx000-00000-000000");
15 resp.setErrorMessage(VmsManageConstants.RESPONSE_SUCCESS);
16 resp.setExptMsgDetail("合同车辆添加成功!");
17 }catch (VmsBusinessException e) {
18 resp.setStatusCode("Lx011-00001-0000021");
19 resp.setErrorMessage(e.getMessage());
20 resp.setExptMsgDetail("车辆信息添加异常!"+e.getMessage());
21 } catch (Exception e) {
22 resp.setStatusCode("Lx011-00001-0000022");
23 resp.setErrorMessage("车辆信息添加异常");
24 resp.setExptMsgDetail("车辆信息添加异常!"+e.getMessage());
25 }
26 return resp;
27 }
1 @Override
2 @Transactional
3 public void insertContractVehicle(ContractVehicleManagerModel model,List<VmsVehicleLineFerightModel> lineModelList,LoginUserInfo loginUserInfo) {
4 try {
5 //添加车辆基础信息表数据
6 VmsVehicleManager vehicleEntity = new VmsVehicleManager();
7 convertT1ToT2(model, vehicleEntity);
8
9 if (model.getVehicleNo() != null && vmsOwnVehicleService.isExistVehicleNo(model.getVehicleNo())) {
10 super.getLogger().error("合同车牌号-车牌号:" + model.getVehicleNo() + "已存在");
11 throw new VmsBusinessException("合同车新增-车牌号:" + model.getVehicleNo() + "已存在");
12 }
13
14 vehicleEntity.setVehicleNature(CarNatureEnum.CAR_HETONGCHE.getCode());
15 // 通过车牌号 生成车标码
16 String simpleNo = vichileNoAreacodeService.simpleNoByVehicleNo(vehicleEntity.getVehicleNo());
17 vehicleEntity.setSimpleNo(simpleNo);
18 vehicleEntity.setCarCategory(1);
19 if(loginUserInfo != null){
20 vehicleEntity.setCreateUserName(loginUserInfo.getUserName());
21 vehicleEntity.setCreateUserCode(loginUserInfo.getUserId());
22 vehicleEntity.setCreateSiteName(loginUserInfo.getLoginSiteName());
23 vehicleEntity.setCreateSiteName(loginUserInfo.getLoginSiteCode());
24 vehicleEntity.setCreateDate(new Date());
25 }else{
26 throw new VmsBusinessException("未获取到当前登录人信息,请登陆系统后重试!");
27 }
28 vehicleEntity = vmsVehicleManagerDao.addSelectivity(vehicleEntity);
29
30 if(vehicleEntity != null){
31 Long vehicleId = vehicleEntity.getId();
32 //添加合同车辆信息表数据
33 VmsContractVehicle contractVehicle = new VmsContractVehicle();
34 convertT1ToT2(model, contractVehicle);
35 contractVehicle.setVehicleID(vehicleId);
36 contractVehicle.setId(uniqueIdCenterService.generateId());
37 vmsContractVehicleDao.insertVmsContractVehicle(contractVehicle);
38 //添加车线信息表数据
39 if(lineModelList != null && lineModelList.size() > 0){
40 for(VmsVehicleLineFerightModel lineModel : lineModelList){
41 lineModel.setId(uniqueIdCenterService.generateId());
42 lineModel.setVehicleId(vehicleId);
43 lineModel.setVehicleNo(vehicleEntity.getVehicleNo());
44 vmsVehicleLineFerightDao.insert(super.convertT1ToT2(lineModel, new VmsVehicleLineFeright()));
45 }
46 }
47 }else{
48 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
49 throw new VmsBusinessException("车辆基础信息插入失败");
50 }
51
52 } catch (Exception e) {
53 super.getLogger().error(e.getMessage(), e);
54 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
55 throw new VmsBusinessException("合同车辆信息插入异常"+e);
56 }
57 }