Administrator
3 days ago 9dfd9506d0743a22d404046ffe7cda6081404a8a
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java
@@ -5,6 +5,7 @@
import cc.mrbird.febs.common.enumerates.*;
import cc.mrbird.febs.common.exception.FebsException;
import cc.mrbird.febs.common.utils.ValidateEntityUtils;
import cc.mrbird.febs.mall.controller.dependentStation.constant.OrderConstants;
import cc.mrbird.febs.mall.dto.*;
import cc.mrbird.febs.mall.entity.*;
import cc.mrbird.febs.mall.mapper.*;
@@ -16,6 +17,7 @@
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.best.javaSdk.ClientParamEnum;
@@ -31,6 +33,7 @@
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Slf4j
@@ -536,9 +539,13 @@
        List<MallOrderItem> mallOrderItemList = ValidateEntityUtils
                .ensureColumnReturnEntityList(id, MallOrderItem::getOrderId, mallOrderItemMapper::selectList, "订单不存在");
        StringBuffer itemName = new StringBuffer();
        itemName.append("商品:");
        itemName.append("商品-");
        mallOrderItemList.forEach(mallOrderItem -> {
            itemName.append(mallOrderItem.getGoodsName()+":"+mallOrderItem.getSkuName()+"*"+mallOrderItem.getCnt());
            itemName.append(mallOrderItem.getGoodsName());
            itemName.append("-");
            itemName.append(mallOrderItem.getSkuName());
            itemName.append("-");
            itemName.append(mallOrderItem.getCnt());
        });
        Item item = new Item();
        item.setItemName(itemName.toString());
@@ -613,6 +620,33 @@
    }
    @Override
    public FebsResponse insurePay(Long id) {
        // 1. 查询订单
        MallOrderInfo order = mallOrderInfoMapper.selectById(id);
        if (order == null) {
            return new FebsResponse().fail().message("订单不存在,刷新后重试");
        }
        // 2. 幂等检查(避免重复回调)
        if (OrderStatusEnum.WAIT_PAY.getValue() != order.getStatus()) {
            return new FebsResponse().fail().message("订单不是代付款状态");
        }
        // 3. 更新订单状态为待发货
        mallOrderInfoMapper.update(
                null,
                Wrappers.lambdaUpdate(MallOrderInfo.class)
                        .set(MallOrderInfo::getStatus, OrderStatusEnum.WAIT_SHIPPING.getValue())
                        .set(MallOrderInfo::getPayTime, new Date())
                        .set(MallOrderInfo::getPayMethod, "XT支付")
                        .set(MallOrderInfo::getPayResult, "1")
                        .eq(MallOrderInfo::getId, order.getId())
        );
        return new FebsResponse().success();
    }
    @Override
    public void deliverGoodsByOrderNo(DeliverGoodsDto deliverGoodsDto) {
        MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectByOrderNo(deliverGoodsDto.getOrderNo());
        if (mallOrderInfo == null) {