🐛 fix bug

This commit is contained in:
devad 2023-08-28 11:30:09 +08:00
parent d3a7d72ba5
commit 22c40a8b26
7 changed files with 74 additions and 47 deletions

View File

@ -5,7 +5,7 @@ LABEL stage=javabuilder
COPY pom.xml ./ COPY pom.xml ./
COPY src ./src COPY src ./src
RUN mvn clean install -Dmaven.test.skip=true RUN mvn clean install -Dmaven.test.skip=true -Ptest

24
pom.xml
View File

@ -101,5 +101,29 @@
</plugin> </plugin>
</plugins> </plugins>
</build> </build>
<profiles>
<profile>
<id>dev</id>
<properties>
<profiles.active>dev</profiles.active>
</properties>
</profile>
<profile>
<id>test</id>
<properties>
<profiles.active>test</profiles.active>
</properties>
<activation>
<!-- 默认环境 -->
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>prod</id>
<properties>
<profiles.active>prod</profiles.active>
</properties>
</profile>
</profiles>
</project> </project>

View File

@ -10,6 +10,7 @@ import net.jointcloud.market.domain.vo.ConsumerStatisticsVo;
import net.jointcloud.market.domain.vo.ProvideVo; import net.jointcloud.market.domain.vo.ProvideVo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
@ -35,6 +36,6 @@ public interface ProvideMapper extends BaseMapper<ProvideEntity> {
IPage<ProvideVo> selectPriceFirst(Page<?> page, @Param("provideReq") ProvideReq provideReq); IPage<ProvideVo> selectPriceFirst(Page<?> page, @Param("provideReq") ProvideReq provideReq);
List<ConsumerStatisticsVo> dailyStatic(@Param("bDate") DateTime bDate, @Param("eDate") DateTime eDate); List<ConsumerStatisticsVo> dailyStatic(@Param("bDate") Date bDate, @Param("eDate") Date eDate);
} }

View File

@ -1,7 +1,6 @@
package net.jointcloud.market.service.impl; package net.jointcloud.market.service.impl;
import cn.hutool.core.date.DateField; import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
@ -59,16 +58,17 @@ public class ProvideServiceImpl extends ServiceImpl<ProvideMapper, ProvideEntity
@Override @Override
public List<ConsumerStatisticsVo> dailyStatic() { public List<ConsumerStatisticsVo> dailyStatic() {
Date today = new Date(); Date today = new Date();
// 获取当天所有的小时集合 // 获取时间差内所有的小时集合
List<DateTime> lDate = DateUtil.rangeToList(DateUtil.beginOfDay(today), DateUtil.endOfDay(today), DateField.HOUR_OF_DAY); DateTime dateTime = DateUtil.offset(DateUtil.date(), DateField.HOUR_OF_DAY, -23);
List<DateTime> lDate = DateUtil.rangeToList(dateTime, today, DateField.HOUR_OF_DAY);
if (CollectionUtils.isEmpty(lDate)) { if (CollectionUtils.isEmpty(lDate)) {
log.error("获取当天所有的小时集合失败!"); log.error("获取当天所有的小时集合失败!");
throw new OutOfBusinessException("服务器繁忙请稍后"); throw new OutOfBusinessException("服务器繁忙请稍后");
} }
List<ConsumerStatisticsVo> voList = provideMapper.dailyStatic(DateUtil.beginOfDay(today), DateUtil.endOfDay(today)); List<ConsumerStatisticsVo> voList = provideMapper.dailyStatic(DateUtil.offset(DateUtil.date(), DateField.DAY_OF_YEAR, -1), today);
for (Date date : lDate) { for (Date date : lDate) {
// 当前日期不存在则新增 // 当前日期不存在则新增
String dateStr = DateUtil.format(date, "HH"); String dateStr = DateUtil.format(date, "yyyy-MM-dd HH");
// 进行匹配 // 进行匹配
if (voList.stream().noneMatch(item -> dateStr.equals(item.getDate()))) { if (voList.stream().noneMatch(item -> dateStr.equals(item.getDate()))) {
ConsumerStatisticsVo vo = ConsumerStatisticsVo.builder() ConsumerStatisticsVo vo = ConsumerStatisticsVo.builder()

View File

@ -0,0 +1,38 @@
server:
port: 8015
spring:
servlet:
multipart:
max-file-size: 1024MB
max-request-size: 1024MB
enabled: true
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/shaoguan?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
username: root
password: uJpLd6u-J?HC1
redis:
host: 127.0.0.1
database: 0
timeout: 5000ms # 连接超时时间(毫秒)
lettuce:
pool:
max-active: 16
max-idle: 12
max-wait: 5s
min-idle: 0
time-between-eviction-runs: 1s
logging:
level:
net.jointcloud.market: debug
config: classpath:logback-jcc.xml
file:
path: logs/@project.name@-@project.version@
mybatis-plus:
global-config:
db-config:
logic-delete-field: flag # 全局逻辑删除的实体字段名(since 3.3.0,配置后可以忽略不配置步骤2)
logic-delete-value: 1 # 逻辑已删除值(默认为 1)
logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)

View File

@ -1,39 +1,3 @@
server:
port: 8015
spring: spring:
servlet: profiles:
multipart: active: @profiles.active@
max-file-size: 1024MB
max-request-size: 1024MB
enabled: true
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://10.206.0.12:3306/shaoguan?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
username: root
password: uJpLd6u-J?HC1
redis:
host: 10.206.0.7
password: redisPW123
database: 0
timeout: 5000ms # 连接超时时间(毫秒)
lettuce:
pool:
max-active: 16
max-idle: 12
max-wait: 5s
min-idle: 0
time-between-eviction-runs: 1s
logging:
level:
net.jointcloud.market: debug
config: classpath:logback-jcc.xml
file:
path: logs/@project.name@-@project.version@
mybatis-plus:
global-config:
db-config:
logic-delete-field: flag # 全局逻辑删除的实体字段名(since 3.3.0,配置后可以忽略不配置步骤2)
logic-delete-value: 1 # 逻辑已删除值(默认为 1)
logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)

View File

@ -118,14 +118,14 @@
SELECT t.date, SELECT t.date,
sum(t.consumerCount) AS consumerCount, sum(t.consumerCount) AS consumerCount,
sum(t.provideCount) AS provideCount sum(t.provideCount) AS provideCount
from (SELECT DATE_FORMAT(create_time, '%H') as date, from (SELECT DATE_FORMAT(create_time, '%Y-%m-%d %H') as date,
count(c.id) as consumerCount, count(c.id) as consumerCount,
0 AS provideCount 0 AS provideCount
FROM consumer c FROM consumer c
where c.create_time BETWEEN #{bDate} AND #{eDate} where c.create_time BETWEEN #{bDate} AND #{eDate}
GROUP BY date GROUP BY date
UNION ALL UNION ALL
SELECT DATE_FORMAT(create_time, '%H') as date, SELECT DATE_FORMAT(create_time, '%Y-%m-%d %H') as date,
0 as consumerCount, 0 as consumerCount,
count(p.id) AS provideCount count(p.id) AS provideCount
FROM provide p FROM provide p