perf(payment): 优化支付宝提现流程并缓存佣金比例
parent
ef36122845
commit
43f11e5db2
|
@ -215,7 +215,7 @@ public class AliPayController extends BaseController {
|
|||
return R.fail(HttpStatus.SHOW_ERROR_MSG,"提现金额最小为0.1");
|
||||
}
|
||||
|
||||
return aliPayService.fetch(amount.toString());
|
||||
return aliPayService.fetch(amount);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1,31 +0,0 @@
|
|||
package com.mcwl.common.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* @Author:ChenYan
|
||||
* @Project:McWl
|
||||
* @Package:com.mcwl.pay.domain
|
||||
* @Filename:PaymentStatus
|
||||
* @Description TODO
|
||||
* @Date:2025/1/3 17:24
|
||||
*/
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public enum CommissionRationEnum {
|
||||
|
||||
/**
|
||||
* 佣金配给邀请者用户
|
||||
*/
|
||||
COMMISSION_RATION_INVITER_USER("CommissionRationInviterUser"),
|
||||
/**
|
||||
* 佣金配给商家用户
|
||||
*/
|
||||
COMMISSION_RATION_MERCHANT("CommissionRationMerchant");
|
||||
|
||||
private String name;
|
||||
}
|
|
@ -2,11 +2,13 @@ package com.mcwl.myInvitation.service.impl;
|
|||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.mcwl.common.core.redis.RedisCache;
|
||||
import com.mcwl.myInvitation.domain.CommissionRatio;
|
||||
import com.mcwl.myInvitation.domain.vo.CommissionRatioVo;
|
||||
import com.mcwl.myInvitation.mapper.CommissionRatioMapper;
|
||||
import com.mcwl.myInvitation.service.CommissionRatioService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
@ -20,6 +22,8 @@ import java.util.Objects;
|
|||
public class CommissionRatioServiceImpl extends ServiceImpl<CommissionRatioMapper, CommissionRatio> implements CommissionRatioService {
|
||||
|
||||
|
||||
private final RedisCache redisCache;
|
||||
|
||||
@Override
|
||||
public List<CommissionRatioVo> ratioList() {
|
||||
List<CommissionRatio> list = baseMapper.selectList(null);
|
||||
|
@ -41,7 +45,10 @@ public class CommissionRatioServiceImpl extends ServiceImpl<CommissionRatioMappe
|
|||
return null;
|
||||
}
|
||||
commissionRatio.setRatio(ratio);
|
||||
baseMapper.insert(commissionRatio);
|
||||
baseMapper.updateById(commissionRatio);
|
||||
|
||||
redisCache.deleteObject("CommissionRationInviterUser");
|
||||
redisCache.deleteObject("CommissionRationMerchant");
|
||||
|
||||
return this.getCommissionRatioVo(commissionRatio);
|
||||
}
|
||||
|
|
|
@ -127,13 +127,13 @@ public class AliPayServiceImpl implements AliPayService {
|
|||
Long productId = orderTradeDto.getProductId();
|
||||
|
||||
if (!Optional.ofNullable(productId).isPresent()) {
|
||||
throw new ServiceException("memberLevelId不能为空");
|
||||
throw new ServiceException("memberLevelId不能为空", HttpStatus.SHOW_ERROR_MSG);
|
||||
}
|
||||
|
||||
MemberLevel memberLevel = memberLevelService.getById(productId);
|
||||
|
||||
if (!Optional.ofNullable(memberLevel).isPresent()) {
|
||||
throw new ServiceException("memberLevel不存在");
|
||||
throw new ServiceException("memberLevel不存在", HttpStatus.SHOW_ERROR_MSG);
|
||||
}
|
||||
|
||||
// 设置orderTrade信息
|
||||
|
@ -349,10 +349,10 @@ public class AliPayServiceImpl implements AliPayService {
|
|||
|
||||
String content = String.format("账户余额不足:用户%s提现%s", sysUser.getNickName(), amount);
|
||||
MailUtil.send(tos, "魔创未来", content, false);
|
||||
throw new ServiceException("网络连接出错,请稍后再试");
|
||||
throw new ServiceException("网络连接出错,请稍后再试", HttpStatus.SHOW_ERROR_MSG);
|
||||
}
|
||||
System.out.println("用户" + SecurityUtils.getLoginUser().getUser().getNickName() + "提现失败:" + response.getSubMsg());
|
||||
throw new ServiceException("提现失败");
|
||||
throw new ServiceException("提现失败", HttpStatus.SHOW_ERROR_MSG);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -51,6 +51,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.time.LocalDate;
|
||||
|
@ -114,6 +115,19 @@ public class OrderTradeServiceImpl extends ServiceImpl<OrderTradeMapper, OrderTr
|
|||
.expireAfterAccess(3, TimeUnit.MINUTES)
|
||||
.build();
|
||||
|
||||
@PostConstruct
|
||||
public void init() {
|
||||
CommissionRatio commissionRatio1 = commissionRatioService.lambdaQuery()
|
||||
.eq(CommissionRatio::getType, 0)
|
||||
.one();
|
||||
CommissionRatio commissionRatio2 = commissionRatioService.lambdaQuery()
|
||||
.eq(CommissionRatio::getType, 1)
|
||||
.one();
|
||||
redisCache.setCacheObject(CommissionRationEnum.COMMISSION_RATION_INVITER_USER.getName(), commissionRatio1);
|
||||
redisCache.setCacheObject(CommissionRationEnum.COMMISSION_RATION_MERCHANT.getName(), commissionRatio2);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void productHandler(ProductRes productRes) {
|
||||
|
@ -676,6 +690,7 @@ public class OrderTradeServiceImpl extends ServiceImpl<OrderTradeMapper, OrderTr
|
|||
.eq(CommissionRatio::getType, 1)
|
||||
.one();
|
||||
CommissionRationMerchant = commissionRatio.getRatio().toString();
|
||||
redisCache.setCacheObject(CommissionRationEnum.COMMISSION_RATION_MERCHANT.getName(), CommissionRationMerchant);
|
||||
}
|
||||
|
||||
// 佣金配给邀请者用户比例
|
||||
|
@ -685,6 +700,7 @@ public class OrderTradeServiceImpl extends ServiceImpl<OrderTradeMapper, OrderTr
|
|||
.eq(CommissionRatio::getType, 0)
|
||||
.one();
|
||||
commissionRationInviterUser = commissionRatio.getRatio().toString();
|
||||
redisCache.setCacheObject(CommissionRationEnum.COMMISSION_RATION_INVITER_USER.getName(), commissionRationInviterUser);
|
||||
}
|
||||
|
||||
Double rationMerchant = redisCache.getCacheObject(CommissionRationMerchant);
|
||||
|
|
Loading…
Reference in New Issue