消费返现
充值触发条件成为会员 霸王餐触发条件成为会员
This commit is contained in:
@@ -133,6 +133,7 @@ public class RabbitPublisher {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 订单商品状态消息
|
* 订单商品状态消息
|
||||||
|
* type bc 广播
|
||||||
*/
|
*/
|
||||||
public void sendOrderDetailStatusMsg(String shopId, String type) {
|
public void sendOrderDetailStatusMsg(String shopId, String type) {
|
||||||
sendMsg(RabbitConstants.Queue.ORDER_DETAIL_STATUS_QUEUE, JSONObject.toJSONString(Map.of(
|
sendMsg(RabbitConstants.Queue.ORDER_DETAIL_STATUS_QUEUE, JSONObject.toJSONString(Map.of(
|
||||||
|
|||||||
@@ -30,5 +30,8 @@ public interface MkConsumeCashbackService extends IService<MkConsumeCashback> {
|
|||||||
*/
|
*/
|
||||||
void cashback(Long shopId, Long userId, BigDecimal amount, Long orderId, String orderNo);
|
void cashback(Long shopId, Long userId, BigDecimal amount, Long orderId, String orderNo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 订单退款 删除返现
|
||||||
|
*/
|
||||||
void removeCashback(Long shopId, Long userId, Long orderId, String orderNo);
|
void removeCashback(Long shopId, Long userId, Long orderId, String orderNo);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,13 +22,19 @@ import java.util.List;
|
|||||||
public interface MkShopRechargeService extends IService<MkShopRecharge> {
|
public interface MkShopRechargeService extends IService<MkShopRecharge> {
|
||||||
|
|
||||||
MkShopRechargeVO detail(Long shopId);
|
MkShopRechargeVO detail(Long shopId);
|
||||||
|
|
||||||
MkShopRechargeVO detailApp(Long shopId);
|
MkShopRechargeVO detailApp(Long shopId);
|
||||||
|
|
||||||
Boolean edit(Long shopId, MkShopRechargeDTO shopRechargeDTO);
|
Boolean edit(Long shopId, MkShopRechargeDTO shopRechargeDTO);
|
||||||
|
|
||||||
BigDecimal checkRecharge(Long mainShopId, @NotNull(message = "店铺不能为空") Long shopId, Long userId, Long rechargeDetailId, @DecimalMin("0.01") BigDecimal money);
|
BigDecimal checkRecharge(Long mainShopId, @NotNull(message = "店铺不能为空") Long shopId, Long userId, Long rechargeDetailId, @DecimalMin("0.01") BigDecimal money);
|
||||||
|
|
||||||
void recharge(Long shopId, Long shopUserId, Long rechargeDetailId, BigDecimal amount, Long paymentId, String payType, ShopUserFlowBizEnum bizEnum);
|
/**
|
||||||
|
* 充值
|
||||||
|
* @param isNoJoin 是否没有执行 加入会员的方法
|
||||||
|
* 会员如果是条件开通 则 需要统计
|
||||||
|
*/
|
||||||
|
void recharge(Long shopId, Long shopUserId, Long rechargeDetailId, BigDecimal amount, Long paymentId, String payType, ShopUserFlowBizEnum bizEnum, boolean isNoJoin);
|
||||||
|
|
||||||
List<RechargeListVO> getList(long loginIdAsLong);
|
List<RechargeListVO> getList(long loginIdAsLong);
|
||||||
|
|
||||||
|
|||||||
@@ -194,16 +194,18 @@ public class MkConsumeCashbackServiceImpl extends ServiceImpl<MkConsumeCashbackM
|
|||||||
.setMainShopId(record.getMainShopId())
|
.setMainShopId(record.getMainShopId())
|
||||||
.setShopId(shopId)
|
.setShopId(shopId)
|
||||||
.setAmount(BigDecimal.ZERO)
|
.setAmount(BigDecimal.ZERO)
|
||||||
.setCashbackAmount(record.getAmount().negate())
|
.setCashbackAmount(record.getCashbackAmount().negate())
|
||||||
.setUserId(userId)
|
.setUserId(userId)
|
||||||
.setShopUserId(record.getShopUserId());
|
.setShopUserId(record.getShopUserId());
|
||||||
consumeCashbackRecordService.save(mkConsumeCashbackRecord);
|
consumeCashbackRecordService.save(mkConsumeCashbackRecord);
|
||||||
shopUserService.updateMoney(new ShopUserMoneyEditDTO().setId(record.getShopUserId()).setType(0)
|
shopUserService.updateMoney(new ShopUserMoneyEditDTO()
|
||||||
|
.setId(record.getShopUserId())
|
||||||
|
.setType(0)
|
||||||
.setRelationId(mkConsumeCashbackRecord.getId())
|
.setRelationId(mkConsumeCashbackRecord.getId())
|
||||||
.setMoney(record.getAmount())
|
.setMoney(record.getCashbackAmount())
|
||||||
.setBizEnum(ShopUserFlowBizEnum.CASHBACK)
|
.setBizEnum(ShopUserFlowBizEnum.CASHBACK)
|
||||||
.setRemark(StrUtil.format("订单退款,扣除返现: {}", record.getAmount())));
|
.setRemark(StrUtil.format("订单退款,扣除返现: {}", record.getCashbackAmount())));
|
||||||
log.info("订单退款扣除返现 订单ID:{}, 店铺用户id: {}, 扣除返现: {}", orderId, record.getShopUserId(), record.getAmount());
|
log.info("订单退款扣除返现 订单ID:{}, 店铺用户id: {}, 扣除返现: {}", orderId, record.getShopUserId(), record.getCashbackAmount());
|
||||||
|
|
||||||
AcUserMsg msg = new AcUserMsg()
|
AcUserMsg msg = new AcUserMsg()
|
||||||
.setUserId(userId)
|
.setUserId(userId)
|
||||||
@@ -212,7 +214,7 @@ public class MkConsumeCashbackServiceImpl extends ServiceImpl<MkConsumeCashbackM
|
|||||||
.setSourceType("order")
|
.setSourceType("order")
|
||||||
.setType("cash")
|
.setType("cash")
|
||||||
.setTitle("订单退款,消费返现扣除")
|
.setTitle("订单退款,消费返现扣除")
|
||||||
.setContent(StrUtil.format("返现扣除提醒: 订单退款扣除的{}元返现。订单编号:{}", record.getAmount(), orderNo));
|
.setContent(StrUtil.format("返现扣除提醒: 订单退款扣除的{}元返现。订单编号:{}", record.getCashbackAmount(), orderNo));
|
||||||
acUserMsgService.addUserMsg(msg);
|
acUserMsgService.addUserMsg(msg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ import com.czg.market.enums.PointsConstant;
|
|||||||
import com.czg.market.service.*;
|
import com.czg.market.service.*;
|
||||||
import com.czg.market.vo.*;
|
import com.czg.market.vo.*;
|
||||||
import com.czg.utils.AssertUtil;
|
import com.czg.utils.AssertUtil;
|
||||||
|
import com.czg.utils.FunUtils;
|
||||||
import com.mybatisflex.core.query.QueryWrapper;
|
import com.mybatisflex.core.query.QueryWrapper;
|
||||||
import com.mybatisflex.spring.service.impl.ServiceImpl;
|
import com.mybatisflex.spring.service.impl.ServiceImpl;
|
||||||
import com.czg.market.entity.MkShopRecharge;
|
import com.czg.market.entity.MkShopRecharge;
|
||||||
@@ -45,6 +46,8 @@ public class MkShopRechargeServiceImpl extends ServiceImpl<MkShopRechargeMapper,
|
|||||||
@Resource
|
@Resource
|
||||||
private MkShopRechargeDetailService shopRechargeDetailService;
|
private MkShopRechargeDetailService shopRechargeDetailService;
|
||||||
@Resource
|
@Resource
|
||||||
|
private TbMemberConfigService memberConfigService;
|
||||||
|
@Resource
|
||||||
private ShopCouponService shopCouponService;
|
private ShopCouponService shopCouponService;
|
||||||
@DubboReference
|
@DubboReference
|
||||||
private ShopUserService shopUserService;
|
private ShopUserService shopUserService;
|
||||||
@@ -159,7 +162,8 @@ public class MkShopRechargeServiceImpl extends ServiceImpl<MkShopRechargeMapper,
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void recharge(Long shopId, Long shopUserId, Long rechargeDetailId, BigDecimal amount, Long paymentId, String payType, ShopUserFlowBizEnum bizEnum) {
|
public void recharge(Long shopId, Long shopUserId, Long rechargeDetailId, BigDecimal amount, Long paymentId,
|
||||||
|
String payType, ShopUserFlowBizEnum bizEnum, boolean isNoJoin) {
|
||||||
log.info("充值回调, 用户id: {}, 金额: {}, rechargeDetailId: {}", shopUserId, amount, rechargeDetailId);
|
log.info("充值回调, 用户id: {}, 金额: {}, rechargeDetailId: {}", shopUserId, amount, rechargeDetailId);
|
||||||
ShopUser shopUser = shopUserService.getById(shopUserId);
|
ShopUser shopUser = shopUserService.getById(shopUserId);
|
||||||
ShopUserMoneyEditDTO shopUserMoneyEditDTO = new ShopUserMoneyEditDTO()
|
ShopUserMoneyEditDTO shopUserMoneyEditDTO = new ShopUserMoneyEditDTO()
|
||||||
@@ -168,7 +172,6 @@ public class MkShopRechargeServiceImpl extends ServiceImpl<MkShopRechargeMapper,
|
|||||||
.setBizEnum(bizEnum)
|
.setBizEnum(bizEnum)
|
||||||
.setRelationId(paymentId);
|
.setRelationId(paymentId);
|
||||||
|
|
||||||
|
|
||||||
// 标准充值
|
// 标准充值
|
||||||
if (rechargeDetailId != null) {
|
if (rechargeDetailId != null) {
|
||||||
MkShopRechargeDetail rechargeDetail = shopRechargeDetailService.getById(rechargeDetailId);
|
MkShopRechargeDetail rechargeDetail = shopRechargeDetailService.getById(rechargeDetailId);
|
||||||
@@ -195,10 +198,10 @@ public class MkShopRechargeServiceImpl extends ServiceImpl<MkShopRechargeMapper,
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// try {
|
// try {
|
||||||
shopCouponRecordService.grant(shopId, new MkRewardCouponDTO().setCouponId(item.getId())
|
shopCouponRecordService.grant(shopId, new MkRewardCouponDTO().setCouponId(item.getId())
|
||||||
.setNum(item.getNum())
|
.setNum(item.getNum())
|
||||||
.setUserId(shopUser.getUserId())
|
.setUserId(shopUser.getUserId())
|
||||||
.setShopId(shopId), "充值赠券");
|
.setShopId(shopId), "充值赠券");
|
||||||
// } catch (Exception e) {
|
// } catch (Exception e) {
|
||||||
// log.warn("发放优惠券失败", e);
|
// log.warn("发放优惠券失败", e);
|
||||||
// }
|
// }
|
||||||
@@ -209,7 +212,9 @@ public class MkShopRechargeServiceImpl extends ServiceImpl<MkShopRechargeMapper,
|
|||||||
shopUserMoneyEditDTO.setMoney(amount);
|
shopUserMoneyEditDTO.setMoney(amount);
|
||||||
}
|
}
|
||||||
shopUserService.updateMoney(shopUserMoneyEditDTO);
|
shopUserService.updateMoney(shopUserMoneyEditDTO);
|
||||||
|
if (isNoJoin) {
|
||||||
|
FunUtils.transactionSafeRun(() -> memberConfigService.joinMemberByCondition(shopId, shopUser.getUserId(), shopUser));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -11,7 +11,6 @@ import com.czg.account.entity.ShopUser;
|
|||||||
import com.czg.account.service.ShopConfigService;
|
import com.czg.account.service.ShopConfigService;
|
||||||
import com.czg.account.service.ShopInfoService;
|
import com.czg.account.service.ShopInfoService;
|
||||||
import com.czg.account.service.ShopUserService;
|
import com.czg.account.service.ShopUserService;
|
||||||
import com.czg.account.service.UserInfoService;
|
|
||||||
import com.czg.constant.TableValueConstant;
|
import com.czg.constant.TableValueConstant;
|
||||||
import com.czg.constants.PayTypeConstants;
|
import com.czg.constants.PayTypeConstants;
|
||||||
import com.czg.exception.CzgException;
|
import com.czg.exception.CzgException;
|
||||||
@@ -60,8 +59,6 @@ public class TbMemberConfigServiceImpl extends ServiceImpl<TbMemberConfigMapper,
|
|||||||
@Resource
|
@Resource
|
||||||
private MemberLevelConfigService levelConfigService;
|
private MemberLevelConfigService levelConfigService;
|
||||||
@DubboReference
|
@DubboReference
|
||||||
private UserInfoService userInfoService;
|
|
||||||
@DubboReference
|
|
||||||
private ShopUserService shopUserService;
|
private ShopUserService shopUserService;
|
||||||
@Resource
|
@Resource
|
||||||
private OrderInfoService orderInfoService;
|
private OrderInfoService orderInfoService;
|
||||||
@@ -345,13 +342,11 @@ public class TbMemberConfigServiceImpl extends ServiceImpl<TbMemberConfigMapper,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (levelVO.getCycleRewardCouponList() != null && !levelVO.getCycleRewardCouponList().isEmpty()) {
|
if (levelVO.getCycleRewardCouponList() != null && !levelVO.getCycleRewardCouponList().isEmpty()) {
|
||||||
levelVO.getCycleRewardCouponList().forEach(item -> {
|
levelVO.getCycleRewardCouponList().forEach(item ->
|
||||||
shopCouponRecordService.grant(shopUser.getMainShopId(), new MkRewardCouponDTO().setCouponId(item.getCoupon().getId())
|
shopCouponRecordService.grant(shopUser.getMainShopId(), new MkRewardCouponDTO().setCouponId(item.getCoupon().getId())
|
||||||
.setNum(item.getNum())
|
.setNum(item.getNum())
|
||||||
.setUserId(shopUser.getUserId())
|
.setUserId(shopUser.getUserId())
|
||||||
.setShopId(shopUser.getMainShopId()), "购买会员赠券");
|
.setShopId(shopUser.getMainShopId()), "购买会员赠券"));
|
||||||
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -425,13 +420,14 @@ public class TbMemberConfigServiceImpl extends ServiceImpl<TbMemberConfigMapper,
|
|||||||
orderInfoService.getOneAs(query().select("IFNULL(sum(pay_amount), 0) as total_amount").eq(OrderInfo::getShopId, shopId).eq(OrderInfo::getUserId, shopUser.getUserId())
|
orderInfoService.getOneAs(query().select("IFNULL(sum(pay_amount), 0) as total_amount").eq(OrderInfo::getShopId, shopId).eq(OrderInfo::getUserId, shopUser.getUserId())
|
||||||
.eq(OrderInfo::getStatus, OrderStatusEnums.DONE.getCode()), BigDecimal.class)
|
.eq(OrderInfo::getStatus, OrderStatusEnums.DONE.getCode()), BigDecimal.class)
|
||||||
.compareTo(new BigDecimal(item.getValue())) >= 0;
|
.compareTo(new BigDecimal(item.getValue())) >= 0;
|
||||||
case "RECHARGE_AMOUNT" -> paymentService.getOneAs(query().select("IFNULL(sum(amount), 0) as total_amount")
|
case "RECHARGE_AMOUNT" ->
|
||||||
.eq(OrderPayment::getShopId, shopId)
|
paymentService.getOneAs(query().select("IFNULL(sum(amount), 0) as total_amount")
|
||||||
.eq(OrderPayment::getSourceType, PayTypeConstants.SourceType.MEMBER_IN)
|
.eq(OrderPayment::getShopId, shopId)
|
||||||
.eq(OrderPayment::getPayType, PayTypeConstants.PayType.PAY)
|
.eq(OrderPayment::getSourceType, PayTypeConstants.SourceType.MEMBER_IN)
|
||||||
.eq(OrderPayment::getSourceId, shopUser.getId())
|
.eq(OrderPayment::getPayType, PayTypeConstants.PayType.PAY)
|
||||||
.eq(OrderPayment::getPayStatus, PayTypeConstants.PayStatus.SUCCESS), BigDecimal.class)
|
.eq(OrderPayment::getSourceId, shopUser.getId())
|
||||||
.compareTo(new BigDecimal(item.getValue())) >= 0;
|
.eq(OrderPayment::getPayStatus, PayTypeConstants.PayStatus.SUCCESS), BigDecimal.class)
|
||||||
|
.compareTo(new BigDecimal(item.getValue())) >= 0;
|
||||||
default -> throw new CzgException("会员开通条件类型错误");
|
default -> throw new CzgException("会员开通条件类型错误");
|
||||||
};
|
};
|
||||||
if (!canOpen) {
|
if (!canOpen) {
|
||||||
|
|||||||
@@ -1088,87 +1088,34 @@ public class OrderInfoCustomServiceImpl implements OrderInfoCustomService {
|
|||||||
.setRelationId(orderInfo.getId())
|
.setRelationId(orderInfo.getId())
|
||||||
.setMoney(BigDecimal.valueOf(czgCallBackDto.getAmount()).divide(BigDecimal.valueOf(100), 2, RoundingMode.DOWN));
|
.setMoney(BigDecimal.valueOf(czgCallBackDto.getAmount()).divide(BigDecimal.valueOf(100), 2, RoundingMode.DOWN));
|
||||||
shopUserService.updateMoney(shopUserMoneyEditDTO);
|
shopUserService.updateMoney(shopUserMoneyEditDTO);
|
||||||
OrderInfo orderInfo1 = new OrderInfo();
|
upOrderInfo(orderInfo, BigDecimal.ZERO,
|
||||||
orderInfo1.setId(orderInfo.getId());
|
LocalDateTime.now(), null, PayEnums.FREE_PAY);
|
||||||
orderInfo1.setIsFreeDine(1);
|
|
||||||
orderInfo1.setStatus(OrderStatusEnums.DONE.getCode());
|
|
||||||
orderInfo1.setPayAmount(BigDecimal.ZERO);
|
|
||||||
orderInfo1.setPaidTime(LocalDateTime.now());
|
|
||||||
orderInfo1.setPayType(PayEnums.FREE_PAY.getValue());
|
|
||||||
orderInfoService.updateById(orderInfo1);
|
|
||||||
orderDetailService.updateOrderDetailStatus(orderInfo.getId(), OrderStatusEnums.DONE.getCode());
|
|
||||||
redisService.del(RedisCst.classKeyExpired.EXPIRED_ORDER + orderInfo.getId());
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
shopRechargeService.recharge(payment.getShopId(), payment.getSourceId(), payment.getRelatedId(),
|
|
||||||
BigDecimal.valueOf(czgCallBackDto.getAmount()).divide(BigDecimal.valueOf(100), 2, RoundingMode.DOWN), payment.getId(), payment.getSourceType(), bizEnum);
|
|
||||||
//充值并支付 ↓
|
//充值并支付 ↓
|
||||||
orderInfo = orderInfoService.getOne(new QueryWrapper()
|
orderInfo = orderInfoService.getOne(new QueryWrapper()
|
||||||
.eq(OrderInfo::getPayOrderId, payment.getId())
|
.eq(OrderInfo::getPayOrderId, payment.getId())
|
||||||
.eq(OrderInfo::getPayType, PayEnums.VIP_PAY.getValue()));
|
.eq(OrderInfo::getPayType, PayEnums.VIP_PAY.getValue()));
|
||||||
if (orderInfo != null) {
|
if (orderInfo != null) {
|
||||||
OrderInfo upOrderInfo = new OrderInfo()
|
|
||||||
.setId(orderInfo.getId())
|
|
||||||
.setPayType(PayEnums.VIP_PAY.getValue())
|
|
||||||
.setPaidTime(LocalDateTime.now())
|
|
||||||
.setPayAmount(orderInfo.getOrderAmount())
|
|
||||||
.setStatus(OrderStatusEnums.DONE.getCode());
|
|
||||||
orderInfoService.updateById(upOrderInfo);
|
|
||||||
orderDetailService.updateOrderDetailStatus(orderInfo.getId(), OrderStatusEnums.DONE.getCode());
|
|
||||||
ShopUserMoneyEditDTO shopUserMoneyEditDTO = new ShopUserMoneyEditDTO()
|
ShopUserMoneyEditDTO shopUserMoneyEditDTO = new ShopUserMoneyEditDTO()
|
||||||
.setId(shopUser.getId())
|
.setId(shopUser.getId())
|
||||||
.setType(0)
|
.setType(0)
|
||||||
.setBizEnum(ShopUserFlowBizEnum.ORDER_PAY)
|
.setBizEnum(ShopUserFlowBizEnum.ORDER_PAY)
|
||||||
.setRelationId(orderInfo.getId())
|
.setRelationId(orderInfo.getId())
|
||||||
.setMoney(orderInfo.getOrderAmount());
|
.setMoney(orderInfo.getOrderAmount());
|
||||||
|
|
||||||
shopUserService.updateMoney(shopUserMoneyEditDTO);
|
shopUserService.updateMoney(shopUserMoneyEditDTO);
|
||||||
redisService.del(RedisCst.classKeyExpired.EXPIRED_ORDER + orderInfo.getId());
|
upOrderInfo(orderInfo, orderInfo.getOrderAmount(),
|
||||||
|
LocalDateTime.now(), null, PayEnums.VIP_PAY);
|
||||||
// 发放成长值
|
|
||||||
shopUser = shopUserService.getById(shopUser);
|
|
||||||
//充值
|
|
||||||
memberConfigService.deliver(shopUser,
|
|
||||||
TableValueConstant.MemberExpFlow.Type.RECHARGE,
|
|
||||||
BigDecimal.valueOf(czgCallBackDto.getAmount()).divide(BigDecimal.valueOf(100), 2, RoundingMode.DOWN), null, orderInfo.getId());
|
|
||||||
if (TransactionSynchronizationManager.isSynchronizationActive()) {
|
|
||||||
OrderInfo finalOrderInfo = orderInfo;
|
|
||||||
TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() {
|
|
||||||
@Override
|
|
||||||
public void afterCommit() {
|
|
||||||
// 事务成功提交后执行消息发送
|
|
||||||
String printParam = finalOrderInfo.getId() + "_" + (!"after-pay".equals(finalOrderInfo.getPayMode()) ? 1 : 0) + "_1";
|
|
||||||
rabbitPublisher.sendOrderPrintMsg(printParam, finalOrderInfo.getIsPrint() == 1);
|
|
||||||
// log.info("订单{}事务提交后,发送打印消息", orderId);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
// 非事务环境下直接发送(兼容无事务场景)
|
|
||||||
String printParam = orderInfo.getId() + "_" + (!"after-pay".equals(orderInfo.getPayMode()) ? 1 : 0) + "_1";
|
|
||||||
rabbitPublisher.sendOrderPrintMsg(printParam, orderInfo.getIsPrint() == 1);
|
|
||||||
// log.info("非事务环境下,直接发送订单{}打印消息", orderId);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
shopRechargeService.recharge(payment.getShopId(), payment.getSourceId(), payment.getRelatedId(),
|
||||||
|
BigDecimal.valueOf(czgCallBackDto.getAmount()).divide(BigDecimal.valueOf(100), 2, RoundingMode.DOWN),
|
||||||
|
payment.getId(), payment.getSourceType(), bizEnum, orderInfo == null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 分销奖励
|
|
||||||
// if (shopUser != null) {
|
|
||||||
// distributionUserService.distribute(payment.getId(), payment.getOrderNo(), payment.getAmount(), shopUser.getUserId(), payment.getShopId(), "recharge");
|
|
||||||
// }
|
|
||||||
// if (orderInfo != null) {
|
|
||||||
// distributionUserService.distribute(payment.getId(), payment.getOrderNo(), payment.getAmount(), orderInfo.getUserId(), payment.getShopId(), "recharge");
|
|
||||||
// }
|
|
||||||
} else if (PayTypeConstants.SourceType.MEMBER_PAY.equals(payment.getSourceType())) {
|
} else if (PayTypeConstants.SourceType.MEMBER_PAY.equals(payment.getSourceType())) {
|
||||||
//购买会员
|
//购买会员
|
||||||
ShopUser shopUser = shopUserService.getById(payment.getSourceId());
|
ShopUser shopUser = shopUserService.getById(payment.getSourceId());
|
||||||
memberConfigService.joinMember(payment.getShopId(), shopUser.getUserId(), payment.getRelatedId());
|
memberConfigService.joinMember(payment.getShopId(), shopUser.getUserId(), payment.getRelatedId());
|
||||||
// 充值赠送积分
|
|
||||||
// memberConfigService.deliver(shopUser.getMainShopId(), shopUser.getUserId(), TableValueConstant.MemberExpFlow.Type.COST, payment.getAmount(), null, payment.getId());
|
|
||||||
|
|
||||||
// 分销员开通
|
|
||||||
} else if (PayTypeConstants.SourceType.DISTRIBUTION.equals(payment.getSourceType())) {
|
} else if (PayTypeConstants.SourceType.DISTRIBUTION.equals(payment.getSourceType())) {
|
||||||
distributionUserService.open(payment.getSourceId(), payment.getAmount(), payment.getShopId(), payment.getId());
|
distributionUserService.open(payment.getSourceId(), payment.getAmount(), payment.getShopId(), payment.getId());
|
||||||
} else if (PayTypeConstants.SourceType.POINT.equals(payment.getSourceType())) {
|
} else if (PayTypeConstants.SourceType.POINT.equals(payment.getSourceType())) {
|
||||||
@@ -1300,14 +1247,14 @@ public class OrderInfoCustomServiceImpl implements OrderInfoCustomService {
|
|||||||
shopUserUseInfo(orderInfo, shopUser);
|
shopUserUseInfo(orderInfo, shopUser);
|
||||||
// 后续 赠送等功能 挂账支付不赠送
|
// 后续 赠送等功能 挂账支付不赠送
|
||||||
if (!orderInfo.getPayType().equals(PayEnums.CREDIT_PAY.getValue())) {
|
if (!orderInfo.getPayType().equals(PayEnums.CREDIT_PAY.getValue())) {
|
||||||
FunUtils.safeRunVoid(() -> consumerCouponService.receiveConsumerCoupon(shopUser.getSourceShopId(), orderInfo.getId(),
|
if (!orderInfo.getPayType().equals(PayEnums.FREE_PAY.getValue())) {
|
||||||
orderInfo.getPayAmount(), shopUser.getUserId(), shopUser.getId()), "订单{}消费赠券失败", orderInfo.getId());
|
FunUtils.safeRunVoid(() -> consumerCouponService.receiveConsumerCoupon(shopUser.getSourceShopId(), orderInfo.getId(),
|
||||||
FunUtils.safeRunVoid(() -> pointsConfigService.consumeAwardPoints(shopUser, orderInfo), "订单{}赠送积分失败", orderInfo.getId());
|
orderInfo.getPayAmount(), shopUser.getUserId(), shopUser.getId()), "订单{}消费赠券失败", orderInfo.getId());
|
||||||
|
FunUtils.safeRunVoid(() -> pointsConfigService.consumeAwardPoints(shopUser, orderInfo), "订单{}赠送积分失败", orderInfo.getId());
|
||||||
FunUtils.safeRunVoid(() -> consumeCashbackService.cashback(orderInfo.getShopId(), shopUser.getUserId(),
|
|
||||||
orderInfo.getPayAmount(), orderInfo.getId(), orderInfo.getOrderNo()), "订单{}消费返现失败", orderInfo.getId());
|
|
||||||
|
|
||||||
|
|
||||||
|
FunUtils.safeRunVoid(() -> consumeCashbackService.cashback(orderInfo.getShopId(), shopUser.getUserId(),
|
||||||
|
orderInfo.getPayAmount(), orderInfo.getId(), orderInfo.getOrderNo()), "订单{}消费返现失败", orderInfo.getId());
|
||||||
|
}
|
||||||
FunUtils.safeRunVoid(() -> {
|
FunUtils.safeRunVoid(() -> {
|
||||||
if (shopUser.getIsVip().equals(0)) {
|
if (shopUser.getIsVip().equals(0)) {
|
||||||
// 消费累计成为会员的情况
|
// 消费累计成为会员的情况
|
||||||
|
|||||||
@@ -425,15 +425,16 @@ public class PayServiceImpl implements PayService {
|
|||||||
return CzgResult.failure("支付密码错误");
|
return CzgResult.failure("支付密码错误");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (shopUser.getIsVip().equals(0)) {
|
// if (shopUser.getIsVip().equals(0)) {
|
||||||
//更新会员
|
// //更新会员
|
||||||
ShopUser updateInfo = new ShopUser();
|
// ShopUser updateInfo = new ShopUser();
|
||||||
updateInfo.setIsVip(1);
|
// updateInfo.setIsVip(1);
|
||||||
updateInfo.setJoinTime(LocalDateTime.now());
|
// updateInfo.setJoinTime(LocalDateTime.now());
|
||||||
updateInfo.setId(payParam.getShopUserId());
|
// updateInfo.setId(payParam.getShopUserId());
|
||||||
shopUserService.updateById(updateInfo);
|
// shopUserService.updateById(updateInfo);
|
||||||
}
|
// }
|
||||||
shopRechargeService.recharge(shopUser.getMainShopId(), shopUser.getId(), payParam.getRechargeDetailId(), payParam.getAmount(), null, "cash", ShopUserFlowBizEnum.CASH_IN);
|
shopRechargeService.recharge(shopUser.getMainShopId(), shopUser.getId(), payParam.getRechargeDetailId(),
|
||||||
|
payParam.getAmount(), null, "cash", ShopUserFlowBizEnum.CASH_IN, true);
|
||||||
return CzgResult.success();
|
return CzgResult.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -825,19 +826,19 @@ public class PayServiceImpl implements PayService {
|
|||||||
// 退款分销还原
|
// 退款分销还原
|
||||||
FunUtils.safeRunVoid(() -> distributionUserService.refund(orderId, orderNo),
|
FunUtils.safeRunVoid(() -> distributionUserService.refund(orderId, orderNo),
|
||||||
"订单id:{} 退款,分销处理失败", orderId);
|
"订单id:{} 退款,分销处理失败", orderId);
|
||||||
if (userId != null) {
|
if (userId == null) {
|
||||||
FunUtils.safeRunVoid(() -> consumerCouponService.removeConsumerCoupon(shopId, userId, orderId),
|
return;
|
||||||
"订单id:{} 退款,消费赠券回撤处理失败", orderId);
|
|
||||||
FunUtils.safeRunVoid(() -> consumeCashbackService.removeCashback(shopId, userId, orderId, orderNo),
|
|
||||||
"订单id:{} 退款,消费返现处理失败", orderId);
|
|
||||||
FunUtils.safeRunVoid(() -> {
|
|
||||||
if (pointsNum != null && pointsNum > 0) {
|
|
||||||
mkPointsUserService.alterPoints(userId, null, shopId, PointsConstant.ADD,
|
|
||||||
pointsNum, orderId, StrUtil.format("订单退款返还{}积分", pointsNum));
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"订单id:{} 退款,积分返还处理失败", orderId);
|
|
||||||
}
|
}
|
||||||
|
FunUtils.safeRunVoid(() -> consumerCouponService.removeConsumerCoupon(shopId, userId, orderId),
|
||||||
|
"订单id:{} 退款,消费赠券回撤处理失败", orderId);
|
||||||
|
FunUtils.safeRunVoid(() -> consumeCashbackService.removeCashback(shopId, userId, orderId, orderNo),
|
||||||
|
"订单id:{} 退款,消费返现处理失败", orderId);
|
||||||
|
FunUtils.safeRunVoid(() -> {
|
||||||
|
if (pointsNum != null && pointsNum > 0) {
|
||||||
|
mkPointsUserService.alterPoints(userId, null, shopId, PointsConstant.ADD,
|
||||||
|
pointsNum, orderId, StrUtil.format("订单退款返还{}积分", pointsNum));
|
||||||
|
}
|
||||||
|
}, "订单id:{} 退款,积分返还处理失败", orderId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user