江体小程序和zlb接口开发 #1
@@ -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;
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
}
|
||||||
@@ -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";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user