Browse Source

Merge branch 'yanyuan' of dd.tall.wiki:ccsens_wiki/ccsenscloud into yanyuan

yanyuan
zhizhi wu 4 years ago
parent
commit
576072fb4e
  1. 120
      cloudutil/src/main/resources/application-util-prod.yml
  2. 2
      common/src/main/java/com/ccsens/common/util/Constant.java
  3. 3
      pom.xml
  4. 40
      signin/src/main/java/com/ccsens/signin/service/ProjectService.java
  5. 3
      signin/src/main/resources/application-prod.yml
  6. 81
      signin/src/main/resources/mapper_dao/ProjectDap.xml
  7. 4
      tall/src/main/java/com/ccsens/tall/util/TaskUtil.java
  8. 2
      util/src/test/java/com/ccsens/util/Base64Test.java
  9. 45
      util/src/test/java/com/ccsens/util/OtherTest.java

120
cloudutil/src/main/resources/application-util-prod.yml

@ -1,3 +1,65 @@
#<<<<<<< HEAD
##服务端点暴露
#management:
# endpoints:
# web:
# exposure:
# # 暴露xxx端点,如需暴露多个,用,分隔;如需暴露所有端点,用'*'
# include: auditevents,caches,conditions,flyway,health,heapdump,httptrace,info,integrationgraph,jolokia,logfile,loggers,liquibase,metrics,mappings,prometheus,scheduledtasks,sessions,shutdown,threaddump,hystrix.stream
## # 不暴露哪些端点
## exclude: env,beans,configprops
# endpoint:
# health:
# # 是否展示健康检查详情
# show-details: always
# health:
# redis:
# enabled: false
##eureka注册
#eureka:
# client:
# service-url:
# # 指定eureka server通信地址,注意/eureka/小尾巴不能少
# #defaultZone: http://admin:admin@peer1:8761/eureka/,http://admin:admin@peer2:8762/eureka/
## defaultZone: http://admin:admin@49.233.89.188:7010/eureka/
# defaultZone: http://admin:admin@192.168.0.99:7010/eureka/
# instance:
# # 是否注册IP到eureka server,如不指定或设为false,那就回注册主机名到eureka server
# prefer-ip-address: true
# metadata-map:
# management:
# context-path: ${server.servlet.context-path:}/actuator
# home-page-url-path: ${server.servlet.context-path:}/
# status-page-url-path: ${server.servlet.context-path:}/actuator/info
# health-check-url-path: ${server.servlet.context-path:}/actuator/health
#feign:
# client:
# config:
# default:
# connectTime: 5000
# readTimeout: 5000
# # NONE【性能最佳,适用于生产】:不记录任何日志(默认值)。
# # BASIC【适用于生产环境追踪问题】:仅记录请求方法、URL、响应状态代码以及执行时间。
# # HEADERS:记录BASIC级别的基础上,记录请求和响应的header。
# # FULL【比较适用于开发及测试环境定位问题】:记录请求和响应的header、body和元数据
# loggerLevel: basic
# hystrix:
# enabled: true
## sleuth
#logging:
# level:
# root: info
# org.springframework.cloud.sleuth: DEBUG
#spring:
## zipkin:
## base-url: http://49.233.89.188:9411
## sleuth:
## sampler:
## # 采样率,模式0.1,也就是10%,为了便于观察效果,改为1.0,也就是100%。生产环境建议保持默认。
## probability: 1.0
# cloud:
# inetutils:
#=======
#服务端点暴露 #服务端点暴露
management: management:
endpoints: endpoints:
@ -5,8 +67,8 @@ management:
exposure: exposure:
# 暴露xxx端点,如需暴露多个,用,分隔;如需暴露所有端点,用'*' # 暴露xxx端点,如需暴露多个,用,分隔;如需暴露所有端点,用'*'
include: auditevents,caches,conditions,flyway,health,heapdump,httptrace,info,integrationgraph,jolokia,logfile,loggers,liquibase,metrics,mappings,prometheus,scheduledtasks,sessions,shutdown,threaddump,hystrix.stream include: auditevents,caches,conditions,flyway,health,heapdump,httptrace,info,integrationgraph,jolokia,logfile,loggers,liquibase,metrics,mappings,prometheus,scheduledtasks,sessions,shutdown,threaddump,hystrix.stream
# # 不暴露哪些端点 # # 不暴露哪些端点
exclude: env,beans,configprops # exclude: env,beans,configprops
endpoint: endpoint:
health: health:
# 是否展示健康检查详情 # 是否展示健康检查详情
@ -21,9 +83,9 @@ eureka:
# 指定eureka server通信地址,注意/eureka/小尾巴不能少 # 指定eureka server通信地址,注意/eureka/小尾巴不能少
#defaultZone: http://admin:admin@peer1:8761/eureka/,http://admin:admin@peer2:8762/eureka/ #defaultZone: http://admin:admin@peer1:8761/eureka/,http://admin:admin@peer2:8762/eureka/
# defaultZone: http://admin:admin@81.70.54.64:7010/eureka/ # defaultZone: http://admin:admin@101.201.226.21:7010/eureka/
defaultZone: http://admin:admin@121.36.3.207:7010/eureka/ defaultZone: http://admin:admin@121.36.3.207:7010/eureka/
# defaultZone: http://admin:admin@test.tall.wiki:7010/eureka/
instance: instance:
# 是否注册IP到eureka server,如不指定或设为false,那就回注册主机名到eureka server # 是否注册IP到eureka server,如不指定或设为false,那就回注册主机名到eureka server
prefer-ip-address: true prefer-ip-address: true
@ -33,54 +95,6 @@ eureka:
home-page-url-path: ${server.servlet.context-path:}/ home-page-url-path: ${server.servlet.context-path:}/
status-page-url-path: ${server.servlet.context-path:}/actuator/info status-page-url-path: ${server.servlet.context-path:}/actuator/info
health-check-url-path: ${server.servlet.context-path:}/actuator/health health-check-url-path: ${server.servlet.context-path:}/actuator/health
#feign:
# client:
# config:
# default:
# connectTime: 5000
# readTimeout: 5000
# # NONE【性能最佳,适用于生产】:不记录任何日志(默认值)。
# # BASIC【适用于生产环境追踪问题】:仅记录请求方法、URL、响应状态代码以及执行时间。
# # HEADERS:记录BASIC级别的基础上,记录请求和响应的header。
# # FULL【比较适用于开发及测试环境定位问题】:记录请求和响应的header、body和元数据
# loggerLevel: basic
# hystrix:
# enabled: true
#hystrix:
# threadpool:
# default:
# coreSize: 200 #并发执行的最大线程数,默认10
# maxQueueSize: 1000 #BlockingQueue的最大队列数,默认值-1
# queueSizeRejectionThreshold: 800 #即使maxQueueSize没有达到,达到queueSizeRejectionThreshold该值后,请求也会被拒绝,默认值5
# command:
# default:
# execution:
# isolation:
# #SEMAPHORE 它在调用线程上执行,并发请求受信号量限制 THREAD它在单独的线程上执行,并发请求受线程池中线程数的限制
# strategy: THREAD
# thread:
# timeoutInMilliseconds: 60000
# timeouot:
# enabled: false
##ribbon的超时时间
#ribbon:
# ReadTimeout: 60000
# ConnectTimeout: 60000
## sleuth
#logging:
# level:
# root: info
# org.springframework.cloud.sleuth: DEBUG
#spring:
## zipkin:
## base-url: http://140.143.228.3:9411
## sleuth:
## sampler:
## # 采样率,模式0.1,也就是10%,为了便于观察效果,改为1.0,也就是100%。生产环境建议保持默认。
## probability: 0.1
# cloud:
# inetutils:
# ignored-interfaces: ['VMware.*']
feign: feign:
client: client:
config: config:
@ -97,8 +111,6 @@ feign:
hystrix: hystrix:
command: command:
default: default:
circuitBreaker:
requestVolumeThreshold: 1000
execution: execution:
timeout: timeout:
enabled: true enabled: true

