This commit is contained in:
wyn
2026-05-06 18:08:27 +08:00
parent 7cb2d42662
commit f47bca3a8b
7 changed files with 23 additions and 10 deletions

View File

@@ -707,7 +707,7 @@ public class BuyOrderController {
int refundId = buyOrderRefund.getId();
if (Constants.PAYMENT_METHOD_VIRTUAL.equals(buyOrder.getPaymentMethod())) {
if(refundFee.compareTo(BigDecimal.ZERO)>0){
//if(refundFee.compareTo(BigDecimal.ZERO)>0){
//退还虚拟币
transactionDetailsService.refundRecord(buyOrder,user,refundFee);
user.setPeanutCoin(user.getPeanutCoin().add(refundFee));
@@ -720,7 +720,7 @@ public class BuyOrderController {
buyOrder.setOrderStatus(Constants.ORDER_STATUS_REFUND);
buyOrderService.updateById(buyOrder);
return R.ok("ok");
}
//}
} else if (Constants.PAYMENT_METHOD_WECHAT_PAY.equals(buyOrder.getPaymentMethod())) {
buyOrderRefundLogService.insertRefundLog(refundId,1,0);
if (refundFee.compareTo(BigDecimal.ZERO) > 0) {

View File

@@ -734,10 +734,14 @@ public class BuyOrderServiceImpl extends ServiceImpl<BuyOrderDao, BuyOrder> impl
public void removeCourseToUser(BuyOrder orderEntity){
QueryWrapper<UserCourseBuyLog> buyLogQueryWrapper = new QueryWrapper<>();
buyLogQueryWrapper.eq("order_sn",orderEntity.getOrderSn());
log.info("order+sn===="+orderEntity.getOrderSn());
List<UserCourseBuyLog> userCourseBuyLogList = userCourseBuyLogDao.selectList(buyLogQueryWrapper);
log.info("size===="+userCourseBuyLogList.size());
for (UserCourseBuyLog userCourseBuyLog:userCourseBuyLogList){
userCourseBuyDao.deleteById(userCourseBuyLog.getUserCourseBuyId());
userCourseBuyLogDao.deleteById(userCourseBuyLog.getId());
log.info("===delete====="+userCourseBuyLog.getUserCourseBuyId());
log.info("===delete2====="+userCourseBuyLog.getId());
userCourseBuyDao.realDeleteById(userCourseBuyLog.getUserCourseBuyId());
userCourseBuyLogDao.realDeleteById(userCourseBuyLog.getId());
}
}
@Override
@@ -1059,7 +1063,7 @@ public class BuyOrderServiceImpl extends ServiceImpl<BuyOrderDao, BuyOrder> impl
return refundFee;
}
@Override
public void refundOrder(BuyOrder buyOrder, MyUserEntity user, int refundId){
public void refundOrder(BuyOrder buyOrder, MyUserEntity user, int refundId){
if(buyOrder.getCouponId()!=null && buyOrder.getCouponId()!=0){
couponService.rollbackCoupon(buyOrder.getCouponId());
}
@@ -1073,7 +1077,7 @@ public class BuyOrderServiceImpl extends ServiceImpl<BuyOrderDao, BuyOrder> impl
jfTransactionDetailsService.refundJfTransaction(buyOrder,user);
user.setJf(jf.add(user.getJf()));
myUserService.updateById(user);
buyOrderRefundLogService.insertRefundLog(refundId,2,1);
buyOrderRefundLogService.insertRefundLog(refundId,5,1);
}
if(buyOrder.getOrderType().equals("vip")){
userVipService.refundVip(buyOrder);
@@ -1085,6 +1089,7 @@ public class BuyOrderServiceImpl extends ServiceImpl<BuyOrderDao, BuyOrder> impl
//撤回电子书权限
userEbookBuyService.rollbackUserEbooks(buyOrder, orderProducts);
//撤回课程权限
log.info("====remove========="+buyOrder.getOrderSn());
removeCourseToUser(buyOrder);
//回滚库存
shopProductService.rollbackStock(buyOrder);

View File

@@ -88,6 +88,7 @@ public class TransactionDetailsServiceImpl extends ServiceImpl<TransactionDetail
TransactionDetailsEntity transactionDetailsEntity = new TransactionDetailsEntity();
transactionDetailsEntity.setUserId(user.getId());
transactionDetailsEntity.setOrderType("订单退款");
transactionDetailsEntity.setPayNo(buyOrder.getOrderSn());
transactionDetailsEntity.setChangeAmount(refundPrice);
transactionDetailsEntity.setUserBalance(user.getPeanutCoin().add(refundPrice));
transactionDetailsEntity.setRelationId(buyOrder.getOrderId());

View File

@@ -55,7 +55,7 @@ public class TransactionDetailsController {
BuyOrder buyOrder = buyOrderService.getOne(new LambdaQueryWrapper<BuyOrder>()
.eq(BuyOrder::getOrderSn,orderSn));
if (buyOrder!=null){
if ("购买商品".equals(detail.getOrderType())){
if ("购买商品".equals(detail.getOrderType())||"订单退款".equals(detail.getOrderType())){
List<BuyOrderProduct> products = buyOrderProductService.list(new LambdaQueryWrapper<BuyOrderProduct>()
.eq(BuyOrderProduct::getOrderId,buyOrder.getOrderId()));
for (BuyOrderProduct buyOrderProduct : products) {

View File

@@ -2,6 +2,7 @@ package com.peanut.modules.common.dao;
import com.github.yulichang.base.MPJBaseMapper;
import com.peanut.modules.common.entity.UserCourseBuyEntity;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@@ -18,4 +19,7 @@ public interface UserCourseBuyDao extends MPJBaseMapper<UserCourseBuyEntity> {
List<Map<String,Object>> getIncome(@Param("date") String date);
List<Map<String,Object>> getCoursePurchaseDetails(int courseId,int catalogueId,Integer limit,Integer offset);
@Delete("DELETE FROM user_course_buy WHERE id = #{userCourseBuyId}")
int realDeleteById(int userCourseBuyId);
}

View File

@@ -2,8 +2,11 @@ package com.peanut.modules.common.dao;
import com.github.yulichang.base.MPJBaseMapper;
import com.peanut.modules.common.entity.UserCourseBuyLog;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface UserCourseBuyLogDao extends MPJBaseMapper<UserCourseBuyLog> {
@Delete("DELETE FROM user_course_buy_log WHERE id = #{userCourseBuyLogId}")
int realDeleteById(int userCourseBuyLogId);
}

View File

@@ -519,9 +519,9 @@ public class WxpayServiceImpl extends ServiceImpl<PayWechatOrderDao, PayWechatOr
PayRefundOrder refund = new PayRefundOrder();
refund.setPayType("1");
refund.setOrderId(order.getOrderId());
refund.setRefundId(resourceMap.get("refund_id").toString());
refund.setTradeNo(resourceMap.get("transaction_id").toString());
refund.setOutTradeNo(resourceMap.get("out_trade_no").toString());
refund.setOrderSn(resourceMap.get("out_trade_no").toString());
refund.setRefundFee(((Map)resourceMap.get("amount")).get("refund").toString());
refundOrderService.save(refund);
@@ -547,7 +547,7 @@ public class WxpayServiceImpl extends ServiceImpl<PayWechatOrderDao, PayWechatOr
refundInfo.setWxRefundNo( resourceMap.get("refund_id").toString());
buyOrderRefundService.updateById(refundInfo);
buyOrderRefundLogService.insertRefundLog(refundInfo.getId(),1,3,resourceMap.get("reason").toString());
// buyOrderRefundLogService.insertRefundLog(refundInfo.getId(),1,3,resourceMap.get("reason").toString());
}
}