Переглянути джерело

Merge branch 'gpt_car_list' into pre

zoujiajian 2 роки тому
батько
коміт
caa15a0531

+ 37 - 0
netflix-dao/src/main/java/com/cyksj/model/views/ChatgptUserTokenPrepareView.java

@@ -0,0 +1,37 @@
+package com.cyksj.model.views;
+
+import com.ejlchina.searcher.bean.DbField;
+import com.ejlchina.searcher.bean.SearchBean;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/**
+ * 项目名: yhlxj2
+ * 文件名: ChatgptUserTokenPrepareView
+ * 创建者: JavaZou
+ * 创建时间:2024/4/19 10:08
+ */
+@Getter
+@Setter
+@SearchBean(tables = "chatgpt_user_token_prepare cp inner join goods_don_sku sku on cp.sku_id = sku.id")
+public class ChatgptUserTokenPrepareView {
+	@DbField("cp.id")
+	private Long id;
+
+	@DbField("cp.name")
+	private String name;
+
+	@DbField("sku.spec_val")
+	private String skuName;
+
+	@DbField("cp.userToken")
+	private String userToken;
+
+	@DbField("cp.status")
+	private Boolean status;
+
+	@DbField("cp.created_time")
+	private Date createdTime;
+}

+ 2 - 2
netflix-service/src/main/java/com/cyksj/service/chatgpt/impl/ChatGptAccountServiceImpl.java

@@ -699,7 +699,7 @@ public class ChatGptAccountServiceImpl implements ChatGptAccountService {
         lowestScorecarIds = redisService.zRangeWithScores(RedisService.key.CHATGPT_CAR_SCORES.getName(), 0L, count - 1);
         Map<Object, Double> collect = lowestScorecarIds.stream().collect(Collectors.toMap(ZSetOperations.TypedTuple::getValue, ZSetOperations.TypedTuple::getScore));
         List<ChatgptSession> chatgptSessions = chatgptSessionMapper.selectList(Wrappers.lambdaQuery(ChatgptSession.class).in(ChatgptSession::getCarId, collect.keySet()));
-        return chatgptSessions.stream().map((chatgptSession) -> buildChatgptCarInfoView(chatgptSession.getCarId(), chatgptSession.getCarName(), chatgptSession.getIsPlus(), collect.get(chatgptSession.getCarId())))
+        return chatgptSessions.stream().map((chatgptSession)-> buildChatgptCarInfoView(chatgptSession.getCarId(),chatgptSession.getCarName(), chatgptSession.getIsPlus(), collect.get(chatgptSession.getCarId())))
                 .sorted(Comparator.comparing(ChatgptCarInfoView::getScore)).collect(Collectors.toCollection(LinkedHashSet::new));
     }
 
