Commit fa2c15d6 authored by zhangzc's avatar zhangzc

完善司机抢单

parent efff13bc
......@@ -4,11 +4,13 @@ import com.alibaba.fastjson.JSONArray;
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.validator.groups.ValidatorInsert;
import com.esv.freight.app.common.validator.groups.ValidatorList;
import com.esv.freight.app.common.validator.groups.ValidatorUpdate;
import com.esv.freight.app.feign.TmsGrabInterface;
import com.esv.freight.app.feign.TmsOrderInterface;
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.vo.GrabListItemVO;
import com.esv.freight.app.module.grabbing.vo.GrabListVO;
......@@ -19,6 +21,7 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
......@@ -46,8 +49,8 @@ public class GrabController {
}
/**
* description 获取全部路线找货列表
* param param [accessToken]
* description 获取路线找货列表
* param orderGrabbingQueryForm
* return com.esv.freight.common.response.EResponse
* author 张志臣
* createTime 2020/04/24 17:00
......@@ -59,8 +62,7 @@ public class GrabController {
// 调用查询抢单信息列表接口
JSONObject reqJson = new JSONObject();
reqJson.put("vehicleTypeMain", orderGrabbingQueryForm.getVehicleTypeMain());
reqJson.put("vehicleTypeSub", orderGrabbingQueryForm.getVehicleTypeSub());
reqJson.put("driverId", orderGrabbingQueryForm.getDriverId());
if(!StringUtils.isNullOrEmpty(orderGrabbingQueryForm.getDeliveryProvinceCode())) {
reqJson.put("deliveryProvinceCode", orderGrabbingQueryForm.getDeliveryProvinceCode());
......@@ -78,6 +80,14 @@ public class GrabController {
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("pageSize", orderGrabbingQueryForm.getPageSize());
log.info(reqJson.toJSONString());
......@@ -92,7 +102,7 @@ public class GrabController {
JSONObject data = result.getJSONObject("data");
grabListVO.setPageSize(data.getLong("pageSize"));
grabListVO.setPageNum(data.getLong("pageNum"));
grabListVO.setTotal(data.getLong("total"));
grabListVO.setTotal(data.getLong("totalSize"));
grabListVO.setRecordSize(data.getLong("recordSize"));
if(grabListVO.getRecordSize() > 0) {
JSONArray items = data.getJSONArray("records");
......@@ -100,12 +110,29 @@ public class GrabController {
for(int i=0; i<items.size(); ++i) {
GrabListItemVO vo = new GrabListItemVO();
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.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.setDeliveryCityCode(object.getString("deliveryCityCode"));
vo.setReceiveProvinceCode(object.getString("receiveProvinceCode"));
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);
}
......@@ -116,19 +143,21 @@ public class GrabController {
/**
* description 抢单
* param param [accessToken]
* param orderGrabbingForm
* return com.esv.freight.common.response.EResponse
* author 张志臣
* createTime 2020/04/24 17:00
**/
@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();
// 调用抢单接口
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());
JSONObject result = tmsGrabInterface.grabOrder(reqJson);
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;
import com.esv.freight.app.common.validator.groups.ValidatorList;
import com.esv.freight.app.common.validator.groups.ValidatorUpdate;
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.Range;
......@@ -12,7 +14,7 @@ import javax.validation.constraints.Positive;
/**
* @description:
* @project: freight-tms-service
* @project: freight-app-service
* @name: com.esv.freight.app.module.grabbing.form.OrderGrabbingQueryForm
* @author: 张志臣
* @email: zhangzhichen@esvtek.com
......@@ -22,21 +24,29 @@ import javax.validation.constraints.Positive;
@Data
public class OrderGrabbingQueryForm {
/**
* 司机ID
*/
@NotNull(message = "参数司机ID不能为空", groups = {ValidatorList.class})
private Long driverId;
/**
* 抢单信息ID
*/
@NotNull(message = "参数抢单信息ID不能为空", groups = {ValidatorDetail.class})
private Long orderGrabbingId;
/**
* 订单ID
*/
@NotNull(message = "参数订单ID不能为空", groups = {ValidatorUpdate.class})
private Long orderId;
private Long orderNo;
/**
* 车辆类型,主类型
*/
@Positive(message = "参数车辆类型(主)不合法", groups = {ValidatorList.class})
private Integer vehicleTypeMain;
/**
* 车辆类型,子类型
*/
@Positive(message = "参数车辆类型(子)不合法", groups = {ValidatorList.class})
private Integer vehicleTypeSub;
/**
* 发货地址 省份
......@@ -59,17 +69,27 @@ public class OrderGrabbingQueryForm {
@Length(max = 6, message = "参数交货地址 城市长度不合法", groups = {ValidatorList.class})
private String receiveCityCode;
/**
* 抢单状态
*/
private Integer grabbingOrderState;
/**
* 页码
**/
@Range(min = 1, max = 1000, 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})
@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;
public class GrabListItemVO {
/**
* 抢单ID
* 主键
*/
private Long id;
/**
* 订单ID
*/
private Long orderId;
/**
* 订单号
* D+"8位日期“+”6位序号“
*/
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 deliveryCityCode;
/**
* 交货地址 省份
*/
private String receiveProvinceCode;
/**
* 交货地址 城市
*/
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