From 386d784d6d6a1848b01c532993eeda04abdb7b8e Mon Sep 17 00:00:00 2001 From: zhizhi wu <2377881365@qq.com> Date: Wed, 11 Aug 2021 10:45:58 +0800 Subject: [PATCH 1/3] dev mq --- signin/src/main/resources/application-dev.yml | 12 +++++++++--- tall/src/main/resources/application-dev.yml | 18 +++++++++--------- tcm/src/main/resources/application-dev.yml | 2 +- 3 files changed, 19 insertions(+), 13 deletions(-) diff --git a/signin/src/main/resources/application-dev.yml b/signin/src/main/resources/application-dev.yml index 7aa4c982..0cfb0faf 100644 --- a/signin/src/main/resources/application-dev.yml +++ b/signin/src/main/resources/application-dev.yml @@ -10,11 +10,17 @@ spring: name: tall3 datasource: type: com.alibaba.druid.pool.DruidDataSource +# rabbitmq: +# host: 127.0.0.1 +# password: guest +# port: 5672 +# username: guest rabbitmq: - host: 127.0.0.1 - password: guest + host: 192.168.0.99 + #host: 127.0.0.1 + password: 111111 port: 5672 - username: guest + username: admin redis: database: 0 host: 127.0.0.1 diff --git a/tall/src/main/resources/application-dev.yml b/tall/src/main/resources/application-dev.yml index 3d523fb0..ffad2822 100644 --- a/tall/src/main/resources/application-dev.yml +++ b/tall/src/main/resources/application-dev.yml @@ -10,17 +10,17 @@ spring: name: tall datasource: type: com.alibaba.druid.pool.DruidDataSource -# rabbitmq: -# host: 192.168.0.99 -# #host: 127.0.0.1 -# password: 111111 -# port: 5672 -# username: admin rabbitmq: - host: 127.0.0.1 - password: guest + host: 192.168.0.99 + #host: 127.0.0.1 + password: 111111 port: 5672 - username: guest + username: admin +# rabbitmq: +# host: 127.0.0.1 +# password: guest +# port: 5672 +# username: guest redis: database: 0 host: 127.0.0.1 diff --git a/tcm/src/main/resources/application-dev.yml b/tcm/src/main/resources/application-dev.yml index db4b372a..a11ac9c7 100644 --- a/tcm/src/main/resources/application-dev.yml +++ b/tcm/src/main/resources/application-dev.yml @@ -10,7 +10,7 @@ spring: rabbitmq: # host: 192.144.182.42 # host: test.tall.wiki - host: 192.168.4.113 + host: 192.168.0.99 password: 111111 port: 5672 username: admin From e2d8d04933b5ee515874de68ae87a9e88755b698 Mon Sep 17 00:00:00 2001 From: ma <1062634917@qq.com> Date: Wed, 11 Aug 2021 11:22:15 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=8E=A5=E5=8F=A3=20?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=97=A5=E5=8E=86=E5=B0=8F=E7=BA=A2=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ccsens/signin/api/ProjectController.java | 7 ++ .../ccsens/signin/bean/dto/ProjectDto.java | 9 +++ .../com/ccsens/signin/bean/vo/ProjectVo.java | 25 +++++++ .../signin/service/IProjectService.java | 8 +++ .../ccsens/signin/service/ProjectService.java | 68 ++++++++++++++++++- .../main/resources/mapper_dao/ProjectDap.xml | 2 +- 6 files changed, 117 insertions(+), 2 deletions(-) diff --git a/signin/src/main/java/com/ccsens/signin/api/ProjectController.java b/signin/src/main/java/com/ccsens/signin/api/ProjectController.java index 7b288acf..c4a045f3 100644 --- a/signin/src/main/java/com/ccsens/signin/api/ProjectController.java +++ b/signin/src/main/java/com/ccsens/signin/api/ProjectController.java @@ -43,4 +43,11 @@ public class ProjectController { return JsonResponse.newInstance().ok(); } + @MustLogin + @ApiOperation(value = "查询日历是否有小红点", notes = "查询日历是否有小红点") + @RequestMapping(value = "/day", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse> haveProjectDay(@ApiParam @Validated @RequestBody QueryDto params) throws Exception{ + List projectById = projectService.haveProjectDay(params.getParam(), params.getUserId()); + return JsonResponse.newInstance().ok(projectById); + } } diff --git a/signin/src/main/java/com/ccsens/signin/bean/dto/ProjectDto.java b/signin/src/main/java/com/ccsens/signin/bean/dto/ProjectDto.java index 4222f8b5..a821648a 100644 --- a/signin/src/main/java/com/ccsens/signin/bean/dto/ProjectDto.java +++ b/signin/src/main/java/com/ccsens/signin/bean/dto/ProjectDto.java @@ -39,4 +39,13 @@ public class ProjectDto { @ApiModelProperty("用户列表") private Set userIdList; } + + @Data + @ApiModel("查询日历是否有项目") + public static class QueryHaveProject { + @ApiModelProperty("开始时间") + private Long startTime = 1625126696000L; + @ApiModelProperty("结束时间") + private Long endTime = 1627632296000L; + } } diff --git a/signin/src/main/java/com/ccsens/signin/bean/vo/ProjectVo.java b/signin/src/main/java/com/ccsens/signin/bean/vo/ProjectVo.java index 0c6a1f86..e9bf14ba 100644 --- a/signin/src/main/java/com/ccsens/signin/bean/vo/ProjectVo.java +++ b/signin/src/main/java/com/ccsens/signin/bean/vo/ProjectVo.java @@ -1,5 +1,7 @@ package com.ccsens.signin.bean.vo; +import cn.hutool.core.util.ObjectUtil; +import com.ccsens.util.WebConstant; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -24,6 +26,29 @@ public class ProjectVo { private byte status; @ApiModelProperty("访问路径)") private String url; + + public Byte getStatus() { + long current = System.currentTimeMillis(); + if(ObjectUtil.isNull(getStartTime()) || ObjectUtil.isNull(getEndTime())) { + return null; + } + if(getStartTime() > current){ + this.status = (byte) WebConstant.EVENT_PROCESS.Pending.value; + }else if(getEndTime() < current){ + this.status = (byte) WebConstant.EVENT_PROCESS.Expired.value; + }else{ + this.status = (byte) WebConstant.EVENT_PROCESS.Processing.value; + } + return this.status; + } } + @Data + @ApiModel("日历是否有项目") + public static class HaveProject { + @ApiModelProperty("时间") + private String time; + @ApiModelProperty("是否有项目(0-否,1-是)") + private Byte haveProject; + } } diff --git a/signin/src/main/java/com/ccsens/signin/service/IProjectService.java b/signin/src/main/java/com/ccsens/signin/service/IProjectService.java index a644ba95..515546f5 100644 --- a/signin/src/main/java/com/ccsens/signin/service/IProjectService.java +++ b/signin/src/main/java/com/ccsens/signin/service/IProjectService.java @@ -11,4 +11,12 @@ public interface IProjectService { void saveProjectList(ProjectDto.SaveProjectDto projectDto); + + /** + * 查询日历是否有小红点 + * @param param 开始/结束时间 + * @param userId 用户id + * @return 是否有小红点 + */ + List haveProjectDay(ProjectDto.QueryHaveProject param, Long userId); } diff --git a/signin/src/main/java/com/ccsens/signin/service/ProjectService.java b/signin/src/main/java/com/ccsens/signin/service/ProjectService.java index 4620f5a5..7d9b1e3b 100644 --- a/signin/src/main/java/com/ccsens/signin/service/ProjectService.java +++ b/signin/src/main/java/com/ccsens/signin/service/ProjectService.java @@ -1,7 +1,9 @@ package com.ccsens.signin.service; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.lang.Snowflake; +import cn.hutool.core.util.ObjectUtil; import com.ccsens.signin.bean.dto.ProjectDto; import com.ccsens.signin.bean.po.SysProjectList; import com.ccsens.signin.bean.po.SysProjectListExample; @@ -17,7 +19,9 @@ import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; -import java.util.List; +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.stream.Collectors; /** * @author 逗 @@ -99,4 +103,66 @@ public class ProjectService implements IProjectService{ } } } + + + @Override + public List haveProjectDay(ProjectDto.QueryHaveProject param, Long userId) { + //返回值 + List haveProject = new ArrayList<>(); + + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); + Date startTimeParam = new Date(param.getStartTime()); + Date endTimeParam = new Date(param.getEndTime()); + long dayDifference = DateUtil.betweenDay(startTimeParam, endTimeParam, false)+1; + + Long realStartTime = null; + Long realEndTime = null; + Long realDifference = null; + List realDateList = new ArrayList<>(); + //查询项目列表 + List projectList = projectDao.queryProjectList(param.getStartTime(), param.getEndTime(), userId); + //获取项目的时间范围 + if (ObjectUtil.isNotNull(projectList)) { + List projectStartTimeList = projectList.stream().map(ProjectVo.QueryProject::getStartTime).collect(Collectors.toList()); + List projectEndTimeList = projectList.stream().map(ProjectVo.QueryProject::getEndTime).collect(Collectors.toList()); + Long maxStartTime = Collections.max(projectStartTimeList); + Long maxEndTime = Collections.max(projectEndTimeList); + + realStartTime = maxStartTime >= param.getStartTime() ? maxStartTime : param.getStartTime(); + realEndTime = maxEndTime >= param.getEndTime() ? param.getEndTime() : maxEndTime; + realDifference = DateUtil.betweenDay(new Date(realStartTime),new Date(realEndTime),false)+1; + GregorianCalendar calendar = new GregorianCalendar(); + calendar.setTime(new Date(realStartTime)); + realDateList.add(format.format(new Date(realStartTime))); + for (int i = 1; i < realDifference; i++) { + calendar.add(Calendar.DATE,1); + Date time = calendar.getTime(); + realDateList.add(format.format(time)); + } + } + //获取参数的时间范围 + GregorianCalendar calendar = new GregorianCalendar(); + calendar.setTime(startTimeParam); + List dateList = new ArrayList<>(); + dateList.add(format.format(startTimeParam)); + for (int i = 1; i < dayDifference; i++) { + calendar.add(Calendar.DATE,1); + Date time = calendar.getTime(); + dateList.add(format.format(time)); + } + System.out.println(dateList); + + //比较参数时间与项目时间 + for (int i = 0; i < dateList.size(); i++) { + haveProject.add("0"); + for (int y = 0; y < realDateList.size(); y++) { + if (dateList.get(i).equals(realDateList.get(y))){ + haveProject.set(i,"1"); + } + } + } + + return haveProject; + } + } diff --git a/signin/src/main/resources/mapper_dao/ProjectDap.xml b/signin/src/main/resources/mapper_dao/ProjectDap.xml index b925267b..a3f5dd39 100644 --- a/signin/src/main/resources/mapper_dao/ProjectDap.xml +++ b/signin/src/main/resources/mapper_dao/ProjectDap.xml @@ -18,7 +18,7 @@ and up.user_id = #{userId} and p.project_start_time <= #{endTime} and p.project_end_time >= #{startTime} - + and up.rec_status = 0 and p.rec_status = 0 \ No newline at end of file From 154ea3aca03568969c95326b832cae463cbc60f5 Mon Sep 17 00:00:00 2001 From: zhizhi wu <2377881365@qq.com> Date: Wed, 11 Aug 2021 13:37:44 +0800 Subject: [PATCH 3/3] =?UTF-8?q?ribbon=20=E5=A4=9A=E6=9C=8D=E5=8A=A1=20404?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/ccsens/signin/SigninApplication.java | 6 +++++- tall/src/main/java/com/ccsens/tall/TallApplication.java | 7 ++++++- tcm/src/main/java/com/ccsens/tcm/TcmApplication.java | 6 +++++- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/signin/src/main/java/com/ccsens/signin/SigninApplication.java b/signin/src/main/java/com/ccsens/signin/SigninApplication.java index 3be6343d..cda9806c 100644 --- a/signin/src/main/java/com/ccsens/signin/SigninApplication.java +++ b/signin/src/main/java/com/ccsens/signin/SigninApplication.java @@ -1,5 +1,6 @@ package com.ccsens.signin; +import com.ccsens.cloudutil.ribbon.RibbonConfiguration; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @@ -7,6 +8,8 @@ import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cache.annotation.EnableCaching; import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker; import org.springframework.cloud.openfeign.EnableFeignClients; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.FilterType; import org.springframework.scheduling.annotation.EnableAsync; @MapperScan(basePackages = {"com.ccsens.signin.persist.*"}) @@ -15,7 +18,8 @@ import org.springframework.scheduling.annotation.EnableAsync; //开启断路器功能 @EnableCircuitBreaker @EnableFeignClients(basePackages = "com.ccsens.cloudutil.feign") -@SpringBootApplication(scanBasePackages = "com.ccsens") +@SpringBootApplication +@ComponentScan(basePackages = "com.ccsens", excludeFilters = { @ComponentScan.Filter(type= FilterType.ASSIGNABLE_TYPE, value = RibbonConfiguration.class)}) //@EnableCaching public class SigninApplication { diff --git a/tall/src/main/java/com/ccsens/tall/TallApplication.java b/tall/src/main/java/com/ccsens/tall/TallApplication.java index 421190cc..b0a1b861 100644 --- a/tall/src/main/java/com/ccsens/tall/TallApplication.java +++ b/tall/src/main/java/com/ccsens/tall/TallApplication.java @@ -1,5 +1,6 @@ package com.ccsens.tall; +import com.ccsens.cloudutil.ribbon.RibbonConfiguration; import com.ccsens.util.JsonResponse; import com.ccsens.util.PropUtil; import com.ccsens.util.RestTemplateUtil; @@ -12,6 +13,8 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker; import org.springframework.cloud.openfeign.EnableFeignClients; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.FilterType; import org.springframework.scheduling.annotation.EnableAsync; import javax.annotation.Resource; @@ -28,7 +31,9 @@ import java.io.File; //开启断路器功能 @EnableCircuitBreaker @EnableFeignClients(basePackages = "com.ccsens.cloudutil.feign") -@SpringBootApplication(scanBasePackages = "com.ccsens") +//@SpringBootApplication(scanBasePackages = "com.ccsens") +@SpringBootApplication +@ComponentScan(basePackages = "com.ccsens", excludeFilters = { @ComponentScan.Filter(type= FilterType.ASSIGNABLE_TYPE, value = RibbonConfiguration.class)}) public class TallApplication implements CommandLineRunner { public static void main(String[] args) { diff --git a/tcm/src/main/java/com/ccsens/tcm/TcmApplication.java b/tcm/src/main/java/com/ccsens/tcm/TcmApplication.java index f54f95ec..de6c6d17 100644 --- a/tcm/src/main/java/com/ccsens/tcm/TcmApplication.java +++ b/tcm/src/main/java/com/ccsens/tcm/TcmApplication.java @@ -1,11 +1,14 @@ package com.ccsens.tcm; +import com.ccsens.cloudutil.ribbon.RibbonConfiguration; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker; import org.springframework.cloud.openfeign.EnableFeignClients; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.FilterType; import org.springframework.scheduling.annotation.EnableAsync; @MapperScan(basePackages = {"com.ccsens.tcm.persist.*"}) @@ -14,7 +17,8 @@ import org.springframework.scheduling.annotation.EnableAsync; //开启断路器功能 @EnableCircuitBreaker @EnableFeignClients(basePackages = "com.ccsens.cloudutil.feign") -@SpringBootApplication(scanBasePackages = "com.ccsens") +@SpringBootApplication +@ComponentScan(basePackages = "com.ccsens", excludeFilters = { @ComponentScan.Filter(type= FilterType.ASSIGNABLE_TYPE, value = RibbonConfiguration.class)}) public class TcmApplication { public static void main(String[] args) {