Browse Source

20210811

tall3
zy_Java 4 years ago
parent
commit
3d44c676f9
  1. 6
      signin/src/main/java/com/ccsens/signin/SigninApplication.java
  2. 7
      signin/src/main/java/com/ccsens/signin/api/ProjectController.java
  3. 9
      signin/src/main/java/com/ccsens/signin/bean/dto/ProjectDto.java
  4. 25
      signin/src/main/java/com/ccsens/signin/bean/vo/ProjectVo.java
  5. 8
      signin/src/main/java/com/ccsens/signin/service/IProjectService.java
  6. 68
      signin/src/main/java/com/ccsens/signin/service/ProjectService.java
  7. 12
      signin/src/main/resources/application-dev.yml
  8. 2
      signin/src/main/resources/mapper_dao/ProjectDap.xml
  9. 7
      tall/src/main/java/com/ccsens/tall/TallApplication.java
  10. 18
      tall/src/main/resources/application-dev.yml
  11. 7
      tcm/src/main/java/com/ccsens/tcm/TcmApplication.java
  12. 2
      tcm/src/main/resources/application-dev.yml

6
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 {

7
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<List<String>> haveProjectDay(@ApiParam @Validated @RequestBody QueryDto<ProjectDto.QueryHaveProject> params) throws Exception{
List<String> projectById = projectService.haveProjectDay(params.getParam(), params.getUserId());
return JsonResponse.newInstance().ok(projectById);
}
}

9
signin/src/main/java/com/ccsens/signin/bean/dto/ProjectDto.java

@ -39,4 +39,13 @@ public class ProjectDto {
@ApiModelProperty("用户列表")
private Set<Long> userIdList;
}
@Data
@ApiModel("查询日历是否有项目")
public static class QueryHaveProject {
@ApiModelProperty("开始时间")
private Long startTime = 1625126696000L;
@ApiModelProperty("结束时间")
private Long endTime = 1627632296000L;
}
}

25
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;
}
}

8
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<String> haveProjectDay(ProjectDto.QueryHaveProject param, Long userId);
}

68
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<String> haveProjectDay(ProjectDto.QueryHaveProject param, Long userId) {
//返回值
List<String> 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<String> realDateList = new ArrayList<>();
//查询项目列表
List<ProjectVo.QueryProject> projectList = projectDao.queryProjectList(param.getStartTime(), param.getEndTime(), userId);
//获取项目的时间范围
if (ObjectUtil.isNotNull(projectList)) {
List<Long> projectStartTimeList = projectList.stream().map(ProjectVo.QueryProject::getStartTime).collect(Collectors.toList());
List<Long> 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<String> 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;
}
}

12
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

2
signin/src/main/resources/mapper_dao/ProjectDap.xml

@ -18,7 +18,7 @@
and up.user_id = #{userId}
and p.project_start_time &lt;= #{endTime}
and p.project_end_time &gt;= #{startTime}
and up.rec_status = 0 and p.rec_status = 0
</select>
</mapper>

7
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) {

18
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

7
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,8 +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) {

2
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

Loading…
Cancel
Save