|
@@ -79,6 +79,8 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
|
|
|
private TenantConfigService tenantConfigService;
|
|
|
@Autowired
|
|
|
private ActivityUserMapperDao activityUserMapperDao;
|
|
|
+ @Autowired
|
|
|
+ private MemberFeeSettingService memberFeeSettingService;
|
|
|
|
|
|
private final Logger logger = LoggerFactory.getLogger(this.getClass());
|
|
|
|
|
@@ -177,6 +179,32 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
|
|
|
return BaseController.succeed(result);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public HttpResponseResult buy1(MemberPayParamDto memberPayParamDto) throws Exception {
|
|
|
+ logger.info("团练宝购买:memberPayParamDto:{} ", memberPayParamDto);
|
|
|
+ SysUser sysUser = Optional.of(sysUserFeignService.queryUserInfo()).orElseThrow(() -> new BizException("用户信息不存在"));
|
|
|
+ //判断用户是否已存在订单
|
|
|
+ StudentPaymentOrder memberIngOrder = studentPaymentOrderService.getMemberIngOrder(OrderTypeEnum.MEMBER, DealStatusEnum.ING);
|
|
|
+ if (Objects.nonNull(memberIngOrder)) {
|
|
|
+ HttpResponseResult result = studentPaymentOrderService.checkRepeatPay(memberIngOrder, memberPayParamDto.getRepeatPay());
|
|
|
+ if (result.getCode() != 200) {
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //获取团练宝价格
|
|
|
+ BigDecimal actualAmount = memberFeeSettingService.getAmount(sysUser.getOrganId(),1,
|
|
|
+ memberPayParamDto.getPeriodEnum(),new BigDecimal(1),
|
|
|
+ MemberFeeSettingServiceImpl::getOriginalFee);
|
|
|
+ //优惠券使用范围
|
|
|
+ String[] checkCoupon = CouponDetailTypeEnum.getAllowType(MEMBER);
|
|
|
+ //校验优惠券
|
|
|
+ StudentPaymentOrder studentPaymentOrder = sysCouponCodeService.use(memberPayParamDto.getCouponIdList(), actualAmount, true, checkCoupon);
|
|
|
+ studentPaymentOrder.setMemo("学员团练宝购买");
|
|
|
+ Map<String, Object> result = getMap(memberPayParamDto.getAmount(), memberPayParamDto.getUseBalancePayment(), sysUser.getId(), sysUser.getOrganId(), studentPaymentOrder);
|
|
|
+ return BaseController.succeed(result);
|
|
|
+ }
|
|
|
+
|
|
|
public static final String BUY_2_QQHE_LOCK = "BUY_2_QQHE_LOCK:";
|
|
|
|
|
|
@Override
|