From ed450e224bb748ff43461deb6ceb12e4d1bad19a Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Tue, 27 Jul 2021 09:40:43 +0800 Subject: [PATCH] 20210727 --- .../com/ccsens/common/bean/dto/PluginDto.java | 26 +++++ .../ccsens/common/service/IPluginService.java | 11 +++ .../ccsens/common/service/PluginService.java | 71 ++++++++++++++ .../com/ccsens/util/cron/NatureToDate.java | 11 ++- .../test/java/com/ccsens/util/OtherTest.java | 98 ++++++++++++------- 5 files changed, 176 insertions(+), 41 deletions(-) create mode 100644 common/src/main/java/com/ccsens/common/service/IPluginService.java create mode 100644 common/src/main/java/com/ccsens/common/service/PluginService.java diff --git a/common/src/main/java/com/ccsens/common/bean/dto/PluginDto.java b/common/src/main/java/com/ccsens/common/bean/dto/PluginDto.java index 61ec05be..c21b5800 100644 --- a/common/src/main/java/com/ccsens/common/bean/dto/PluginDto.java +++ b/common/src/main/java/com/ccsens/common/bean/dto/PluginDto.java @@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.Min; import javax.validation.constraints.NotNull; /** @@ -21,4 +22,29 @@ public class PluginDto { @ApiModelProperty("样式类型 (1一行 2两行 3半屏)") private int styleType; } + + @Data + @ApiModel("配置任务插件信息") + public static class UpdateTaskPlugin{ + @NotNull(message = "任务详情id不能为空") + @ApiModelProperty("任务详情id") + private Long taskDetailId; + @NotNull(message = "插件id不能为空") + @ApiModelProperty("插件id") + private Long pluginId; + @ApiModelProperty("参数") + private String param; + @Min(1) + @ApiModelProperty("行") + private int row = 1; + @Min(1) + @ApiModelProperty("列") + private int col = 1; + @Min(1) + @ApiModelProperty("跨行") + private int rowspan = 1; + @Min(1) + @ApiModelProperty("跨列") + private int colspan = 1; + } } diff --git a/common/src/main/java/com/ccsens/common/service/IPluginService.java b/common/src/main/java/com/ccsens/common/service/IPluginService.java new file mode 100644 index 00000000..975d474b --- /dev/null +++ b/common/src/main/java/com/ccsens/common/service/IPluginService.java @@ -0,0 +1,11 @@ +package com.ccsens.common.service; + +import com.ccsens.common.bean.dto.PluginDto; + +public interface IPluginService { + /** + * 配置任务插件关联信息 + */ + void updateTaskPlugin(PluginDto.UpdateTaskPlugin updateTaskPlugin); + +} diff --git a/common/src/main/java/com/ccsens/common/service/PluginService.java b/common/src/main/java/com/ccsens/common/service/PluginService.java new file mode 100644 index 00000000..9e1bfa8e --- /dev/null +++ b/common/src/main/java/com/ccsens/common/service/PluginService.java @@ -0,0 +1,71 @@ +package com.ccsens.common.service; + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.lang.Snowflake; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.ccsens.common.bean.dto.PluginDto; +import com.ccsens.common.bean.po.ProTaskPlugin; +import com.ccsens.common.bean.po.ProTaskPluginExample; +import com.ccsens.common.persist.dao.ProTaskPluginDao; +import lombok.extern.slf4j.Slf4j; +import org.aspectj.apache.bcel.classfile.Code; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.List; + +@Slf4j +@Service +@Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class) +public class PluginService implements IPluginService{ + @Resource + private ProTaskPluginDao proTaskPluginDao; + @Resource + private Snowflake snowflake; + + @Override + public void updateTaskPlugin(PluginDto.UpdateTaskPlugin updateTaskPlugin) { + //根据任务id和插件id查找以前的关联信息 + ProTaskPluginExample taskPluginExample = new ProTaskPluginExample(); + taskPluginExample.createCriteria().andTaskDetailIdEqualTo(updateTaskPlugin.getTaskDetailId()) + .andPluginIdEqualTo(updateTaskPlugin.getPluginId()); + List proTaskPlugins = proTaskPluginDao.selectByExample(taskPluginExample); + if(CollectionUtil.isNotEmpty(proTaskPlugins)){ + //有则修改 + proTaskPlugins.forEach(proTaskPlugin -> { + if(StrUtil.isNotEmpty(updateTaskPlugin.getParam())){ + proTaskPlugin.setParam(updateTaskPlugin.getParam()); + } + if(ObjectUtil.isNotNull(updateTaskPlugin.getRow()) && updateTaskPlugin.getRow() != 0){ + proTaskPlugin.setPlginRow(updateTaskPlugin.getRow()); + } + if(ObjectUtil.isNotNull(updateTaskPlugin.getCol()) && updateTaskPlugin.getCol() != 0){ + proTaskPlugin.setPlginCol(updateTaskPlugin.getCol()); + } + if(ObjectUtil.isNotNull(updateTaskPlugin.getRowspan())){ + proTaskPlugin.setRowspan(updateTaskPlugin.getRowspan()); + } + if(ObjectUtil.isNotNull(updateTaskPlugin.getColspan())){ + proTaskPlugin.setColspan(updateTaskPlugin.getColspan()); + } + }); + }else { + //无则添加 + ProTaskPlugin proTaskPlugin = new ProTaskPlugin(); + proTaskPlugin.setId(snowflake.nextId()); + proTaskPlugin.setTaskDetailId(updateTaskPlugin.getTaskDetailId()); + proTaskPlugin.setPluginId(updateTaskPlugin.getPluginId()); + proTaskPlugin.setPlginRow(updateTaskPlugin.getRow()); + proTaskPlugin.setPlginCol(updateTaskPlugin.getCol()); + proTaskPlugin.setRowspan(updateTaskPlugin.getRowspan()); + proTaskPlugin.setColspan(updateTaskPlugin.getColspan()); + proTaskPlugin.setParam(updateTaskPlugin.getParam()); + proTaskPluginDao.insertSelective(proTaskPlugin); + } + + + } +} diff --git a/util/src/main/java/com/ccsens/util/cron/NatureToDate.java b/util/src/main/java/com/ccsens/util/cron/NatureToDate.java index 1eaabc48..d008f7b7 100644 --- a/util/src/main/java/com/ccsens/util/cron/NatureToDate.java +++ b/util/src/main/java/com/ccsens/util/cron/NatureToDate.java @@ -20,7 +20,7 @@ public class NatureToDate { public static void main(String[] args) throws Exception { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - Date start = sdf.parse("2019-11-1 0:00:00"); + Date start = sdf.parse("2019-09-1 0:00:00"); Date end = sdf.parse("2019-11-2 0:00:00"); // System.out.println("每周一:" + generateDates("每周一", start, end)); @@ -32,6 +32,7 @@ public class NatureToDate { // System.out.println("每周天:" + generateDates("每周天", start, end)); // System.out.println("每周日:" + generateDates("每周日", start, end)); // System.out.println("每月15号:" + generateDates("每月15号", start, end)); +// System.out.println("每月:" + generateDates("每月", start, end)); // System.out.println("每月31号:" + generateDates("每月31号", start, end)); // System.out.println("每天:" + generateDates("每天", start, end)); // System.out.println("每年二月:" + generateDates("每年二月", start, end)); @@ -43,7 +44,7 @@ public class NatureToDate { // System.out.println("入职第一年:" + generateDates("入职第一年", start, end)); // System.out.println("第八天:" + generateDates("第八天", start, end)); // System.out.println("第1天:" + generateDates("第1天", start, end)); - System.out.println("每40分钟:" + generateDates("每40分钟", start, end)); +// System.out.println("每40分钟:" + generateDates("每40分钟", start, end)); // System.out.println("每月15号下午5点:" + generateDates("每月15号下午5点", start, end)); // log.info("周一到周五 8点-9点: " + generateDates("周一到周五 18点", start, end)); @@ -258,8 +259,10 @@ public class NatureToDate { String[] split = new String[2]; if (CronConstant.CronExpression.map.containsKey(nature)){ - split[0] = nature; - split[1] = nature; +// split[0] = nature; +// split[1] = nature; + CronConstant.TaskCron taskCron = CronConstant.CronExpression.map.get(nature); + return CronConstant.getDate(taskCron,startDate, endDate); } else if (StringUtil.isMatch(nature, NatureConstant.WEEK_EVERY)){ String[] natureArr = nature.split(NatureConstant.SPACE); diff --git a/util/src/test/java/com/ccsens/util/OtherTest.java b/util/src/test/java/com/ccsens/util/OtherTest.java index b17857bb..a55aa1e0 100644 --- a/util/src/test/java/com/ccsens/util/OtherTest.java +++ b/util/src/test/java/com/ccsens/util/OtherTest.java @@ -16,6 +16,8 @@ import java.io.*; import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.*; +import java.util.regex.Matcher; +import java.util.regex.Pattern; @Slf4j public class OtherTest { @@ -39,12 +41,13 @@ public class OtherTest { File file1 = new File("C:\\Users\\逗\\Desktop\\1.jpg"); File file2 = new File("C:\\Users\\逗\\Desktop\\2.jpg"); System.out.println(file.length()); - ImageUtil.scale(file,file1,0.5f); + ImageUtil.scale(file, file1, 0.5f); System.out.println(file1); - ImageUtil.scale(file1,file2,2); + ImageUtil.scale(file1, file2, 2); } + @Test - public void func3(){ + public void func3() { SimpleDateFormat sdf2 = new SimpleDateFormat("MM-dd a"); String sd2 = sdf2.format(new Date(1605074997152L)); System.out.println(sd2); @@ -54,7 +57,7 @@ public class OtherTest { public void test4() { int a = 119; int b = 6; - System.out.println(Math.ceil((float)a/(float)b)); + System.out.println(Math.ceil((float) a / (float) b)); } @@ -62,15 +65,16 @@ public class OtherTest { public void test5() { BigDecimal a = BigDecimal.valueOf(1.255); BigDecimal b = BigDecimal.valueOf(1.256); - BigDecimal aa = a.divide(BigDecimal.valueOf(1),2,BigDecimal.ROUND_HALF_DOWN); - BigDecimal aa1 = a.divide(BigDecimal.valueOf(1),2,BigDecimal.ROUND_DOWN); - BigDecimal bb = b.divide(BigDecimal.valueOf(1),2,BigDecimal.ROUND_HALF_DOWN); - BigDecimal bb1 = b.divide(BigDecimal.valueOf(1),2,BigDecimal.ROUND_DOWN); + BigDecimal aa = a.divide(BigDecimal.valueOf(1), 2, BigDecimal.ROUND_HALF_DOWN); + BigDecimal aa1 = a.divide(BigDecimal.valueOf(1), 2, BigDecimal.ROUND_DOWN); + BigDecimal bb = b.divide(BigDecimal.valueOf(1), 2, BigDecimal.ROUND_HALF_DOWN); + BigDecimal bb1 = b.divide(BigDecimal.valueOf(1), 2, BigDecimal.ROUND_DOWN); System.out.println(aa + "++++" + bb); System.out.println(aa1 + "++++" + bb1); } + @Data - public static class AA{ + public static class AA { private int a; private int b; @@ -82,12 +86,13 @@ public class OtherTest { public AA() { } } + @Test public void test6() { - AA a1 = new AA(1,4); - AA a2 = new AA(2,3); - AA a3 = new AA(2,2); - AA a4 = new AA(4,1); + AA a1 = new AA(1, 4); + AA a2 = new AA(2, 3); + AA a3 = new AA(2, 2); + AA a4 = new AA(4, 1); List aas = new ArrayList<>(); aas.add(a3); aas.add(a4); @@ -105,7 +110,8 @@ public class OtherTest { System.out.print(aa.b); }); - } + } + @Test public void test7() { int a = 0x0A; @@ -121,12 +127,12 @@ public class OtherTest { } @Test - public void test8(){ + public void test8() { System.out.println(Byte.parseByte("-1") & 0xff); } @Test - public void test9(){ + public void test9() { String a = "a,b,c"; String x = "a"; @@ -135,18 +141,19 @@ public class OtherTest { System.out.println(split); System.out.println(split1); - } + } + @Test - public void test10(){ + public void test10() { List list1 = new ArrayList<>(); - list1.add(new StuVO("AAA",90)); - list1.add(new StuVO("BBB",150)); - list1.add(new StuVO("CCC",12)); - list1.add(new StuVO("DDD",64)); - list1.add(new StuVO("EEE",5)); + list1.add(new StuVO("AAA", 90)); + list1.add(new StuVO("BBB", 150)); + list1.add(new StuVO("CCC", 12)); + list1.add(new StuVO("DDD", 64)); + list1.add(new StuVO("EEE", 5)); List list2 = new ArrayList<>(); - list2.add(new StuVO("AAA",90)); - list2.add(new StuVO("BBB",150)); + list2.add(new StuVO("AAA", 90)); + list2.add(new StuVO("BBB", 150)); StuVO a = new StuVO(); @@ -161,8 +168,8 @@ public class OtherTest { x.add(a); x.add(b); - for(int i = 0;i < x.size();i++){ - System.out.println(x.get(i).getName()+" "+x.get(i).getScore()); + for (int i = 0; i < x.size(); i++) { + System.out.println(x.get(i).getName() + " " + x.get(i).getScore()); } System.out.println("--------"); // @@ -178,12 +185,13 @@ public class OtherTest { return i; } }); - for(int i = 0;i < x.size();i++){ - System.out.println(x.get(i).getName()+" "+x.get(i).getScore()); + for (int i = 0; i < x.size(); i++) { + System.out.println(x.get(i).getName() + " " + x.get(i).getScore()); } } + @Test - public void test11(){ + public void test11() { System.out.println(DateUtil.today()); DateUtil.today(); System.out.println(DateUtil.parse(DateUtil.today()).getTime()); @@ -202,12 +210,12 @@ public class OtherTest { } @Test - public void test12(){ + public void test12() { - AA a1 = new AA(1,4); - AA a2 = new AA(2,3); - AA a3 = new AA(2,2); - AA a4 = new AA(4,1); + AA a1 = new AA(1, 4); + AA a2 = new AA(2, 3); + AA a3 = new AA(2, 2); + AA a4 = new AA(4, 1); List aas = new ArrayList<>(); aas.add(a3); aas.add(a4); @@ -236,13 +244,29 @@ public class OtherTest { } @Test - public void test13(){ - String token = "Bearer eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE2MjMwMzA5NzMsInN1YiI6IjEzOTk5NTI1Njk2ODE0NDg5NjMiLCJhdXRoSWQiOiIxMzk5OTUyNTY5Nzc3OTE3OTU3IiwiZXhwIjoxNjIzMTE3MzczfQ.JPL4kuRYOqNQZRtL25mHZRJ-g9eiEs6bZE63POAIxFU"; + public void test13() { + String token = "Bearer eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE2MjMwMzA5NzMsInN1YiI6IjEzOTk5NTI1Njk2ODE0NDg5NjMiLCJhdXRoSWQiOiIxMzk5OTUyNTY5Nzc3OTE3OTU3IiwiZXhwIjoxNjIzMTE3MzczfQ.JPL4kuRYOqNQZRtL25mHZRJ-g9eiEs6bZE63POAIxFU"; String token1 = "Bearer eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE2MjMwMzA5NzMsInN1YiI6IjEzOTk5NTI1Njk2ODE0NDg5NjMiLCJhdXRoSWQiOiIxMzk5OTUyNTY5Nzc3OTE3OTU3IiwiZXhwIjoxNjIzMTE3MzczfQ.JPL4kuRYOqNQZRtL25mHZRJ-g9eiEs6bZE63POAIxFU"; System.out.println(!token.startsWith(WebConstant.HEADER_KEY_TOKEN_PREFIX)); System.out.println(!token1.startsWith(WebConstant.HEADER_KEY_TOKEN_PREFIX)); } + @Test + public void test14() { +// String a = "123as99d"; +// String r = "[0-9]"; +// String[] split = a.split(r); +// for (int i = 0; i < split.length; i++) { +// System.out.println(split[i]); +// } + + + String a="asss123min"; + String regEx="[0-9]"; + Pattern p = Pattern.compile(regEx); + Matcher m = p.matcher(a); + System.out.println( m.replaceAll("").trim()); + } }