|
|
@@ -92,6 +92,8 @@ public class ChatGptAccountServiceImpl implements ChatGptAccountService {
|
|
|
|
|
|
private final ChatgptUserTokenPrepareMapper chatgptUserTokenPrepareMapper;
|
|
|
|
|
|
+ private final ChatgptUserCarUsedRecordMapper chatgptUserCarUsedRecordMapper;
|
|
|
+
|
|
|
@Override
|
|
|
public String addAccount(Account account) {
|
|
|
if (isAccountExists(account)) {
|
|
|
@@ -211,6 +213,7 @@ public class ChatGptAccountServiceImpl implements ChatGptAccountService {
|
|
|
GroupsRelation groupsRelation = getGroupsRelation(userId, relationId);
|
|
|
GroupsTrips groupsTrips = getGroupsTrips(groupsRelation);
|
|
|
GoodsDonSku goodsDonSku = skuMapper.selectById(groupsTrips.getSkuId());
|
|
|
+ log.info("用户:{},所在车次:{},座位id:{},在{}获取跳转GPT镜像的登录url", userId, groupsTrips.getId(), relationId, DateTime.now());
|
|
|
|
|
|
if (goodsDonSku != null && goodsDonSku.getIsMirror()) {
|
|
|
ChatgptUser chatgptUser = getChatgptUser(userId, relationId, groupsRelation, groupsTrips, goodsDonSku);
|
|
|
@@ -491,6 +494,11 @@ public class ChatGptAccountServiceImpl implements ChatGptAccountService {
|
|
|
conversationLimitResponse.setNextAvailableTime(nextAvailableTime);
|
|
|
}
|
|
|
conversationLimitResponse.setLimited(true);
|
|
|
+ //用户次数使用限制
|
|
|
+ ChatgptUserCarUsedRecord chatgptUserCarUsedRecord = new ChatgptUserCarUsedRecord();
|
|
|
+ chatgptUserCarUsedRecord.setUserToken(userToken);
|
|
|
+ chatgptUserCarUsedRecord.setIsUserLimit(true);
|
|
|
+ chatgptUserCarUsedRecordMapper.insert(chatgptUserCarUsedRecord);
|
|
|
return conversationLimitResponse;
|
|
|
} else {
|
|
|
// 如果未超过限制,记录当前请求的时间戳
|
|
|
@@ -807,6 +815,29 @@ public class ChatGptAccountServiceImpl implements ChatGptAccountService {
|
|
|
}
|
|
|
}
|
|
|
redisService.set("chatgpt:clears_in:" + carId, expTime, expTime);
|
|
|
+
|
|
|
+ try {
|
|
|
+ //记录用户触发限制
|
|
|
+ ChatgptUserCarUsedRecord chatgptUserCarUsedRecord = new ChatgptUserCarUsedRecord();
|
|
|
+ chatgptUserCarUsedRecord.setUserToken(userToken);
|
|
|
+ chatgptUserCarUsedRecord.setCarId(carId);
|
|
|
+
|
|
|
+ String highCarChatKey = RedisService.key.CHATGPT_CAR_HIGH_CHAT.getName() + carId;
|
|
|
+ String lowCarChatKey = RedisService.key.CHATGPT_CAR_LOW_CHAT.getName() + carId;
|
|
|
+
|
|
|
+ Long highCarChatNum = redisService.zCard(highCarChatKey);
|
|
|
+ if (highCarChatNum != null) {
|
|
|
+ chatgptUserCarUsedRecord.setGptFour(Integer.parseInt(highCarChatNum.toString()));
|
|
|
+ }
|
|
|
+ Long lowCarChatNum = redisService.zCard(lowCarChatKey);
|
|
|
+ if (lowCarChatNum != null) {
|
|
|
+ chatgptUserCarUsedRecord.setGpt(Integer.parseInt(lowCarChatNum.toString()));
|
|
|
+ }
|
|
|
+ chatgptUserCarUsedRecordMapper.insert(chatgptUserCarUsedRecord);
|
|
|
+ log.info("记录userToken:{}访问对应镜像车队carId:{}操作成功", userToken, carId);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.info("记录userToken:{}访问对应镜像车队carId:{}操作失败e:{}", userToken, carId, StringUtil.getErrorText(e));
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@PostConstruct
|