|
|
@@ -3,6 +3,7 @@ package com.fs.company.service.impl;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.fs.common.core.redis.RedisCache;
|
|
|
import com.fs.common.exception.base.BaseException;
|
|
|
@@ -56,6 +57,8 @@ public class CompanyTrafficRecordServiceImpl extends ServiceImpl<CompanyTrafficR
|
|
|
|
|
|
@Autowired
|
|
|
private ICompanyTrafficRecordLogService companyTrafficRecordLogService;
|
|
|
+ @Autowired
|
|
|
+ private CompanyTrafficRecordMapper companyTrafficRecordMapper;
|
|
|
|
|
|
@Autowired
|
|
|
private FsCourseTrafficLogMapper fsCourseTrafficLogMapper;
|
|
|
@@ -103,14 +106,15 @@ public class CompanyTrafficRecordServiceImpl extends ServiceImpl<CompanyTrafficR
|
|
|
@Override
|
|
|
public void refreshTraffic() {
|
|
|
log.info("【定时更新流量】:{}", "开始");
|
|
|
- List<CompanyTrafficRecord> companyTrafficRecords = baseMapper.selectList(new LambdaQueryWrapper<>());
|
|
|
- for (CompanyTrafficRecord companyTrafficRecord : companyTrafficRecords) {
|
|
|
- doReduce(companyTrafficRecord);
|
|
|
+ List<Company> companyList = companyService.selectCompanyList(new Company());
|
|
|
+// List<CompanyTrafficRecord> companyTrafficRecords = baseMapper.selectList(new LambdaQueryWrapper<>());
|
|
|
+ for (Company company : companyList) {
|
|
|
+ doReduce(company);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//通过redis更新表流量并添加扣除日志
|
|
|
- private void doReduce(CompanyTrafficRecord companyTrafficRecord) {
|
|
|
+ private void doReduce(Company company) {
|
|
|
LocalDateTime now = LocalDateTime.now();
|
|
|
// 获取上一个小时的开始时间
|
|
|
LocalDateTime startTime = now.minusHours(1)
|
|
|
@@ -120,6 +124,18 @@ public class CompanyTrafficRecordServiceImpl extends ServiceImpl<CompanyTrafficR
|
|
|
LocalDateTime endTime = startTime
|
|
|
.withMinute(59)
|
|
|
.withSecond(59);
|
|
|
+ CompanyTrafficRecord companyTrafficRecord = companyTrafficRecordMapper.selectOne(new QueryWrapper<CompanyTrafficRecord>().eq("company_id", company.getCompanyId()));
|
|
|
+ if(companyTrafficRecord == null){
|
|
|
+ companyTrafficRecord = new CompanyTrafficRecord();
|
|
|
+ companyTrafficRecord.setBalance(0L);
|
|
|
+ companyTrafficRecord.setCompanyId(company.getCompanyId());
|
|
|
+ companyTrafficRecord.setDeptId(company.getDeptId());
|
|
|
+ companyTrafficRecord.setCompanyName(company.getCompanyName());
|
|
|
+ companyTrafficRecord.setCreateTime(new Date());
|
|
|
+ companyTrafficRecord.setCreateBy(company.getUserId());
|
|
|
+ companyTrafficRecord.setDeptId(company.getDeptId());
|
|
|
+ baseMapper.insert(companyTrafficRecord);
|
|
|
+ }
|
|
|
//根据fs_course_traffic_log表获取公司昨天流量
|
|
|
Long trafficAmountYesterday = fsCourseTrafficLogMapper.sumTrafficByCompanyYesterday(companyTrafficRecord.getCompanyId(), DateUtil.formatLocalDateTime(startTime), DateUtil.formatLocalDateTime(endTime));
|
|
|
if (trafficAmountYesterday != null && trafficAmountYesterday > 0) {
|