|
|
@@ -204,6 +204,7 @@ public class GptProxyRechargeServiceImpl implements GptProxyRechargeService {
|
|
|
// if (sku.getGoodsId() != Constant.GPT_RECHARGE_GOODS_ID) {
|
|
|
// throw BusinessRuntimeException.getInstance("车票类型错误");
|
|
|
// }
|
|
|
+ Integer rechargeNum = relation.getRechargeNum();
|
|
|
Integer rechargeRemainNum = relation.getRechargeRemainNum();
|
|
|
if (rechargeRemainNum == null || rechargeRemainNum <= 0) {
|
|
|
throw BusinessRuntimeException.getInstance("剩余可代充次数为0");
|
|
|
@@ -252,9 +253,23 @@ public class GptProxyRechargeServiceImpl implements GptProxyRechargeService {
|
|
|
relation.setGptToken(accessToken);
|
|
|
relation.setAccount(rechargeAccount);
|
|
|
//获取GPT代充key
|
|
|
+ //代充卡密类型
|
|
|
+ Integer gptRechargeCardKeyType = 0;
|
|
|
+ //若是季、年付 且首月代充
|
|
|
+ if (sku.getMonths() > 1 && rechargeNum == rechargeRemainNum) {
|
|
|
+ gptRechargeCardKeyType = 1;
|
|
|
+ }
|
|
|
GptRechargeCardKey gptRechargeCardKey = gptRechargeCardKeyMapper.selectOne(Wrappers.lambdaQuery(GptRechargeCardKey.class)
|
|
|
+ .eq(GptRechargeCardKey::getType, gptRechargeCardKeyType)
|
|
|
.eq(GptRechargeCardKey::getStatus, Boolean.FALSE)
|
|
|
.last("order by rand() limit 1"));
|
|
|
+ //季、年付卡密不存在 从月付代充卡密中获取
|
|
|
+ if (gptRechargeCardKey == null && gptRechargeCardKeyType == 1) {
|
|
|
+ gptRechargeCardKey = gptRechargeCardKeyMapper.selectOne(Wrappers.lambdaQuery(GptRechargeCardKey.class)
|
|
|
+ .eq(GptRechargeCardKey::getType, 0)
|
|
|
+ .eq(GptRechargeCardKey::getStatus, Boolean.FALSE)
|
|
|
+ .last("order by rand() limit 1"));
|
|
|
+ }
|
|
|
if (gptRechargeCardKey == null) {
|
|
|
setRechargeRelationStatusAutoError(relation);
|
|
|
throw BusinessRuntimeException.getInstance("充值失败,请联系客服开通");
|