diff --git a/src/main/java/com/example/demo/mapper/ConsumeMapper.java b/src/main/java/com/example/demo/mapper/ConsumeMapper.java
index 8c4998e..062821a 100644
--- a/src/main/java/com/example/demo/mapper/ConsumeMapper.java
+++ b/src/main/java/com/example/demo/mapper/ConsumeMapper.java
@@ -53,9 +53,9 @@ public interface ConsumeMapper {
// "`detail_flag`=1 AND update_type = '1'",
"update_type=1",
"and detail_y.jwcode =#{jwcode}",
- "and product.name = #{productName}",
- "and detail_y.consume_platform=#{consumePlatform}",
- "and detail_y.consume_type= #{consumeType}",
+ "and product.name = #{productName}",
+ "and detail_y.consume_platform=#{consumePlatform}",
+ "and detail_y.consume_type= #{consumeType}",
"AND detail_y.create_time BETWEEN #{startDate} AND #{endDate}",
"",
"ORDER BY detail_y.create_time DESC",
diff --git a/src/main/java/com/example/demo/mapper/StatisticsMapper.java b/src/main/java/com/example/demo/mapper/StatisticsMapper.java
index e51da67..4de49d0 100644
--- a/src/main/java/com/example/demo/mapper/StatisticsMapper.java
+++ b/src/main/java/com/example/demo/mapper/StatisticsMapper.java
@@ -259,8 +259,14 @@ public interface StatisticsMapper {
- @Select({"select DATE_FORMAT(create_time,'%Y-%m-%d') as day,sum(recharge_coin) AS rechargeSumCoin,sum(free_coin) as freeSumCoin ,sum(task_coin) as taskSumCoin " +
- "from detail_y where create_time=#{searchEndTime} and update_type = 0 group by DATE_FORMAT(create_time,'%m-%d')"
+ @Select({"SELECT DATE_FORMAT(create_time, '%Y-%m-%d') AS day,",
+ "IFNULL(SUM(recharge_coin), 0) AS rechargeSumCoin,",
+ "IFNULL(SUM(free_coin), 0) AS freeSumCoin,",
+ "IFNULL(SUM(task_coin), 0) AS taskSumCoin",
+ "FROM detail_y",
+ "WHERE DATE(create_time) = #{searchEndTime}",
+ "AND update_type = #{updateType}",
+ "GROUP BY DATE_FORMAT(create_time, '%Y-%m-%d')"
})
List getMediuPayCoinday(@Param("searchEndTime") Date searchEndTime, @Param("updateType") Integer updateType);
@@ -444,7 +450,7 @@ public interface StatisticsMapper {
" SUM(d.task_coin) AS taskSumCoin,",
" (SUM(d.recharge_coin) +SUM(d.free_coin) +SUM(d.task_coin)) AS totalRechargeSum",
"FROM detail_y d",
- "left JOIN user u ON u.jwcode = d.jwcode",
+ "left JOIN user u ON u.jwcode = d.jwcode ",
"WHERE update_type = 0 ",
"",
"AND DATE(d.create_time) BETWEEN DATE(#{searchStartTime}) AND DATE(#{searchEndTime})",
@@ -480,7 +486,7 @@ public interface StatisticsMapper {
" SUM(d.task_coin) AS taskSumCoin,",
" (SUM(d.recharge_coin) + SUM(d.free_coin) +SUM(d.task_coin)) AS totalRechargeSum",
"FROM detail_y d",
- "left JOIN user u ON u.jwcode = d.jwcode",
+ "left JOIN user u ON u.jwcode = d.jwcode and u.name=d.username",
"WHERE update_type = 1 ",
"",
"AND DATE(d.create_time) BETWEEN DATE(#{searchStartTime}) AND DATE(#{searchEndTime})",
diff --git a/src/main/java/com/example/demo/serviceImpl/ActivityServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/ActivityServiceImpl.java
index 9200c23..1d4827c 100644
--- a/src/main/java/com/example/demo/serviceImpl/ActivityServiceImpl.java
+++ b/src/main/java/com/example/demo/serviceImpl/ActivityServiceImpl.java
@@ -8,6 +8,7 @@ import com.example.demo.sevice.ActivityService;
import com.github.pagehelper.PageHelper;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.cache.CacheManager;
import org.springframework.cache.annotation.CacheConfig;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.Cacheable;
@@ -25,6 +26,8 @@ public class ActivityServiceImpl implements ActivityService {
@Autowired
ActivityMapper activityMapper;
+ @Autowired
+ private CacheManager cacheManager;
@Override
@CacheEvict(value = {"activity"}, allEntries = true)
@@ -44,7 +47,7 @@ public class ActivityServiceImpl implements ActivityService {
return activityMapper.select(activity);
}
- @Cacheable(key="#root.method.name + ':'+ #pageNum + '-' + #pageSize + '-' + #activity.hashCode() ")
+ @CacheEvict(value = {"activity"}, allEntries = true)
@Override
public PageInfo searchForPage(Integer pageNum, Integer pageSize, Activity activity) {
// PageHelper.startPage(pageNum, pageSize);
@@ -70,6 +73,7 @@ public class ActivityServiceImpl implements ActivityService {
// 保存修改后的对象
activityMapper.edit(activity1);
+
});
return new PageInfo<>(list);
}
diff --git a/src/main/java/com/example/demo/serviceImpl/StatisticsServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/StatisticsServiceImpl.java
index 2ee1323..a6f2c4d 100644
--- a/src/main/java/com/example/demo/serviceImpl/StatisticsServiceImpl.java
+++ b/src/main/java/com/example/demo/serviceImpl/StatisticsServiceImpl.java
@@ -10,6 +10,7 @@ import com.example.demo.domain.vo.Statistics;
import com.example.demo.domain.vo.Statisticss;
import com.example.demo.domain.vo.SumCoin;
import com.example.demo.mapper.StatisticsMapper;
+import com.example.demo.mapper.UserMapper;
import com.example.demo.sevice.StatisticsService;
import lombok.RequiredArgsConstructor;
import org.apache.ibatis.annotations.Param;
@@ -31,6 +32,7 @@ import java.util.List;
@CacheConfig(cacheNames = "statistics")
public class StatisticsServiceImpl implements StatisticsService {
private final StatisticsMapper statisticsMapper;
+ private final UserMapper userMapper;
@Cacheable(key = "#root.method.name")
@Override
@@ -183,22 +185,23 @@ public class StatisticsServiceImpl implements StatisticsService {
@Override
public List getMee(Meium meium) {
List result = new ArrayList<>();
+ List regionsFromDb = userMapper.selectArea();
- // 预定义所有十二个地区
- List allRegions = Arrays.asList("新加坡", "马来西亚", "香港", "泰国", "加拿大", "越南HCM", "公司", "市场部", "研发部", "深圳运营", "韩国");
+ // 创建一个动态列表
+ List allRegions = new ArrayList<>(regionsFromDb);
Date searchStartTime = meium.getSearchStartTime();
Date searchEndTime = meium.getSearchEndTime();
Integer updateType = meium.getUpdateType();
- // 如果开始时间和结束时间都为空,则直接返回默认统计结果,即全查
- if (searchStartTime == null && searchEndTime == null) {
- if (0 == updateType) {
- return statisticsMapper.getBuy(searchStartTime, searchEndTime);
- } else if (1 == updateType) {
- return statisticsMapper.getPay(searchStartTime, searchEndTime);
+ // 如果开始时间和结束时间都为空,则直接返回默认统计结果,即全查
+ if (searchStartTime == null && searchEndTime == null) {
+ if (0 == updateType) {
+ return statisticsMapper.getBuy(searchStartTime, searchEndTime);
+ } else if (1 == updateType) {
+ return statisticsMapper.getPay(searchStartTime, searchEndTime);
+ }
}
- }
// 获取日期范围内的所有日期
@@ -460,6 +463,7 @@ public class StatisticsServiceImpl implements StatisticsService {
// 计算两个时间点之间的天数差异
long diffInMillies = endCal.getTimeInMillis() - startCal.getTimeInMillis();
long daysBetween = TimeUnit.DAYS.convert(diffInMillies, TimeUnit.MILLISECONDS);
+ System.out.println(daysBetween + "-------daysBetween----");
// 根据条件选择查询方法
List result = new ArrayList<>();