Files
dailyLove/src/test/java/com/bamanker/dailylove/DailyLoveApplicationTests.java
2023-11-09 22:56:44 +08:00

209 lines
8.9 KiB
Java

package com.bamanker.dailylove;
import cn.hutool.core.date.ChineseDate;
import cn.hutool.core.date.DateUnit;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson2.JSONObject;
import com.bamanker.dailylove.config.DailyLoveConfigure;
import com.bamanker.dailylove.domain.TianXinReqParam;
import com.bamanker.dailylove.domain.Weather;
import com.bamanker.dailylove.service.DataRemoteClient;
import lombok.extern.slf4j.Slf4j;
import org.bouncycastle.util.Strings;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import jakarta.annotation.Resource;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import static com.bamanker.dailylove.utils.DataUtils.getBirthdays;
@SpringBootTest
@Slf4j
class DailyLoveApplicationTests {
// @Resource
// DataRemoteClient dataRemoteClient;
//
// String remark = "❤";
//
// @Test
// void test4(){
// log.info("mark: {}",205%100);
//
// }
// @Test
// void test3() {
//
//
// //获取输入的生日
// String boyBirthday = DailyLoveConfigure.Boy_Birthday;
// //获取农历生日
// ChineseDate chineseBir = new ChineseDate(DateUtil.parseDate(DailyLoveConfigure.Boy_Birthday));
// log.info("生日的农历日期是:{}", chineseBir);
// //截取日、月
// String[] strings = Strings.split(boyBirthday, '-');
// int chineseMonth = chineseBir.getMonth();
// int chineseDay = chineseBir.getDay();
// //获取当前日期的年
// Calendar dateToday = Calendar.getInstance();
// int todayYear = dateToday.get(Calendar.YEAR);
// //把生日的年改为今年,方便计算
// ChineseDate chineseDate = new ChineseDate(todayYear, chineseMonth, chineseDay,false);
// //农历日期对应的阳历日期
// int gregorianDay = chineseDate.getGregorianDay();
// //计算时间差
// long days = haveThisDay(chineseMonth, chineseDay, dateToday, todayYear, chineseDate, gregorianDay);
// log.info("days:{}", days);
//
// }
//
// /**
// * 需要递归计算日期差
// *
// * @param chineseMonth 农历月
// * @param chineseDay 农历日
// * @param dateToday 今天的日期类
// * @param todayYear 当前的年
// * @param chineseDate 组装的待计算的新日期
// * @param gregorianDay 判断是否存在农历日期的参数,-1代表今年不存在这个农历日期
// * @return 计算好的天数
// */
// private static long haveThisDay(int chineseMonth, int chineseDay, Calendar dateToday, int todayYear, ChineseDate chineseDate, int gregorianDay) {
// //判断当前年份是否存在农历日对应的阳历日
// while (gregorianDay == -1) {
// //不存在,计算明年
// todayYear += 1;
// chineseDate = new ChineseDate(todayYear, chineseMonth, chineseDay, false);
// gregorianDay = chineseDate.getGregorianDay();
// }
// //存在
// //将农历日期改为阳历日期
// Calendar gregorianbir = chineseDate.getGregorianCalendar();
// //判断这个日期是否和今年是同一年
// if (todayYear == dateToday.get(Calendar.YEAR)) {
// //是同一年,判断这一天过了没
// if (gregorianbir.get(Calendar.DAY_OF_YEAR) < dateToday.get(Calendar.DAY_OF_YEAR)) {
// //这一天过了,计算明年
// todayYear += 1;
// chineseDate = new ChineseDate(todayYear, chineseMonth, chineseDay, false);
// gregorianDay = chineseDate.getGregorianDay();
// //递归计算下一年是否存在对应的阳历日
// return haveThisDay(chineseMonth, chineseDay, dateToday, todayYear, chineseDate, gregorianDay);
// }
// //没有过,直接计算
// }
// //不是同一年,直接计算
// Date time = dateToday.getTime();
// log.info("当前的日期是:{}", time);
// Date time1 = gregorianbir.getTime();
// log.info("下一个生日的日期:{}", time1);
// return DateUtil.between(dateToday.getTime(), gregorianbir.getTime(), DateUnit.DAY);
// }
//
// @Test
// void test2() {
//
// TianXinReqParam param1 = new TianXinReqParam();
// param1.setKey(DailyLoveConfigure.TianXin_Key);
// param1.setCity(DailyLoveConfigure.City_ID);
// param1.setType("7");
// String weatherJson = dataRemoteClient.getWeather(param1);
// log.info("weather:{}", weatherJson);
// JSONObject resWeather = JSONObject.parseObject(weatherJson);
// JSONObject result = resWeather.getJSONArray("result").getJSONObject(0).getJSONArray("list").getJSONObject(2);
// log.info("----result----:{}", result);
// Weather weather = result.toJavaObject(Weather.class);
// log.info("weather:{}", weather);
// ChineseDate chineseDate = new ChineseDate(DateUtil.parseDate(weather.getDate()));
// System.out.println("--------------55555----------"+weather.getDate());
// System.out.println("------------------------"+chineseDate);
//
//
// }
//
//
// @Test
// void test1() {
// int loveDays = getBirthdays("2023-05-14");
// log.info("-------------------------------{}", loveDays);
// }
//
// public static int getLoveDays(String loveday) {
// SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
// int days = 0;
// try {
// long time = System.currentTimeMillis() - dateFormat.parse(loveday).getTime();
// days = (int) (time / (24 * 60 * 60 * 1000));
//
// } catch (ParseException e) {
// e.printStackTrace();
// }
// return days;
// }
//
// @Test
// void contextLoads() {
// TianXinReqParam param1 = new TianXinReqParam();
// param1.setKey(DailyLoveConfigure.TianXin_Key);
// param1.setCity(DailyLoveConfigure.City_ID);
// param1.setType("1");
// String weatherJson = dataRemoteClient.getWeather(param1);
// log.info("weather:{}", weatherJson);
// JSONObject responseWeather = JSONObject.parseObject(weatherJson);
// log.info("weatherJson:{}", responseWeather);
// JSONObject resultWeather = responseWeather.getJSONArray("result").getJSONObject(0);
// JSONArray result1 = responseWeather.getJSONArray("result");
// log.info("-----------------{}", result1);
// log.info("weatherJsonNewList:{}", resultWeather);
// Weather weather = resultWeather.toJavaObject(Weather.class);
// log.info("weatherJsonNewList:{}", weather.toString());
//
//
// ResultVo resultVo = ResultVo.initializeResultVo(DailyLoveConfigure.Open_ID,
// DailyLoveConfigure.Template_ID,
// DailyLoveConfigure.Color_Top);
// resultVo.setAttribute("now", new DataItem(weather.getDate() + " " + weather.getWeek(), "#00BFFF"));
// resultVo.setAttribute("city", new DataItem(weather.getArea(), null));
// resultVo.setAttribute("weather", new DataItem(weather.getWeather(), "#1f95c5"));
// resultVo.setAttribute("min_temperature", new DataItem(weather.getLowest(), "#0ace3c"));
// resultVo.setAttribute("max_temperature", new DataItem(weather.getHighest(), "#dc1010"));
// resultVo.setAttribute("tips", new DataItem(weather.getTips(), null));
//
//
// TianXinReqParam param2 = new TianXinReqParam();
// param2.setKey(DailyLoveConfigure.TianXin_Key);
// String rainbowJson = dataRemoteClient.getRainbow(param2);
// log.info("rainbowJson:{}", rainbowJson);
// JSONObject responseRainbow = JSONObject.parseObject(rainbowJson);
// String rainbow = responseRainbow.getJSONArray("result").getJSONObject(0).getString("content");
// log.info("rainbow:{}", rainbow);
// resultVo.setAttribute("daily_english_cn", new DataItem(rainbow, "#FF69B4"));
// resultVo.setAttribute("remark", new DataItem(remark, "#FF1493"));
//
//
// String englishJson = dataRemoteClient.getDailyEnglish(param2);
// log.info("englishJson:{}", englishJson);
// JSONObject responseEnglist = JSONObject.parseObject(englishJson);
// String englist = responseEnglist.getJSONArray("result").getJSONObject(0).getString("en");
// log.info("english:{}", englist);
// resultVo.setAttribute("daily_english_en", new DataItem(rainbow, "#800080"));
//
// int birthdays = DataUtils.getBirthdays(DailyLoveConfigure.Girl_Birthday);
// log.info("bir_day:{}", birthdays);
// resultVo.setAttribute("bir_day", new DataItem(birthdays + "", "#FFA500"));
//
// int loveDays = DataUtils.getLoveDays(DailyLoveConfigure.Love_Day);
// log.info("love_day:{}", loveDays);
// resultVo.setAttribute("love_day", new DataItem(loveDays + "", "#FFA500"));
//
// log.info("resultVo:{}", resultVo);
// }
}