Commit 05b00e4e authored by zhangzc's avatar zhangzc

完善运单接口

parent fa2c15d6
...@@ -22,7 +22,7 @@ import java.util.List; ...@@ -22,7 +22,7 @@ import java.util.List;
/** /**
* @description: 发货地址Controller * @description: 发货地址Controller
* @project: Freight * @project: freight-app-service
* @name: com.esv.freight.module.ownerBackend.address.controller.DeliveryAddressController * @name: com.esv.freight.module.ownerBackend.address.controller.DeliveryAddressController
* @author: 张志臣 * @author: 张志臣
* @email: zhangzhichen@esvtek.com * @email: zhangzhichen@esvtek.com
......
...@@ -24,7 +24,7 @@ import java.util.List; ...@@ -24,7 +24,7 @@ import java.util.List;
/** /**
* @description: 收货地址Controller * @description: 收货地址Controller
* @project: Freight * @project: freight-app-service
* @name: com.esv.freight.module.ownerBackend.address.controller.ReceiveAddressController * @name: com.esv.freight.module.ownerBackend.address.controller.ReceiveAddressController
* @author: 张志臣 * @author: 张志臣
* @email: zhangzhichen@esvtek.com * @email: zhangzhichen@esvtek.com
......
...@@ -12,7 +12,7 @@ import javax.validation.constraints.NotNull; ...@@ -12,7 +12,7 @@ import javax.validation.constraints.NotNull;
/** /**
* @description: * @description:
* @project: Freight * @project: freight-app-service
* @name: com.esv.freight.app.module.address.form.AddressQueryForm * @name: com.esv.freight.app.module.address.form.AddressQueryForm
* @author: 张志臣 * @author: 张志臣
* @email: zhangzhichen@esvtek.com * @email: zhangzhichen@esvtek.com
......
...@@ -12,7 +12,7 @@ import javax.validation.constraints.NotBlank; ...@@ -12,7 +12,7 @@ import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
/** /**
* @description: * @description:
* @project: Freight * @project: freight-app-service
* @name: com.esv.freight.app.module.address.form.DeliveryAddressForm * @name: com.esv.freight.app.module.address.form.DeliveryAddressForm
* @author: 张志臣 * @author: 张志臣
* @email: zhangzhichen@esvtek.com * @email: zhangzhichen@esvtek.com
......
...@@ -12,7 +12,7 @@ import javax.validation.constraints.NotBlank; ...@@ -12,7 +12,7 @@ import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
/** /**
* @description: * @description:
* @project: Freight * @project: freight-app-service
* @name: com.esv.freight.app.module.address.form.ReceiveAddressForm * @name: com.esv.freight.app.module.address.form.ReceiveAddressForm
* @author: 张志臣 * @author: 张志臣
* @email: zhangzhichen@esvtek.com * @email: zhangzhichen@esvtek.com
......
...@@ -7,9 +7,9 @@ import org.apache.commons.lang3.builder.ToStringStyle; ...@@ -7,9 +7,9 @@ import org.apache.commons.lang3.builder.ToStringStyle;
import java.util.List; import java.util.List;
/** /**
* @description: 发货地址VO * @description: 地址列表VO
* @project: Freight * @project: freight-app-service
* @name: com.esv.freight.module.ownerBackend.account.address.vo.DeliveryAddressListVO * @name: com.esv.freight.module.ownerBackend.account.address.vo.AddressBriefVO
* @author: 张志臣 * @author: 张志臣
* @email: zhangzhichen@esvtek.com * @email: zhangzhichen@esvtek.com
* @createTime: 2020/04/17 10:00 * @createTime: 2020/04/17 10:00
......
...@@ -3,9 +3,9 @@ package com.esv.freight.app.module.address.vo; ...@@ -3,9 +3,9 @@ package com.esv.freight.app.module.address.vo;
import lombok.Data; import lombok.Data;
/** /**
* @description: 发货地址VO * @description: 地址详情VO
* @project: Freight * @project: freight-app-service
* @name: com.esv.freight.module.ownerBackend.account.address.vo.DeliveryAddressVO * @name: com.esv.freight.module.ownerBackend.account.address.vo.AddressDetailVO
* @author: 张志臣 * @author: 张志臣
* @email: zhangzhichen@esvtek.com * @email: zhangzhichen@esvtek.com
* @createTime: 2020/04/17 10:00 * @createTime: 2020/04/17 10:00
......
...@@ -26,7 +26,7 @@ import java.util.List; ...@@ -26,7 +26,7 @@ import java.util.List;
/** /**
* @description: 司机找货抢单订单Controller * @description: 司机找货抢单订单Controller
* @project: Freight * @project: freight-app-service
* @name: com.esv.freight.app.module.grabbing.controller.GrabController * @name: com.esv.freight.app.module.grabbing.controller.GrabController
* @author: 张志臣 * @author: 张志臣
* @email: zhangzhichen@esvtek.com * @email: zhangzhichen@esvtek.com
...@@ -162,6 +162,10 @@ public class GrabController { ...@@ -162,6 +162,10 @@ public class GrabController {
JSONObject result = tmsGrabInterface.grabOrder(reqJson); JSONObject result = tmsGrabInterface.grabOrder(reqJson);
log.info(result.toJSONString()); log.info(result.toJSONString());
if(result.getInteger("code") == 1009) {
return EResponse.error(1009, "已经抢过该订单了");
}
if(result.getInteger("code") != 200) { if(result.getInteger("code") != 200) {
return EResponse.error(result.getInteger("code"), result.getString("message")); return EResponse.error(result.getInteger("code"), result.getString("message"));
} }
......
...@@ -6,8 +6,8 @@ import java.math.BigDecimal; ...@@ -6,8 +6,8 @@ import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
/** /**
* @description: 订单列表VO * @description: 抢单列表itemVO
* @project: Freight * @project: freight-app-service
* @name: com.esv.freight.app.module.grabbing.vo.GrabListItemVO * @name: com.esv.freight.app.module.grabbing.vo.GrabListItemVO
* @author: 张志臣 * @author: 张志臣
* @email: zhangzhichen@esvtek.com * @email: zhangzhichen@esvtek.com
......
...@@ -5,8 +5,8 @@ import lombok.Data; ...@@ -5,8 +5,8 @@ import lombok.Data;
import java.util.List; import java.util.List;
/** /**
* @description: 单列表VO * @description: 单列表VO
* @project: Freight * @project: freight-app-service
* @name: com.esv.freight.app.module.grabbing.vo.GrabListVO * @name: com.esv.freight.app.module.grabbing.vo.GrabListVO
* @author: 张志臣 * @author: 张志臣
* @email: zhangzhichen@esvtek.com * @email: zhangzhichen@esvtek.com
......
...@@ -27,7 +27,7 @@ import java.util.List; ...@@ -27,7 +27,7 @@ import java.util.List;
/** /**
* @description: 货主订单Controller * @description: 货主订单Controller
* @project: Freight * @project: freight-app-service
* @name: com.esv.freight.app.module.order.controller.OrderController * @name: com.esv.freight.app.module.order.controller.OrderController
* @author: 张志臣 * @author: 张志臣
* @email: zhangzhichen@esvtek.com * @email: zhangzhichen@esvtek.com
......
...@@ -26,7 +26,7 @@ import java.util.List; ...@@ -26,7 +26,7 @@ import java.util.List;
/** /**
* @description: 车辆Controller * @description: 车辆Controller
* @project: Freight * @project: freight-app-service
* @name: com.esv.freight.app.module.vehicle.controller.VehicleController * @name: com.esv.freight.app.module.vehicle.controller.VehicleController
* @author: 张志臣 * @author: 张志臣
* @email: zhangzhichen@esvtek.com * @email: zhangzhichen@esvtek.com
......
...@@ -13,7 +13,7 @@ import java.math.BigDecimal; ...@@ -13,7 +13,7 @@ import java.math.BigDecimal;
/** /**
* @description: * @description:
* @project: Freight * @project: freight-app-service
* @name: com.esv.freight.app.module.vehicle.form.VehicleForm * @name: com.esv.freight.app.module.vehicle.form.VehicleForm
* @author: 张志臣 * @author: 张志臣
* @email: zhangzhichen@esvtek.com * @email: zhangzhichen@esvtek.com
......
...@@ -12,7 +12,7 @@ import javax.validation.constraints.NotNull; ...@@ -12,7 +12,7 @@ import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern; import javax.validation.constraints.Pattern;
/** /**
* @description: * @description:
* @project: Freight * @project: freight-app-service
* @name: com.esv.freight.app.module.vehicle.form.VehicleQueryForm * @name: com.esv.freight.app.module.vehicle.form.VehicleQueryForm
* @author: 张志臣 * @author: 张志臣
* @email: zhangzhichen@esvtek.com * @email: zhangzhichen@esvtek.com
......
package com.esv.freight.app.module.waybill.controller; package com.esv.freight.app.module.waybill.controller;
import com.esv.freight.app.common.response.ECode; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.esv.freight.app.common.response.EResponse; import com.esv.freight.app.common.response.EResponse;
import com.esv.freight.app.common.validator.groups.ValidatorDetail; import com.esv.freight.app.common.validator.groups.ValidatorDetail;
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.feign.TmsOrderInterface; import com.esv.freight.app.feign.TmsOrderInterface;
import com.esv.freight.app.feign.TmsWaybillInterface;
import com.esv.freight.app.module.account.service.AppLoginService; import com.esv.freight.app.module.account.service.AppLoginService;
import com.esv.freight.app.module.waybill.form.UploadEvidenceForm;
import com.esv.freight.app.module.waybill.form.WaybillQueryForm; import com.esv.freight.app.module.waybill.form.WaybillQueryForm;
import com.esv.freight.app.module.waybill.vo.WaybillDetailVO;
import com.esv.freight.app.module.waybill.vo.WaybillListItemVO; import com.esv.freight.app.module.waybill.vo.WaybillListItemVO;
import com.esv.freight.app.module.waybill.vo.WaybillListVO; import com.esv.freight.app.module.waybill.vo.WaybillListVO;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; 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.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
* @description: 司机运单Controller * @description: 司机运单Controller
* @project: Freight * @project: freight-app-service
* @name: com.esv.freight.app.module.waybill.controller.DriverWaybillController * @name: com.esv.freight.app.module.waybill.controller.DriverWaybillController
* @author: 张志臣 * @author: 张志臣
* @email: zhangzhichen@esvtek.com * @email: zhangzhichen@esvtek.com
...@@ -35,72 +42,223 @@ import java.util.List; ...@@ -35,72 +42,223 @@ import java.util.List;
public class DriverWaybillController { public class DriverWaybillController {
private AppLoginService appLoginService; private AppLoginService appLoginService;
private TmsOrderInterface tmsInterface; private TmsWaybillInterface tmsWaybillInterface;
private WaybillListVO mWaybillListVO;
private void createTestData() {
mWaybillListVO = new WaybillListVO();
List<WaybillListItemVO> verifyList = new ArrayList<>();
WaybillListItemVO itemVO = new WaybillListItemVO();
itemVO.setId(10056L);
itemVO.setWaybillNO("YD202004221300002");
itemVO.setOrderNO("D2020042109300101");
itemVO.setWaybillState(5);
itemVO.setDeliveryCity("210100");
itemVO.setReceiveCity("210100");
itemVO.setGoodsName(1101);
itemVO.setGoodsTotalAmount(new BigDecimal(26));
itemVO.setGoodsUnit("吨");
itemVO.setCreateTime(new Date());
itemVO.setVehicleNum("辽A12345");
verifyList.add(itemVO);
mWaybillListVO.setPageNum(1L);
mWaybillListVO.setPageSize(20L);
mWaybillListVO.setTotal(1L);
mWaybillListVO.setRecordSize(1L);
mWaybillListVO.setRecord(verifyList);
}
@Autowired @Autowired
public DriverWaybillController(TmsOrderInterface tmsInterface, AppLoginService appLoginService) { public DriverWaybillController(TmsWaybillInterface tmsWaybillInterface, AppLoginService appLoginService) {
this.appLoginService = appLoginService; this.appLoginService = appLoginService;
this.tmsInterface = tmsInterface; this.tmsWaybillInterface = tmsWaybillInterface;
createTestData();
} }
/** /**
* description 获取运单列表 * description 获取运单列表
* param [accessToken, waybillQueryForm] * param waybillQueryForm
* return com.esv.freight.common.response.EResponse * return com.esv.freight.common.response.EResponse
* author 张志臣 * author 张志臣
* createTime 2020/04/26 115:00 * createTime 2020/04/26 15:00
**/ **/
@PostMapping("/list") @PostMapping("/list")
public EResponse list(@RequestHeader("Union-Authorization") String accessToken, @RequestBody(required=false) @Validated(ValidatorList.class) WaybillQueryForm waybillQueryForm) { public EResponse list(@RequestBody(required=false) @Validated(ValidatorList.class) WaybillQueryForm waybillQueryForm) {
appLoginService.checkAccessToken(); appLoginService.checkAccessToken();
//TODO 调用获取运单列表接口 // 调用运单列表分页查询接口
JSONObject reqJson = new JSONObject();
reqJson.put("driverId", waybillQueryForm.getUserId());
reqJson.put("pageNum", waybillQueryForm.getPageNum());
reqJson.put("pageSize", waybillQueryForm.getPageSize());
reqJson.put("waybillStateList", waybillQueryForm.getWaybillStateList());
log.info(reqJson.toJSONString());
JSONObject result = tmsWaybillInterface.listWaybills(reqJson);
log.info(result.toJSONString());
if(result.getInteger("code") != 200) {
return EResponse.error(result.getInteger("code"), result.getString("message"));
}
WaybillListVO pageResultVO = new WaybillListVO();
JSONObject data = result.getJSONObject("data");
pageResultVO.setPageSize(data.getLong("pageSize"));
pageResultVO.setPageNum(data.getLong("pageNum"));
pageResultVO.setTotal(data.getLong("totalSize"));
pageResultVO.setRecordSize(data.getLong("recordSize"));
if(pageResultVO.getRecordSize() > 0) {
JSONArray items = data.getJSONArray("records");
List<WaybillListItemVO> records = new ArrayList<>();
for(int i=0; i<items.size(); ++i) {
WaybillListItemVO vo = new WaybillListItemVO();
JSONObject object = items.getJSONObject(i);
vo.setId(object.getLong("id"));
vo.setVehicleId(object.getLong("vehicleId"));
vo.setVehicleLicenseNo(object.getString("vehicleLicenseNo"));
vo.setWaybillNo(object.getString("waybillNo"));
vo.setWaybillState(object.getInteger("waybillState"));
vo.setDeliveryStrategy(object.getInteger("deliveryStrategy"));
vo.setOrderId(object.getLong("orderId"));
vo.setOrderNo(object.getString("orderNo"));
vo.setGoodsOwnerId(object.getLong("goodsOwnerId"));
vo.setGoodsOwnerName(object.getString("goodsOwnerName"));
vo.setDeliveryCityCode(object.getString("deliveryCityCode"));
vo.setReceiveCityCode(object.getString("receiveCityCode"));
vo.setDriverId(object.getLong("driverId"));
vo.setDriverName(object.getString("driverName"));
vo.setDriverPhone(object.getString("driverPhone"));
vo.setSettlementType(object.getString("settlementType"));
vo.setCarrierId(object.getLong("carrierId"));
vo.setCarrierName(object.getString("carrierName"));
vo.setBusinessType(object.getInteger("businessType"));
vo.setGoodsType(object.getInteger("goodsType"));
vo.setGoodsNameCode(object.getInteger("goodsNameCode"));
vo.setGoodsName(object.getString("goodsName"));
vo.setGoodsAmount(object.getBigDecimal("goodsAmount"));
vo.setFreightUnitPriceOutput(object.getBigDecimal("freightUnitPriceOutput"));
vo.setDeliveryEvidenceId(object.getLong("deliveryEvidenceId"));
vo.setDeliveryTime(object.getDate("deliveryTime"));
vo.setDeliveryGoodsAmount(object.getBigDecimal("deliveryGoodsAmount"));
vo.setReceiveEvidenceId(object.getLong("receiveEvidenceId"));
vo.setReceiveTime(object.getDate("receiveTime"));
vo.setReceiveGoodsAmount(object.getBigDecimal("receiveGoodsAmount"));
vo.setPayVerifyState(object.getInteger("payVerifyState"));
vo.setGoodsUnit(object.getInteger("goodsUnit"));
vo.setFreightUnitPriceInput(object.getBigDecimal("freightUnitPriceInput"));
vo.setCreateTime(object.getDate("createTime"));
vo.setRequiredDeliveryTime(object.getDate("requiredDeliveryTime"));
vo.setRequiredReceiveTime(object.getDate("requiredReceiveTime"));
records.add(vo);
}
return EResponse.ok(mWaybillListVO); pageResultVO.setRecord(records);
}
return EResponse.ok(pageResultVO);
} }
/** /**
* description 获取运单列表 * description 获取运单详情
* param [accessToken, waybillQueryForm] * param waybillQueryForm
* return com.esv.freight.common.response.EResponse * return com.esv.freight.common.response.EResponse
* author 张志臣 * author 张志臣
* createTime 2020/04/26 115:00 * createTime 2020/04/26 15:00
**/ **/
@PostMapping("/detail") @PostMapping("/detail")
public EResponse detail(@RequestHeader("Union-Authorization") String accessToken, @RequestBody(required=false) @Validated(ValidatorDetail.class) WaybillQueryForm waybillQueryForm) { public EResponse detail(@RequestBody(required=false) @Validated(ValidatorDetail.class) WaybillQueryForm waybillQueryForm) {
appLoginService.checkAccessToken(); appLoginService.checkAccessToken();
//TODO 调用获取运单详情接口 // 调用获取运单详情接口
JSONObject reqJson = new JSONObject();
reqJson.put("id", waybillQueryForm.getWaybillId());
log.info(reqJson.toJSONString());
JSONObject result = tmsWaybillInterface.getWaybillDetail(reqJson);
log.info(result.toJSONString());
if(result.getInteger("code") != 200) {
return EResponse.error(result.getInteger("code"), result.getString("message"));
}
WaybillDetailVO waybillDetailVO = new WaybillDetailVO();
JSONObject data = result.getJSONObject("data");
waybillDetailVO.setId(data.getLong("id"));
waybillDetailVO.setGoodsDetail(data.getString("goodsDetail"));
waybillDetailVO.setGoodsUnitPrice(data.getBigDecimal("goodsUnitPrice"));
waybillDetailVO.setDeliveryAddressId(data.getLong("deliveryAddressId"));
waybillDetailVO.setDeliveryAddressName(data.getString("deliveryAddressName"));
waybillDetailVO.setDeliveryProvinceCode(data.getString("deliveryProvinceCode"));
waybillDetailVO.setDeliveryCityCode(data.getString("deliveryCityCode"));
waybillDetailVO.setDeliveryDistrictCode(data.getString("deliveryDistrictCode"));
waybillDetailVO.setDeliveryDetailAddress(data.getString("deliveryDetailAddress"));
waybillDetailVO.setDeliverer(data.getString("deliverer"));
waybillDetailVO.setDelivererPhone(data.getString("delivererPhone"));
waybillDetailVO.setReceiveAddressId(data.getLong("receiveAddressId"));
waybillDetailVO.setReceiveAddressName(data.getString("receiveAddressName"));
waybillDetailVO.setReceiveProvinceCode(data.getString("receiveProvinceCode"));
waybillDetailVO.setReceiveCityCode(data.getString("receiveCityCode"));
waybillDetailVO.setReceiveDistrictCode(data.getString("receiveDistrictCode"));
waybillDetailVO.setReceiveDetailAddress(data.getString("receiveDetailAddress"));
waybillDetailVO.setReceiver(data.getString("receiver"));
waybillDetailVO.setReceiverPhone(data.getString("receiverPhone"));
waybillDetailVO.setRequiredDeliveryTime(data.getDate("requiredDeliveryTime"));
waybillDetailVO.setRequiredReceiveTime(data.getDate("requiredReceiveTime"));
waybillDetailVO.setRequiredReceiptTime(data.getDate("requiredReceiptTime"));
return EResponse.ok(waybillDetailVO);
}
/**
* description 上传发货单据
* param uploadEvidenceForm
* return com.esv.freight.common.response.EResponse
* author 张志臣
* createTime 2020/05/08 15:00
**/
@PostMapping("/delivery/upload")
public EResponse uploadDeliveryEvidence(@RequestBody(required=false) @Validated(ValidatorInsert.class) UploadEvidenceForm uploadEvidenceForm) {
appLoginService.checkAccessToken();
// 调用上传发货单据接口
JSONObject reqJson = new JSONObject();
reqJson.put("waybillId", uploadEvidenceForm.getWaybillId());
reqJson.put("goodsAmount", uploadEvidenceForm.getGoodsAmount());
reqJson.put("deliveryTime", uploadEvidenceForm.getOccurrenceTime());
if(StringUtils.isEmpty(uploadEvidenceForm.getPictureUrl01())) {
reqJson.put("pictureUrl01", uploadEvidenceForm.getPictureUrl01());
}
if(StringUtils.isEmpty(uploadEvidenceForm.getPictureUrl02())) {
reqJson.put("pictureUrl02", uploadEvidenceForm.getPictureUrl02());
}
if(StringUtils.isEmpty(uploadEvidenceForm.getPictureUrl03())) {
reqJson.put("pictureUrl03", uploadEvidenceForm.getPictureUrl03());
}
if(StringUtils.isEmpty(uploadEvidenceForm.getPictureUrl04())) {
reqJson.put("pictureUrl04", uploadEvidenceForm.getPictureUrl04());
}
log.info(reqJson.toJSONString());
JSONObject result = tmsWaybillInterface.uploadDeliveryEvidence(reqJson);
log.info(result.toJSONString());
if (result.getInteger("code") != 200) {
return EResponse.error(result.getInteger("code"), result.getString("message"));
}
return EResponse.ok();
}
/**
* description 上传交货单据
* param uploadEvidenceForm
* return com.esv.freight.common.response.EResponse
* author 张志臣
* createTime 2020/05/08 15:00
**/
@PostMapping("/receive/upload")
public EResponse uploadReceiveEvidence(@RequestBody(required=false) @Validated(ValidatorInsert.class) UploadEvidenceForm uploadEvidenceForm) {
appLoginService.checkAccessToken();
// 调用上传发货单据接口
JSONObject reqJson = new JSONObject();
reqJson.put("waybillId", uploadEvidenceForm.getWaybillId());
reqJson.put("goodsAmount", uploadEvidenceForm.getGoodsAmount());
reqJson.put("receiveTime", uploadEvidenceForm.getOccurrenceTime());
if(StringUtils.isEmpty(uploadEvidenceForm.getPictureUrl01())) {
reqJson.put("pictureUrl01", uploadEvidenceForm.getPictureUrl01());
}
if(StringUtils.isEmpty(uploadEvidenceForm.getPictureUrl02())) {
reqJson.put("pictureUrl02", uploadEvidenceForm.getPictureUrl02());
}
if(StringUtils.isEmpty(uploadEvidenceForm.getPictureUrl03())) {
reqJson.put("pictureUrl03", uploadEvidenceForm.getPictureUrl03());
}
if(StringUtils.isEmpty(uploadEvidenceForm.getPictureUrl04())) {
reqJson.put("pictureUrl04", uploadEvidenceForm.getPictureUrl04());
}
log.info(reqJson.toJSONString());
JSONObject result = tmsWaybillInterface.uploadReceiveEvidence(reqJson);
log.info(result.toJSONString());
if (result.getInteger("code") != 200) {
return EResponse.error(result.getInteger("code"), result.getString("message"));
}
return EResponse.ok(mWaybillListVO); return EResponse.ok();
} }
} }
...@@ -5,10 +5,13 @@ import com.alibaba.fastjson.JSONObject; ...@@ -5,10 +5,13 @@ import com.alibaba.fastjson.JSONObject;
import com.esv.freight.app.common.response.ECode; import com.esv.freight.app.common.response.ECode;
import com.esv.freight.app.common.response.EResponse; import com.esv.freight.app.common.response.EResponse;
import com.esv.freight.app.common.util.ReqUtils; import com.esv.freight.app.common.util.ReqUtils;
import com.esv.freight.app.common.validator.groups.ValidatorDetail;
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.feign.TmsOrderInterface; import com.esv.freight.app.feign.TmsOrderInterface;
import com.esv.freight.app.feign.TmsWaybillInterface; import com.esv.freight.app.feign.TmsWaybillInterface;
import com.esv.freight.app.module.account.service.AppLoginService; import com.esv.freight.app.module.account.service.AppLoginService;
import com.esv.freight.app.module.waybill.form.UploadEvidenceForm;
import com.esv.freight.app.module.waybill.form.WaybillQueryForm; import com.esv.freight.app.module.waybill.form.WaybillQueryForm;
import com.esv.freight.app.module.waybill.vo.WaybillListItemVO; import com.esv.freight.app.module.waybill.vo.WaybillListItemVO;
import com.esv.freight.app.module.waybill.vo.WaybillListVO; import com.esv.freight.app.module.waybill.vo.WaybillListVO;
...@@ -25,7 +28,7 @@ import java.util.List; ...@@ -25,7 +28,7 @@ import java.util.List;
/** /**
* @description: 货主运单Controller * @description: 货主运单Controller
* @project: Freight * @project: freight-app-service
* @name: com.esv.freight.app.module.waybill.controller.OwnerWaybillController * @name: com.esv.freight.app.module.waybill.controller.OwnerWaybillController
* @author: 张志臣 * @author: 张志臣
* @email: zhangzhichen@esvtek.com * @email: zhangzhichen@esvtek.com
...@@ -80,7 +83,7 @@ public class OwnerWaybillController { ...@@ -80,7 +83,7 @@ public class OwnerWaybillController {
JSONObject data = result.getJSONObject("data"); JSONObject data = result.getJSONObject("data");
pageResultVO.setPageSize(data.getLong("pageSize")); pageResultVO.setPageSize(data.getLong("pageSize"));
pageResultVO.setPageNum(data.getLong("pageNum")); pageResultVO.setPageNum(data.getLong("pageNum"));
pageResultVO.setTotal(data.getLong("total")); pageResultVO.setTotal(data.getLong("totalSize"));
pageResultVO.setRecordSize(data.getLong("recordSize")); pageResultVO.setRecordSize(data.getLong("recordSize"));
if(pageResultVO.getRecordSize() > 0) { if(pageResultVO.getRecordSize() > 0) {
JSONArray items = data.getJSONArray("records"); JSONArray items = data.getJSONArray("records");
...@@ -89,17 +92,41 @@ public class OwnerWaybillController { ...@@ -89,17 +92,41 @@ public class OwnerWaybillController {
WaybillListItemVO vo = new WaybillListItemVO(); WaybillListItemVO vo = new WaybillListItemVO();
JSONObject object = items.getJSONObject(i); JSONObject object = items.getJSONObject(i);
vo.setId(object.getLong("id")); vo.setId(object.getLong("id"));
vo.setWaybillNO(object.getString("waybillNO")); vo.setVehicleId(object.getLong("vehicleId"));
vo.setOrderNO(object.getString("orderNo")); vo.setVehicleLicenseNo(object.getString("vehicleLicenseNo"));
vo.setWaybillNo(object.getString("waybillNo"));
vo.setWaybillState(object.getInteger("waybillState")); vo.setWaybillState(object.getInteger("waybillState"));
vo.setDeliveryCity(object.getString("deliveryCityCode")); vo.setDeliveryStrategy(object.getInteger("deliveryStrategy"));
vo.setReceiveCity(object.getString("receiveCityCode")); vo.setOrderId(object.getLong("orderId"));
vo.setGoodsName(object.getInteger("goodsNameCode")); vo.setOrderNo(object.getString("orderNo"));
vo.setGoodsTotalAmount(object.getBigDecimal("goodsAmount")); vo.setGoodsOwnerId(object.getLong("goodsOwnerId"));
vo.setGoodsUnit(object.getString("goodsUnit")); vo.setGoodsOwnerName(object.getString("goodsOwnerName"));
vo.setDeliveryCityCode(object.getString("deliveryCityCode"));
vo.setReceiveCityCode(object.getString("receiveCityCode"));
vo.setDriverId(object.getLong("driverId"));
vo.setDriverName(object.getString("driverName"));
vo.setDriverPhone(object.getString("driverPhone"));
vo.setSettlementType(object.getString("settlementType"));
vo.setCarrierId(object.getLong("carrierId"));
vo.setCarrierName(object.getString("carrierName"));
vo.setBusinessType(object.getInteger("businessType"));
vo.setGoodsType(object.getInteger("goodsType"));
vo.setGoodsNameCode(object.getInteger("goodsNameCode"));
vo.setGoodsName(object.getString("goodsName"));
vo.setGoodsAmount(object.getBigDecimal("goodsAmount"));
vo.setFreightUnitPriceOutput(object.getBigDecimal("freightUnitPriceOutput"));
vo.setDeliveryEvidenceId(object.getLong("deliveryEvidenceId"));
vo.setDeliveryTime(object.getDate("deliveryTime"));
vo.setDeliveryGoodsAmount(object.getBigDecimal("deliveryGoodsAmount"));
vo.setReceiveEvidenceId(object.getLong("receiveEvidenceId"));
vo.setReceiveTime(object.getDate("receiveTime"));
vo.setReceiveGoodsAmount(object.getBigDecimal("receiveGoodsAmount"));
vo.setPayVerifyState(object.getInteger("payVerifyState"));
vo.setGoodsUnit(object.getInteger("goodsUnit"));
vo.setFreightUnitPriceInput(object.getBigDecimal("freightUnitPriceInput"));
vo.setCreateTime(object.getDate("createTime")); vo.setCreateTime(object.getDate("createTime"));
vo.setVehicleId(object.getString("vehicleId")); vo.setRequiredDeliveryTime(object.getDate("requiredDeliveryTime"));
vo.setVehicleNum(object.getString("vehicleLicenseNo")); vo.setRequiredReceiveTime(object.getDate("requiredReceiveTime"));
records.add(vo); records.add(vo);
} }
...@@ -107,4 +134,30 @@ public class OwnerWaybillController { ...@@ -107,4 +134,30 @@ public class OwnerWaybillController {
} }
return EResponse.ok(pageResultVO); return EResponse.ok(pageResultVO);
} }
/**
* description 运单签收
* param waybillQueryForm
* return com.esv.freight.common.response.EResponse
* author 张志臣
* createTime 2020/05/08 16:00
**/
@PostMapping("/sign")
public EResponse sign(@RequestBody(required=false) @Validated(ValidatorDetail.class) WaybillQueryForm waybillQueryForm) {
appLoginService.checkAccessToken();
// 调用上传发货单据接口
JSONObject reqJson = new JSONObject();
reqJson.put("waybillId", waybillQueryForm.getWaybillId());
log.info(reqJson.toJSONString());
JSONObject result = tmsWaybillInterface.sign(reqJson);
log.info(result.toJSONString());
if (result.getInteger("code") != 200) {
return EResponse.error(result.getInteger("code"), result.getString("message"));
}
return EResponse.ok();
}
} }
package com.esv.freight.app.module.waybill.form;
import com.esv.freight.app.common.validator.groups.ValidatorInsert;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
/**
* @description:
* @project: freight-app-service
* @name: com.esv.freight.app.module.waybill.form.UploadEvidenceForm
* @author: 张志臣
* @email: zhangzhichen@esvtek.com
* @createTime: 2020/05/08 16:00
* @version:1.0
*/
@Data
public class UploadEvidenceForm {
/**
* 运单ID
*/
@NotNull(message = "参数运单ID不能为空", groups = {ValidatorInsert.class})
private Long waybillId;
/**
* 发货量
*/
@NotNull(message = "参数发货量不能为空", groups = {ValidatorInsert.class})
private BigDecimal goodsAmount;
/**
* 发货/交货时间
*/
@NotNull(message = "参数发货时间不能为空", groups = {ValidatorInsert.class})
private Long occurrenceTime;
/**
* 发货单据01URL
*/
@Length(max = 500, message = "参数pictureUrl01长度不合法", groups = {ValidatorInsert.class})
private String pictureUrl01;
/**
* 发货单据01URL
*/
@Length(max = 500, message = "参数pictureUrl01长度不合法", groups = {ValidatorInsert.class})
private String pictureUrl02;
/**
* 发货单据01URL
*/
@Length(max = 500, message = "参数pictureUrl01长度不合法", groups = {ValidatorInsert.class})
private String pictureUrl03;
/**
* 发货单据01URL
*/
@Length(max = 500, message = "参数pictureUrl01长度不合法", groups = {ValidatorInsert.class})
private String pictureUrl04;
}
...@@ -14,8 +14,8 @@ import java.util.List; ...@@ -14,8 +14,8 @@ import java.util.List;
/** /**
* @description: * @description:
* @project: Freight * @project: freight-app-service
* @name: com.esv.freight.module.ownerBackend.waybill.form.WaybillQueryForm * @name: com.esv.freight.app.module.waybill.form.WaybillQueryForm
* @author: 张志臣 * @author: 张志臣
* @email: zhangzhichen@esvtek.com * @email: zhangzhichen@esvtek.com
* @createTime: 2020/04/22 11:00 * @createTime: 2020/04/22 11:00
...@@ -57,7 +57,6 @@ public class WaybillQueryForm { ...@@ -57,7 +57,6 @@ public class WaybillQueryForm {
/** /**
* 当前页数 * 当前页数
*/ */
@Range(min = 1, max = 1000, message = "无效的pageNum", groups = {ValidatorList.class})
@NotNull(message = "参数pageNum不能为空", groups = {ValidatorList.class}) @NotNull(message = "参数pageNum不能为空", groups = {ValidatorList.class})
private Long pageNum; private Long pageNum;
......
package com.esv.freight.app.module.waybill.vo; package com.esv.freight.app.module.waybill.vo;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
/**
* @description: 运单详情VO
* @project: freight-app-service
* @name: com.esv.freight.app.module.waybill.vo.WaybillDetailVO
* @author: 张志臣
* @email: zhangzhichen@esvtek.com
* @createTime: 2020/04/18 11:00
* @version:1.0
*/
@Data
public class WaybillDetailVO { public class WaybillDetailVO {
/** /**
* 运单ID * 主键
*/ */
private Long id; private Long id;
/** /**
* 运单号 * 货物明细
*/
private String goodsDetail;
/**
* 货物单价
*/ */
private String waybillNO; private BigDecimal goodsUnitPrice;
/** /**
* 订单号 * 发货地址ID
*/ */
private String orderNO; private Long deliveryAddressId;
/** /**
* 运单状态 * 发货地址名称
*/ */
private Integer waybillState; private String deliveryAddressName;
/** /**
* 发货地址省份 * 发货地址省份
*/ */
private String deliveryProvinceCode; private String deliveryProvinceCode;
/** /**
* 发货地址城市 * 发货地址城市
*/ */
private String deliveryCityCode; private String deliveryCityCode;
/** /**
* 发货地址区、县 * 发货地址区、县
*/ */
...@@ -42,64 +63,57 @@ public class WaybillDetailVO { ...@@ -42,64 +63,57 @@ public class WaybillDetailVO {
* 发货详细地址 * 发货详细地址
*/ */
private String deliveryDetailAddress; private String deliveryDetailAddress;
/** /**
* 发货人 * 发货人
*/ */
private String deliverer; private String deliverer;
/** /**
* 发货人手机号 * 发货人手机号
*/ */
private String delivererPhone; private String delivererPhone;
/**
* 收货地址ID
*/
private Long receiveAddressId;
/** /**
* 收货地址名称 * 收货地址名称
*/ */
private String receiveAddressName; private String receiveAddressName;
/** /**
* 收货地址省份 * 收货地址省份
*/ */
private String receiveProvinceCode; private String receiveProvinceCode;
/** /**
* 收货地址城市 * 收货地址城市
*/ */
private String receiveCityCode; private String receiveCityCode;
/** /**
* 收货地址区、县 * 收货地址区、县
*/ */
private String receiveDistrictCode; private String receiveDistrictCode;
/** /**
* 收货详细地址 * 收货详细地址
*/ */
private String receiveDetailAddress; private String receiveDetailAddress;
/** /**
* 收货人 * 收货人
*/ */
private String receiver; private String receiver;
/** /**
* 收货人电话 * 收货人电话
*/ */
private String receiverPhone; private String receiverPhone;
/**
* 货物名称编码
*/
private Integer goodsName;
/**
* 货物明细
*/
private String goodsDetail;
/**
* 货物运单量
*/
private BigDecimal goodsTotalAmount;
/**
* 货物单位
*/
private String goodsUnit;
/** /**
* 要求发货时间 * 要求发货时间
*/ */
...@@ -111,42 +125,12 @@ public class WaybillDetailVO { ...@@ -111,42 +125,12 @@ public class WaybillDetailVO {
private Date requiredReceiveTime; private Date requiredReceiveTime;
/** /**
* 货主姓名 * 要求回单时间
*/ */
private String goodsOwnerName; private Date requiredReceiptTime;
/** @Override
* 实际交货量 public String toString() {
*/ return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE);
private BigDecimal actualGoodsTotalAmount; }
/**
* 应付运费
*/
private BigDecimal actualFreightPrice;
/**
* 运费单价
*/
private BigDecimal freightUnitPriceInput;
/**
* 运单生成时间(发布时间)
*/
private Date createTime;
/**
* 派单时间
*/
private Date dispatchTime;
/**
* 实际发货时间
*/
private Date actualDeliveryTime;
/**
* 实际交货时间
*/
private Date actualReceiveTime;
} }
...@@ -6,8 +6,8 @@ import java.math.BigDecimal; ...@@ -6,8 +6,8 @@ import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
/** /**
* @description: 运单列表VO * @description: 运单列表itemVO
* @project: Freight * @project: freight-app-service
* @name: com.esv.freight.app.module.waybill.vo.WaybillListItemVO * @name: com.esv.freight.app.module.waybill.vo.WaybillListItemVO
* @author: 张志臣 * @author: 张志臣
* @email: zhangzhichen@esvtek.com * @email: zhangzhichen@esvtek.com
...@@ -18,62 +18,166 @@ import java.util.Date; ...@@ -18,62 +18,166 @@ import java.util.Date;
public class WaybillListItemVO { public class WaybillListItemVO {
/** /**
* 运单ID * 主键
*/ */
private Long id; private Long id;
/**
* 车辆ID
*/
private Long vehicleId;
/**
* 车牌号
*/
private String vehicleLicenseNo;
/** /**
* 运单号,YD+”8位日期“+”6位序号“ * 运单号,YD+”8位日期“+”6位序号“
*/ */
private String waybillNO; private String waybillNo;
/**
* 运单状态.1-装货中;2-运输中;3-已交货;4-已签收;5-已回单;6-已作废
*/
private Integer waybillState;
/**
* 发货策略 1-平台代发货;2-货主直接发货
*/
private Integer deliveryStrategy;
/**
* 订单ID
*/
private Long orderId;
/** /**
* 订单号 * 订单号
* D+"8位日期“+”6位序号“
*/ */
private String orderNO; private String orderNo;
/** /**
* 运单状态 1-装货中;2-运输中;3-已交货;4-已签收;5-已回单;6-已作废 * 货主id
*/ */
private Integer waybillState; private Long goodsOwnerId;
/**
* 货主姓名
*/
private String goodsOwnerName;
/** /**
* 发货城市编码 * 发货城市编码
*/ */
private String deliveryCity; private String deliveryCityCode;
/** /**
* 收货城市编码 * 收货城市编码
*/ */
private String receiveCity; private String receiveCityCode;
/**
* 司机ID
*/
private Long driverId;
/**
* 司机名称
*/
private String driverName;
/**
* 司机电话
*/
private String driverPhone;
/**
* 结算对象类型
*/
private String settlementType;
/**
* 所属承运商ID
*/
private Long carrierId;
/**
* 所属承运商名称
*/
private String carrierName;
/**
* 业务类型 1-干线普通运输;2-城市配送;3-农村配送;4-集装箱运输;5-其他
*/
private Integer businessType;
/**
* 货物类型
*/
private Integer goodsType;
/** /**
* 货物名称编码 * 货物名称编码
*/ */
private Integer goodsName; private Integer goodsNameCode;
/**
* 货物名称
*/
private String goodsName;
/** /**
* 货物订单量 * 货物订单量
*/ */
private BigDecimal goodsTotalAmount; private BigDecimal goodsAmount;
/**
* 运费单价(支出)
*/
private BigDecimal freightUnitPriceOutput;
/**
* 发货单据ID
*/
private Long deliveryEvidenceId;
/**
* 实际发货时间
*/
private Date deliveryTime;
/**
* 实际发货运单量
*/
private BigDecimal deliveryGoodsAmount;
/**
* 收货单据ID
*/
private Long receiveEvidenceId;
/**
* 实际收货时间
*/
private Date receiveTime;
/**
* 实际收货运单量
*/
private BigDecimal receiveGoodsAmount;
/**
* 应付结算状态
*/
private Integer payVerifyState;
/**
* 货物单位。1-吨;2-件;3-立方;4-平方
*/
private Integer goodsUnit;
/** /**
* 货物单位 * 运费单价(收入)
*/ */
private String goodsUnit; private BigDecimal freightUnitPriceInput;
/** /**
* 运单生成时间 * 创建时间
*/ */
private Date createTime; private Date createTime;
/** /**
* 执行车辆ID * 要求发货时间
*/ */
private String vehicleId; private Date requiredDeliveryTime;
/** /**
* 执行车辆车牌号 * 要求交货时间
*/ */
private String vehicleNum; private Date requiredReceiveTime;
} }
...@@ -6,7 +6,7 @@ import java.util.List; ...@@ -6,7 +6,7 @@ import java.util.List;
/** /**
* @description: 运单列表VO * @description: 运单列表VO
* @project: Freight * @project: freight-app-service
* @name: com.esv.freight.app.module.waybill.vo.WaybillListVO * @name: com.esv.freight.app.module.waybill.vo.WaybillListVO
* @author: 张志臣 * @author: 张志臣
* @email: zhangzhichen@esvtek.com * @email: zhangzhichen@esvtek.com
......
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