From 35661e69b18252a8aa54b39a58c7fd1e45b6959e Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Wed, 21 Jul 2021 23:56:11 +0800 Subject: [PATCH 1/6] =?UTF-8?q?20210721=E6=B7=BB=E5=8A=A0=E6=A0=B9?= =?UTF-8?q?=E6=8D=AE=E6=89=8B=E6=9C=BA=E5=8F=B7=E8=8E=B7=E5=8F=96userId?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ccsens/cloudutil/feign/TallFeignClient.java | 11 ++++++++++- .../java/com/ccsens/signin/api/UserController.java | 9 +++++++++ .../main/java/com/ccsens/tall/web/UserController.java | 9 +++++++++ 3 files changed, 28 insertions(+), 1 deletion(-) diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/feign/TallFeignClient.java b/cloudutil/src/main/java/com/ccsens/cloudutil/feign/TallFeignClient.java index e52223c2..4b4770be 100644 --- a/cloudutil/src/main/java/com/ccsens/cloudutil/feign/TallFeignClient.java +++ b/cloudutil/src/main/java/com/ccsens/cloudutil/feign/TallFeignClient.java @@ -169,7 +169,11 @@ public interface TallFeignClient { */ @GetMapping("/wps/wpsId") JsonResponse getPathByWpsId(@RequestParam(name = "wpsId")Long wpsId); - + /** + * 根据手机号查找userId + */ + @GetMapping("/users/userIdByPhone") + JsonResponse getUserIdByPhone(@RequestParam(name = "phone")String phone); /** * 查找wps文件路径 */ @@ -373,6 +377,11 @@ class TallFeignClientFallBack implements FallbackFactory { return JsonResponse.newInstance().fail(); } + @Override + public JsonResponse getUserIdByPhone(String phone) { + return JsonResponse.newInstance().fail(); + } + @Override public String getWpsFilePath(Long businessId, byte businessType) { return null; diff --git a/signin/src/main/java/com/ccsens/signin/api/UserController.java b/signin/src/main/java/com/ccsens/signin/api/UserController.java index 4fb32b0d..90840aed 100644 --- a/signin/src/main/java/com/ccsens/signin/api/UserController.java +++ b/signin/src/main/java/com/ccsens/signin/api/UserController.java @@ -474,6 +474,15 @@ public class UserController { // ImageCodeGeneratorUtil.generateCodeImage(response.getOutputStream(), (String) codeMap.get("imageCode"), 200, 70); return JsonResponse.newInstance().ok(vertifyCode); } + + @ApiOperation(value = "通过手机号获取userId") + @ApiImplicitParams({ + }) + @RequestMapping(value = "/userIdByPhone", method = RequestMethod.GET, produces = {"application/json;charset=UTF-8"}) + public JsonResponse getUserIdByPhone(String phone) throws Exception { + Long userId = userService.selectUserIdByPhone(phone); + return JsonResponse.newInstance().ok(userId); + } } diff --git a/tall/src/main/java/com/ccsens/tall/web/UserController.java b/tall/src/main/java/com/ccsens/tall/web/UserController.java index afc40381..fe7d266d 100644 --- a/tall/src/main/java/com/ccsens/tall/web/UserController.java +++ b/tall/src/main/java/com/ccsens/tall/web/UserController.java @@ -483,6 +483,15 @@ public class UserController { // ImageCodeGeneratorUtil.generateCodeImage(response.getOutputStream(), (String) codeMap.get("imageCode"), 200, 70); return JsonResponse.newInstance().ok(vertifyCode); } + + @ApiOperation(value = "通过手机号获取userId") + @ApiImplicitParams({ + }) + @RequestMapping(value = "/userIdByPhone", method = RequestMethod.GET, produces = {"application/json;charset=UTF-8"}) + public JsonResponse getUserIdByPhone(String phone) throws Exception { + Long userId = userService.selectUserIdByPhone(phone); + return JsonResponse.newInstance().ok(userId); + } } From 58a271b680785cce8665690653bbb6e765ef20b7 Mon Sep 17 00:00:00 2001 From: ma <1062634917@qq.com> Date: Thu, 22 Jul 2021 09:16:37 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E6=9F=A5=E6=89=BE=E5=AE=9A=E6=9C=9F?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1,=E6=9C=89=E6=97=B6=E9=97=B4=E7=9A=84?= =?UTF-8?q?=E6=97=A5=E5=B8=B8=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/pom.xml | 30 +-- .../com/ccsens/common/CommonApplication.java | 14 +- .../com/ccsens/common/api/TaskController.java | 6 +- .../com/ccsens/common/bean/dto/TaskDto.java | 4 +- .../common/persist/dao/ProTaskDetailDao.java | 26 ++ .../ccsens/common/service/ITaskService.java | 8 + .../ccsens/common/service/TaskService.java | 48 +++- .../java/com/ccsens/common/util/Constant.java | 32 +++ .../resources/mapper_dao/ProTaskDetailDao.xml | 248 ++++++++++++++---- 9 files changed, 334 insertions(+), 82 deletions(-) create mode 100644 common/src/main/java/com/ccsens/common/util/Constant.java diff --git a/common/pom.xml b/common/pom.xml index 2a849448..90b9a1ac 100644 --- a/common/pom.xml +++ b/common/pom.xml @@ -48,21 +48,21 @@ - + + + + + + + + + + + + + + + diff --git a/common/src/main/java/com/ccsens/common/CommonApplication.java b/common/src/main/java/com/ccsens/common/CommonApplication.java index 5c614671..df396f80 100644 --- a/common/src/main/java/com/ccsens/common/CommonApplication.java +++ b/common/src/main/java/com/ccsens/common/CommonApplication.java @@ -11,13 +11,13 @@ ///** // * @author ma // */ -////@MapperScan(basePackages = {"com.ccsens.common.persist.*"}) -////@ServletComponentScan -////@EnableAsync -//////开启断路器功能 -////@EnableCircuitBreaker -////@EnableFeignClients(basePackages = "com.ccsens.cloudutil.feign") -////@SpringBootApplication(scanBasePackages = "com.ccsens") +//@MapperScan(basePackages = {"com.ccsens.common.persist.*"}) +//@ServletComponentScan +//@EnableAsync +////开启断路器功能 +//@EnableCircuitBreaker +//@EnableFeignClients(basePackages = "com.ccsens.cloudutil.feign") +//@SpringBootApplication(scanBasePackages = "com.ccsens") //public class CommonApplication { // public static void main(String[] args) { // SpringApplication.run(CommonApplication.class,args); diff --git a/common/src/main/java/com/ccsens/common/api/TaskController.java b/common/src/main/java/com/ccsens/common/api/TaskController.java index 5dbfab1e..327ab6dc 100644 --- a/common/src/main/java/com/ccsens/common/api/TaskController.java +++ b/common/src/main/java/com/ccsens/common/api/TaskController.java @@ -56,9 +56,9 @@ // @RequestMapping(value = "/regular", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) // public JsonResponse> queryRegularTask(@ApiParam @Validated @RequestBody QueryDto params) { // log.info("查找带时间的定期任务开始{}",params); -// -// log.info("查找带时间的定期任务结束{}"); -// return JsonResponse.newInstance().ok(); +// List regularTask = taskService.queryRegularTask(params.getParam(), params.getUserId()); +// log.info("查找带时间的定期任务结束{}",regularTask); +// return JsonResponse.newInstance().ok(regularTask); // } // //} diff --git a/common/src/main/java/com/ccsens/common/bean/dto/TaskDto.java b/common/src/main/java/com/ccsens/common/bean/dto/TaskDto.java index 4b457457..a1262df1 100644 --- a/common/src/main/java/com/ccsens/common/bean/dto/TaskDto.java +++ b/common/src/main/java/com/ccsens/common/bean/dto/TaskDto.java @@ -28,7 +28,7 @@ public class TaskDto { private Long roleId; @ApiModelProperty("时间基准点 默认当前") private Long timeNode = System.currentTimeMillis(); - @ApiModelProperty("时间基准点 默认天") + @ApiModelProperty("时间颗粒度单位 默认天") private int timeUnit = 4; } @@ -40,7 +40,7 @@ public class TaskDto { private Long roleId; @ApiModelProperty("时间基准点 默认当前") private Long timeNode = System.currentTimeMillis(); - @ApiModelProperty("时间基准点 默认天") + @ApiModelProperty("时间颗粒度 默认天") private int timeUnit = 4; @ApiModelProperty("0向上查找 1向下查找(默认) 下查包含自己,上查不包含") private int queryType = 1; diff --git a/common/src/main/java/com/ccsens/common/persist/dao/ProTaskDetailDao.java b/common/src/main/java/com/ccsens/common/persist/dao/ProTaskDetailDao.java index 5049a8d2..481672d0 100644 --- a/common/src/main/java/com/ccsens/common/persist/dao/ProTaskDetailDao.java +++ b/common/src/main/java/com/ccsens/common/persist/dao/ProTaskDetailDao.java @@ -27,4 +27,30 @@ public interface ProTaskDetailDao extends ProTaskDetailMapper { * @return 日常任务列表 */ List queryGlobalTask(@Param("roleId") Long roleId,@Param("timeNode") Long timeNode,@Param("timeUnit") int timeUnit); + + /** + * 根据时间和角色查找定期任务 + * @param roleId 角色id + * @param timeUnit 时间单位 + * @param timeNode 时间节点 + * @param queryType 查询类型 + * @param query 查询颗粒度数量 + * @param timeFormat 时间格式 + * @return 定期任务列表 + */ + List queryRegularTask(@Param("roleId") Long roleId,@Param("timeUnit") int timeUnit,@Param("timeNode") Long timeNode + ,@Param("queryType") int queryType,@Param("query") String query,@Param("timeFormat") String timeFormat); + + /** + * 继续向上/向下查找 + * @param roleId 角色id + * @param timeUnit 时间单位 + * @param timeNode 时间节点 + * @param queryType 查询类型 + * @param query 查询颗粒度数量 + * @param timeFormat 时间格式 + * @return 定期任务列表 + */ + List continueQueryTask(@Param("roleId") Long roleId,@Param("timeUnit") int timeUnit,@Param("timeNode") Long timeNode + ,@Param("queryType") int queryType,@Param("query") String query,@Param("timeFormat") String timeFormat); } diff --git a/common/src/main/java/com/ccsens/common/service/ITaskService.java b/common/src/main/java/com/ccsens/common/service/ITaskService.java index e8a11a1d..18693c09 100644 --- a/common/src/main/java/com/ccsens/common/service/ITaskService.java +++ b/common/src/main/java/com/ccsens/common/service/ITaskService.java @@ -24,4 +24,12 @@ public interface ITaskService { * @return 日常任务列表 */ List queryGlobalTask(TaskDto.QueryGlobalTask param, Long userId); + + /** + * 根据时间和角色查找定期任务 + * @param param 角色id,时间基准点,时间颗粒度,查找类型,查找数量 + * @param userId 用户id + * @return 定期任务列表 + */ + List queryRegularTask(TaskDto.QueryRegularTask param, Long userId); } diff --git a/common/src/main/java/com/ccsens/common/service/TaskService.java b/common/src/main/java/com/ccsens/common/service/TaskService.java index 93a023bf..85e3827a 100644 --- a/common/src/main/java/com/ccsens/common/service/TaskService.java +++ b/common/src/main/java/com/ccsens/common/service/TaskService.java @@ -6,15 +6,18 @@ import cn.hutool.core.util.ObjectUtil; import com.ccsens.common.bean.dto.TaskDto; import com.ccsens.common.bean.vo.TaskVo; import com.ccsens.common.persist.dao.*; +import com.ccsens.common.util.Constant; import com.ccsens.util.exception.BaseException; import lombok.extern.slf4j.Slf4j; +import lombok.val; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.List; +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.stream.Collectors; /** * @author ma @@ -135,4 +138,45 @@ public class TaskService implements ITaskService{ return globalTask; } + @Override + public List queryRegularTask(TaskDto.QueryRegularTask param, Long userId) { + //查找类型:0向上查找,1向下查找(默认),下查包含自己,上查不包含 + String query = ""; + String timeFormat = Constant.timeFormat.get(param.getTimeUnit()); + String unit = Constant.timeUnit.get(param.getTimeUnit()); + if (0 == param.getQueryType()){ + query = "interval -"+param.getQueryNum()+" "+unit; + }else{ + query +="interval "+param.getQueryNum()+" "+unit; + } + //查找角色权限 + Boolean isLook = queryRoleIsLook(param.getRoleId(),userId); + if (BooleanUtil.isFalse(isLook)){ + throw new BaseException("没有查看权限!"); + } + //TODO 季度未实现 + List regularTask = taskDetailDao.queryRegularTask(param.getRoleId(),param.getTimeUnit(),param.getTimeNode(),param.getQueryType(),query,timeFormat); + //如果该时段没有任务向上或向下补充 + if (CollectionUtil.isEmpty(regularTask)) { + List replenishTask = taskDetailDao.continueQueryTask(param.getRoleId(), param.getTimeUnit(), param.getTimeNode(), param.getQueryType(), query, timeFormat); + Map> taskMap = replenishTask.stream().collect(Collectors.groupingBy(task -> new SimpleDateFormat("yyyy-MM-dd").format(new Date(task.getPlanStart())))); + List mapOfKey = new ArrayList<>(); + taskMap.forEach((key,val)->{ + mapOfKey.add(key); + }); + if (0 == param.getQueryType()){ + String max = Collections.max(mapOfKey); + queryPluginForTask(taskMap.get(max)); + return taskMap.get(max); + }else{ + String min = Collections.min(mapOfKey); + queryPluginForTask(taskMap.get(min)); + return taskMap.get(min); + } + + } + queryPluginForTask(regularTask); + return regularTask; + } + } diff --git a/common/src/main/java/com/ccsens/common/util/Constant.java b/common/src/main/java/com/ccsens/common/util/Constant.java new file mode 100644 index 00000000..4d11bb11 --- /dev/null +++ b/common/src/main/java/com/ccsens/common/util/Constant.java @@ -0,0 +1,32 @@ +package com.ccsens.common.util; + +import java.util.HashMap; +import java.util.Map; + +/** + * 常量相关 + * @author AUSU + */ +public class Constant { + public static Map timeUnit = new HashMap<>(); + public static Map timeFormat = new HashMap<>(); + static { + timeUnit.put(1,"SECOND"); + timeUnit.put(2,"MINUTE"); + timeUnit.put(3,"HOUR"); + timeUnit.put(4,"DAY"); + timeUnit.put(5,"WEEK"); + timeUnit.put(6,"MONTH"); + timeUnit.put(7,"QUARTER"); + timeUnit.put(8,"YEAR"); + timeFormat.put(1,"%Y-%m-%d %h:%m:%s"); + timeFormat.put(2,"%Y-%m-%d %h:%m"); + timeFormat.put(3,"%Y-%m-%d %h"); + timeFormat.put(4,"%Y-%m-%d"); + timeFormat.put(5,"%Y-%u"); + timeFormat.put(6,"%Y-%m"); + timeFormat.put(7,"7"); + timeFormat.put(8,"%Y"); + } + +} diff --git a/common/src/main/resources/mapper_dao/ProTaskDetailDao.xml b/common/src/main/resources/mapper_dao/ProTaskDetailDao.xml index a8d02051..02826fee 100644 --- a/common/src/main/resources/mapper_dao/ProTaskDetailDao.xml +++ b/common/src/main/resources/mapper_dao/ProTaskDetailDao.xml @@ -68,66 +68,208 @@ + + + + \ No newline at end of file From 7c0e84bb3e773aac9f3b9b0992880ff4665d9031 Mon Sep 17 00:00:00 2001 From: ma <1062634917@qq.com> Date: Thu, 22 Jul 2021 09:31:57 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/ccsens/common/service/TaskService.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/common/src/main/java/com/ccsens/common/service/TaskService.java b/common/src/main/java/com/ccsens/common/service/TaskService.java index 85e3827a..c2b1d290 100644 --- a/common/src/main/java/com/ccsens/common/service/TaskService.java +++ b/common/src/main/java/com/ccsens/common/service/TaskService.java @@ -89,6 +89,7 @@ public class TaskService implements ITaskService{ if (ObjectUtil.isNotNull(queryTask.getPanel())){ int panelRow = queryTask.getPanel().getRow(); int panelCol = queryTask.getPanel().getCol(); + //创建任务面板的二维数组 for (int i = 0; i < panelRow; i++) { List pluginInfoList = new ArrayList<>(); for (int j = 0; j < panelCol; j++) { @@ -96,6 +97,7 @@ public class TaskService implements ITaskService{ } plugins.add(pluginInfoList); } + //将插件放入二维数组对应的位置中 List taskPluginInfoList = taskPluginDao.queryTaskOfPlugin(queryTask.getDetailId()); for (TaskVo.TaskPluginInfo taskPlugin : taskPluginInfoList) { int pluginCol = taskPlugin.getCol(); @@ -173,7 +175,6 @@ public class TaskService implements ITaskService{ queryPluginForTask(taskMap.get(min)); return taskMap.get(min); } - } queryPluginForTask(regularTask); return regularTask; From 5e2ebe58e67bdefec6c3ca295c18e6f55b99b7fa Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Thu, 22 Jul 2021 09:33:22 +0800 Subject: [PATCH 4/6] =?UTF-8?q?20210722=E4=BF=AE=E6=94=B9redisConfig?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ccsens/util/config/RedisConfig.java | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/util/src/main/java/com/ccsens/util/config/RedisConfig.java b/util/src/main/java/com/ccsens/util/config/RedisConfig.java index f5c26818..3f233998 100644 --- a/util/src/main/java/com/ccsens/util/config/RedisConfig.java +++ b/util/src/main/java/com/ccsens/util/config/RedisConfig.java @@ -28,19 +28,19 @@ public class RedisConfig { private String hostName; @Value("${mybatisCache.password:}") private String password; - @Value("${mybatisCache.port:}") + @Value("${mybatisCache.port:0}") private int port; - @Value("${mybatisCache.database:}") + @Value("${mybatisCache.database:0}") private int database; - @Value("${mybatisCache.timeout:}") + @Value("${mybatisCache.timeout:0}") private int timeout; - @Value("${mybatisCache.jedis.pool.max-active:}") + @Value("${mybatisCache.jedis.pool.max-active:0}") private int maxActive; - @Value("${mybatisCache.jedis.pool.max-idle:}") + @Value("${mybatisCache.jedis.pool.max-idle:0}") private int maxIdle; - @Value("${mybatisCache.jedis.pool.min-idle:}") + @Value("${mybatisCache.jedis.pool.min-idle:0}") private int minIdle; - @Value("${mybatisCache.jedis.pool.max-wait:}") + @Value("${mybatisCache.jedis.pool.max-wait:0}") private long maxWait; @Bean @@ -69,6 +69,9 @@ public class RedisConfig { @Bean("mybatisCache") @SuppressWarnings("all") public RedisTemplate mybatisCacheRedisTemplate() { + if(port == 0){ + return null; + } RedisTemplate template = new RedisTemplate(); RedisConnectionFactory factory = this.getRedisConnectionFactory(); template.setConnectionFactory(factory); From b97d4d00a0a6aecfe5235ad2217760e19409e067 Mon Sep 17 00:00:00 2001 From: ma <1062634917@qq.com> Date: Thu, 22 Jul 2021 10:04:37 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AE=9A=E6=9C=9F?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ccsens/common/service/TaskService.java | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/common/src/main/java/com/ccsens/common/service/TaskService.java b/common/src/main/java/com/ccsens/common/service/TaskService.java index c2b1d290..cba86246 100644 --- a/common/src/main/java/com/ccsens/common/service/TaskService.java +++ b/common/src/main/java/com/ccsens/common/service/TaskService.java @@ -166,17 +166,20 @@ public class TaskService implements ITaskService{ taskMap.forEach((key,val)->{ mapOfKey.add(key); }); - if (0 == param.getQueryType()){ - String max = Collections.max(mapOfKey); - queryPluginForTask(taskMap.get(max)); - return taskMap.get(max); - }else{ - String min = Collections.min(mapOfKey); - queryPluginForTask(taskMap.get(min)); - return taskMap.get(min); + if (CollectionUtil.isEmpty(mapOfKey)){ + if (0 == param.getQueryType()){ + String max = Collections.max(mapOfKey); + queryPluginForTask(taskMap.get(max)); + return taskMap.get(max); + }else{ + String min = Collections.min(mapOfKey); + queryPluginForTask(taskMap.get(min)); + return taskMap.get(min); + } } + queryPluginForTask(replenishTask); + return replenishTask; } - queryPluginForTask(regularTask); return regularTask; } From d43345bc3dae838c7d307c94e52e6d79f9849138 Mon Sep 17 00:00:00 2001 From: ma <1062634917@qq.com> Date: Thu, 22 Jul 2021 10:13:19 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AE=9A=E6=9C=9F?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/src/main/java/com/ccsens/common/service/TaskService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/src/main/java/com/ccsens/common/service/TaskService.java b/common/src/main/java/com/ccsens/common/service/TaskService.java index cba86246..a84c2762 100644 --- a/common/src/main/java/com/ccsens/common/service/TaskService.java +++ b/common/src/main/java/com/ccsens/common/service/TaskService.java @@ -166,7 +166,7 @@ public class TaskService implements ITaskService{ taskMap.forEach((key,val)->{ mapOfKey.add(key); }); - if (CollectionUtil.isEmpty(mapOfKey)){ + if (CollectionUtil.isNotEmpty(mapOfKey)){ if (0 == param.getQueryType()){ String max = Collections.max(mapOfKey); queryPluginForTask(taskMap.get(max));