express order finished
This commit is contained in:
@@ -92,4 +92,8 @@ public class BuyOrderDetail implements Serializable {
|
|||||||
* 评价 ID
|
* 评价 ID
|
||||||
*/
|
*/
|
||||||
private Integer recordId;
|
private Integer recordId;
|
||||||
|
/**
|
||||||
|
* 快递单号
|
||||||
|
*/
|
||||||
|
private String expressBillNo;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,8 +3,11 @@ package com.peanut.modules.book.service;
|
|||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.peanut.modules.book.entity.ExpressOrder;
|
import com.peanut.modules.book.entity.ExpressOrder;
|
||||||
import com.peanut.modules.book.entity.UserAddress;
|
import com.peanut.modules.book.entity.UserAddress;
|
||||||
|
import com.peanut.modules.book.vo.ExpressQueryResponseVo;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
public interface ExpressOrderService extends IService<ExpressOrder> {
|
public interface ExpressOrderService extends IService<ExpressOrder> {
|
||||||
/**
|
/**
|
||||||
@@ -14,7 +17,7 @@ public interface ExpressOrderService extends IService<ExpressOrder> {
|
|||||||
* @param expressOrder
|
* @param expressOrder
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
String placeExpressOrder(UserAddress userAddress, ExpressOrder expressOrder);
|
Map<String, String> placeExpressOrder(UserAddress userAddress, ExpressOrder expressOrder);
|
||||||
|
|
||||||
|
|
||||||
|
ExpressQueryResponseVo queryExpressOrder(String ShipperCode, String LogisticCode);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -273,9 +273,10 @@ public class BuyOrderServiceImpl extends ServiceImpl<BuyOrderDao, BuyOrderEntity
|
|||||||
expressOrder.setCommodity(commodityList);
|
expressOrder.setCommodity(commodityList);
|
||||||
expressOrder.setExpressCompanyCode(expressCompanyCode);
|
expressOrder.setExpressCompanyCode(expressCompanyCode);
|
||||||
// 生成快递面单
|
// 生成快递面单
|
||||||
String expressBill = expressOrderService.placeExpressOrder(address, expressOrder);
|
Map<String, String> result = expressOrderService.placeExpressOrder(address, expressOrder);
|
||||||
for (BuyOrderDetail buyOrderDetail : buyOrderDetailList) {
|
for (BuyOrderDetail buyOrderDetail : buyOrderDetailList) {
|
||||||
buyOrderDetail.setExpressBill(expressBill);
|
buyOrderDetail.setExpressBill(result.get("expressBill"));
|
||||||
|
buyOrderDetail.setExpressBillNo(result.get("expressBillNo"));
|
||||||
}
|
}
|
||||||
buyOrderDetailService.saveBatch(buyOrderDetailList);
|
buyOrderDetailService.saveBatch(buyOrderDetailList);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import com.peanut.modules.book.entity.*;
|
|||||||
import com.peanut.modules.book.service.*;
|
import com.peanut.modules.book.service.*;
|
||||||
import com.peanut.modules.book.vo.ExpressOrderRequestVo;
|
import com.peanut.modules.book.vo.ExpressOrderRequestVo;
|
||||||
import com.peanut.modules.book.vo.ExpressOrderResponseVo;
|
import com.peanut.modules.book.vo.ExpressOrderResponseVo;
|
||||||
|
import com.peanut.modules.book.vo.ExpressQueryResponseVo;
|
||||||
import com.peanut.modules.book.vo.ExpressUserInfoVo;
|
import com.peanut.modules.book.vo.ExpressUserInfoVo;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
@@ -51,7 +52,7 @@ public class ExpressOrderServiceImpl extends ServiceImpl<ExpressOrderDao, Expres
|
|||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String placeExpressOrder(UserAddress userAddress, ExpressOrder expressOrder) {
|
public Map<String, String> placeExpressOrder(UserAddress userAddress, ExpressOrder expressOrder) {
|
||||||
ExpressOrderRequestVo orderRequestVo = new ExpressOrderRequestVo();
|
ExpressOrderRequestVo orderRequestVo = new ExpressOrderRequestVo();
|
||||||
// 订单号
|
// 订单号
|
||||||
orderRequestVo.setOrderCode(expressOrder.getOrderId().toString());
|
orderRequestVo.setOrderCode(expressOrder.getOrderId().toString());
|
||||||
@@ -95,7 +96,17 @@ public class ExpressOrderServiceImpl extends ServiceImpl<ExpressOrderDao, Expres
|
|||||||
params.put("DataType", "2");
|
params.put("DataType", "2");
|
||||||
String response = HttpClientUtils.kdSendPost(Constants.EXPRESS_PLACE_ORDER_URL, params);
|
String response = HttpClientUtils.kdSendPost(Constants.EXPRESS_PLACE_ORDER_URL, params);
|
||||||
ExpressOrderResponseVo responseVo = JSONObject.parseObject(response, ExpressOrderResponseVo.class);
|
ExpressOrderResponseVo responseVo = JSONObject.parseObject(response, ExpressOrderResponseVo.class);
|
||||||
return responseVo.getPrintTemplate();
|
String expressBillNo = responseVo.getOrder().getLogisticCode();
|
||||||
|
Map<String, String> result = new HashMap<>();
|
||||||
|
result.put("expressBillNo", expressBillNo);
|
||||||
|
result.put("template", responseVo.getPrintTemplate());
|
||||||
|
return result;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ExpressQueryResponseVo queryExpressOrder(String ShipperCode, String LogisticCode) {
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private ExpressUserInfoVo buildReceiverBasedOnUserAddress(UserAddress userAddress) {
|
private ExpressUserInfoVo buildReceiverBasedOnUserAddress(UserAddress userAddress) {
|
||||||
|
|||||||
@@ -29,4 +29,8 @@ public class ExpressOrderResponseVo {
|
|||||||
* 原因
|
* 原因
|
||||||
*/
|
*/
|
||||||
private String Reason;
|
private String Reason;
|
||||||
|
/**
|
||||||
|
* 订单
|
||||||
|
*/
|
||||||
|
private ExpressResponseOrderVo Order;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,20 @@
|
|||||||
|
package com.peanut.modules.book.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 快递查询请求 Value Object
|
||||||
|
* @Author: Cauchy
|
||||||
|
* @CreateTime: 2023/10/17
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class ExpressQueryRequestVo {
|
||||||
|
/**
|
||||||
|
* 快递编码
|
||||||
|
*/
|
||||||
|
private String ShipperCode;
|
||||||
|
/**
|
||||||
|
* 快递单号
|
||||||
|
*/
|
||||||
|
private String LogisticCode;
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
package com.peanut.modules.book.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: TODO
|
||||||
|
* @Author: Cauchy
|
||||||
|
* @CreateTime: 2023/10/17
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class ExpressQueryResponseVo {
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package com.peanut.modules.book.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: TODO
|
||||||
|
* @Author: Cauchy
|
||||||
|
* @CreateTime: 2023/10/17
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class ExpressResponseOrderVo {
|
||||||
|
/**
|
||||||
|
* 快递单号
|
||||||
|
*/
|
||||||
|
private String LogisticCode;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user