Browse Source

后端整合模块

detached
huangqizhen 4 months ago
parent
commit
4b1a8f4c5e
  1. 6
      src/main/java/com/example/demo/mapper/ConsumeMapper.java
  2. 14
      src/main/java/com/example/demo/mapper/StatisticsMapper.java
  3. 6
      src/main/java/com/example/demo/serviceImpl/ActivityServiceImpl.java
  4. 22
      src/main/java/com/example/demo/serviceImpl/StatisticsServiceImpl.java

6
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",
"<if test='jwcode!=null'>and detail_y.jwcode =#{jwcode}</if>",
"<if test='productName!=null'>and product.name = #{productName}</if>",
"<if test='consumePlatform!=null'>and detail_y.consume_platform=#{consumePlatform}</if>",
"<if test='consumeType!=null'>and detail_y.consume_type= #{consumeType}</if>",
"<if test='productName!=null and productName.length>0'>and product.name = #{productName}</if>",
"<if test='consumePlatform!=null and consumePlatform.length>0'>and detail_y.consume_platform=#{consumePlatform}</if>",
"<if test='consumeType!=null and consumeType.length>0'>and detail_y.consume_type= #{consumeType}</if>",
"<if test='startDate != null and endDate != null'>AND detail_y.create_time BETWEEN #{startDate} AND #{endDate}</if>",
"</where>",
"ORDER BY detail_y.create_time DESC",

14
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<SumCoin> 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 ",
"<if test='searchStartTime != null and searchEndTime != null'>",
"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 ",
"<if test='searchStartTime != null and searchEndTime != null'>",
"AND DATE(d.create_time) BETWEEN DATE(#{searchStartTime}) AND DATE(#{searchEndTime})",

6
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<Activity> 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);
}

22
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<Meium> getMee(Meium meium) {
List<Meium> result = new ArrayList<>();
List<String> regionsFromDb = userMapper.selectArea();
// 预定义所有十二个地区
List<String> allRegions = Arrays.asList("新加坡", "马来西亚", "香港", "泰国", "加拿大", "越南HCM", "公司", "市场部", "研发部", "深圳运营", "韩国");
// 创建一个动态列表
List<String> 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<SumCoin> result = new ArrayList<>();

Loading…
Cancel
Save