Commit 05b00e4e authored by zhangzc's avatar zhangzc

完善运单接口

parent fa2c15d6
......@@ -22,7 +22,7 @@ import java.util.List;
/**
* @description: 发货地址Controller
* @project: Freight
* @project: freight-app-service
* @name: com.esv.freight.module.ownerBackend.address.controller.DeliveryAddressController
* @author: 张志臣
* @email: zhangzhichen@esvtek.com
......
......@@ -24,7 +24,7 @@ import java.util.List;
/**
* @description: 收货地址Controller
* @project: Freight
* @project: freight-app-service
* @name: com.esv.freight.module.ownerBackend.address.controller.ReceiveAddressController
* @author: 张志臣
* @email: zhangzhichen@esvtek.com
......
......@@ -12,7 +12,7 @@ import javax.validation.constraints.NotNull;
/**
* @description:
* @project: Freight
* @project: freight-app-service
* @name: com.esv.freight.app.module.address.form.AddressQueryForm
* @author: 张志臣
* @email: zhangzhichen@esvtek.com
......
......@@ -12,7 +12,7 @@ import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* @description:
* @project: Freight
* @project: freight-app-service
* @name: com.esv.freight.app.module.address.form.DeliveryAddressForm
* @author: 张志臣
* @email: zhangzhichen@esvtek.com
......
......@@ -12,7 +12,7 @@ import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* @description:
* @project: Freight
* @project: freight-app-service
* @name: com.esv.freight.app.module.address.form.ReceiveAddressForm
* @author: 张志臣
* @email: zhangzhichen@esvtek.com
......
......@@ -7,9 +7,9 @@ import org.apache.commons.lang3.builder.ToStringStyle;
import java.util.List;
/**
* @description: 发货地址VO
* @project: Freight
* @name: com.esv.freight.module.ownerBackend.account.address.vo.DeliveryAddressListVO
* @description: 地址列表VO
* @project: freight-app-service
* @name: com.esv.freight.module.ownerBackend.account.address.vo.AddressBriefVO
* @author: 张志臣
* @email: zhangzhichen@esvtek.com
* @createTime: 2020/04/17 10:00
......
......@@ -3,9 +3,9 @@ package com.esv.freight.app.module.address.vo;
import lombok.Data;
/**
* @description: 发货地址VO
* @project: Freight
* @name: com.esv.freight.module.ownerBackend.account.address.vo.DeliveryAddressVO
* @description: 地址详情VO
* @project: freight-app-service
* @name: com.esv.freight.module.ownerBackend.account.address.vo.AddressDetailVO
* @author: 张志臣
* @email: zhangzhichen@esvtek.com
* @createTime: 2020/04/17 10:00
......
......@@ -26,7 +26,7 @@ import java.util.List;
/**
* @description: 司机找货抢单订单Controller
* @project: Freight
* @project: freight-app-service
* @name: com.esv.freight.app.module.grabbing.controller.GrabController
* @author: 张志臣
* @email: zhangzhichen@esvtek.com
......@@ -162,6 +162,10 @@ public class GrabController {
JSONObject result = tmsGrabInterface.grabOrder(reqJson);
log.info(result.toJSONString());
if(result.getInteger("code") == 1009) {
return EResponse.error(1009, "已经抢过该订单了");
}
if(result.getInteger("code") != 200) {
return EResponse.error(result.getInteger("code"), result.getString("message"));
}
......
......@@ -6,8 +6,8 @@ import java.math.BigDecimal;
import java.util.Date;
/**
* @description: 订单列表VO
* @project: Freight
* @description: 抢单列表itemVO
* @project: freight-app-service
* @name: com.esv.freight.app.module.grabbing.vo.GrabListItemVO
* @author: 张志臣
* @email: zhangzhichen@esvtek.com
......
......@@ -5,8 +5,8 @@ import lombok.Data;
import java.util.List;
/**
* @description: 单列表VO
* @project: Freight
* @description: 单列表VO
* @project: freight-app-service
* @name: com.esv.freight.app.module.grabbing.vo.GrabListVO
* @author: 张志臣
* @email: zhangzhichen@esvtek.com
......
......@@ -27,7 +27,7 @@ import java.util.List;
/**
* @description: 货主订单Controller
* @project: Freight
* @project: freight-app-service
* @name: com.esv.freight.app.module.order.controller.OrderController
* @author: 张志臣
* @email: zhangzhichen@esvtek.com
......
......@@ -26,7 +26,7 @@ import java.util.List;
/**
* @description: 车辆Controller
* @project: Freight
* @project: freight-app-service
* @name: com.esv.freight.app.module.vehicle.controller.VehicleController
* @author: 张志臣
* @email: zhangzhichen@esvtek.com
......
......@@ -13,7 +13,7 @@ import java.math.BigDecimal;
/**
* @description:
* @project: Freight
* @project: freight-app-service
* @name: com.esv.freight.app.module.vehicle.form.VehicleForm
* @author: 张志臣
* @email: zhangzhichen@esvtek.com
......
......@@ -12,7 +12,7 @@ import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
/**
* @description:
* @project: Freight
* @project: freight-app-service
* @name: com.esv.freight.app.module.vehicle.form.VehicleQueryForm
* @author: 张志臣
* @email: zhangzhichen@esvtek.com
......
......@@ -5,10 +5,13 @@ 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.ValidatorDetail;
import com.esv.freight.app.common.validator.groups.ValidatorInsert;
import com.esv.freight.app.common.validator.groups.ValidatorList;
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.waybill.form.UploadEvidenceForm;
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.WaybillListVO;
......@@ -25,7 +28,7 @@ import java.util.List;
/**
* @description: 货主运单Controller
* @project: Freight
* @project: freight-app-service
* @name: com.esv.freight.app.module.waybill.controller.OwnerWaybillController
* @author: 张志臣
* @email: zhangzhichen@esvtek.com
......@@ -80,7 +83,7 @@ public class OwnerWaybillController {
JSONObject data = result.getJSONObject("data");
pageResultVO.setPageSize(data.getLong("pageSize"));
pageResultVO.setPageNum(data.getLong("pageNum"));
pageResultVO.setTotal(data.getLong("total"));
pageResultVO.setTotal(data.getLong("totalSize"));
pageResultVO.setRecordSize(data.getLong("recordSize"));
if(pageResultVO.getRecordSize() > 0) {
JSONArray items = data.getJSONArray("records");
......@@ -89,17 +92,41 @@ public class OwnerWaybillController {
WaybillListItemVO vo = new WaybillListItemVO();
JSONObject object = items.getJSONObject(i);
vo.setId(object.getLong("id"));
vo.setWaybillNO(object.getString("waybillNO"));
vo.setOrderNO(object.getString("orderNo"));
vo.setVehicleId(object.getLong("vehicleId"));
vo.setVehicleLicenseNo(object.getString("vehicleLicenseNo"));
vo.setWaybillNo(object.getString("waybillNo"));
vo.setWaybillState(object.getInteger("waybillState"));
vo.setDeliveryCity(object.getString("deliveryCityCode"));
vo.setReceiveCity(object.getString("receiveCityCode"));
vo.setGoodsName(object.getInteger("goodsNameCode"));
vo.setGoodsTotalAmount(object.getBigDecimal("goodsAmount"));
vo.setGoodsUnit(object.getString("goodsUnit"));
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.setVehicleId(object.getString("vehicleId"));
vo.setVehicleNum(object.getString("vehicleLicenseNo"));
vo.setRequiredDeliveryTime(object.getDate("requiredDeliveryTime"));
vo.setRequiredReceiveTime(object.getDate("requiredReceiveTime"));
records.add(vo);
}
......@@ -107,4 +134,30 @@ public class OwnerWaybillController {
}
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;
/**
* @description:
* @project: Freight
* @name: com.esv.freight.module.ownerBackend.waybill.form.WaybillQueryForm
* @project: freight-app-service
* @name: com.esv.freight.app.module.waybill.form.WaybillQueryForm
* @author: 张志臣
* @email: zhangzhichen@esvtek.com
* @createTime: 2020/04/22 11:00
......@@ -57,7 +57,6 @@ public class WaybillQueryForm {
/**
* 当前页数
*/
@Range(min = 1, max = 1000, message = "无效的pageNum", groups = {ValidatorList.class})
@NotNull(message = "参数pageNum不能为空", groups = {ValidatorList.class})
private Long pageNum;
......
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.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 {
/**
* 运单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 deliveryCityCode;
/**
* 发货地址区、县
*/
......@@ -42,64 +63,57 @@ public class WaybillDetailVO {
* 发货详细地址
*/
private String deliveryDetailAddress;
/**
* 发货人
*/
private String deliverer;
/**
* 发货人手机号
*/
private String delivererPhone;
/**
* 收货地址ID
*/
private Long receiveAddressId;
/**
* 收货地址名称
*/
private String receiveAddressName;
/**
* 收货地址省份
*/
private String receiveProvinceCode;
/**
* 收货地址城市
*/
private String receiveCityCode;
/**
* 收货地址区、县
*/
private String receiveDistrictCode;
/**
* 收货详细地址
*/
private String receiveDetailAddress;
/**
* 收货人
*/
private String receiver;
/**
* 收货人电话
*/
private String receiverPhone;
/**
* 货物名称编码
*/
private Integer goodsName;
/**
* 货物明细
*/
private String goodsDetail;
/**
* 货物运单量
*/
private BigDecimal goodsTotalAmount;
/**
* 货物单位
*/
private String goodsUnit;
/**
* 要求发货时间
*/
......@@ -111,42 +125,12 @@ public class WaybillDetailVO {
private Date requiredReceiveTime;
/**
* 货主姓名
* 要求回单时间
*/
private String goodsOwnerName;
private Date requiredReceiptTime;
/**
* 实际交货量
*/
private BigDecimal actualGoodsTotalAmount;
/**
* 应付运费
*/
private BigDecimal actualFreightPrice;
/**
* 运费单价
*/
private BigDecimal freightUnitPriceInput;
/**
* 运单生成时间(发布时间)
*/
private Date createTime;
/**
* 派单时间
*/
private Date dispatchTime;
/**
* 实际发货时间
*/
private Date actualDeliveryTime;
/**
* 实际交货时间
*/
private Date actualReceiveTime;
@Override
public String toString() {
return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE);
}
}
......@@ -6,8 +6,8 @@ import java.math.BigDecimal;
import java.util.Date;
/**
* @description: 运单列表VO
* @project: Freight
* @description: 运单列表itemVO
* @project: freight-app-service
* @name: com.esv.freight.app.module.waybill.vo.WaybillListItemVO
* @author: 张志臣
* @email: zhangzhichen@esvtek.com
......@@ -18,62 +18,166 @@ import java.util.Date;
public class WaybillListItemVO {
/**
* 运单ID
* 主键
*/
private Long id;
/**
* 车辆ID
*/
private Long vehicleId;
/**
* 车牌号
*/
private String vehicleLicenseNo;
/**
* 运单号,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;
/**
* 执行车辆ID
* 要求发货时间
*/
private String vehicleId;
private Date requiredDeliveryTime;
/**
* 执行车辆车牌号
* 要求交货时间
*/
private String vehicleNum;
private Date requiredReceiveTime;
}
......@@ -6,7 +6,7 @@ import java.util.List;
/**
* @description: 运单列表VO
* @project: Freight
* @project: freight-app-service
* @name: com.esv.freight.app.module.waybill.vo.WaybillListVO
* @author: 张志臣
* @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