@@ -815,7 +815,7 @@ public class ChatGptAccountServiceImpl implements ChatGptAccountService {
         TASK_EXECUTOR.execute(() -> {
             Set<ZSetOperations.TypedTuple<Object>> lowestScorecarIds = redisService.zRangeWithScores(RedisService.key.CHATGPT_CAR_SCORES.getName(), 0L, -1);
             List<Object> collect = lowestScorecarIds.stream().map(ZSetOperations.TypedTuple::getValue).collect(Collectors.toList());
-            List<ChatgptSession> chatgptSessions = chatgptSessionMapper.selectList(Wrappers.lambdaQuery(ChatgptSession.class).notIn(collect.size() > 0, ChatgptSession::getCarId, collect).eq(ChatgptSession::getIsCar, true));
+            List<ChatgptSession> chatgptSessions = chatgptSessionMapper.selectList(Wrappers.lambdaQuery(ChatgptSession.class).notIn(collect.size() > 0, ChatgptSession::getCarId, collect).eq(ChatgptSession::getIsPlus, 1).eq(ChatgptSession::getIsCar, true));
             chatgptSessions.forEach((chatgptSession) -> {
                 if (!redisService.checkValueExistsInZSet(RedisService.key.CHATGPT_CAR_SCORES.getName(), chatgptSession.getCarId())) {
                     redisService.zAdd(RedisService.key.CHATGPT_CAR_SCORES.getName(), 0, chatgptSession.getCarId());

+ 21 - 8
netflix-service/src/main/java/com/cyksj/service/user/impl/BadIntentionOpServiceImpl.java

@@ -25,6 +25,9 @@ public class BadIntentionOpServiceImpl implements BadIntentionOpService {
     @Value("${smsVerify.apikey}")
     String apiKey;
 
+    @Value("${smsVerify.shoppingApikey}")
+    String shoppingApikey;
+
     private final RedisService redisService;
 
     private static final int PHONE_CODE_GET_NUM_DAY_LIMIT = 30;
@@ -41,15 +44,16 @@ public class BadIntentionOpServiceImpl implements BadIntentionOpService {
         }
         if (StringUtils.isBlank(verifyCode)) {
             throw BusinessRuntimeException.getInstance("人机校验不通过");
-        }else {
-            Map<String, Object> parmas = new HashMap<>();
-            parmas.put("api_key", apiKey);
-            parmas.put("response", verifyCode);
-            String post = HttpUtil.post(VERIFY_URL, parmas);
-            JSONObject res = new JSONObject(post);
+        } else {
+            //银河官网
+            JSONObject res = checkVerifyCode(apiKey, verifyCode);
             if (!res.getStr("res").equals("success")) {
-                log.error("手机号:{}验证码校验不通过 res:{}", phone, res);
-                throw BusinessRuntimeException.getInstance("人机校验不通过");
+                //小店域名
+                res = checkVerifyCode(shoppingApikey, verifyCode);
+                if (!res.getStr("res").equals("success")) {
+                    log.error("手机号:{}验证码校验不通过 res:{}", phone, res);
+                    throw BusinessRuntimeException.getInstance("人机校验不通过");
+                }
             }
         }
         String dayKey = RedisService.key.PHONE_CODE_USER_NUM_KEY_DAY.getName() + phone;
@@ -95,4 +99,13 @@ public class BadIntentionOpServiceImpl implements BadIntentionOpService {
             redisService.setNx(RetryTimeKey, 1, RedisService.key.PHONE_CODE_RETRY_TIME_KEY.getTimeout());
         }
     }
+
+    public JSONObject checkVerifyCode(String apiKey, String verifyCode) {
+        Map<String, Object> parmas = new HashMap<>();
+        parmas.put("api_key", apiKey);
+        parmas.put("response", verifyCode);
+        String post = HttpUtil.post(VERIFY_URL, parmas);
+        JSONObject res = new JSONObject(post);
+        return res;
+    }
 }

+ 23 - 4
netflix-web/src/main/java/com/cyksj/web/controller/manage/mirror/CmsMirrorController.java

@@ -4,20 +4,24 @@ import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.lang.UUID;
 import com.alibaba.excel.support.ExcelTypeEnum;
 import com.cyksj.common.constant.Constant;
+import com.cyksj.dto.Result;
+import com.cyksj.enums.GatewayResponse;
 import com.cyksj.mapper.ChatgptUserTokenPrepareMapper;
 import com.cyksj.mapper.GoodsDonSkuMapper;
 import com.cyksj.model.entity.ChatgptUserTokenPrepare;
 import com.cyksj.model.entity.GoodsDonSku;
 import com.cyksj.model.request.ChatGptUserTokenGenerateReq;
+import com.cyksj.model.views.ChatgptUserTokenPrepareView;
 import com.cyksj.web.util.EasyExcelUtils;
+import com.ejlchina.searcher.BeanSearcher;
+import com.ejlchina.searcher.SearchResult;
+import com.ejlchina.searcher.util.MapUtils;
 import com.google.common.collect.Lists;
 import lombok.RequiredArgsConstructor;
 import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.util.ArrayList;
 import java.util.List;
@@ -38,6 +42,10 @@ public class CmsMirrorController {
 
 	private final ChatgptUserTokenPrepareMapper chatgptUserTokenPrepareMapper;
 
+	private final BeanSearcher beanSearcher;
+
+	private final HttpServletRequest request;
+
 	/**
 	 * 生成并导出gpt会话
 	 */
@@ -75,4 +83,15 @@ public class CmsMirrorController {
 		}
 		EasyExcelUtils.createExcelStreamMutilByEasyExcel(response, ChatgptUserTokenPrepare.class, prepares, "用户token","用户token", ExcelTypeEnum.XLSX, null);
 	}
+
+	/**
+	 * 镜像车队token 列表
+	 */
+	@GetMapping("/get/list")
+	public Result<SearchResult<ChatgptUserTokenPrepareView>> getList() {
+		SearchResult<ChatgptUserTokenPrepareView> search = beanSearcher.search(ChatgptUserTokenPrepareView.class, MapUtils.flatBuilder(request.getParameterMap())
+				.orderBy(ChatgptUserTokenPrepareView::getId).desc()
+				.build());
+		return GatewayResponse.SUCCESS.newBuilder().toResult(search);
+	}
 }

Різницю між файлами не показано, бо вона завелика
+ 0 - 0
netflix-web/src/main/resources/application-dev.yml


Різницю між файлами не показано, бо вона завелика
+ 0 - 0
netflix-web/src/main/resources/application-prd.yml


+ 2 - 1
netflix-web/src/main/resources/application-pre.yml

@@ -183,4 +183,5 @@ chatgpt:
     domain: "https://car.galaxydvd.com"
 
 smsVerify:
-  apikey: bc0737b7339ab0f275f954a161fdb313
+  apikey: bc0737b7339ab0f275f954a161fdb313
+  shoppingApikey: 72d4ff765b6c962f35c9a4125100680d

Деякі файли не було показано, через те що забагато файлів було змінено