Browse Source

统计图0602

master
zy_Java 5 years ago
parent
commit
06229583d1
  1. 118
      cloudutil/src/main/resources/application-util-test.yml
  2. 7
      tall/src/main/java/com/ccsens/tall/bean/vo/ChartVo.java
  3. 2
      tall/src/main/java/com/ccsens/tall/bean/vo/PluginVo.java
  4. 2
      tall/src/main/java/com/ccsens/tall/persist/dao/ProTaskCommentDao.java
  5. 1
      tall/src/main/java/com/ccsens/tall/persist/dao/SysProjectDao.java
  6. 13
      tall/src/main/java/com/ccsens/tall/service/ChartService.java
  7. 21
      tall/src/main/java/com/ccsens/tall/service/ExcelService.java
  8. 2
      tall/src/main/java/com/ccsens/tall/service/IChartService.java
  9. 7
      tall/src/main/java/com/ccsens/tall/service/TaskDeliverService.java
  10. 3
      tall/src/main/java/com/ccsens/tall/service/TaskPluginService.java
  11. 22
      tall/src/main/java/com/ccsens/tall/service/WbsSubSheetService.java
  12. 70
      tall/src/main/resources/application-test.yml
  13. 64
      tall/src/main/resources/druid-test.yml
  14. 3
      tall/src/main/resources/mapper_dao/ProTaskCommentDao.xml
  15. 34
      tall/src/main/resources/mapper_dao/SysProjectDao.xml
  16. 9
      util/src/main/java/com/ccsens/util/DateUtil.java
  17. 32
      util/src/main/java/com/ccsens/util/StringUtil.java

118
cloudutil/src/main/resources/application-util-test.yml

@ -1,60 +1,60 @@
#服务端点暴露 #服务端点暴露
management: management:
endpoints: endpoints:
web: web:
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:
# 是否展示健康检查详情 # 是否展示健康检查详情
show-details: always show-details: always
health: health:
redis: redis:
enabled: false enabled: false
#eureka注册 #eureka注册
eureka: eureka:
client: client:
service-url: service-url:
# 指定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@49.233.89.188:7010/eureka/ defaultZone: http://admin:admin@192.168.0.99:7010/eureka/
instance: instance:
# 是否注册IP到eureka server,如不指定或设为false,那就回注册主机名到eureka server # 是否注册IP到eureka server,如不指定或设为false,那就回注册主机名到eureka server
prefer-ip-address: true prefer-ip-address: true
metadata-map: metadata-map:
management: management:
context-path: ${server.servlet.context-path:}/actuator context-path: ${server.servlet.context-path:}/actuator
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: feign:
client: client:
config: config:
default: default:
connectTime: 5000 connectTime: 5000
readTimeout: 5000 readTimeout: 5000
# NONE【性能最佳,适用于生产】:不记录任何日志(默认值)。 # NONE【性能最佳,适用于生产】:不记录任何日志(默认值)。
# BASIC【适用于生产环境追踪问题】:仅记录请求方法、URL、响应状态代码以及执行时间。 # BASIC【适用于生产环境追踪问题】:仅记录请求方法、URL、响应状态代码以及执行时间。
# HEADERS:记录BASIC级别的基础上,记录请求和响应的header。 # HEADERS:记录BASIC级别的基础上,记录请求和响应的header。
# FULL【比较适用于开发及测试环境定位问题】:记录请求和响应的header、body和元数据 # FULL【比较适用于开发及测试环境定位问题】:记录请求和响应的header、body和元数据
loggerLevel: basic loggerLevel: basic
hystrix: hystrix:
enabled: true enabled: true
# sleuth # sleuth
logging: logging:
level: level:
root: info root: info
org.springframework.cloud.sleuth: DEBUG org.springframework.cloud.sleuth: DEBUG
spring: spring:
# zipkin: # zipkin:
# base-url: http://49.233.89.188:9411 # base-url: http://49.233.89.188:9411
# sleuth: # sleuth:
# sampler: # sampler:
# # 采样率,模式0.1,也就是10%,为了便于观察效果,改为1.0,也就是100%。生产环境建议保持默认。 # # 采样率,模式0.1,也就是10%,为了便于观察效果,改为1.0,也就是100%。生产环境建议保持默认。
# probability: 1.0 # probability: 1.0
cloud: cloud:
inetutils: inetutils:
ignored-interfaces: ['VMware.*'] ignored-interfaces: ['VMware.*']

