|
@@ -14,6 +14,7 @@ import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
|
|
+import java.util.Objects;
|
|
|
import java.util.UUID;
|
|
import java.util.UUID;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -36,6 +37,12 @@ public class ExchangeCodeServiceImpl implements ExchangeCodeService {
|
|
|
|
|
|
|
|
private final WebInfoMapper webInfoMapper;
|
|
private final WebInfoMapper webInfoMapper;
|
|
|
|
|
|
|
|
|
|
+ private final ChatgptUserMapper chatgptUserMapper;
|
|
|
|
|
+
|
|
|
|
|
+ private final ClaudeUserMapper claudeUserMapper;
|
|
|
|
|
+
|
|
|
|
|
+ private final GrokUserMapper grokUserMapper;
|
|
|
|
|
+
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
@Transactional(rollbackFor = Throwable.class)
|
|
@Transactional(rollbackFor = Throwable.class)
|
|
@@ -64,6 +71,9 @@ public class ExchangeCodeServiceImpl implements ExchangeCodeService {
|
|
|
if (webWholesaleOrderDon == null || webWholesaleOrderDon.getStatus() != WebWholesaleOrderDon.Status.complete) {
|
|
if (webWholesaleOrderDon == null || webWholesaleOrderDon.getStatus() != WebWholesaleOrderDon.Status.complete) {
|
|
|
throw BusinessRuntimeException.getInstance("兑换码不存在");
|
|
throw BusinessRuntimeException.getInstance("兑换码不存在");
|
|
|
}
|
|
}
|
|
|
|
|
+ if (!webInfo.getId().equals(webWholesaleOrderDon.getUserId())) {
|
|
|
|
|
+ throw BusinessRuntimeException.getInstance("兑换码不存在");
|
|
|
|
|
+ }
|
|
|
int update = webWholesaleOrderDonCodeRelateMapper.update(null, Wrappers.lambdaUpdate(WebWholesaleOrderDonCodeRelate.class)
|
|
int update = webWholesaleOrderDonCodeRelateMapper.update(null, Wrappers.lambdaUpdate(WebWholesaleOrderDonCodeRelate.class)
|
|
|
.set(WebWholesaleOrderDonCodeRelate::getDhUserId, userId)
|
|
.set(WebWholesaleOrderDonCodeRelate::getDhUserId, userId)
|
|
|
.eq(WebWholesaleOrderDonCodeRelate::getId, webWholesaleOrderDonCodeRelate.getId())
|
|
.eq(WebWholesaleOrderDonCodeRelate::getId, webWholesaleOrderDonCodeRelate.getId())
|
|
@@ -91,5 +101,65 @@ public class ExchangeCodeServiceImpl implements ExchangeCodeService {
|
|
|
}
|
|
}
|
|
|
wholesaleUser.setExchangeCode(code);
|
|
wholesaleUser.setExchangeCode(code);
|
|
|
wholesaleUserMapper.updateById(wholesaleUser);
|
|
wholesaleUserMapper.updateById(wholesaleUser);
|
|
|
|
|
+ createUser(wholesaleUser);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public void createUser(WholesaleUser wholesaleUser){
|
|
|
|
|
+ Long LIMIT_TIME = 24L;
|
|
|
|
|
+ Integer LIMIT_NUM = 9999;
|
|
|
|
|
+ String token = wholesaleUser.getToken();
|
|
|
|
|
+ ChatgptUser chatgptUser = chatgptUserMapper.selectOne(Wrappers.lambdaQuery(ChatgptUser.class).eq(ChatgptUser::getUserToken, token));
|
|
|
|
|
+ if (chatgptUser == null){
|
|
|
|
|
+ chatgptUser = new ChatgptUser();
|
|
|
|
|
+ chatgptUser.setIsCar(true);
|
|
|
|
|
+ chatgptUser.setLimitNum(LIMIT_NUM);
|
|
|
|
|
+ chatgptUser.setLimitTime(LIMIT_TIME);
|
|
|
|
|
+ chatgptUser.setDsLimitTime(LIMIT_TIME);
|
|
|
|
|
+ chatgptUser.setDsLimitNum(LIMIT_NUM);
|
|
|
|
|
+ chatgptUser.setOtherLimitNum(LIMIT_NUM);
|
|
|
|
|
+ chatgptUser.setOtherLimitTime(LIMIT_TIME);
|
|
|
|
|
+ chatgptUser.setExpireTime(wholesaleUser.getExpireTime());
|
|
|
|
|
+ chatgptUser.setIsPlus(1);
|
|
|
|
|
+ chatgptUser.setName(wholesaleUser.getNickname());
|
|
|
|
|
+ chatgptUser.setImg(wholesaleUser.getAvatar());
|
|
|
|
|
+ chatgptUser.setUserToken(token);
|
|
|
|
|
+ chatgptUserMapper.insert(chatgptUser);
|
|
|
|
|
+ }else {
|
|
|
|
|
+ chatgptUser.setName(wholesaleUser.getNickname());
|
|
|
|
|
+ chatgptUser.setImg(wholesaleUser.getAvatar());
|
|
|
|
|
+ chatgptUser.setExpireTime(wholesaleUser.getExpireTime());
|
|
|
|
|
+ chatgptUserMapper.updateById(chatgptUser);
|
|
|
|
|
+ }
|
|
|
|
|
+ ClaudeUser claudeUser = claudeUserMapper.selectOne(Wrappers.lambdaQuery(ClaudeUser.class).eq(ClaudeUser::getUserToken, token));
|
|
|
|
|
+ if (claudeUser == null){
|
|
|
|
|
+ claudeUser = new ClaudeUser();
|
|
|
|
|
+ claudeUser.setLimitNum(LIMIT_NUM);
|
|
|
|
|
+ claudeUser.setLimitTime(LIMIT_TIME);
|
|
|
|
|
+ claudeUser.setExpireTime(wholesaleUser.getExpireTime());
|
|
|
|
|
+ claudeUser.setIsPlus(true);
|
|
|
|
|
+ claudeUser.setName(wholesaleUser.getNickname());
|
|
|
|
|
+ claudeUser.setUserToken(token);
|
|
|
|
|
+ claudeUserMapper.insert(claudeUser);
|
|
|
|
|
+ }else {
|
|
|
|
|
+ claudeUser.setName(wholesaleUser.getNickname());
|
|
|
|
|
+ claudeUser.setExpireTime(wholesaleUser.getExpireTime());
|
|
|
|
|
+ claudeUserMapper.updateById(claudeUser);
|
|
|
|
|
+ }
|
|
|
|
|
+ GrokUser grokUser = grokUserMapper.selectOne(Wrappers.lambdaQuery(GrokUser.class).eq(GrokUser::getUserToken, token));
|
|
|
|
|
+ if (grokUser == null){
|
|
|
|
|
+ grokUser = new GrokUser();
|
|
|
|
|
+ grokUser.setLimitNum(LIMIT_NUM);
|
|
|
|
|
+ grokUser.setLimitTime(LIMIT_TIME);
|
|
|
|
|
+ grokUser.setExpireTime(wholesaleUser.getExpireTime());
|
|
|
|
|
+ grokUser.setIsPlus(true);
|
|
|
|
|
+ grokUser.setName(wholesaleUser.getNickname());
|
|
|
|
|
+ grokUser.setUserToken(token);
|
|
|
|
|
+ grokUserMapper.insert(grokUser);
|
|
|
|
|
+ }else {
|
|
|
|
|
+ grokUser.setName(wholesaleUser.getNickname());
|
|
|
|
|
+ grokUser.setExpireTime(wholesaleUser.getExpireTime());
|
|
|
|
|
+ grokUserMapper.updateById(grokUser);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|