2
common/src/main/java/com/ccsens/common/util/Constant.java

@ -1,7 +1,5 @@
package com.ccsens.common.util; package com.ccsens.common.util;
import org.omg.CORBA.StringHolder;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;

3
pom.xml

@ -9,6 +9,7 @@
<module>cloudutil</module> <module>cloudutil</module>
<module>util</module> <module>util</module>
<module>tall</module> <module>tall</module>
<module>common</module>
<!-- <module>recovery</module>--> <!-- <module>recovery</module>-->
<!-- <module>ht</module>--> <!-- <module>ht</module>-->
<!-- <module>game</module>--> <!-- <module>game</module>-->
@ -19,9 +20,7 @@
<!-- <module>ct</module>--> <!-- <module>ct</module>-->
<!--<module>tcm</module>--> <!--<module>tcm</module>-->
<module>signin</module> <module>signin</module>
<module>common</module>
<module>wechatutil</module> <module>wechatutil</module>
<!-- <module>pims</module>--> <!-- <module>pims</module>-->
<!-- <module>health</module>--> <!-- <module>health</module>-->
<!-- <module>ct</module>--> <!-- <module>ct</module>-->

40
signin/src/main/java/com/ccsens/signin/service/ProjectService.java

@ -51,31 +51,29 @@ public class ProjectService implements IProjectService{
List<ProjectVo.QueryProject> projectList = projectDao.queryProjectList(param.getStartTime(), param.getEndTime(), userId); List<ProjectVo.QueryProject> projectList = projectDao.queryProjectList(param.getStartTime(), param.getEndTime(), userId);
//查询子项目 //查询子项目
if (CollectionUtil.isNotEmpty(projectList)) { if (CollectionUtil.isNotEmpty(projectList)) {
List<Long> projectIdList = projectList.stream().map(ProjectVo.QueryProject::getId).collect(Collectors.toList()); querySunProject(projectList);
List<ProjectVo.QueryProject> sonProjectList = projectDao.querySonProject(projectIdList); }
if (CollectionUtil.isNotEmpty(sonProjectList)) { return projectList;
for (ProjectVo.QueryProject queryProject : projectList) { }
List<ProjectVo.QueryProject> sonList = new ArrayList<>();
for (ProjectVo.QueryProject sonProject : sonProjectList) { private void querySunProject(List<ProjectVo.QueryProject> projectList) {
if (queryProject.getId().equals(sonProject.getParentId())){ List<Long> projectIdList = projectList.stream().map(ProjectVo.QueryProject::getId).collect(Collectors.toList());
sonList.add(sonProject); //查询子级
} List<ProjectVo.QueryProject> sonProjectList = projectDao.querySonProject(projectIdList);
if (CollectionUtil.isNotEmpty(sonProjectList)) {
//若存在下一级,递归查询
querySunProject(sonProjectList);
//将子级分配给父级
for (ProjectVo.QueryProject queryProject : projectList) {
List<ProjectVo.QueryProject> sonList = new ArrayList<>();
for (ProjectVo.QueryProject sonProject : sonProjectList) {
if (queryProject.getId().equals(sonProject.getParentId())){
sonList.add(sonProject);
} }
queryProject.setSonProjectList(sonList);
} }
queryProject.setSonProjectList(sonList);
} }
} }
// if (CollectionUtil.isNotEmpty(projectList)){
// for (ProjectVo.QueryProject project : projectList) {
// List<ProjectVo.QueryProject> sonProjectList = projectDao.querySonProject(project.getId());
// if (CollectionUtil.isNotEmpty(sonProjectList)){
// project.setSonProjectList(sonProjectList);
// }
// }
// }
return projectList;
} }
@Override @Override

