打印快递单时允许修改收/发件地址信息
parent
ef99bec678
commit
1b69e5f4d4
|
|
@ -33,10 +33,32 @@ public class ExpressController extends XktBaseController {
|
||||||
@Autowired
|
@Autowired
|
||||||
private IExpressService expressService;
|
private IExpressService expressService;
|
||||||
|
|
||||||
@ApiOperation("全部物流")
|
@ApiOperation("全部物流: systemDeliverAccess-系统发货是否可选则,storeDeliverAccess-档口发货是否可选择,userRefundAccess-用户退货是否可选择")
|
||||||
@GetMapping("allExpress")
|
@GetMapping("allExpress")
|
||||||
public R<List<ExpressVO>> allExpress() {
|
public R<List<ExpressVO>> allExpress(@RequestParam(value = "systemDeliverAccess", required = false)
|
||||||
return success(BeanUtil.copyToList(expressService.allExpress(), ExpressVO.class));
|
Boolean systemDeliverAccess,
|
||||||
|
@RequestParam(value = "storeDeliverAccess", required = false)
|
||||||
|
Boolean storeDeliverAccess,
|
||||||
|
@RequestParam(value = "userRefundAccess", required = false)
|
||||||
|
Boolean userRefundAccess) {
|
||||||
|
List<ExpressVO> voList = expressService.allExpress()
|
||||||
|
.stream()
|
||||||
|
.filter(o -> {
|
||||||
|
boolean rtn = true;
|
||||||
|
if (systemDeliverAccess != null && !systemDeliverAccess.equals(o.getSystemDeliverAccess())) {
|
||||||
|
rtn = false;
|
||||||
|
}
|
||||||
|
if (storeDeliverAccess != null && !storeDeliverAccess.equals(o.getStoreDeliverAccess())) {
|
||||||
|
rtn = false;
|
||||||
|
}
|
||||||
|
if (userRefundAccess != null && !userRefundAccess.equals(o.getStoreDeliverAccess())) {
|
||||||
|
rtn = false;
|
||||||
|
}
|
||||||
|
return rtn;
|
||||||
|
})
|
||||||
|
.map(o -> BeanUtil.toBean(o, ExpressVO.class))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
return success(voList);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("下单时物流选择列表 - 含快递费")
|
@ApiOperation("下单时物流选择列表 - 含快递费")
|
||||||
|
|
|
||||||
|
|
@ -289,7 +289,7 @@ public class StoreOrderController extends XktBaseController {
|
||||||
|
|
||||||
@PreAuthorize("@ss.hasAnyRoles('admin,general_admin,store')||@ss.hasSupplierSubRole()")
|
@PreAuthorize("@ss.hasAnyRoles('admin,general_admin,store')||@ss.hasSupplierSubRole()")
|
||||||
@Log(title = "订单", businessType = BusinessType.OTHER)
|
@Log(title = "订单", businessType = BusinessType.OTHER)
|
||||||
@ApiOperation("发货-无单号(未在平台打印过快递单)")
|
@ApiOperation("发货-无单号(未在平台打印过快递单,档口自己联系物流发货)")
|
||||||
@PostMapping("ship/store")
|
@PostMapping("ship/store")
|
||||||
public R<List<StoreOrderShipRespVO>> shipByStore(@Valid @RequestBody StoreOrderShipByStoreReqVO vo) {
|
public R<List<StoreOrderShipRespVO>> shipByStore(@Valid @RequestBody StoreOrderShipByStoreReqVO vo) {
|
||||||
if (!SecurityUtils.isAdmin()) {
|
if (!SecurityUtils.isAdmin()) {
|
||||||
|
|
@ -316,8 +316,10 @@ public class StoreOrderController extends XktBaseController {
|
||||||
//仅档口可操作
|
//仅档口可操作
|
||||||
storeOrderService.checkOrderStore(vo.getStoreOrderDetailIds(), SecurityUtils.getStoreId());
|
storeOrderService.checkOrderStore(vo.getStoreOrderDetailIds(), SecurityUtils.getStoreId());
|
||||||
}
|
}
|
||||||
|
ShipAddressDTO shipAddress = BeanUtil.toBean(vo, ShipAddressDTO.class);
|
||||||
ExpressShippingLabelDTO dto = storeOrderService.printOrder(vo.getStoreOrderId(),
|
ExpressShippingLabelDTO dto = storeOrderService.printOrder(vo.getStoreOrderId(),
|
||||||
vo.getStoreOrderDetailIds(), vo.getExpressId(), vo.getNeedShip(), SecurityUtils.getUserId());
|
vo.getStoreOrderDetailIds(), vo.getExpressId(), shipAddress, vo.getNeedShip(),
|
||||||
|
SecurityUtils.getUserId());
|
||||||
return success(DesensitizationUtil.desensitize(BeanUtil.toBean(dto, ExpressShippingLabelVO.class)));
|
return success(DesensitizationUtil.desensitize(BeanUtil.toBean(dto, ExpressShippingLabelVO.class)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -30,4 +30,52 @@ public class StoreOrderPrintReqVO {
|
||||||
|
|
||||||
@ApiModelProperty(value = "打印成功后立即发货", required = true)
|
@ApiModelProperty(value = "打印成功后立即发货", required = true)
|
||||||
private Boolean needShip;
|
private Boolean needShip;
|
||||||
|
|
||||||
|
@NotEmpty(message = "发货人名称不能为空")
|
||||||
|
@ApiModelProperty(value = "发货人-名称", required = true)
|
||||||
|
private String originContactName;
|
||||||
|
|
||||||
|
@NotEmpty(message = "发货人电话不能为空")
|
||||||
|
@ApiModelProperty(value = "发货人-电话", required = true)
|
||||||
|
private String originContactPhoneNumber;
|
||||||
|
|
||||||
|
@NotEmpty(message = "发货人省编码不能为空")
|
||||||
|
@ApiModelProperty(value = "发货人-省编码", required = true)
|
||||||
|
private String originProvinceCode;
|
||||||
|
|
||||||
|
@NotEmpty(message = "发货人市编码不能为空")
|
||||||
|
@ApiModelProperty(value = "发货人-市编码", required = true)
|
||||||
|
private String originCityCode;
|
||||||
|
|
||||||
|
@NotEmpty(message = "发货人区县编码不能为空")
|
||||||
|
@ApiModelProperty(value = "发货人-区县编码", required = true)
|
||||||
|
private String originCountyCode;
|
||||||
|
|
||||||
|
@NotEmpty(message = "发货人详细地址不能为空")
|
||||||
|
@ApiModelProperty(value = "发货人-详细地址", required = true)
|
||||||
|
private String originDetailAddress;
|
||||||
|
|
||||||
|
@NotEmpty(message = "收货人名称不能为空")
|
||||||
|
@ApiModelProperty(value = "收货人-名称", required = true)
|
||||||
|
private String destinationContactName;
|
||||||
|
|
||||||
|
@NotEmpty(message = "收货人电话不能为空")
|
||||||
|
@ApiModelProperty(value = "收货人-电话", required = true)
|
||||||
|
private String destinationContactPhoneNumber;
|
||||||
|
|
||||||
|
@NotEmpty(message = "收货人省编码不能为空")
|
||||||
|
@ApiModelProperty(value = "收货人-省编码", required = true)
|
||||||
|
private String destinationProvinceCode;
|
||||||
|
|
||||||
|
@NotEmpty(message = "收货人市编码不能为空")
|
||||||
|
@ApiModelProperty(value = "收货人-市编码", required = true)
|
||||||
|
private String destinationCityCode;
|
||||||
|
|
||||||
|
@NotEmpty(message = "收货人区县编码不能为空")
|
||||||
|
@ApiModelProperty(value = "收货人-区县编码", required = true)
|
||||||
|
private String destinationCountyCode;
|
||||||
|
|
||||||
|
@NotEmpty(message = "收货人详细地址不能为空")
|
||||||
|
@ApiModelProperty(value = "收货人-详细地址", required = true)
|
||||||
|
private String destinationDetailAddress;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2567,6 +2567,18 @@ CREATE TABLE `store_order_detail`
|
||||||
`express_status` tinyint(4) NOT NULL COMMENT '物流状态[1:初始 2:下单中 3:已下单 4:取消中 5:已揽件 6:拦截中 99:已结束]',
|
`express_status` tinyint(4) NOT NULL COMMENT '物流状态[1:初始 2:下单中 3:已下单 4:取消中 5:已揽件 6:拦截中 99:已结束]',
|
||||||
`express_req_no` varchar(32) DEFAULT NULL COMMENT '物流请求单号',
|
`express_req_no` varchar(32) DEFAULT NULL COMMENT '物流请求单号',
|
||||||
`express_waybill_no` varchar(512) DEFAULT NULL COMMENT '物流运单号(快递单号),档口/用户自己填写时可能存在多个,使用“,”分割',
|
`express_waybill_no` varchar(512) DEFAULT NULL COMMENT '物流运单号(快递单号),档口/用户自己填写时可能存在多个,使用“,”分割',
|
||||||
|
`origin_contact_name` varchar(32) DEFAULT NULL COMMENT '发货人-名称',
|
||||||
|
`origin_contact_phone_number` varchar(32) DEFAULT NULL COMMENT '发货人-电话',
|
||||||
|
`origin_province_code` varchar(16) DEFAULT NULL COMMENT '发货人-省编码',
|
||||||
|
`origin_city_code` varchar(16) DEFAULT NULL COMMENT '发货人-市编码',
|
||||||
|
`origin_county_code` varchar(16) DEFAULT NULL COMMENT '发货人-区县编码',
|
||||||
|
`origin_detail_address` varchar(255) DEFAULT NULL COMMENT '发货人-详细地址',
|
||||||
|
`destination_contact_name` varchar(32) DEFAULT NULL COMMENT '收货人-名称',
|
||||||
|
`destination_contact_phone_number` varchar(32) DEFAULT NULL COMMENT '收货人-电话',
|
||||||
|
`destination_province_code` varchar(16) DEFAULT NULL COMMENT '收货人-省编码',
|
||||||
|
`destination_city_code` varchar(16) DEFAULT NULL COMMENT '收货人-市编码',
|
||||||
|
`destination_county_code` varchar(16) DEFAULT NULL COMMENT '收货人-区县编码',
|
||||||
|
`destination_detail_address` varchar(255) DEFAULT NULL COMMENT '收货人-详细地址',
|
||||||
`goods_price` decimal(18, 2) NOT NULL COMMENT '商品单价',
|
`goods_price` decimal(18, 2) NOT NULL COMMENT '商品单价',
|
||||||
`goods_quantity` int(11) NOT NULL COMMENT '商品数量',
|
`goods_quantity` int(11) NOT NULL COMMENT '商品数量',
|
||||||
`goods_amount` decimal(18, 2) NOT NULL COMMENT '商品金额(商品单价*商品数量)',
|
`goods_amount` decimal(18, 2) NOT NULL COMMENT '商品金额(商品单价*商品数量)',
|
||||||
|
|
|
||||||
|
|
@ -79,6 +79,54 @@ public class StoreOrderDetail extends SimpleEntity {
|
||||||
* 物流运单号(快递单号),档口/用户自己填写时可能存在多个,使用“,”分割
|
* 物流运单号(快递单号),档口/用户自己填写时可能存在多个,使用“,”分割
|
||||||
*/
|
*/
|
||||||
private String expressWaybillNo;
|
private String expressWaybillNo;
|
||||||
|
/**
|
||||||
|
* 发货人-名称
|
||||||
|
*/
|
||||||
|
private String originContactName;
|
||||||
|
/**
|
||||||
|
* 发货人-电话
|
||||||
|
*/
|
||||||
|
private String originContactPhoneNumber;
|
||||||
|
/**
|
||||||
|
* 发货人-省编码
|
||||||
|
*/
|
||||||
|
private String originProvinceCode;
|
||||||
|
/**
|
||||||
|
* 发货人-市编码
|
||||||
|
*/
|
||||||
|
private String originCityCode;
|
||||||
|
/**
|
||||||
|
* 发货人-区县编码
|
||||||
|
*/
|
||||||
|
private String originCountyCode;
|
||||||
|
/**
|
||||||
|
* 发货人-详细地址
|
||||||
|
*/
|
||||||
|
private String originDetailAddress;
|
||||||
|
/**
|
||||||
|
* 收货人-名称
|
||||||
|
*/
|
||||||
|
private String destinationContactName;
|
||||||
|
/**
|
||||||
|
* 收货人-电话
|
||||||
|
*/
|
||||||
|
private String destinationContactPhoneNumber;
|
||||||
|
/**
|
||||||
|
* 收货人-省编码
|
||||||
|
*/
|
||||||
|
private String destinationProvinceCode;
|
||||||
|
/**
|
||||||
|
* 收货人-市编码
|
||||||
|
*/
|
||||||
|
private String destinationCityCode;
|
||||||
|
/**
|
||||||
|
* 收货人-区县编码
|
||||||
|
*/
|
||||||
|
private String destinationCountyCode;
|
||||||
|
/**
|
||||||
|
* 收货人-详细地址
|
||||||
|
*/
|
||||||
|
private String destinationDetailAddress;
|
||||||
/**
|
/**
|
||||||
* 商品单价
|
* 商品单价
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,59 @@
|
||||||
|
package com.ruoyi.xkt.dto.order;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author liangyq
|
||||||
|
* @date 2025-11-30
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class ShipAddressDTO {
|
||||||
|
/**
|
||||||
|
* 发货人-名称
|
||||||
|
*/
|
||||||
|
private String originContactName;
|
||||||
|
/**
|
||||||
|
* 发货人-电话
|
||||||
|
*/
|
||||||
|
private String originContactPhoneNumber;
|
||||||
|
/**
|
||||||
|
* 发货人-省编码
|
||||||
|
*/
|
||||||
|
private String originProvinceCode;
|
||||||
|
/**
|
||||||
|
* 发货人-市编码
|
||||||
|
*/
|
||||||
|
private String originCityCode;
|
||||||
|
/**
|
||||||
|
* 发货人-区县编码
|
||||||
|
*/
|
||||||
|
private String originCountyCode;
|
||||||
|
/**
|
||||||
|
* 发货人-详细地址
|
||||||
|
*/
|
||||||
|
private String originDetailAddress;
|
||||||
|
/**
|
||||||
|
* 收货人-名称
|
||||||
|
*/
|
||||||
|
private String destinationContactName;
|
||||||
|
/**
|
||||||
|
* 收货人-电话
|
||||||
|
*/
|
||||||
|
private String destinationContactPhoneNumber;
|
||||||
|
/**
|
||||||
|
* 收货人-省编码
|
||||||
|
*/
|
||||||
|
private String destinationProvinceCode;
|
||||||
|
/**
|
||||||
|
* 收货人-市编码
|
||||||
|
*/
|
||||||
|
private String destinationCityCode;
|
||||||
|
/**
|
||||||
|
* 收货人-区县编码
|
||||||
|
*/
|
||||||
|
private String destinationCountyCode;
|
||||||
|
/**
|
||||||
|
* 收货人-详细地址
|
||||||
|
*/
|
||||||
|
private String destinationDetailAddress;
|
||||||
|
}
|
||||||
|
|
@ -77,6 +77,54 @@ public class StoreOrderDetailDTO {
|
||||||
* 物流运单号(快递单号),档口/用户自己填写时可能存在多个,使用“,”分割
|
* 物流运单号(快递单号),档口/用户自己填写时可能存在多个,使用“,”分割
|
||||||
*/
|
*/
|
||||||
private String expressWaybillNo;
|
private String expressWaybillNo;
|
||||||
|
/**
|
||||||
|
* 发货人-名称
|
||||||
|
*/
|
||||||
|
private String originContactName;
|
||||||
|
/**
|
||||||
|
* 发货人-电话
|
||||||
|
*/
|
||||||
|
private String originContactPhoneNumber;
|
||||||
|
/**
|
||||||
|
* 发货人-省编码
|
||||||
|
*/
|
||||||
|
private String originProvinceCode;
|
||||||
|
/**
|
||||||
|
* 发货人-市编码
|
||||||
|
*/
|
||||||
|
private String originCityCode;
|
||||||
|
/**
|
||||||
|
* 发货人-区县编码
|
||||||
|
*/
|
||||||
|
private String originCountyCode;
|
||||||
|
/**
|
||||||
|
* 发货人-详细地址
|
||||||
|
*/
|
||||||
|
private String originDetailAddress;
|
||||||
|
/**
|
||||||
|
* 收货人-名称
|
||||||
|
*/
|
||||||
|
private String destinationContactName;
|
||||||
|
/**
|
||||||
|
* 收货人-电话
|
||||||
|
*/
|
||||||
|
private String destinationContactPhoneNumber;
|
||||||
|
/**
|
||||||
|
* 收货人-省编码
|
||||||
|
*/
|
||||||
|
private String destinationProvinceCode;
|
||||||
|
/**
|
||||||
|
* 收货人-市编码
|
||||||
|
*/
|
||||||
|
private String destinationCityCode;
|
||||||
|
/**
|
||||||
|
* 收货人-区县编码
|
||||||
|
*/
|
||||||
|
private String destinationCountyCode;
|
||||||
|
/**
|
||||||
|
* 收货人-详细地址
|
||||||
|
*/
|
||||||
|
private String destinationDetailAddress;
|
||||||
/**
|
/**
|
||||||
* 商品单价
|
* 商品单价
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -354,7 +354,7 @@ public class ZtoExpressManagerImpl implements ExpressManager, InitializingBean {
|
||||||
//发件人信息
|
//发件人信息
|
||||||
ZtoCreateOrderParam.SenderInfo senderInfo = new ZtoCreateOrderParam.SenderInfo();
|
ZtoCreateOrderParam.SenderInfo senderInfo = new ZtoCreateOrderParam.SenderInfo();
|
||||||
reqDTO.setSenderInfo(senderInfo);
|
reqDTO.setSenderInfo(senderInfo);
|
||||||
senderInfo.setSenderName(expressShipReqDTO.getOriginCountyName());
|
senderInfo.setSenderName(expressShipReqDTO.getOriginContactName());
|
||||||
senderInfo.setSenderPhone(expressShipReqDTO.getOriginContactPhoneNumber());
|
senderInfo.setSenderPhone(expressShipReqDTO.getOriginContactPhoneNumber());
|
||||||
senderInfo.setSenderProvince(expressShipReqDTO.getOriginProvinceName());
|
senderInfo.setSenderProvince(expressShipReqDTO.getOriginProvinceName());
|
||||||
senderInfo.setSenderCity(expressShipReqDTO.getOriginCityName());
|
senderInfo.setSenderCity(expressShipReqDTO.getOriginCityName());
|
||||||
|
|
|
||||||
|
|
@ -170,12 +170,13 @@ public interface IStoreOrderService {
|
||||||
* @param storeOrderId
|
* @param storeOrderId
|
||||||
* @param storeOrderDetailIds
|
* @param storeOrderDetailIds
|
||||||
* @param expressId
|
* @param expressId
|
||||||
|
* @param shipAddress
|
||||||
* @param needShip
|
* @param needShip
|
||||||
* @param operatorId
|
* @param operatorId
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
ExpressShippingLabelDTO printOrder(Long storeOrderId, List<Long> storeOrderDetailIds, Long expressId,
|
ExpressShippingLabelDTO printOrder(Long storeOrderId, List<Long> storeOrderDetailIds, Long expressId,
|
||||||
Boolean needShip, Long operatorId);
|
ShipAddressDTO shipAddress, Boolean needShip, Long operatorId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 确认收货
|
* 确认收货
|
||||||
|
|
|
||||||
|
|
@ -964,6 +964,19 @@ public class StoreOrderServiceImpl implements IStoreOrderService {
|
||||||
orderDetail.setExpressType(EExpressType.STORE.getValue());
|
orderDetail.setExpressType(EExpressType.STORE.getValue());
|
||||||
orderDetail.setExpressStatus(EExpressStatus.COMPLETED.getValue());
|
orderDetail.setExpressStatus(EExpressStatus.COMPLETED.getValue());
|
||||||
orderDetail.setExpressWaybillNo(expressWaybillNo);
|
orderDetail.setExpressWaybillNo(expressWaybillNo);
|
||||||
|
//档口发货的物流信息从订单中取
|
||||||
|
orderDetail.setOriginContactName(order.getOriginContactName());
|
||||||
|
orderDetail.setOriginContactPhoneNumber(order.getOriginContactPhoneNumber());
|
||||||
|
orderDetail.setOriginProvinceCode(order.getOriginProvinceCode());
|
||||||
|
orderDetail.setOriginCityCode(order.getOriginCityCode());
|
||||||
|
orderDetail.setOriginCountyCode(order.getOriginCountyCode());
|
||||||
|
orderDetail.setOriginDetailAddress(order.getOriginDetailAddress());
|
||||||
|
orderDetail.setDestinationContactName(order.getDestinationContactName());
|
||||||
|
orderDetail.setDestinationContactPhoneNumber(order.getDestinationContactPhoneNumber());
|
||||||
|
orderDetail.setDestinationProvinceCode(order.getDestinationProvinceCode());
|
||||||
|
orderDetail.setDestinationCityCode(order.getDestinationCityCode());
|
||||||
|
orderDetail.setDestinationCountyCode(order.getDestinationCountyCode());
|
||||||
|
orderDetail.setDestinationDetailAddress(order.getDestinationDetailAddress());
|
||||||
int orderDetailSuccess = storeOrderDetailMapper.updateById(prepareUpdate(orderDetail));
|
int orderDetailSuccess = storeOrderDetailMapper.updateById(prepareUpdate(orderDetail));
|
||||||
if (orderDetailSuccess == 0) {
|
if (orderDetailSuccess == 0) {
|
||||||
throw new ServiceException(Constants.VERSION_LOCK_ERROR_COMMON_MSG);
|
throw new ServiceException(Constants.VERSION_LOCK_ERROR_COMMON_MSG);
|
||||||
|
|
@ -1000,7 +1013,7 @@ public class StoreOrderServiceImpl implements IStoreOrderService {
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
@Override
|
@Override
|
||||||
public ExpressShippingLabelDTO printOrder(Long storeOrderId, List<Long> storeOrderDetailIds, Long expressId,
|
public ExpressShippingLabelDTO printOrder(Long storeOrderId, List<Long> storeOrderDetailIds, Long expressId,
|
||||||
Boolean needShip, Long operatorId) {
|
ShipAddressDTO shipAddress, Boolean needShip, Long operatorId) {
|
||||||
Assert.notEmpty(storeOrderDetailIds);
|
Assert.notEmpty(storeOrderDetailIds);
|
||||||
checkNoCompleteRefundDetail(storeOrderDetailIds, "售后完成状态的商品无法打印快递单");
|
checkNoCompleteRefundDetail(storeOrderDetailIds, "售后完成状态的商品无法打印快递单");
|
||||||
ExpressManager expressManager = expressService.getExpressManager(expressId);
|
ExpressManager expressManager = expressService.getExpressManager(expressId);
|
||||||
|
|
@ -1050,7 +1063,7 @@ public class StoreOrderServiceImpl implements IStoreOrderService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//物流发货
|
//物流发货
|
||||||
ExpressShipReqDTO shipReq = createShipReq(order, orderDetails);
|
ExpressShipReqDTO shipReq = createShipReq(order, orderDetails, shipAddress);
|
||||||
ExpressShippingLabelDTO shippingLabelDTO = expressManager.shipStoreOrder(shipReq);
|
ExpressShippingLabelDTO shippingLabelDTO = expressManager.shipStoreOrder(shipReq);
|
||||||
//订阅轨迹
|
//订阅轨迹
|
||||||
ExpressTrackSubReqDTO trackSubReq = new ExpressTrackSubReqDTO(shipReq.getExpressReqNo(),
|
ExpressTrackSubReqDTO trackSubReq = new ExpressTrackSubReqDTO(shipReq.getExpressReqNo(),
|
||||||
|
|
@ -1067,6 +1080,19 @@ public class StoreOrderServiceImpl implements IStoreOrderService {
|
||||||
orderDetail.setExpressStatus(EExpressStatus.PLACED.getValue());
|
orderDetail.setExpressStatus(EExpressStatus.PLACED.getValue());
|
||||||
orderDetail.setExpressReqNo(shipReq.getExpressReqNo());
|
orderDetail.setExpressReqNo(shipReq.getExpressReqNo());
|
||||||
orderDetail.setExpressWaybillNo(shippingLabelDTO.getExpressWaybillNo());
|
orderDetail.setExpressWaybillNo(shippingLabelDTO.getExpressWaybillNo());
|
||||||
|
//平台发货的物流信息
|
||||||
|
orderDetail.setOriginContactName(shipReq.getOriginContactName());
|
||||||
|
orderDetail.setOriginContactPhoneNumber(shipReq.getOriginContactPhoneNumber());
|
||||||
|
orderDetail.setOriginProvinceCode(shipReq.getOriginProvinceCode());
|
||||||
|
orderDetail.setOriginCityCode(shipReq.getOriginCityCode());
|
||||||
|
orderDetail.setOriginCountyCode(shipReq.getOriginCountyCode());
|
||||||
|
orderDetail.setOriginDetailAddress(shipReq.getOriginDetailAddress());
|
||||||
|
orderDetail.setDestinationContactName(shipReq.getDestinationContactName());
|
||||||
|
orderDetail.setDestinationContactPhoneNumber(shipReq.getDestinationContactPhoneNumber());
|
||||||
|
orderDetail.setDestinationProvinceCode(shipReq.getDestinationProvinceCode());
|
||||||
|
orderDetail.setDestinationCityCode(shipReq.getDestinationCityCode());
|
||||||
|
orderDetail.setDestinationCountyCode(shipReq.getDestinationCountyCode());
|
||||||
|
orderDetail.setDestinationDetailAddress(shipReq.getDestinationDetailAddress());
|
||||||
int orderDetailSuccess = storeOrderDetailMapper.updateById(prepareUpdate(orderDetail));
|
int orderDetailSuccess = storeOrderDetailMapper.updateById(prepareUpdate(orderDetail));
|
||||||
if (orderDetailSuccess == 0) {
|
if (orderDetailSuccess == 0) {
|
||||||
throw new ServiceException(Constants.VERSION_LOCK_ERROR_COMMON_MSG);
|
throw new ServiceException(Constants.VERSION_LOCK_ERROR_COMMON_MSG);
|
||||||
|
|
@ -2041,18 +2067,32 @@ public class StoreOrderServiceImpl implements IStoreOrderService {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private ExpressShipReqDTO createShipReq(StoreOrder order, List<StoreOrderDetail> orderDetails) {
|
private ExpressShipReqDTO createShipReq(StoreOrder order, List<StoreOrderDetail> orderDetails,
|
||||||
|
ShipAddressDTO shipAddress) {
|
||||||
ExpressShipReqDTO reqDTO = BeanUtil.toBean(order, ExpressShipReqDTO.class);
|
ExpressShipReqDTO reqDTO = BeanUtil.toBean(order, ExpressShipReqDTO.class);
|
||||||
|
//收/发件人信息
|
||||||
|
reqDTO.setOriginContactName(shipAddress.getOriginContactName());
|
||||||
|
reqDTO.setOriginContactPhoneNumber(shipAddress.getOriginContactPhoneNumber());
|
||||||
|
reqDTO.setOriginProvinceCode(shipAddress.getOriginProvinceCode());
|
||||||
|
reqDTO.setOriginCityCode(shipAddress.getOriginCityCode());
|
||||||
|
reqDTO.setOriginCountyCode(shipAddress.getOriginCountyCode());
|
||||||
|
reqDTO.setOriginDetailAddress(shipAddress.getOriginDetailAddress());
|
||||||
|
reqDTO.setDestinationContactName(shipAddress.getDestinationContactName());
|
||||||
|
reqDTO.setDestinationContactPhoneNumber(shipAddress.getDestinationContactPhoneNumber());
|
||||||
|
reqDTO.setDestinationProvinceCode(shipAddress.getDestinationProvinceCode());
|
||||||
|
reqDTO.setDestinationCityCode(shipAddress.getDestinationCityCode());
|
||||||
|
reqDTO.setDestinationCountyCode(shipAddress.getDestinationCountyCode());
|
||||||
|
reqDTO.setDestinationDetailAddress(shipAddress.getDestinationDetailAddress());
|
||||||
//生成请求号
|
//生成请求号
|
||||||
reqDTO.setExpressReqNo(IdUtil.simpleUUID());
|
reqDTO.setExpressReqNo(IdUtil.simpleUUID());
|
||||||
//行政区划信息
|
//行政区划信息
|
||||||
Map<String, String> regionMap = expressService.getRegionNameMapCache();
|
Map<String, String> regionMap = expressService.getRegionNameMapCache();
|
||||||
reqDTO.setDestinationProvinceName(regionMap.get(order.getDestinationProvinceCode()));
|
reqDTO.setDestinationProvinceName(regionMap.get(shipAddress.getDestinationProvinceCode()));
|
||||||
reqDTO.setDestinationCityName(regionMap.get(order.getDestinationCityCode()));
|
reqDTO.setDestinationCityName(regionMap.get(shipAddress.getDestinationCityCode()));
|
||||||
reqDTO.setDestinationCountyName(regionMap.get(order.getDestinationCountyCode()));
|
reqDTO.setDestinationCountyName(regionMap.get(shipAddress.getDestinationCountyCode()));
|
||||||
reqDTO.setOriginProvinceName(regionMap.get(order.getOriginProvinceCode()));
|
reqDTO.setOriginProvinceName(regionMap.get(shipAddress.getOriginProvinceCode()));
|
||||||
reqDTO.setOriginCityName(regionMap.get(order.getOriginCityCode()));
|
reqDTO.setOriginCityName(regionMap.get(shipAddress.getOriginCityCode()));
|
||||||
reqDTO.setOriginCountyName(regionMap.get(order.getOriginCountyCode()));
|
reqDTO.setOriginCountyName(regionMap.get(shipAddress.getOriginCountyCode()));
|
||||||
reqDTO.setRemark(order.getOrderRemark());
|
reqDTO.setRemark(order.getOrderRemark());
|
||||||
//货物信息
|
//货物信息
|
||||||
List<ExpressShipReqDTO.OrderItem> orderItems = CollUtil.emptyIfNull(orderDetails).stream()
|
List<ExpressShipReqDTO.OrderItem> orderItems = CollUtil.emptyIfNull(orderDetails).stream()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue