From 0678aa42e7e7381bb6872ce2a7d9e06f9c3acc71 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Tue, 16 Jun 2026 14:29:22 +0800
Subject: [PATCH] fix(order): 修复订单商品评论显示状态设置错误
---
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java | 57 +++++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 47 insertions(+), 10 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
index b181d54..400aa3e 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -5,6 +5,7 @@
import cc.mrbird.febs.common.exception.FebsException;
import cc.mrbird.febs.common.properties.XcxProperties;
import cc.mrbird.febs.common.utils.*;
+import cc.mrbird.febs.mall.controller.dependentStation.constant.OrderConstants;
import cc.mrbird.febs.mall.conversion.MallGoodsCommentConversion;
import cc.mrbird.febs.mall.conversion.MallOrderInfoConversion;
import cc.mrbird.febs.mall.conversion.MallOrderRefundConversion;
@@ -32,6 +33,7 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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 lombok.RequiredArgsConstructor;
@@ -71,6 +73,7 @@
private final RedisUtils redisUtils;
private final AgentProducer agentProducer;
+ private final ApiChatPayService apiChatPayService;
private final IPayService payService;
private final IXcxPayService iXcxPayService;
private final IMallAchieveService mallAchieveService;
@@ -175,8 +178,8 @@
orderInfo.setLatitude(address.getLatitude());
orderInfo.setLongitude(address.getLongitude());
this.baseMapper.updateById(orderInfo);
- //过期时间修改成24小时
- agentProducer.sendOrderCancelDelayMsg(orderInfo.getId(), 24 * 60 * 60 * 1000L);
+ //过期时间修改成30分钟
+ agentProducer.sendOrderCancelDelayMsg(orderInfo.getId(), 30 * 60 * 1000L);
return orderInfo.getId();
}
@@ -477,6 +480,36 @@
return map;
}
+ /**
+ * 处理支付订单的请求
+ *
+ * @param payDto 包含支付订单所需信息的DTO
+ * @return 返回支付结果的AjaxResult对象
+ */
+ @Override
+ @Transactional
+ public FebsResponse payOrderByCoin(ApiOrderPayDto payDto) {
+ // 获取当前的用户
+ Long memberId = LoginUserUtil.getLoginUser().getId();
+ // 提取订单ID和支付类型
+ Long orderId = payDto.getOrderId();
+ Integer payType = payDto.getPayType();
+
+ // 验证订单是否存在
+
+ MallOrderInfo orderInfo =
+ ValidateEntityUtils.ensureColumnReturnEntity(orderId, MallOrderInfo::getId, this.baseMapper::selectOne, "Order does not exist");
+ ValidateEntityUtils.ensureEqual(memberId,orderInfo.getMemberId(),"Order does not exist");
+ ValidateEntityUtils.ensureEqual(OrderStatusEnum.WAIT_PAY.getValue(),orderInfo.getStatus(),"The order status is not pending payment");
+
+ // 根据支付类型调用相应的支付方法
+ if(OrderConstants.PAY_TYPE_USDT == payType){
+ return apiChatPayService.usPay(orderInfo);
+ }
+ // 如果支付类型不匹配或支付过程中出现异常,返回错误信息
+ return new FebsResponse().fail().message("Order exception, please contact us");
+ }
+
private String balancePay(MallOrderInfo orderInfo, String tradePwd, String field) {
if (StrUtil.isBlank(tradePwd)) {
throw new FebsException("支付密码错误");
@@ -754,19 +787,23 @@
public void goodsComment(ApiAddCommentDtos addCommentDtos) {
Long orderId = addCommentDtos.getOrderId();
MallMember member = LoginUserUtil.getLoginUser();
- MallOrderInfo orderInfo = this.baseMapper.selectOrderDetailsById(orderId);
+ MallOrderInfo orderInfo = this.baseMapper.selectById(orderId);
if (orderInfo == null || AppContants.DEL_FLAG_Y == orderInfo.getDelFlag()) {
- throw new FebsException("订单不存在");
+ throw new FebsException("Order does not exist");
}
if (OrderStatusEnum.FINISH.getValue() != orderInfo.getStatus()) {
- throw new FebsException("该状态不能评价");
+ throw new FebsException("This status cannot be evaluated");
}
if (MallOrderInfo.COMMENT_STATE_YES == orderInfo.getCommentState()) {
- throw new FebsException("该状态不能评价");
+ throw new FebsException("This status cannot be evaluated");
}
- orderInfo.setCommentState(MallOrderInfo.COMMENT_STATE_YES);
- this.baseMapper.updateById(orderInfo);
+ this.baseMapper.update(
+ null,
+ Wrappers.lambdaUpdate(MallOrderInfo.class)
+ .set(MallOrderInfo::getCommentState, MallOrderInfo.COMMENT_STATE_YES)
+ .eq(MallOrderInfo::getId, orderId)
+ );
List<ApiAddCommentDto> apiAddCommentDtos = addCommentDtos.getApiAddCommentDtos();
if(CollUtil.isNotEmpty(apiAddCommentDtos)){
@@ -782,7 +819,7 @@
mallGoodsComment.setSkuName(mallGoodsSku.getSkuName());
mallGoodsComment.setStyleId(mallGoodsSku.getStyleId());
mallGoodsComment.setStyleName(mallGoodsSku.getStyleName());
- mallGoodsComment.setShowState(MallGoodsComment.SHOW_STATE_ENABLE);
+ mallGoodsComment.setShowState(MallGoodsComment.SHOW_STATE_DISABLED);
mallGoodsCommentMapper.insert(mallGoodsComment);
}
}
@@ -790,7 +827,7 @@
@Autowired
private WeixinServiceUtil weixinServiceUtil;
- private final XcxProperties xcxProperties = SpringContextHolder.getBean(XcxProperties.class);
+ private final XcxProperties xcxProperties;
@Override
@Transactional
--
Gitblit v1.9.1