Commit fa2c15d6 authored by zhangzc's avatar zhangzc

完善司机抢单

parent efff13bc
...@@ -4,11 +4,13 @@ import com.alibaba.fastjson.JSONArray; ...@@ -4,11 +4,13 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; 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.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.esv.freight.app.feign.TmsGrabInterface; import com.esv.freight.app.feign.TmsGrabInterface;
import com.esv.freight.app.feign.TmsOrderInterface; import com.esv.freight.app.feign.TmsOrderInterface;
import com.esv.freight.app.module.account.service.AppLoginService; import com.esv.freight.app.module.account.service.AppLoginService;
import com.esv.freight.app.module.grabbing.form.OrderGrabbingForm;
import com.esv.freight.app.module.grabbing.form.OrderGrabbingQueryForm; import com.esv.freight.app.module.grabbing.form.OrderGrabbingQueryForm;
import com.esv.freight.app.module.grabbing.vo.GrabListItemVO; import com.esv.freight.app.module.grabbing.vo.GrabListItemVO;
import com.esv.freight.app.module.grabbing.vo.GrabListVO; import com.esv.freight.app.module.grabbing.vo.GrabListVO;
...@@ -19,6 +21,7 @@ import org.springframework.validation.annotation.Validated; ...@@ -19,6 +21,7 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
...@@ -46,8 +49,8 @@ public class GrabController { ...@@ -46,8 +49,8 @@ public class GrabController {
} }
/** /**
* description 获取全部路线找货列表 * description 获取路线找货列表
* param param [accessToken] * param orderGrabbingQueryForm
* return com.esv.freight.common.response.EResponse * return com.esv.freight.common.response.EResponse
* author 张志臣 * author 张志臣
* createTime 2020/04/24 17:00 * createTime 2020/04/24 17:00
...@@ -59,8 +62,7 @@ public class GrabController { ...@@ -59,8 +62,7 @@ public class GrabController {
// 调用查询抢单信息列表接口 // 调用查询抢单信息列表接口
JSONObject reqJson = new JSONObject(); JSONObject reqJson = new JSONObject();
reqJson.put("vehicleTypeMain", orderGrabbingQueryForm.getVehicleTypeMain()); reqJson.put("driverId", orderGrabbingQueryForm.getDriverId());
reqJson.put("vehicleTypeSub", orderGrabbingQueryForm.getVehicleTypeSub());
if(!StringUtils.isNullOrEmpty(orderGrabbingQueryForm.getDeliveryProvinceCode())) { if(!StringUtils.isNullOrEmpty(orderGrabbingQueryForm.getDeliveryProvinceCode())) {
reqJson.put("deliveryProvinceCode", orderGrabbingQueryForm.getDeliveryProvinceCode()); reqJson.put("deliveryProvinceCode", orderGrabbingQueryForm.getDeliveryProvinceCode());
...@@ -78,6 +80,14 @@ public class GrabController { ...@@ -78,6 +80,14 @@ public class GrabController {
reqJson.put("receiveCityCode", orderGrabbingQueryForm.getReceiveCityCode()); reqJson.put("receiveCityCode", orderGrabbingQueryForm.getReceiveCityCode());
} }
if(orderGrabbingQueryForm.getVehicleTypeMain() != null) {
reqJson.put("vehicleTypeMain", orderGrabbingQueryForm.getVehicleTypeMain());
}
if(orderGrabbingQueryForm.getVehicleTypeSub() != null) {
reqJson.put("vehicleTypeSub", orderGrabbingQueryForm.getVehicleTypeSub());
}
reqJson.put("pageNum", orderGrabbingQueryForm.getPageNum()); reqJson.put("pageNum", orderGrabbingQueryForm.getPageNum());
reqJson.put("pageSize", orderGrabbingQueryForm.getPageSize()); reqJson.put("pageSize", orderGrabbingQueryForm.getPageSize());
log.info(reqJson.toJSONString()); log.info(reqJson.toJSONString());
...@@ -92,7 +102,7 @@ public class GrabController { ...@@ -92,7 +102,7 @@ public class GrabController {
JSONObject data = result.getJSONObject("data"); JSONObject data = result.getJSONObject("data");
grabListVO.setPageSize(data.getLong("pageSize")); grabListVO.setPageSize(data.getLong("pageSize"));
grabListVO.setPageNum(data.getLong("pageNum")); grabListVO.setPageNum(data.getLong("pageNum"));
grabListVO.setTotal(data.getLong("total")); grabListVO.setTotal(data.getLong("totalSize"));
grabListVO.setRecordSize(data.getLong("recordSize")); grabListVO.setRecordSize(data.getLong("recordSize"));
if(grabListVO.getRecordSize() > 0) { if(grabListVO.getRecordSize() > 0) {
JSONArray items = data.getJSONArray("records"); JSONArray items = data.getJSONArray("records");
...@@ -100,12 +110,29 @@ public class GrabController { ...@@ -100,12 +110,29 @@ public class GrabController {
for(int i=0; i<items.size(); ++i) { for(int i=0; i<items.size(); ++i) {
GrabListItemVO vo = new GrabListItemVO(); GrabListItemVO vo = new GrabListItemVO();
JSONObject object = items.getJSONObject(i); JSONObject object = items.getJSONObject(i);
vo.setId(object.getLong("orderId")); vo.setId(object.getLong("id"));
vo.setOrderId(object.getLong("orderId"));
vo.setOrderNo(object.getString("orderNo")); vo.setOrderNo(object.getString("orderNo"));
vo.setVehicleTypeMain(object.getInteger("vehicleTypeMain"));
vo.setVehicleTypeSub(object.getInteger("vehicleTypeSub"));
vo.setPublishGoodsAmount(object.getBigDecimal("publishGoodsAmount"));
vo.setRequiredVehicleCount(object.getInteger("requiredVehicleCount"));
vo.setCurrentVehicleCount(object.getInteger("currentVehicleCount"));
vo.setCurrentGoodsAmount(object.getBigDecimal("currentGoodsAmount"));
vo.setFreightUnitPriceOutput(object.getBigDecimal("freightUnitPriceOutput"));
vo.setBargainAllowed(object.getBoolean("bargainAllowed"));
vo.setContractSigned(object.getBoolean("contractSigned"));
vo.setDeliveryProvinceCode(object.getString("deliveryProvinceCode")); vo.setDeliveryProvinceCode(object.getString("deliveryProvinceCode"));
vo.setDeliveryCityCode(object.getString("deliveryCityCode")); vo.setDeliveryCityCode(object.getString("deliveryCityCode"));
vo.setReceiveProvinceCode(object.getString("receiveProvinceCode")); vo.setReceiveProvinceCode(object.getString("receiveProvinceCode"));
vo.setReceiveCityCode(object.getString("receiveCityCode")); vo.setReceiveCityCode(object.getString("receiveCityCode"));
vo.setGoodsNameCode(object.getInteger("goodsNameCode"));
vo.setGoodsName(object.getString("goodsName"));
vo.setGoodsUnit(object.getInteger("goodsUnit"));
vo.setDeliveryStrategy(object.getInteger("deliveryStrategy"));
vo.setRequiredDeliveryTime(object.getLong("requiredDeliveryTime"));
vo.setRequiredReceiveTime(object.getLong("requiredReceiveTime"));
vo.setCreateTime(object.getLong("createTime"));
records.add(vo); records.add(vo);
} }
...@@ -116,19 +143,21 @@ public class GrabController { ...@@ -116,19 +143,21 @@ public class GrabController {
/** /**
* description 抢单 * description 抢单
* param param [accessToken] * param orderGrabbingForm
* return com.esv.freight.common.response.EResponse * return com.esv.freight.common.response.EResponse
* author 张志臣 * author 张志臣
* createTime 2020/04/24 17:00 * createTime 2020/04/24 17:00
**/ **/
@PostMapping("/find/grab") @PostMapping("/find/grab")
public EResponse grabOrder(@RequestHeader("Union-Authorization") String accessToken, @RequestBody(required=false) @Validated(ValidatorUpdate.class) OrderGrabbingQueryForm orderGrabbingQueryForm) { public EResponse grabOrder(@RequestBody(required=false) @Validated(ValidatorInsert.class) OrderGrabbingForm orderGrabbingForm) {
appLoginService.checkAccessToken(); appLoginService.checkAccessToken();
// 调用抢单接口 // 调用抢单接口
JSONObject reqJson = new JSONObject(); JSONObject reqJson = new JSONObject();
reqJson.put("orderGrabbingId", orderGrabbingQueryForm.getOrderId()); reqJson.put("orderGrabbingId", orderGrabbingForm.getOrderGrabbingId());
reqJson.put("driverId", orderGrabbingForm.getDriverId());
reqJson.put("vehicleId", orderGrabbingForm.getVehicleId());
log.info(reqJson.toJSONString()); log.info(reqJson.toJSONString());
JSONObject result = tmsGrabInterface.grabOrder(reqJson); JSONObject result = tmsGrabInterface.grabOrder(reqJson);
log.info(result.toJSONString()); log.info(result.toJSONString());
......
package com.esv.freight.app.module.grabbing.form;
import com.esv.freight.app.common.validator.groups.ValidatorInsert;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import javax.validation.constraints.DecimalMax;
import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
/**
* @description:
* @project: freight-app-service
* @name: com.esv.freight.app.module.grabbing.form.OrderGrabbingForm
* @author: 张志臣
* @email: zhangzhichen@esvtek.com
* @createTime: 2020/5/7 20:00
* @version:1.0
*/
@Data
public class OrderGrabbingForm {
/**
* 主键
*/
@NotNull(message = "参数抢单信息ID不能为空", groups = {ValidatorInsert.class})
private Long orderGrabbingId;
/**
* 司机ID
*/
@NotNull(message = "参数司机ID不能为空", groups = {ValidatorInsert.class})
private Long driverId;
/**
* 车辆ID
*/
@NotNull(message = "参数车辆ID不能为空", groups = {ValidatorInsert.class})
private Long vehicleId;
/**
* 司机议价单价,9位整数,6位小数
*/
@DecimalMax(value = "999999999.999999", message = "运费司机议价单价不合法", groups = {ValidatorInsert.class})
@DecimalMin(value = "0.000000", message = "运费司机议价单价不合法", groups = {ValidatorInsert.class})
private BigDecimal freightUnitPriceOutput;
@Override
public String toString() {
return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE);
}
}
...@@ -4,6 +4,8 @@ import com.esv.freight.app.common.validator.groups.ValidatorDetail; ...@@ -4,6 +4,8 @@ import com.esv.freight.app.common.validator.groups.ValidatorDetail;
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 lombok.Data; 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.Length;
import org.hibernate.validator.constraints.Range; import org.hibernate.validator.constraints.Range;
...@@ -12,7 +14,7 @@ import javax.validation.constraints.Positive; ...@@ -12,7 +14,7 @@ import javax.validation.constraints.Positive;
/** /**
* @description: * @description:
* @project: freight-tms-service * @project: freight-app-service
* @name: com.esv.freight.app.module.grabbing.form.OrderGrabbingQueryForm * @name: com.esv.freight.app.module.grabbing.form.OrderGrabbingQueryForm
* @author: 张志臣 * @author: 张志臣
* @email: zhangzhichen@esvtek.com * @email: zhangzhichen@esvtek.com
...@@ -22,21 +24,29 @@ import javax.validation.constraints.Positive; ...@@ -22,21 +24,29 @@ import javax.validation.constraints.Positive;
@Data @Data
public class OrderGrabbingQueryForm { public class OrderGrabbingQueryForm {
/**
* 司机ID
*/
@NotNull(message = "参数司机ID不能为空", groups = {ValidatorList.class})
private Long driverId;
/**
* 抢单信息ID
*/
@NotNull(message = "参数抢单信息ID不能为空", groups = {ValidatorDetail.class})
private Long orderGrabbingId;
/** /**
* 订单ID * 订单ID
*/ */
@NotNull(message = "参数订单ID不能为空", groups = {ValidatorUpdate.class}) @NotNull(message = "参数订单ID不能为空", groups = {ValidatorUpdate.class})
private Long orderId; private Long orderNo;
/** /**
* 车辆类型,主类型 * 车辆类型,主类型
*/ */
@Positive(message = "参数车辆类型(主)不合法", groups = {ValidatorList.class})
private Integer vehicleTypeMain; private Integer vehicleTypeMain;
/** /**
* 车辆类型,子类型 * 车辆类型,子类型
*/ */
@Positive(message = "参数车辆类型(子)不合法", groups = {ValidatorList.class})
private Integer vehicleTypeSub; private Integer vehicleTypeSub;
/** /**
* 发货地址 省份 * 发货地址 省份
...@@ -59,17 +69,27 @@ public class OrderGrabbingQueryForm { ...@@ -59,17 +69,27 @@ public class OrderGrabbingQueryForm {
@Length(max = 6, message = "参数交货地址 城市长度不合法", groups = {ValidatorList.class}) @Length(max = 6, message = "参数交货地址 城市长度不合法", groups = {ValidatorList.class})
private String receiveCityCode; private String receiveCityCode;
/**
* 抢单状态
*/
private Integer grabbingOrderState;
/** /**
* 页码 * 页码
**/ **/
@Range(min = 1, max = 1000, message = "无效的pageNum", groups = {ValidatorList.class}) @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 Integer pageNum;
/** /**
* 每页记录条数 * 每页记录条数
**/ **/
@Range(min = 1, max = 1000, message = "pageSize", groups = {ValidatorList.class}) @Range(min = 1, max = 1000, message = "pageSize", groups = {ValidatorList.class})
@NotNull(message = "参数pageSize不能为空", groups = {ValidatorList.class}) @NotNull(message = "参数pageSize不能为空", groups = {ValidatorList.class})
private Long pageSize; private Integer pageSize;
@Override
public String toString() {
return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE);
}
} }
\ No newline at end of file
...@@ -18,82 +18,105 @@ import java.util.Date; ...@@ -18,82 +18,105 @@ import java.util.Date;
public class GrabListItemVO { public class GrabListItemVO {
/** /**
* 抢单ID * 主键
*/ */
private Long id; private Long id;
/**
* 订单ID
*/
private Long orderId;
/** /**
* 订单号 * 订单号
* D+"8位日期“+”6位序号“
*/ */
private String orderNo; private String orderNo;
/**
* 车辆类型(主)
*/
private Integer vehicleTypeMain;
/**
* 车辆类型(子)
*/
private Integer vehicleTypeSub;
/**
* 发布订单量
*/
private BigDecimal publishGoodsAmount;
/**
* 需求车辆数
*/
private Integer requiredVehicleCount;
/**
* 当前抢单车辆数
*/
private Integer currentVehicleCount;
/**
* 当前抢单订单量
*/
private BigDecimal currentGoodsAmount;
/**
* 运费单价(支出)
*/
private BigDecimal freightUnitPriceOutput;
/**
* 是否允许议价,0-否,1-是
*/
private Boolean bargainAllowed;
/**
* 是否签署电子合同,0-否,1-是
*/
private Boolean contractSigned;
/** /**
* 发货地址 省份 * 发货地址 省份
*/ */
private String deliveryProvinceCode; private String deliveryProvinceCode;
/** /**
* 发货地址 城市 * 发货地址 城市
*/ */
private String deliveryCityCode; private String deliveryCityCode;
/** /**
* 交货地址 省份 * 交货地址 省份
*/ */
private String receiveProvinceCode; private String receiveProvinceCode;
/** /**
* 交货地址 城市 * 交货地址 城市
*/ */
private String receiveCityCode; private String receiveCityCode;
/**
* 货物类型
*/
private Integer goodsType;
/** /**
* 货物名称编码 * 货物名称编码
*/ */
private Integer goodsName; private Integer goodsNameCode;
/** /**
* 货物订单量 * 货物名称
*/ */
private BigDecimal goodsTotalAmount; private String goodsName;
/** /**
* 货物单位 * 货物单位
*/ */
private String goodsUnit; private Integer goodsUnit;
/** /**
* 要求发货时间 * 发货策略
*/ */
private Date requiredDeliveryTime; private Integer deliveryStrategy;
/** /**
* 订单创建时间 * 要求发货时间
*/
private Date createTime;
/**
* 订单来源
*/
private String orderSource;
/**
* 运费单价(支出)
*/ */
private BigDecimal freightUnitPriceOutput; private Long requiredDeliveryTime;
/** /**
* 需求车辆数 * 要求交货时间
*/ */
private Integer requiredVehicleCount; private Long requiredReceiveTime;
/** /**
* 当前抢单车辆数 * 抢单创建时间
*/ */
private Integer currentVehicleCount; private Long createTime;
} }
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