7
tall/src/main/java/com/ccsens/tall/bean/vo/ChartVo.java

@ -85,6 +85,13 @@ public class ChartVo {
} }
return null; return null;
} }
public Integer getTodayUndone(){
if(ObjectUtil.isNotNull(today) && ObjectUtil.isNotNull(todayCompleted)){
return today - todayCompleted;
}
return null;
}
} }
@Data @Data

2
tall/src/main/java/com/ccsens/tall/bean/vo/PluginVo.java

@ -59,6 +59,8 @@ public class PluginVo {
private Long commentTime; private Long commentTime;
@ApiModelProperty("评论内容") @ApiModelProperty("评论内容")
private String description; private String description;
@ApiModelProperty("是否属于自己的评论,0否 1是")
private int mine;
} }
} }

2
tall/src/main/java/com/ccsens/tall/persist/dao/ProTaskCommentDao.java

@ -9,6 +9,6 @@ import java.util.List;
@Repository @Repository
public interface ProTaskCommentDao extends ProTaskCommentMapper { public interface ProTaskCommentDao extends ProTaskCommentMapper {
List<PluginVo.CommentInfo> getCommentByTaskId(@Param("taskId") Long taskId); List<PluginVo.CommentInfo> getCommentByTaskId(@Param("userId")Long userId,@Param("taskId") Long taskId);
} }

1
tall/src/main/java/com/ccsens/tall/persist/dao/SysProjectDao.java

@ -39,4 +39,5 @@ public interface SysProjectDao extends SysProjectMapper{
Integer getTaskTotalByProjectId(@Param("projectId")Long projectId, @Param("start")Long start, @Param("end")Long end, @Param("roleId")Long roleId); Integer getTaskTotalByProjectId(@Param("projectId")Long projectId, @Param("start")Long start, @Param("end")Long end, @Param("roleId")Long roleId);
ChartVo.ProjectOverview getOverviewByToDay(@Param("projectId")Long projectId, @Param("startTime")Long startTime, @Param("endTime")Long endTime);
} }

13
tall/src/main/java/com/ccsens/tall/service/ChartService.java

@ -1,6 +1,7 @@
package com.ccsens.tall.service; package com.ccsens.tall.service;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.ccsens.tall.bean.dto.ChartDto; import com.ccsens.tall.bean.dto.ChartDto;
@ -13,6 +14,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicReference; import java.util.concurrent.atomic.AtomicReference;
@ -75,8 +77,17 @@ public class ChartService implements IChartService{
* @return * @return
*/ */
@Override @Override
public ChartVo.ProjectOverview getOverview(Long currentUserId, Long projectId) { public ChartVo.ProjectOverview getOverview(Long currentUserId, Long projectId) throws Exception {
//获取全部的数据
ChartVo.ProjectOverview projectOverview = sysProjectDao.getOverview(projectId); ChartVo.ProjectOverview projectOverview = sysProjectDao.getOverview(projectId);
//获取当天零点和二十四点的时间
Long startTime = DateUtil.beginOfDay(new Date()).getTime();
Long endTime = DateUtil.endOfDay(new Date()).getTime();
//获取当天的数据
ChartVo.ProjectOverview projectOverview1 = sysProjectDao.getOverviewByToDay(projectId,startTime,endTime);
//将数据整合在一起
projectOverview.setTodayCompleted(projectOverview1.getTodayCompleted() == null ? 0 : projectOverview1.getTodayCompleted());
projectOverview.setToday(projectOverview1.getToday());
return projectOverview; return projectOverview;
} }

21
tall/src/main/java/com/ccsens/tall/service/ExcelService.java

@ -15,8 +15,6 @@ import com.ccsens.util.cron.CronConstant;
import com.ccsens.util.cron.NatureToDate; import com.ccsens.util.cron.NatureToDate;
import com.ccsens.util.exception.BaseException; import com.ccsens.util.exception.BaseException;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import net.sf.jsqlparser.expression.LongValue;
import org.apache.poi.ss.usermodel.CellType;
import org.apache.poi.xssf.usermodel.XSSFCell; import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFSheet;
@ -28,8 +26,6 @@ import org.springframework.transaction.annotation.Transactional;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.InputStream; import java.io.InputStream;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
@Slf4j @Slf4j
@ -690,13 +686,18 @@ public class ExcelService implements IExcelService {
taskDetail.setAllMember((byte) 1); taskDetail.setAllMember((byte) 1);
//子项目 //子项目
if (StrUtil.isNotEmpty(subProject)) { if (StrUtil.isNotEmpty(subProject)) {
subProject = StringUtil.replaceComma(subProject);
List<String> projectId = StringUtil.extractMessage(subProject);
if(CollectionUtil.isNotEmpty(projectId)) {
Long projectId1 = Long.valueOf(projectId.get(0));
// SysProject project = projectService.selectByNameAndUserId(subProject, currentUserId); // SysProject project = projectService.selectByNameAndUserId(subProject, currentUserId);
SysProject project = sysProjectDao.selectByPrimaryKey(Long.valueOf(subProject)); SysProject project = sysProjectDao.selectByPrimaryKey(projectId1);
if (ObjectUtil.isNotNull(project)) { if (ObjectUtil.isNotNull(project)) {
taskDetail.setSubProjectId(project.getId()); taskDetail.setSubProjectId(project.getId());
taskDetail.setSubProject(project.getName()); taskDetail.setSubProject(project.getName());
project.setParentTaskId(taskDetail.getId()); project.setParentTaskId(taskDetail.getId());
projectService.updateProject(project); projectService.updateProject(project);
}
} }
} }
//负责人 //负责人

2
tall/src/main/java/com/ccsens/tall/service/IChartService.java

@ -12,7 +12,7 @@ public interface IChartService {
List<ChartVo.ProjectTrendVo> getProjectTrend(Long currentUserId, ChartDto.ProjectTrendDto projectTrendDto); List<ChartVo.ProjectTrendVo> getProjectTrend(Long currentUserId, ChartDto.ProjectTrendDto projectTrendDto);
ChartVo.ProjectOverview getOverview(Long currentUserId, Long projectId); ChartVo.ProjectOverview getOverview(Long currentUserId, Long projectId) throws Exception;
List<ChartVo.BurnoutFigure> getBurnoutFigure(Long currentUserId, ChartDto.ProjectTrendDto projectTrendDto); List<ChartVo.BurnoutFigure> getBurnoutFigure(Long currentUserId, ChartDto.ProjectTrendDto projectTrendDto);

7
tall/src/main/java/com/ccsens/tall/service/TaskDeliverService.java

@ -774,9 +774,10 @@ public class TaskDeliverService implements ITaskDeliverService {
for(ProTaskDeliverPostLog deliverPostLog : postLogList){ for(ProTaskDeliverPostLog deliverPostLog : postLogList){
//删除文件 //删除文件
SysCommitedFile file = commitedFileDao.selectByPrimaryKey(deliverPostLog.getFileId()); SysCommitedFile file = commitedFileDao.selectByPrimaryKey(deliverPostLog.getFileId());
file.setRecStatus((byte) 2); if(ObjectUtil.isNotNull(file)) {
commitedFileDao.updateByPrimaryKeySelective(file); file.setRecStatus((byte) 2);
commitedFileDao.updateByPrimaryKeySelective(file);
}
// deleteFile(file.getPath()); // deleteFile(file.getPath());
// commitedFileDao.deleteByPrimaryKey(deliverPostLog.getId()); // commitedFileDao.deleteByPrimaryKey(deliverPostLog.getId());
//删除交付物和文件、检查人的关联信息 //删除交付物和文件、检查人的关联信息

3
tall/src/main/java/com/ccsens/tall/service/TaskPluginService.java

@ -136,6 +136,7 @@ public class TaskPluginService implements ITaskPluginService{
commentInfo.setTaskId(proTaskComment.getTaskSubTimeId()); commentInfo.setTaskId(proTaskComment.getTaskSubTimeId());
commentInfo.setCommentTime(proTaskComment.getTime()); commentInfo.setCommentTime(proTaskComment.getTime());
commentInfo.setDescription(proTaskComment.getDescription()); commentInfo.setDescription(proTaskComment.getDescription());
commentInfo.setMine(1);
//查询用户头像和昵称 //查询用户头像和昵称
SysUser sysUser = sysUserDao.selectByPrimaryKey(userId); SysUser sysUser = sysUserDao.selectByPrimaryKey(userId);
commentInfo.setAvatarUrl(sysUser.getAvatarUrl()); commentInfo.setAvatarUrl(sysUser.getAvatarUrl());
@ -158,7 +159,7 @@ public class TaskPluginService implements ITaskPluginService{
@Override @Override
public List<PluginVo.CommentInfo> getComment(Long currentUserId, Long taskId) { public List<PluginVo.CommentInfo> getComment(Long currentUserId, Long taskId) {
List<PluginVo.CommentInfo> commentInfoList = proTaskCommentDao.getCommentByTaskId(taskId); List<PluginVo.CommentInfo> commentInfoList = proTaskCommentDao.getCommentByTaskId(currentUserId,taskId);
return commentInfoList; return commentInfoList;
} }

22
tall/src/main/java/com/ccsens/tall/service/WbsSubSheetService.java

@ -557,17 +557,19 @@ public class WbsSubSheetService implements IWbsSubSheetService {
XSSFSheet relevanceSheet = xssfWorkbook.getSheet("关联项目表"); XSSFSheet relevanceSheet = xssfWorkbook.getSheet("关联项目表");
if(ObjectUtil.isNotNull(relevanceSheet)){ if(ObjectUtil.isNotNull(relevanceSheet)){
for (int i = 1; i <= relevanceSheet.getLastRowNum(); i++) { for (int i = 1; i <= relevanceSheet.getLastRowNum(); i++) {
String relevanceProjectId = ExcelUtil.getCellValue(relevanceSheet.getRow(i).getCell(2)); if (ObjectUtil.isNotNull(relevanceSheet.getRow(i))){
if(StrUtil.isNotEmpty(relevanceProjectId)){ String relevanceProjectId = ExcelUtil.getCellValue(relevanceSheet.getRow(i).getCell(2));
SysProject sysProject = sysProjectDao.selectByPrimaryKey(Long.valueOf(relevanceProjectId)); if (StrUtil.isNotEmpty(relevanceProjectId)) {
if(ObjectUtil.isNull(sysProject)){ SysProject sysProject = sysProjectDao.selectByPrimaryKey(Long.valueOf(relevanceProjectId));
throw new BaseException(CodeEnum.NOT_PROJECT.addMsg("关联项目表" + i)); if (ObjectUtil.isNull(sysProject)) {
throw new BaseException(CodeEnum.NOT_PROJECT.addMsg("关联项目表" + i));
}
SysRelevanceProject sysRelevanceProject = new SysRelevanceProject();
sysRelevanceProject.setId(snowflake.nextId());
sysRelevanceProject.setProjectId(projectId);
sysRelevanceProject.setRelevanceProjectId(Long.valueOf(relevanceProjectId));
relevanceProjectDao.insertSelective(sysRelevanceProject);
} }
SysRelevanceProject sysRelevanceProject = new SysRelevanceProject();
sysRelevanceProject.setId(snowflake.nextId());
sysRelevanceProject.setProjectId(projectId);
sysRelevanceProject.setRelevanceProjectId(Long.valueOf(relevanceProjectId));
relevanceProjectDao.insertSelective(sysRelevanceProject);
} }
} }
} }

70
tall/src/main/resources/application-test.yml

@ -1,35 +1,35 @@
server: server:
port: 7030 port: 7030
servlet: servlet:
context-path: /v1.0 context-path: /v1.0
spring: spring:
snowflake: snowflake:
datacenterId: 1 datacenterId: 1
workerId: 1 workerId: 1
application: application:
name: tall name: tall
datasource: datasource:
type: com.alibaba.druid.pool.DruidDataSource type: com.alibaba.druid.pool.DruidDataSource
rabbitmq: rabbitmq:
host: api.ccsens.com host: 127.0.0.1
password: 111111 password: 111111
port: 5672 port: 5672
username: admin username: admin
redis: redis:
database: 0 database: 0
host: 127.0.0.1 host: 127.0.0.1
jedis: jedis:
pool: pool:
max-active: 200 max-active: 200
max-idle: 10 max-idle: 10
max-wait: -1ms max-wait: -1ms
min-idle: 0 min-idle: 0
password: '' password: ''
port: 6379 port: 6379
timeout: 1000ms timeout: 1000ms
swagger: swagger:
enable: true enable: true
eureka: eureka:
instance: instance:
ip-address: 49.233.89.188 ip-address: 192.168.0.99
gatewayUrl: https://test.tall.wiki/gateway/ gatewayUrl: http://192.168.0.99/gateway/

64
tall/src/main/resources/druid-test.yml

@ -1,33 +1,33 @@
spring: spring:
datasource: datasource:
druid: druid:
connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
driverClassName: com.mysql.cj.jdbc.Driver driverClassName: com.mysql.cj.jdbc.Driver
dynamicUrl: jdbc:mysql://localhost:3306/${schema} dynamicUrl: jdbc:mysql://localhost:3306/${schema}
filterExclusions: '*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*' filterExclusions: '*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*'
filterName: druidFilter filterName: druidFilter
filterProfileEnable: true filterProfileEnable: true
filterUrlPattern: /* filterUrlPattern: /*
filters: stat,wall filters: stat,wall
initialSize: 5 initialSize: 5
maxActive: 20 maxActive: 20
maxPoolPreparedStatementPerConnectionSize: 20 maxPoolPreparedStatementPerConnectionSize: 20
maxWait: 60000 maxWait: 60000
minEvictableIdleTimeMillis: 300000 minEvictableIdleTimeMillis: 300000
minIdle: 5 minIdle: 5
password: password: 68073a279b399baa1fa12cf39bfbb65bfc1480ffee7b659ccc81cf19be8c4473
poolPreparedStatements: true poolPreparedStatements: true
servletLogSlowSql: true servletLogSlowSql: true
servletLoginPassword: 111111 servletLoginPassword: 111111
servletLoginUsername: druid servletLoginUsername: druid
servletName: druidServlet servletName: druidServlet
servletResetEnable: true servletResetEnable: true
servletUrlMapping: /druid/* servletUrlMapping: /druid/*
testOnBorrow: false testOnBorrow: false
testOnReturn: false testOnReturn: false
testWhileIdle: true testWhileIdle: true
timeBetweenEvictionRunsMillis: 60000 timeBetweenEvictionRunsMillis: 60000
url: jdbc:mysql://127.0.0.1/tall?useUnicode=true&characterEncoding=UTF-8 url: jdbc:mysql://49.233.89.188/tall?useUnicode=true&characterEncoding=UTF-8
username: root username: root
validationQuery: SELECT 1 FROM DUAL validationQuery: SELECT 1 FROM DUAL
env: CCSENS_TALL env: CCSENS_TALL

3
tall/src/main/resources/mapper_dao/ProTaskCommentDao.xml

@ -10,7 +10,8 @@
s.avatar_url as avatarUrl, s.avatar_url as avatarUrl,
c.task_sub_time_id as taskId, c.task_sub_time_id as taskId,
c.`time` as commentTime, c.`time` as commentTime,
c.description as description c.description as description,
if(c.user_id = #{userId},1,0) as mine
FROM FROM
`t_pro_task_comment` c left join t_sys_user s on c.user_id = s.id left join t_sys_auth a on s.id = a.user_id and a.identify_type = 3 `t_pro_task_comment` c left join t_sys_user s on c.user_id = s.id left join t_sys_auth a on s.id = a.user_id and a.identify_type = 3
WHERE WHERE

34
tall/src/main/resources/mapper_dao/SysProjectDao.xml

@ -377,7 +377,7 @@
(m.complated_status = 2 (m.complated_status = 2
or or
m.complated_status is null) m.complated_status is null)
GROUP BY st.id GROUP BY st.task_detail_id
) t on t.sTaskId = td.id ) t on t.sTaskId = td.id
WHERE WHERE
td.project_id = #{projectId} td.project_id = #{projectId}
@ -385,6 +385,38 @@
td.`level` in (2,3) td.`level` in (2,3)
</select> </select>
<select id="getOverviewByToDay" parameterType="java.util.Map" resultType="com.ccsens.tall.bean.vo.ChartVo$ProjectOverview">
SELECT
count(td.id) as today,
sum(t.isFinish) as todayCompleted
FROM
t_pro_task_detail td LEFT JOIN
(
SELECT
st.id as sId,
st.task_detail_id as sTaskId,
if(count(m.id)=0,FALSE,true) as isFinish,
if(count(m.id)>0
and m.real_finish_time &gt; st.begin_time
and m.real_finish_time &lt;= st.end_time,true,false) as completedOnTime
FROM
t_pro_task_sub_time st LEFT JOIN t_pro_sub_time_member m on st.id = m.task_sub_time_id
WHERE
(m.complated_status = 2
or
m.complated_status is null)
GROUP BY st.task_detail_id
) t on t.sTaskId = td.id
WHERE
td.project_id = #{projectId}
and
td.`level` in (2,3)
and
td.begin_time &lt; #{endTime}
and
td.end_time &gt; #{startTime}
</select>
<select id="getBurnoutFigure" parameterType="java.util.Map" resultType="com.ccsens.tall.bean.vo.ChartVo$BurnoutFigure"> <select id="getBurnoutFigure" parameterType="java.util.Map" resultType="com.ccsens.tall.bean.vo.ChartVo$BurnoutFigure">
SELECT SELECT

9
util/src/main/java/com/ccsens/util/DateUtil.java

@ -1,5 +1,6 @@
package com.ccsens.util; package com.ccsens.util;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.ccsens.util.exception.BaseException; import com.ccsens.util.exception.BaseException;
@ -153,10 +154,12 @@ public class DateUtil extends cn.hutool.core.date.DateUtil {
calendar.set(Calendar.MILLISECOND, 0); calendar.set(Calendar.MILLISECOND, 0);
return calendar.getTime().getTime(); return calendar.getTime().getTime();
} }
//
// public static void main(String[] args) throws Exception { // public static void main(String[] args) throws Exception {
// // DateTime endTime = cn.hutool.core.date.DateUtil.endOfDay(new Date());
// System.out.println(getZeroTime(new Date())); // DateTime beginTime = cn.hutool.core.date.DateUtil.beginOfDay(new Date());
// System.out.println(endTime);
// System.out.println(beginTime);
// } // }
} }

32
util/src/main/java/com/ccsens/util/StringUtil.java

@ -59,21 +59,21 @@ public class StringUtil {
return matcher.matches(); return matcher.matches();
} }
public static void main(String[] args) { // public static void main(String[] args) {
// matchSingle("每天5分", MINUTE_REGEXP); //// matchSingle("每天5分", MINUTE_REGEXP);
////
//// String[] split = "a至b".split("[到\\-至]");
//// for (String s: split) {
//// System.out.println("split:" + s);
//// }
//// System.out.println(isMatch("3到5",CONTINUE_RANGE));
//// System.out.println("------------------------------------------------" + (null + "hello wold"));
//// match("3-5小时", "(每隔?\\d*小?时)|(\\d+\\-\\d+小?时)|(\\d*点)|(\\d*时)");
// //
// String[] split = "a至b".split("[到\\-至]"); //// System.out.println(isMatch("每周一5点", EVERY_WEEK_MORE));
// for (String s: split) { //// System.out.println(isMatch("每周5点", EVERY_WEEK_MORE));
// System.out.println("split:" + s); // System.out.println(matchSingle("第一百零三个", CHINESE_NUM));
// } // }
// System.out.println(isMatch("3到5",CONTINUE_RANGE));
// System.out.println("------------------------------------------------" + (null + "hello wold"));
// match("3-5小时", "(每隔?\\d*小?时)|(\\d+\\-\\d+小?时)|(\\d*点)|(\\d*时)");
// System.out.println(isMatch("每周一5点", EVERY_WEEK_MORE));
// System.out.println(isMatch("每周5点", EVERY_WEEK_MORE));
System.out.println(matchSingle("第一百零三个", CHINESE_NUM));
}
@ -235,7 +235,9 @@ public class StringUtil {
} }
// public static void main(String[] args) { // public static void main(String[] args) {
// List<String> list = extractMessage(""); // String a = "员工成长(112333)";
//
// List<String> list = extractMessage(a);
// for(String s : list){ // for(String s : list){
// System.out.println(s); // System.out.println(s);
// } // }

Loading…
Cancel
Save