3
signin/src/main/resources/application-prod.yml

@ -11,7 +11,7 @@ spring:
datasource: datasource:
type: com.alibaba.druid.pool.DruidDataSource type: com.alibaba.druid.pool.DruidDataSource
rabbitmq: rabbitmq:
host: 127.0.0.1 host: 121.36.3.207
password: 111111 password: 111111
port: 5672 port: 5672
username: admin username: admin
@ -36,6 +36,7 @@ eureka:
# ip-address: 140.143.228.3 # ip-address: 140.143.228.3
# ip-address: 81.70.54.64 # ip-address: 81.70.54.64
ip-address: 121.36.3.207 ip-address: 121.36.3.207
# ip-address: 101.201.226.21
gatewayUrl: https://www.tall.wiki/gateway/ gatewayUrl: https://www.tall.wiki/gateway/
notGatewayUrl: https://www.tall.wiki/ notGatewayUrl: https://www.tall.wiki/

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

@ -13,47 +13,43 @@
<select id="queryProjectList" resultType="com.ccsens.signin.bean.vo.ProjectVo$QueryProject"> <select id="queryProjectList" resultType="com.ccsens.signin.bean.vo.ProjectVo$QueryProject">
SELECT SELECT
p.project_id as id, p.*
p.`name`, FROM
p.project_start_time as startTime, (
p.project_end_time as endTime, SELECT
p.project_status as `status`, p.project_id as id,
if(t.url is null, p.url, t.url) as url, p.`name`,
t.template_code p.project_start_time as startTime,
FROM p.project_end_time as endTime,
t_sys_project_list p p.project_status as `status`,
LEFT JOIN t_sys_user_project u ON p.project_id = u.project_id if(t.url is null, p.url, t.url) as url,
AND u.rec_status = 0 t.template_code as templateCode,
LEFT JOIN t_sys_template AS t ON p.template_id = t.id AND t.rec_status = 0 p.parent_project_id as parentId,
WHERE u.sort
p.rec_status = 0 FROM
AND u.user_id = #{userId} t_sys_project_list p
and p.project_start_time &lt;= #{endTime} LEFT JOIN t_sys_user_project u ON p.project_id = u.project_id
and ( AND u.rec_status = 0
p.project_end_time &gt;= #{startTime} LEFT JOIN t_sys_template AS t ON p.template_id = t.id AND t.rec_status = 0
or WHERE
p.project_end_time = 0 p.rec_status = 0
) AND u.user_id = #{userId}
AND p.project_id NOT IN ( and p.project_start_time &lt;= #{endTime}
SELECT and (
sp.project_id p.project_end_time &gt;= #{startTime}
FROM or
t_sys_project_list sp p.project_end_time = 0
LEFT JOIN ( )
SELECT GROUP BY p.project_id
* ) p
FROM LEFT JOIN t_sys_project_list pl on p.parentId = pl.project_id and rec_status = 0
t_sys_project_list LEFT JOIN t_sys_user_project u on pl.project_id = u.project_id
WHERE and u.user_id = #{userId}
rec_status = 0 and u.rec_status = 0
) pp ON sp.parent_project_id = pp.project_id WHERE
LEFT JOIN t_sys_user_project u ON pp.project_id = u.project_id u.id is null
AND u.rec_status = 0 ORDER BY p.sort
WHERE
sp.rec_status = 0
AND u.user_id = #{userId}
)
ORDER BY u.sort
</select> </select>
<select id="querySonProject" resultType="com.ccsens.signin.bean.vo.ProjectVo$QueryProject"> <select id="querySonProject" resultType="com.ccsens.signin.bean.vo.ProjectVo$QueryProject">
@ -64,7 +60,8 @@
p.project_end_time as endTime, p.project_end_time as endTime,
p.project_status as `status`, p.project_status as `status`,
if(t.url is null, p.url, t.url) as url, if(t.url is null, p.url, t.url) as url,
p.parent_project_id AS parentId p.parent_project_id AS parentId,
t.template_code as templateCode
FROM FROM
t_sys_project_list p t_sys_project_list p
LEFT JOIN t_sys_template t on p.template_id = t.id and t.rec_status = 0 LEFT JOIN t_sys_template t on p.template_id = t.id and t.rec_status = 0

