diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..9e8cc65 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,3 @@ +* +!target/dailylove* +!Dockerfile \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 15363fa..5cea422 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,6 @@ -FROM openjdk:17 +FROM ubuntu:latest MAINTAINER bamanker -ARG JAR_FILE -ADD target/${JAR_FILE} /home/dailylove/dailylove.jar -ADD start.sh /home/dailylove/ -RUN chmod +x /home/dailylove/start.sh +ARG NATIVE_FILE +COPY target/${NATIVE_FILE} /home/dailylove/app EXPOSE 13145 -CMD ["sh","/home/dailylove/start.sh"] \ No newline at end of file +ENTRYPOINT ["/home/dailylove/app"] \ No newline at end of file diff --git a/pom.xml b/pom.xml index a9cd574..5f5a62f 100644 --- a/pom.xml +++ b/pom.xml @@ -5,21 +5,23 @@ org.springframework.boot spring-boot-starter-parent - 2.6.5 + 3.1.5 com.bamanker dailylove - v1.3 + v2.0 dailyLove dailylove UTF-8 UTF-8 17 - 2.0.21 - 3.1.5 - 5.8.11 + 17 + 17 + 2.0.25 + 4.0.4 + 5.8.18 172.17.0.1:10888/my_work @@ -28,15 +30,6 @@ hutool-core ${hutool.version} - - org.springframework.cloud - spring-cloud-starter-bootstrap - 3.1.5 - - - org.springframework.boot - spring-boot-starter - org.projectlombok lombok @@ -53,37 +46,44 @@ org.springframework.boot - spring-boot-devtools - runtime - true + spring-boot-starter-web org.springframework.boot - spring-boot-starter-web + spring-boot-starter-tomcat org.springframework.boot spring-boot-starter-test test + + org.springframework.boot + spring-boot-autoconfigure + + + org.graalvm.buildtools + native-maven-plugin + 0.9.27 + org.springframework.boot spring-boot-maven-plugin - com.spotify + com.xenoamess.docker dockerfile-maven-plugin - 1.4.13 + 1.5.0 default package build - push + @@ -93,7 +93,7 @@ ${docker.private.repository}/${project.artifactId} ${project.version} - ${project.build.finalName}.jar + ${project.artifactId} diff --git a/src/main/java/com/bamanker/dailylove/DailyLoveApplication.java b/src/main/java/com/bamanker/dailylove/DailyLoveApplication.java index f5c2bcb..bbd3a54 100644 --- a/src/main/java/com/bamanker/dailylove/DailyLoveApplication.java +++ b/src/main/java/com/bamanker/dailylove/DailyLoveApplication.java @@ -1,14 +1,20 @@ package com.bamanker.dailylove; import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.ImportAutoConfiguration; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.openfeign.EnableFeignClients; +import org.springframework.cloud.openfeign.FeignAutoConfiguration; import org.springframework.scheduling.annotation.EnableScheduling; +/** + * @author bamanker + */ @SpringBootApplication @EnableFeignClients //开启定时任务 @EnableScheduling +//@ImportAutoConfiguration({FeignAutoConfiguration.class}) public class DailyLoveApplication { public static void main(String[] args) { diff --git a/src/main/java/com/bamanker/dailylove/controller/PushDailyController.java b/src/main/java/com/bamanker/dailylove/controller/PushDailyController.java index e787c7c..4fcd4e7 100644 --- a/src/main/java/com/bamanker/dailylove/controller/PushDailyController.java +++ b/src/main/java/com/bamanker/dailylove/controller/PushDailyController.java @@ -12,7 +12,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; -import javax.annotation.Resource; +import jakarta.annotation.Resource; import java.text.SimpleDateFormat; import java.util.Date; diff --git a/src/main/java/com/bamanker/dailylove/controller/TestController.java b/src/main/java/com/bamanker/dailylove/controller/TestController.java index 3857893..c3018dd 100644 --- a/src/main/java/com/bamanker/dailylove/controller/TestController.java +++ b/src/main/java/com/bamanker/dailylove/controller/TestController.java @@ -4,6 +4,9 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; +/** + * @author bamanker + */ @Slf4j @RestController public class TestController { diff --git a/src/main/resources/bootstrap.yml b/src/main/resources/application.yml similarity index 100% rename from src/main/resources/bootstrap.yml rename to src/main/resources/application.yml diff --git a/src/test/java/com/bamanker/dailylove/DailyLoveApplicationTests.java b/src/test/java/com/bamanker/dailylove/DailyLoveApplicationTests.java index 826e553..57a989c 100644 --- a/src/test/java/com/bamanker/dailylove/DailyLoveApplicationTests.java +++ b/src/test/java/com/bamanker/dailylove/DailyLoveApplicationTests.java @@ -13,7 +13,7 @@ import org.bouncycastle.util.Strings; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; -import javax.annotation.Resource; +import jakarta.annotation.Resource; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; @@ -25,128 +25,128 @@ import static com.bamanker.dailylove.utils.DataUtils.getBirthdays; @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() { +// @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); @@ -203,6 +203,6 @@ class DailyLoveApplicationTests { // log.info("resultVo:{}", resultVo); - } +// } } diff --git a/start.sh b/start.sh deleted file mode 100644 index 08f4af4..0000000 --- a/start.sh +++ /dev/null @@ -1,2 +0,0 @@ -nohup java -Xms32M -Xmx32M -jar /home/dailylove/dailylove.jar >> /home/dailylove/log/runout.log 2>&1 & -tail -f /home/dailylove/log/runout.log \ No newline at end of file