|
|
|
|
@@ -2,18 +2,18 @@ package com.bamanker.dailylove.controller;
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.date.ChineseDate;
|
|
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
|
|
import com.alibaba.fastjson2.JSONObject;
|
|
|
|
|
import com.bamanker.dailylove.config.DailyLoveConfigure;
|
|
|
|
|
import com.bamanker.dailylove.domain.*;
|
|
|
|
|
import com.bamanker.dailylove.service.DataRemoteClient;
|
|
|
|
|
import com.bamanker.dailylove.service.WechatRequestClient;
|
|
|
|
|
import com.bamanker.dailylove.utils.DataUtils;
|
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.web.bind.annotation.GetMapping;
|
|
|
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
|
|
|
|
import jakarta.annotation.Resource;
|
|
|
|
|
import tools.jackson.databind.JsonNode;
|
|
|
|
|
import tools.jackson.databind.ObjectMapper;
|
|
|
|
|
|
|
|
|
|
import java.text.SimpleDateFormat;
|
|
|
|
|
import java.util.Date;
|
|
|
|
|
|
|
|
|
|
@@ -21,15 +21,20 @@ import java.util.Date;
|
|
|
|
|
@RestController
|
|
|
|
|
public class PushDailyController {
|
|
|
|
|
|
|
|
|
|
final
|
|
|
|
|
ObjectMapper mapper;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
final
|
|
|
|
|
DataRemoteClient dataRemoteClient;
|
|
|
|
|
|
|
|
|
|
final
|
|
|
|
|
WechatRequestClient wechatRequestClient;
|
|
|
|
|
|
|
|
|
|
public PushDailyController(DataRemoteClient dataRemoteClient, WechatRequestClient wechatRequestClient) {
|
|
|
|
|
public PushDailyController(DataRemoteClient dataRemoteClient, WechatRequestClient wechatRequestClient, ObjectMapper mapper) {
|
|
|
|
|
this.dataRemoteClient = dataRemoteClient;
|
|
|
|
|
this.wechatRequestClient = wechatRequestClient;
|
|
|
|
|
this.mapper = mapper;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
@@ -49,9 +54,11 @@ public class PushDailyController {
|
|
|
|
|
param1.setCity(DailyLoveConfigure.City_ID);
|
|
|
|
|
param1.setType("7");
|
|
|
|
|
String weatherResp = dataRemoteClient.getWeather(param1);
|
|
|
|
|
JSONObject weatherJson = JSONObject.parseObject(weatherResp).getJSONArray("result").getJSONObject(0).getJSONArray("list").getJSONObject(1);
|
|
|
|
|
String city = JSONObject.parseObject(weatherResp).getJSONArray("result").getJSONObject(0).getString("area");
|
|
|
|
|
Weather weather = weatherJson.toJavaObject(Weather.class);
|
|
|
|
|
JsonNode weatherJson = mapper.readTree(weatherResp).get("result").get(0).get("list").get(1);
|
|
|
|
|
String city = mapper.readTree(weatherResp).get("result").get(0).get("area").asString();
|
|
|
|
|
// JSONObject weatherJson1 = JSONObject.parseObject(weatherResp).getJSONArray("result").getJSONObject(0).getJSONArray("list").getJSONObject(1);
|
|
|
|
|
// String city1 = JSONObject.parseObject(weatherResp).getJSONArray("result").getJSONObject(0).getString("area");
|
|
|
|
|
Weather weather = mapper.treeToValue(weatherJson, Weather.class);
|
|
|
|
|
|
|
|
|
|
resultVo.setAttribute("tomorrow", new DataItem(weather.getDate() + " " + weather.getWeek(), DailyLoveConfigure.Color_tomorrow));
|
|
|
|
|
resultVo.setAttribute("city", new DataItem(city, DailyLoveConfigure.Color_city));
|
|
|
|
|
@@ -65,15 +72,18 @@ public class PushDailyController {
|
|
|
|
|
param2.setKey(DailyLoveConfigure.TianXin_Key);
|
|
|
|
|
|
|
|
|
|
String tipsResp = dataRemoteClient.getTips(param2);
|
|
|
|
|
String tips = JSONObject.parseObject(tipsResp).getJSONArray("result").getJSONObject(0).getString("content");
|
|
|
|
|
String tips = mapper.readTree(tipsResp).get("result").get(0).get("content").asString();
|
|
|
|
|
// String tips1 = JSONObject.parseObject(tipsResp).getJSONArray("result").getJSONObject(0).getString("content");
|
|
|
|
|
resultVo.setAttribute("tips", new DataItem(tips, DailyLoveConfigure.Color_tips));
|
|
|
|
|
|
|
|
|
|
String nightResp = dataRemoteClient.getNight(param2);
|
|
|
|
|
String night = JSONObject.parseObject(nightResp).getJSONArray("result").getJSONObject(0).getString("content");
|
|
|
|
|
String night = mapper.readTree(nightResp).get("result").get(0).get("content").asString();
|
|
|
|
|
// String night1 = JSONObject.parseObject(nightResp).getJSONArray("result").getJSONObject(0).getString("content");
|
|
|
|
|
resultVo.setAttribute("night", new DataItem(night, DailyLoveConfigure.Color_night));
|
|
|
|
|
|
|
|
|
|
String rainbowResp = dataRemoteClient.getRainbow(param2);
|
|
|
|
|
String rainbow = JSONObject.parseObject(rainbowResp).getJSONArray("result").getJSONObject(0).getString("content");
|
|
|
|
|
String rainbow = mapper.readTree(rainbowResp).get("result").get(0).get("content").asString();
|
|
|
|
|
// String rainbow1 = JSONObject.parseObject(rainbowResp).getJSONArray("result").getJSONObject(0).getString("content");
|
|
|
|
|
resultVo.setAttribute("rainbow", new DataItem(rainbow, DailyLoveConfigure.Color_dailyCn));
|
|
|
|
|
|
|
|
|
|
// String englishResp = dataRemoteClient.getDailyEnglish(param2);
|
|
|
|
|
@@ -127,9 +137,9 @@ public class PushDailyController {
|
|
|
|
|
|
|
|
|
|
String accessTokenResp = wechatRequestClient.getAccessToken(wechatTokenParam);
|
|
|
|
|
log.debug("accessTokenJson:{}", accessTokenResp);
|
|
|
|
|
String token = JSONObject.parseObject(accessTokenResp).getString("access_token");
|
|
|
|
|
String responseStr = wechatRequestClient.sendMsg(resultVo, token);
|
|
|
|
|
return responseStr;
|
|
|
|
|
String token = mapper.readTree(accessTokenResp).get("access_token").asString();
|
|
|
|
|
// String token1 = JSONObject.parseObject(accessTokenResp).getString("access_token");
|
|
|
|
|
return wechatRequestClient.sendMsg(resultVo, token);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -144,9 +154,10 @@ public class PushDailyController {
|
|
|
|
|
param1.setCity(DailyLoveConfigure.City_ID);
|
|
|
|
|
param1.setType("1");
|
|
|
|
|
String weatherResp = dataRemoteClient.getWeather(param1);
|
|
|
|
|
JsonNode weatherJson = mapper.readTree(weatherResp).get("result").get(0);
|
|
|
|
|
Weather weather = mapper.treeToValue(weatherJson, Weather.class);
|
|
|
|
|
|
|
|
|
|
Weather weather = JSONObject.parseObject(weatherResp).getJSONArray("result").getJSONObject(0).toJavaObject(Weather.class);
|
|
|
|
|
|
|
|
|
|
// Weather weather1 = JSONObject.parseObject(weatherResp).getJSONArray("result").getJSONObject(0).toJavaObject(Weather.class);
|
|
|
|
|
|
|
|
|
|
ResultVo resultVo = ResultVo.initializeResultVo(DailyLoveConfigure.Open_ID,
|
|
|
|
|
DailyLoveConfigure.Template_ID_Morning,
|
|
|
|
|
@@ -168,11 +179,13 @@ public class PushDailyController {
|
|
|
|
|
// resultVo.setAttribute("tips", new DataItem(tips, DailyLoveConfigure.Color_tips));
|
|
|
|
|
|
|
|
|
|
String morningResp = dataRemoteClient.getMorning(param2);
|
|
|
|
|
String morning = JSONObject.parseObject(morningResp).getJSONArray("result").getJSONObject(0).getString("content");
|
|
|
|
|
String morning = mapper.readTree(morningResp).get("result").get(0).get("content").asString();
|
|
|
|
|
// String morning1 = JSONObject.parseObject(morningResp).getJSONArray("result").getJSONObject(0).getString("content");
|
|
|
|
|
resultVo.setAttribute("morning", new DataItem(morning, DailyLoveConfigure.Color_morning));
|
|
|
|
|
|
|
|
|
|
String rainbowResp = dataRemoteClient.getRainbow(param2);
|
|
|
|
|
String rainbow = JSONObject.parseObject(rainbowResp).getJSONArray("result").getJSONObject(0).getString("content");
|
|
|
|
|
String rainbow = mapper.readTree(rainbowResp).get("result").get(0).get("content").asString();
|
|
|
|
|
// String rainbow1 = JSONObject.parseObject(rainbowResp).getJSONArray("result").getJSONObject(0).getString("content");
|
|
|
|
|
resultVo.setAttribute("rainbow", new DataItem(rainbow, DailyLoveConfigure.Color_dailyCn));
|
|
|
|
|
|
|
|
|
|
// String englishResp = dataRemoteClient.getDailyEnglish(param2);
|
|
|
|
|
@@ -228,9 +241,9 @@ public class PushDailyController {
|
|
|
|
|
|
|
|
|
|
String accessTokenResp = wechatRequestClient.getAccessToken(wechatTokenParam);
|
|
|
|
|
log.debug("accessTokenJson:{}", accessTokenResp);
|
|
|
|
|
String token = JSONObject.parseObject(accessTokenResp).getString("access_token");
|
|
|
|
|
String responseStr = wechatRequestClient.sendMsg(resultVo, token);
|
|
|
|
|
return responseStr;
|
|
|
|
|
String token = mapper.readTree(accessTokenResp).get("access_token").asString();
|
|
|
|
|
// String token1 = JSONObject.parseObject(accessTokenResp).getString("access_token");
|
|
|
|
|
return wechatRequestClient.sendMsg(resultVo, token);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -240,9 +253,12 @@ public class PushDailyController {
|
|
|
|
|
* @param responseStr
|
|
|
|
|
*/
|
|
|
|
|
private void printPushLog(String responseStr) {
|
|
|
|
|
JSONObject jsonObject = JSONObject.parseObject(responseStr);
|
|
|
|
|
String msgCode = jsonObject.getString("errcode");
|
|
|
|
|
String msgContent = jsonObject.getString("errmsg");
|
|
|
|
|
JsonNode jsonNode = mapper.readTree(responseStr);
|
|
|
|
|
String msgCode = jsonNode.get("errcode").asString();
|
|
|
|
|
String msgContent = jsonNode.get("errmsg").asString();
|
|
|
|
|
// JSONObject jsonObject = JSONObject.parseObject(responseStr);
|
|
|
|
|
// String msgCode1 = jsonObject.getString("errcode");
|
|
|
|
|
// String msgContent1 = jsonObject.getString("errmsg");
|
|
|
|
|
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
System.out.println("[ " + dateFormat.format(new Date()) + " ] : messageCode=" + msgCode + ",messageContent=" + msgContent);
|
|
|
|
|
}
|
|
|
|
|
|