4
tall/src/main/java/com/ccsens/tall/util/TaskUtil.java

@ -56,7 +56,7 @@ public class TaskUtil {
} }
//判断时间不明确的为全局任务(时间为空或跨天) //判断时间不明确的为全局任务(时间为空或跨天)
for (TaskVo.NormalTask detail : taskDetails) { for (TaskVo.NormalTask detail : taskDetails) {
log.info("传入判断是否是全局:{}",detail); // log.info("传入判断是否是全局:{}",detail);
if((process==1 && detail.getProcess()!=2) || (process==2 && detail.getProcess()==2)){ if((process==1 && detail.getProcess()!=2) || (process==2 && detail.getProcess()==2)){
continue; continue;
} }
@ -94,7 +94,7 @@ public class TaskUtil {
beginMin = detail.getBeginTime() < beginMin ? detail.getBeginTime() : beginMin; beginMin = detail.getBeginTime() < beginMin ? detail.getBeginTime() : beginMin;
endMax = detail.getEndTime() > endMax ? detail.getEndTime() : endMax; endMax = detail.getEndTime() > endMax ? detail.getEndTime() : endMax;
} }
log.info("判断是否是全局:{}",temp); // log.info("判断是否是全局:{}",temp);
} }
// //跨越全视窗的为全局任务 // //跨越全视窗的为全局任务
// for (TaskVo.NormalTask detail : temp) { // for (TaskVo.NormalTask detail : temp) {

