diff --git a/pom.xml b/pom.xml
index fb4ed94..f3f5495 100644
--- a/pom.xml
+++ b/pom.xml
@@ -48,9 +48,9 @@
1.0-SNAPSHOT
- com.xiang
+ com.xiang.starter
xmc-http-starter
- 1.0-SNAPSHOT
+ 2.0-SNAPSHOT
com.xiang
diff --git a/script/src/main/java/com/xiang/xservice/application/script/glados/common/GladosConstants.java b/script/src/main/java/com/xiang/xservice/application/script/glados/common/GladosConstants.java
index 9425aba..2bbf68d 100644
--- a/script/src/main/java/com/xiang/xservice/application/script/glados/common/GladosConstants.java
+++ b/script/src/main/java/com/xiang/xservice/application/script/glados/common/GladosConstants.java
@@ -8,5 +8,5 @@ public class GladosConstants {
public static final String GLADOS_COOKIE = "SL_G_WPT_TO=en; SL_GWPT_Show_Hide_tmp=1; SL_wptGlobTipTmp=1; koa:sess=eyJ1c2VySWQiOjU1OTg1MywiX2V4cGlyZSI6MTc3MjYwNDkyNjI4OCwiX21heEFnZSI6MjU5MjAwMDAwMDB9; koa:sess.sig=OdaqjpLkIp19lXn0lFuOsHX7vEM";
- public static final String GLADOS_CHECK_IN_BODY = "{\"token\":\"glados.one\"}";
+ public static final String GLADOS_CHECK_IN_BODY = "{\"token\":\"glados.cloud\"}";
}
diff --git a/script/src/main/java/com/xiang/xservice/application/script/glados/controller/GLaDOSController.java b/script/src/main/java/com/xiang/xservice/application/script/glados/controller/GLaDOSController.java
index 12518d9..9dcf7c0 100644
--- a/script/src/main/java/com/xiang/xservice/application/script/glados/controller/GLaDOSController.java
+++ b/script/src/main/java/com/xiang/xservice/application/script/glados/controller/GLaDOSController.java
@@ -1,11 +1,9 @@
package com.xiang.xservice.application.script.glados.controller;
-import com.xiang.xservice.basic.common.resp.Result;
-import com.xiang.xservice.application.script.glados.entity.req.GladosCheckInReq;
import com.xiang.xservice.application.script.glados.service.GLaDOSService;
+import com.xiang.xservice.basic.common.resp.Result;
import lombok.RequiredArgsConstructor;
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;
@@ -22,8 +20,9 @@ public class GLaDOSController {
private final GLaDOSService glaDOSService;
@PostMapping("/checkIn")
- public Result checkIn(@RequestBody GladosCheckInReq request) {
- return Result.success(glaDOSService.checkIn());
+ public Result checkIn() {
+ glaDOSService.checkInV2();
+ return Result.success();
}
}
diff --git a/script/src/main/java/com/xiang/xservice/application/script/glados/entity/resp/CheckInResp.java b/script/src/main/java/com/xiang/xservice/application/script/glados/entity/resp/CheckInResp.java
new file mode 100644
index 0000000..54b9a6a
--- /dev/null
+++ b/script/src/main/java/com/xiang/xservice/application/script/glados/entity/resp/CheckInResp.java
@@ -0,0 +1,20 @@
+package com.xiang.xservice.application.script.glados.entity.resp;
+
+import lombok.Data;
+
+/**
+ * @Author: xiang
+ * @Date: 2026-01-23 09:21
+ */
+@Data
+public class CheckInResp {
+
+ private Long id;
+ private Long userId;
+ private Long time;
+ private String asset;
+ private String business;
+ private String change;
+ private String balance;
+ private String detail;
+}
diff --git a/script/src/main/java/com/xiang/xservice/application/script/glados/schedule/GladosCheckInJob.java b/script/src/main/java/com/xiang/xservice/application/script/glados/schedule/GladosCheckInJob.java
index f6d7cb2..72973e5 100644
--- a/script/src/main/java/com/xiang/xservice/application/script/glados/schedule/GladosCheckInJob.java
+++ b/script/src/main/java/com/xiang/xservice/application/script/glados/schedule/GladosCheckInJob.java
@@ -22,6 +22,6 @@ public class GladosCheckInJob {
@Scheduled(cron = "0 0 7 1/1 * ?")
public void checkInJon() {
log.info("[job] Glados Check In Job start, time:{}", LocalDateTime.now());
- glaDOSService.checkIn();
+ glaDOSService.checkInV2();
}
}
diff --git a/script/src/main/java/com/xiang/xservice/application/script/glados/service/GLaDOSService.java b/script/src/main/java/com/xiang/xservice/application/script/glados/service/GLaDOSService.java
index b1733ea..8c168c5 100644
--- a/script/src/main/java/com/xiang/xservice/application/script/glados/service/GLaDOSService.java
+++ b/script/src/main/java/com/xiang/xservice/application/script/glados/service/GLaDOSService.java
@@ -10,4 +10,9 @@ public interface GLaDOSService {
* 签到
*/
String checkIn();
+
+ /**
+ * 签到
+ */
+ void checkInV2();
}
diff --git a/script/src/main/java/com/xiang/xservice/application/script/glados/service/GLaDOSServiceImpl.java b/script/src/main/java/com/xiang/xservice/application/script/glados/service/GLaDOSServiceImpl.java
index 92edc29..52128f2 100644
--- a/script/src/main/java/com/xiang/xservice/application/script/glados/service/GLaDOSServiceImpl.java
+++ b/script/src/main/java/com/xiang/xservice/application/script/glados/service/GLaDOSServiceImpl.java
@@ -1,10 +1,14 @@
package com.xiang.xservice.application.script.glados.service;
import com.alibaba.fastjson2.JSONObject;
+import com.alibaba.fastjson2.TypeReference;
import com.google.common.collect.Maps;
+import com.xiang.xmc.service.http.helper.BaseHttpHelp;
+import com.xiang.xmc.service.http.helper.HttpHelperFactory;
import com.xiang.xservice.application.script.glados.common.GladosConstants;
import com.xiang.xservice.application.script.glados.common.URLConstants;
import com.xiang.xservice.application.script.glados.entity.GladosRunLog;
+import com.xiang.xservice.application.script.glados.entity.resp.CheckInResp;
import com.xiang.xservice.application.script.glados.entity.resp.GLaDOSResponse;
import com.xiang.xservice.application.script.glados.repository.GladosMapper;
import com.xiang.xservice.application.script.xb.entity.pojo.User;
@@ -33,6 +37,8 @@ public class GLaDOSServiceImpl implements GLaDOSService{
private final DingTalkScriptGladosService dingTalkService;
+ private final BaseHttpHelp httpHelp = HttpHelperFactory.createSimpleHttp();
+
/**
* 签到
*/
@@ -63,6 +69,70 @@ public class GLaDOSServiceImpl implements GLaDOSService{
return sb.toString();
}
+ @Override
+ public void checkInV2() {
+ List users = gladosMapper.listAllUser();
+ if (CollectionUtils.isEmpty(users)) {
+ return;
+ }
+ for (User user : users) {
+ try {
+ for (int i = 0; i < 3; i++) {
+ if (checkInV2(user)) {
+ break;
+ }
+ try {
+ Thread.sleep(10000);
+ } catch (InterruptedException e) {
+ log.error("线程暂停10s失败");
+ }
+ }
+ } catch (Exception e) {
+ log.error("签到失败,", e);
+ }
+ }
+ }
+
+ public boolean checkInV2(User user) {
+ Map header = Maps.newHashMap();
+ header.put("Cookie", user.getCookie());
+
+ String response = null;
+
+ try {
+ response = httpHelp.doPost(URLConstants.GLADOS_CHECK_IN_URL, header, GladosConstants.GLADOS_CHECK_IN_BODY);
+ } catch (Exception e) {
+ log.error("http请求异常:{}", user.getEmail());
+ return false;
+ }
+ if (org.apache.commons.lang3.StringUtils.isBlank(response)) {
+ return false;
+ }
+
+ GLaDOSResponse gLaDOSResponse = JSONObject.parseObject(response, new TypeReference>() {
+ });
+ if (Objects.isNull(gLaDOSResponse)) {
+ return false;
+ }
+
+ if (0 == gLaDOSResponse.getCode()) {
+ // 成功请求
+ if (Objects.nonNull(gLaDOSResponse.getPoints()) && 0 != gLaDOSResponse.getPoints()) {
+ // 签到成功
+ dingTalkService.sendScriptMsg("[时间:" + LocalDateTime.now() + "] 用户: " +
+ user.getEmail() + "签到成功,获得积分:" + gLaDOSResponse.getPoints());
+ GladosRunLog build = GladosRunLog.builder().time(LocalDateTime.now()).status(1).code(Integer.valueOf(gLaDOSResponse.getCode().toString())).response(response).user(user.getEmail()).userId(user.getId()).build();
+ gladosMapper.insertScriptRunLog(build);
+ return Boolean.TRUE;
+ }
+ }
+ // 请求异常
+ dingTalkService.sendScriptMsg("用户:" + user.getEmail() + "请求异常,响应结果:" + gLaDOSResponse.getMessage());
+ GladosRunLog build = GladosRunLog.builder().time(LocalDateTime.now()).status(0).code(Integer.valueOf(gLaDOSResponse.getCode().toString())).response(response).user(user.getEmail()).userId(user.getId()).build();
+ gladosMapper.insertScriptRunLog(build);
+ return false;
+ }
+
private boolean checkIn(User user, StringBuffer sb) {
Map header = Maps.newHashMap();