|
|
@@ -1,17 +1,21 @@
|
|
|
package com.cyksj.service.mini.impl;
|
|
|
|
|
|
import cn.hutool.core.util.RandomUtil;
|
|
|
+import cn.hutool.core.util.StrUtil;
|
|
|
import cn.hutool.http.ContentType;
|
|
|
import cn.hutool.http.Header;
|
|
|
import cn.hutool.json.JSONArray;
|
|
|
import cn.hutool.json.JSONObject;
|
|
|
import cn.hutool.json.JSONUtil;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
+import com.cyksj.common.constant.Constant;
|
|
|
import com.cyksj.common.exception.BusinessRuntimeException;
|
|
|
+import com.cyksj.common.util.SignatureUtils;
|
|
|
import com.cyksj.common.util.StringUtil;
|
|
|
import com.cyksj.mapper.mini.*;
|
|
|
import com.cyksj.model.entity.*;
|
|
|
import com.cyksj.model.request.MiniAiPicturesReq;
|
|
|
+import com.cyksj.model.request.MiniPopularizeIncrTimesReq;
|
|
|
import com.cyksj.model.response.MiniPopularizeResp;
|
|
|
import com.cyksj.redis.RedisService;
|
|
|
import com.cyksj.server.listener.ConsoleStreamListener;
|
|
|
@@ -31,6 +35,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.io.IOException;
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
import java.util.Optional;
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
import java.util.concurrent.atomic.AtomicBoolean;
|
|
|
@@ -49,6 +54,8 @@ public class MiniPopularizeFrontServiceImpl implements MiniPopularizeFrontServic
|
|
|
|
|
|
public static final String GPT_DRAW_TOKEN = "sk-3x6qkSeXJJoYkaIkhlv7mm0DWGizFc7V7sapmtoMoYI0Nd5Z";
|
|
|
|
|
|
+ public static final String SIGN_SECRET = "6mR7XvKbPeShVmYq3t5w9z$C&FH@McQ";
|
|
|
+
|
|
|
private final MiniPopularizeUserConversationMapper conversationMapper;
|
|
|
|
|
|
private final MiniPopularizeUserMapper miniPopularizeUserMapper;
|
|
|
@@ -63,6 +70,8 @@ public class MiniPopularizeFrontServiceImpl implements MiniPopularizeFrontServic
|
|
|
|
|
|
private final MiniPopularizeConfigUseRecordMapper miniPopularizeConfigUseRecordMapper;
|
|
|
|
|
|
+ private final MiniPopularizeUserIncrTimesRecordMapper miniPopularizeUserIncrTimesRecordMapper;
|
|
|
+
|
|
|
/**
|
|
|
* 连接超时
|
|
|
*/
|
|
|
@@ -146,14 +155,34 @@ public class MiniPopularizeFrontServiceImpl implements MiniPopularizeFrontServic
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void incrGptTimes(long userId) {
|
|
|
+ @Transactional(rollbackFor = Throwable.class)
|
|
|
+ public void incrGptTimes(MiniPopularizeIncrTimesReq req) throws Exception {
|
|
|
+ Long userId = req.getUserId();
|
|
|
MiniPopularizeUser user = miniPopularizeUserMapper.selectById(userId);
|
|
|
if (user == null) {
|
|
|
throw BusinessRuntimeException.getInstance("系统错误,用户不存在");
|
|
|
}
|
|
|
- Integer oriNum = user.getNum();
|
|
|
- Integer addNum = 3;
|
|
|
- miniPopularizeCommonService.incrGptTimes(userId, oriNum, addNum);
|
|
|
+ String sign = req.getSign();
|
|
|
+ if (StrUtil.isEmpty(sign)) {
|
|
|
+ throw BusinessRuntimeException.getInstance("系统错误");
|
|
|
+ }
|
|
|
+ Long timestamp = req.getTimestamp();
|
|
|
+ String bsign = SignatureUtils.generateSignature(Map.of("timestamp", timestamp.toString()), SIGN_SECRET);
|
|
|
+ if (!StrUtil.equals(bsign, sign)) {
|
|
|
+ throw BusinessRuntimeException.getInstance("系统错误");
|
|
|
+ }
|
|
|
+ Integer addNum = Constant.Three;
|
|
|
+ MiniPopularizeUserIncrTimesRecord miniPopularizeUserIncrTimesRecord = new MiniPopularizeUserIncrTimesRecord();
|
|
|
+ miniPopularizeUserIncrTimesRecord.setUserId(userId);
|
|
|
+ miniPopularizeUserIncrTimesRecord.setSign(sign);
|
|
|
+ miniPopularizeUserIncrTimesRecord.setNum(addNum);
|
|
|
+ try {
|
|
|
+ miniPopularizeUserIncrTimesRecordMapper.insert(miniPopularizeUserIncrTimesRecord);
|
|
|
+ Integer oriNum = user.getNum();
|
|
|
+ miniPopularizeCommonService.incrGptTimes(userId, oriNum, addNum);
|
|
|
+ } catch (Exception e) {
|
|
|
+
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Override
|