2
util/src/test/java/com/ccsens/util/Base64Test.java

@ -91,7 +91,7 @@ public class Base64Test {
/** /**
* 文件转base64 * 文件转base64
* *
* @param path * @param
* @return * @return
* @throws Exception * @throws Exception
*/ */

45
util/src/test/java/com/ccsens/util/OtherTest.java

@ -323,27 +323,27 @@ public class OtherTest {
@Test @Test
public void test16() { public void test16() {
long s = 1642608000000L; // long s = 1642608000000L;
long e = 1642661444000L; // long e = 1642661444000L;
//
//开始时间 // //开始时间
Calendar min = Calendar.getInstance(); // Calendar min = Calendar.getInstance();
min.setTime(new Date(s)); // min.setTime(new Date(s));
min.set(Calendar.HOUR_OF_DAY, 0); // min.set(Calendar.HOUR_OF_DAY, 0);
min.set(Calendar.MINUTE, 0); // min.set(Calendar.MINUTE, 0);
min.set(Calendar.SECOND, 0); // min.set(Calendar.SECOND, 0);
min.set(Calendar.MILLISECOND, 0); // min.set(Calendar.MILLISECOND, 0);
//
//
//结束时间 // //结束时间
Calendar max = Calendar.getInstance(); // Calendar max = Calendar.getInstance();
max.setTime(new Date(e)); // max.setTime(new Date(e));
max.set(Calendar.HOUR_OF_DAY, 0); // max.set(Calendar.HOUR_OF_DAY, 0);
max.set(Calendar.MINUTE, 0); // max.set(Calendar.MINUTE, 0);
max.set(Calendar.SECOND, 0); // max.set(Calendar.SECOND, 0);
max.set(Calendar.MILLISECOND, 0); // max.set(Calendar.MILLISECOND, 0);
//
System.out.println(max.after(min)); // System.out.println(max.after(min));
// //
// System.out.println("开始日期" + new SimpleDateFormat("yyyy-MM-dd").format(min.getTime())); // System.out.println("开始日期" + new SimpleDateFormat("yyyy-MM-dd").format(min.getTime()));
@ -406,7 +406,8 @@ public class OtherTest {
// return holidays; // return holidays;
// } // }
System.out.println(Integer.MAX_VALUE);
System.out.println(Long.MAX_VALUE);
} }
} }

Loading…
Cancel
Save