202507251746

This commit is contained in:
张潘 2025-07-25 17:46:41 +08:00
parent 4f8fe174ad
commit 862d245b4e
1 changed files with 80 additions and 1 deletions

View File

@ -118,6 +118,13 @@ public class CartOrderUtil {
result.put("orderId", order.getOrderId());
result.put("productName", serviceGoods.getTitle());
result.put("allprice", itemPrice.toString());
PayBeforeUtil payBeforeUtil = new PayBeforeUtil();
//一口价金额大于0的时候进行支付
if (order.getTotalPrice().compareTo(BigDecimal.ZERO)>0){
String payBeforeId = payBeforeUtil.createPayBefore(user, itemPrice, order.getOrderId(), null, order.getProductId(), cart.getOrdertype(), order.getSku(), null, null, null, null,1L, null, null);
}
return result;
} catch (Exception e) {
logger.error("服务类购物车下单异常:", e);
@ -126,7 +133,76 @@ public class CartOrderUtil {
return result;
}
}
/**
* 商品类购物车下单
* @param user 用户
* @param serviceGoods 商品
* @param userAddress 地址
* @param goodsOrderService 商品订单service
* @return 下单结果Map
*/
public static Map<String, Object> createGoodsOrderFromOnes(Users user, String sku,int num, String reamk,ServiceGoods serviceGoods, UserAddress userAddress, IGoodsOrderService goodsOrderService,String maincorid) {
Map<String, Object> result = new HashMap<>();
try {
BigDecimal itemPrice=BigDecimal.ZERO;
String skuStr = sku;
if (skuStr != null && !skuStr.trim().isEmpty()) {
try {
JSONObject skuJson = JSONObject.parseObject(skuStr);
if (skuJson.containsKey("price")) {
BigDecimal skuPrice = new BigDecimal(skuJson.getString("price"));
itemPrice = skuPrice.multiply(BigDecimal.valueOf(num));
} else {
// 没有price字段回退用商品price
itemPrice = serviceGoods.getPrice().multiply(BigDecimal.valueOf(num));
}
} catch (Exception e) {
// 解析失败回退用商品price
itemPrice = serviceGoods.getPrice().multiply(BigDecimal.valueOf(num));
}
} else {
// sku为空直接用商品price
itemPrice = serviceGoods.getPrice().multiply(BigDecimal.valueOf(num));
}
GoodsOrder goodsOrder = new GoodsOrder();
goodsOrder.setType(2);
goodsOrder.setOrderId(GenerateCustomCode.generCreateOrder("B"));
goodsOrder.setUid(user.getId());
goodsOrder.setUname(user.getName());
goodsOrder.setProductId(serviceGoods.getId());
goodsOrder.setProductName(serviceGoods.getTitle());
goodsOrder.setNum((long) num);
goodsOrder.setSku(sku);
goodsOrder.setIsforservice(serviceGoods.getIsforservice());
goodsOrder.setForserviceid(serviceGoods.getForserviceid());
goodsOrder.setMark(reamk);
goodsOrder.setAddressId(userAddress.getId());
goodsOrder.setName(userAddress.getName());
goodsOrder.setPhone(userAddress.getPhone());
goodsOrder.setAddress(userAddress.getAddressInfo());
goodsOrder.setTotalPrice(itemPrice);
goodsOrder.setGoodPrice(serviceGoods.getPrice());
goodsOrder.setPayPrice(itemPrice);
goodsOrder.setStatus(1L); // 待支付
goodsOrder.setMainOrderId(maincorid);
int insertResult = goodsOrderService.insertGoodsOrder(goodsOrder);
if (insertResult <= 0) {
result.put("success", false);
result.put("msg", "商品订单创建失败");
return result;
}
result.put("success", true);
result.put("orderId", goodsOrder.getOrderId());
result.put("productName", serviceGoods.getTitle());
result.put("allprice", itemPrice.toString());
return result;
} catch (Exception e) {
logger.error("商品类购物车下单异常:", e);
result.put("success", false);
result.put("msg", "商品类购物车下单异常:" + e.getMessage());
return result;
}
}
/**
* 商品类购物车下单
* @param user 用户
@ -190,6 +266,9 @@ public class CartOrderUtil {
result.put("orderId", goodsOrder.getOrderId());
result.put("productName", serviceGoods.getTitle());
result.put("allprice", itemPrice.toString());
PayBeforeUtil payBeforeUtil = new PayBeforeUtil();
String payBeforeId = payBeforeUtil.createPayBefore(user, itemPrice, goodsOrder.getOrderId(), null, goodsOrder.getProductId(), 11L, goodsOrder.getSku(), null, null, null, null,2L, null, null);
return result;
} catch (Exception e) {
logger.error("商品类购物车下单异常:", e);