✨Feat: 耕种板块
This commit is contained in:
@@ -5,7 +5,7 @@ import lombok.Getter;
|
||||
@Getter
|
||||
public enum CardTemplate {
|
||||
CARD_TEMPLATE_WEATHER("AAqxas5etOJDx", "1.0.5"),
|
||||
CARD_TEMPLATE_FRAM("AAqxaYo9rbXPa", "1.0.7");
|
||||
CARD_TEMPLATE_FARM("AAqxaYo9rbXPa", "1.0.7");
|
||||
|
||||
private String cardId;
|
||||
private String version;
|
||||
|
||||
@@ -34,9 +34,10 @@ public class EventListener {
|
||||
public void handle(P2BotMenuV6 event) throws Exception {
|
||||
String eventKey = event.getEvent().getEventKey();
|
||||
if (eventKey.equals("weather")) {
|
||||
// TODO 完善调用,发送天气卡片
|
||||
WeatherHandle weatherHandle = SpringContextUtil.getBean(WeatherHandle.class);
|
||||
weatherHandle.sendCard();
|
||||
} else if (eventKey.equals("farm")) {
|
||||
LarkUtil.sendFarmCard();
|
||||
}
|
||||
|
||||
System.out.printf("[ onP2BotMenuV6 access ], data: %s\n", Jsons.DEFAULT.toJson(event.getEvent()));
|
||||
|
||||
@@ -11,10 +11,10 @@ import com.lark.oapi.service.im.v1.model.CreateMessageReq;
|
||||
import com.lark.oapi.service.im.v1.model.CreateMessageReqBody;
|
||||
import com.lark.oapi.service.im.v1.model.CreateMessageResp;
|
||||
import com.wonderland.stardewvalley.common.constant.BackGroundConstant;
|
||||
import com.wonderland.stardewvalley.service.ai.ChatUtil;
|
||||
import com.wonderland.stardewvalley.common.constant.LarkConstant;
|
||||
import com.wonderland.stardewvalley.entity.game.Weather;
|
||||
import com.wonderland.stardewvalley.lark.card.CardTemplate;
|
||||
import com.wonderland.stardewvalley.service.ai.ChatUtil;
|
||||
import jakarta.annotation.Resource;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -129,4 +129,58 @@ public class LarkUtil {
|
||||
// 业务数据处理
|
||||
System.out.println(Jsons.DEFAULT.toJson(resp.getData()));
|
||||
}
|
||||
|
||||
public static void sendFarmCard() throws Exception {
|
||||
// 构建client
|
||||
Client client = Client.newBuilder(LarkConstant.APP_ID, LarkConstant.APP_SECRET).build();
|
||||
|
||||
// 生成uuid
|
||||
String uuid = IdUtil.randomUUID().toString();
|
||||
|
||||
// 卡片参数
|
||||
// String textParam = JSONUtil.toJsonStr(weather);
|
||||
// log.info(textParam);
|
||||
|
||||
|
||||
// 构建卡片:对于不同的卡片,只需要给出不同的 模板id 版本号 变量字段
|
||||
|
||||
|
||||
|
||||
Map<String, Object> templateData = new HashMap<>();
|
||||
templateData.put("template_id", CardTemplate.CARD_TEMPLATE_FARM.getCardId());
|
||||
templateData.put("template_version_name", CardTemplate.CARD_TEMPLATE_FARM.getVersion());
|
||||
// templateData.put("template_variable", "");
|
||||
// String jsonCardContent = Jsons.DEFAULT.toJson(templateData);
|
||||
|
||||
Map<String, Object> jsonContent = new HashMap<>();
|
||||
jsonContent.put("data", templateData);
|
||||
jsonContent.put("type", "template");
|
||||
String json = Jsons.DEFAULT.toJson(jsonContent);
|
||||
|
||||
log.info(json);
|
||||
|
||||
// 创建请求对象
|
||||
CreateMessageReq req = CreateMessageReq.newBuilder()
|
||||
.receiveIdType("open_id")
|
||||
.createMessageReqBody(CreateMessageReqBody.newBuilder()
|
||||
.receiveId(LarkConstant.USER_OPEN_ID)
|
||||
.msgType("interactive")
|
||||
.content(json)
|
||||
.uuid(uuid)
|
||||
.build())
|
||||
.build();
|
||||
|
||||
// 发起请求
|
||||
CreateMessageResp resp = client.im().v1().message().create(req);
|
||||
|
||||
// 处理服务端错误
|
||||
if(!resp.success()) {
|
||||
System.out.println(String.format("code:%s,msg:%s,reqId:%s, resp:%s",
|
||||
resp.getCode(), resp.getMsg(), resp.getRequestId(), Jsons.createGSON(true, false).toJson(JsonParser.parseString(new String(resp.getRawResponse().getBody(), StandardCharsets.UTF_8)))));
|
||||
return;
|
||||
}
|
||||
|
||||
// 业务数据处理
|
||||
System.out.println(Jsons.DEFAULT.toJson(resp.getData()));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user