handle exception

This commit is contained in:
Cauchy
2023-10-17 16:53:34 +08:00
parent 8daf30493c
commit bdc561895e
6 changed files with 51 additions and 12 deletions

View File

@@ -206,7 +206,7 @@ public class BuyOrderController {
Set<String> sn_no = new HashSet<String>(); Set<String> sn_no = new HashSet<String>();
for (BuyOrderDetail buyOrderDetail : orderDetail) { for (BuyOrderDetail buyOrderDetail : orderDetail) {
resultOrder.add(buyOrderDetail); resultOrder.add(buyOrderDetail);
sn_no.add(buyOrderDetail.getExpressOrderId()); // sn_no.add(buyOrderDetail.getExpressOrderId());
} }
UserRecordEntity userRecordEntity = userRecordService.getBaseMapper().selectOne(new QueryWrapper<UserRecordEntity>() UserRecordEntity userRecordEntity = userRecordService.getBaseMapper().selectOne(new QueryWrapper<UserRecordEntity>()

View File

@@ -92,8 +92,4 @@ public class BuyOrderDetail implements Serializable {
* 评价 ID * 评价 ID
*/ */
private Integer recordId; private Integer recordId;
/**
* 快递订单 ID
*/
private String expressOrderId;
} }

View File

@@ -14,7 +14,7 @@ public interface ExpressOrderService extends IService<ExpressOrder> {
* @param expressOrder * @param expressOrder
* @throws Exception * @throws Exception
*/ */
void placeExpressOrder(UserAddress userAddress, ExpressOrder expressOrder) throws Exception; String placeExpressOrder(UserAddress userAddress, ExpressOrder expressOrder);
} }

View File

@@ -244,7 +244,7 @@ public class BuyOrderServiceImpl extends ServiceImpl<BuyOrderDao, BuyOrderEntity
} }
@Override @Override
public void createSplitPackageOrder(String expressCompanyCode, Integer userAddressId, List<Integer> buyOrderDetailId) throws Exception { public void createSplitPackageOrder(String expressCompanyCode, Integer userAddressId, List<Integer> buyOrderDetailId) {
QueryWrapper<BuyOrderDetail> queryWrapper = new QueryWrapper<>(); QueryWrapper<BuyOrderDetail> queryWrapper = new QueryWrapper<>();
queryWrapper.in("id", buyOrderDetailId); queryWrapper.in("id", buyOrderDetailId);
List<BuyOrderDetail> buyOrderDetailList = buyOrderDetailService.list(queryWrapper); List<BuyOrderDetail> buyOrderDetailList = buyOrderDetailService.list(queryWrapper);
@@ -273,6 +273,10 @@ public class BuyOrderServiceImpl extends ServiceImpl<BuyOrderDao, BuyOrderEntity
expressOrder.setCommodity(commodityList); expressOrder.setCommodity(commodityList);
expressOrder.setExpressCompanyCode(expressCompanyCode); expressOrder.setExpressCompanyCode(expressCompanyCode);
// 生成快递面单 // 生成快递面单
expressOrderService.placeExpressOrder(address, expressOrder); String expressBill = expressOrderService.placeExpressOrder(address, expressOrder);
for (BuyOrderDetail buyOrderDetail : buyOrderDetailList) {
buyOrderDetail.setExpressBill(expressBill);
}
buyOrderDetailService.saveBatch(buyOrderDetailList);
} }
} }

View File

@@ -10,6 +10,7 @@ import com.peanut.modules.book.dao.ExpressOrderDao;
import com.peanut.modules.book.entity.*; 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.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;
@@ -50,7 +51,7 @@ public class ExpressOrderServiceImpl extends ServiceImpl<ExpressOrderDao, Expres
@Override @Override
public void placeExpressOrder(UserAddress userAddress, ExpressOrder expressOrder) throws Exception { public String placeExpressOrder(UserAddress userAddress, ExpressOrder expressOrder) {
ExpressOrderRequestVo orderRequestVo = new ExpressOrderRequestVo(); ExpressOrderRequestVo orderRequestVo = new ExpressOrderRequestVo();
// 订单号 // 订单号
orderRequestVo.setOrderCode(expressOrder.getOrderId().toString()); orderRequestVo.setOrderCode(expressOrder.getOrderId().toString());
@@ -84,11 +85,17 @@ public class ExpressOrderServiceImpl extends ServiceImpl<ExpressOrderDao, Expres
params.put("RequestData", RequestData); params.put("RequestData", RequestData);
params.put("EBusinessID", Constants.EXPRESS_BUSINESS_ID); params.put("EBusinessID", Constants.EXPRESS_BUSINESS_ID);
params.put("RequestType", Constants.EXPRESS_REQUEST_TYPE_PLACE_ORDER); params.put("RequestType", Constants.EXPRESS_REQUEST_TYPE_PLACE_ORDER);
String dataSign = KdUtils.encrypt(RequestData, Constants.EXPRESS_API_KEY, "UTF-8"); try {
params.put("DataSign", KdUtils.urlEncoder(dataSign, "UTF-8")); String dataSign = KdUtils.encrypt(RequestData, Constants.EXPRESS_API_KEY, "UTF-8");
params.put("DataSign", KdUtils.urlEncoder(dataSign, "UTF-8"));
} catch (Exception e) {
e.printStackTrace();
log.error(e.getMessage());
}
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);
System.out.println(response); ExpressOrderResponseVo responseVo = JSONObject.parseObject(response, ExpressOrderResponseVo.class);
return responseVo.getPrintTemplate();
} }
private ExpressUserInfoVo buildReceiverBasedOnUserAddress(UserAddress userAddress) { private ExpressUserInfoVo buildReceiverBasedOnUserAddress(UserAddress userAddress) {

View File

@@ -0,0 +1,32 @@
package com.peanut.modules.book.vo;
import lombok.Data;
/**
* @Description: 快递下单响应 Value Object
* @Author: Cauchy
* @CreateTime: 2023/10/17
*/
@Data
public class ExpressOrderResponseVo {
/**
* 用户ID
*/
private String EBusinessID;
/**
* 返回模板
*/
private String PrintTemplate;
/**
* 是否成功
*/
private boolean Success;
/**
* 结果响应编码
*/
private String ResultCode;
/**
* 原因
*/
private String Reason;
}