江体小程序和zlb接口开发 #1

Merged
XiangZ merged 32 commits from feat/script_v1 into master 2026-05-10 09:06:35 +00:00
5 changed files with 96 additions and 6 deletions
Showing only changes of commit 3b596bfa91 - Show all commits

View File

@@ -0,0 +1,26 @@
package com.xiang.common.pojo.glados.resp;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @Author: xiang
* @Date: 2026-05-08 15:47
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class GladosPointsHistoryResp {
private String asset;
private String balance;
private String business;
private String change;
private String detail;
private Long id;
private Long time;
@JSONField(name = "user_id")
private Long userId;
}

View File

@@ -0,0 +1,30 @@
package com.xiang.common.pojo.glados.resp;
import lombok.Data;
import java.util.List;
/**
* @Author: xiang
* @Date: 2026-05-08 15:46
*/
@Data
public class GladosPointsResp {
private Integer code;
private List<GladosPointsHistoryResp> history;
private Plans plans;
private String points;
}
@Data
class Plans {
private Plan plan100;
private Plan plan200;
private Plan plan500;
}
@Data
class Plan {
private Integer days;
private Integer points;
}

View File

@@ -20,4 +20,7 @@ public class GladosConstants {
* 签到请求体 * 签到请求体
*/ */
public static final String GLADOS_CHECK_IN_BODY = "{\"token\":\"glados.cloud\"}"; public static final String GLADOS_CHECK_IN_BODY = "{\"token\":\"glados.cloud\"}";
public static final String GLADOS_POINTS_LIST_URL = GLADOS_URL_PREFIX + "/api/user/points";
} }

View File

@@ -2,17 +2,15 @@ package com.xiang.service.module.glados.service;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.alibaba.fastjson2.TypeReference; import com.alibaba.fastjson2.TypeReference;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import com.xiang.common.factory.ScriptDingTalkFactory; import com.xiang.common.factory.ScriptDingTalkFactory;
import com.xiang.common.pojo.glados.GladosRunLogDO;
import com.xiang.common.pojo.glados.GladosUserDO; import com.xiang.common.pojo.glados.GladosUserDO;
import com.xiang.common.pojo.glados.resp.CheckInResp; import com.xiang.common.pojo.glados.resp.CheckInResp;
import com.xiang.common.pojo.glados.resp.GLaDOSResponse; import com.xiang.common.pojo.glados.resp.GLaDOSResponse;
import com.xiang.common.pojo.glados.resp.GladosPointsResp;
import com.xiang.common.pojo.schedule.TaskResult; import com.xiang.common.pojo.schedule.TaskResult;
import com.xiang.common.utils.HttpService; import com.xiang.common.utils.HttpService;
import com.xiang.service.module.glados.constants.GladosConstants; import com.xiang.service.module.glados.constants.GladosConstants;
import com.xiang.service.module.glados.manage.IGladosRunLogManage;
import com.xiang.service.module.glados.manage.IGladosUserManage; import com.xiang.service.module.glados.manage.IGladosUserManage;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@@ -86,14 +84,44 @@ public class GLaDOSServiceImpl implements IGLaDOSService {
checkInV2(gladosUserDO, new StringBuilder()); checkInV2(gladosUserDO, new StringBuilder());
} }
public boolean checkInV2(GladosUserDO user, StringBuilder sb) { private GladosPointsResp pointsList(GladosUserDO user) {
Map<String, String> header = Maps.newHashMap(); Map<String, String> header = Maps.newHashMap();
header.put("Cookie", user.getCookie()); header.put("Cookie", user.getCookie());
String response = null; String response = null;
try {
response = HttpService.doGet(GladosConstants.GLADOS_POINTS_LIST_URL, header, null);
} catch (Exception e) {
log.error("http请求异常:{}", user.getEmail());
return null;
}
if (org.apache.commons.lang3.StringUtils.isBlank(response)) {
return null;
}
GladosPointsResp gLaDOSResponse = JSONObject.parseObject(response, new TypeReference<GladosPointsResp>() {
});
if (Objects.isNull(gLaDOSResponse)) {
return null;
}
if (0 == gLaDOSResponse.getCode()) {
// 成功请求
return gLaDOSResponse;
}
return null;
}
public boolean checkInV2(GladosUserDO user, StringBuilder sb) {
Map<String, String> header = Maps.newHashMap();
header.put("Cookie", user.getCookie());
String response = null;
GladosPointsResp gladosPointsResp = null;
try { try {
response = HttpService.doPost(GladosConstants.GLADOS_CHECK_IN_URL, header, GladosConstants.GLADOS_CHECK_IN_BODY); response = HttpService.doPost(GladosConstants.GLADOS_CHECK_IN_URL, header, GladosConstants.GLADOS_CHECK_IN_BODY);
gladosPointsResp = pointsList(user);
} catch (Exception e) { } catch (Exception e) {
log.error("http请求异常:{}", user.getEmail()); log.error("http请求异常:{}", user.getEmail());
return false; return false;
@@ -113,9 +141,13 @@ public class GLaDOSServiceImpl implements IGLaDOSService {
if (0 == gLaDOSResponse.getCode()) { if (0 == gLaDOSResponse.getCode()) {
// 成功请求 // 成功请求
if (Objects.nonNull(gLaDOSResponse.getPoints()) && 0 != gLaDOSResponse.getPoints()) { if (Objects.nonNull(gLaDOSResponse.getPoints()) && 0 != gLaDOSResponse.getPoints()) {
String points = null;
if (Objects.nonNull(gladosPointsResp)) {
points = gladosPointsResp.getPoints();
}
// 签到成功 // 签到成功
dingTalkService.sendMsg("[时间:" + LocalDateTime.now() + "] 用户: " + dingTalkService.sendMsg("[时间:" + LocalDateTime.now() + "] 用户: " +
user.getEmail() + "签到成功,获得积分:" + gLaDOSResponse.getPoints()); user.getEmail() + "签到成功,获得积分:" + gLaDOSResponse.getPoints() + ",可用积分数量:" + points);
return Boolean.TRUE; return Boolean.TRUE;
} }
} }

View File

@@ -1,6 +1,5 @@
package com.xiang.service.module.glados.service; package com.xiang.service.module.glados.service;
import com.xiang.common.pojo.glados.GladosUserDO;
import com.xiang.common.pojo.schedule.TaskResult; import com.xiang.common.pojo.schedule.TaskResult;
/** /**