123
This commit is contained in:
@@ -3,6 +3,8 @@ package com.ruoyi.cai.service;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.ruoyi.cai.domain.DayIncomeStatistics;
|
||||
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* 每日账单统计Service接口
|
||||
*
|
||||
@@ -11,4 +13,5 @@ import com.ruoyi.cai.domain.DayIncomeStatistics;
|
||||
*/
|
||||
public interface DayIncomeStatisticsService extends IService<DayIncomeStatistics> {
|
||||
|
||||
void refreshByDate(LocalDate date);
|
||||
}
|
||||
|
||||
@@ -1,11 +1,25 @@
|
||||
package com.ruoyi.cai.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.ruoyi.cai.controller.admin.incomeStatis.AccountCashCountDTO;
|
||||
import com.ruoyi.cai.controller.admin.incomeStatis.RechargeOrderCountDTO;
|
||||
import com.ruoyi.cai.controller.admin.incomeStatis.VipOrderCountDTO;
|
||||
import com.ruoyi.cai.domain.DayIncomeStatistics;
|
||||
import com.ruoyi.cai.mapper.AccountCashMapper;
|
||||
import com.ruoyi.cai.mapper.DayIncomeStatisticsMapper;
|
||||
import com.ruoyi.cai.mapper.RechargeOrderMapper;
|
||||
import com.ruoyi.cai.mapper.VipOrderMapper;
|
||||
import com.ruoyi.cai.service.DayIncomeStatisticsService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalTime;
|
||||
import java.util.concurrent.locks.ReentrantLock;
|
||||
|
||||
/**
|
||||
* 每日账单统计Service业务层处理
|
||||
*
|
||||
@@ -15,4 +29,47 @@ import org.springframework.stereotype.Service;
|
||||
@Service
|
||||
public class DayIncomeStatisticsServiceImpl extends ServiceImpl<DayIncomeStatisticsMapper,DayIncomeStatistics> implements DayIncomeStatisticsService {
|
||||
|
||||
@Resource
|
||||
private RechargeOrderMapper rechargeOrderMapper;
|
||||
@Resource
|
||||
private VipOrderMapper vipOrderMapper;
|
||||
@Resource
|
||||
private AccountCashMapper accountCashMapper;
|
||||
|
||||
@Override
|
||||
public void refreshByDate(LocalDate date){
|
||||
LocalDateTime startTime = date.atTime(LocalTime.MIN);
|
||||
LocalDateTime endTime = date.atTime(LocalTime.MAX);
|
||||
DayIncomeStatistics one = this.getOne(Wrappers.lambdaQuery(DayIncomeStatistics.class).eq(DayIncomeStatistics::getDate, date));
|
||||
if(one == null){
|
||||
ReentrantLock lock = new ReentrantLock();
|
||||
try {
|
||||
one = this.getOne(Wrappers.lambdaQuery(DayIncomeStatistics.class).eq(DayIncomeStatistics::getDate, date));
|
||||
if(one == null){
|
||||
one = new DayIncomeStatistics();
|
||||
one.setDate(date);
|
||||
this.save(one);
|
||||
lock.lock();
|
||||
}
|
||||
}finally {
|
||||
lock.unlock();
|
||||
}
|
||||
}
|
||||
RechargeOrderCountDTO recharge = rechargeOrderMapper.incomeStatistics(startTime,endTime);
|
||||
VipOrderCountDTO vip = vipOrderMapper.incomeStatistics(startTime,endTime);
|
||||
AccountCashCountDTO cash = accountCashMapper.incomeStatistics(startTime,endTime);
|
||||
one = new DayIncomeStatistics();
|
||||
one.setExpInMoney(recharge.getExpInMoney()==null? BigDecimal.ZERO:recharge.getExpInMoney());
|
||||
one.setOrderCount(recharge.getOrderCount()==null?0:recharge.getOrderCount());
|
||||
one.setOutMoney(cash.getCashMoney()==null?BigDecimal.ZERO:cash.getCashMoney());
|
||||
one.setCashCount(cash.getCashCount()==null?0:cash.getCashCount());
|
||||
one.setVipInMoney(vip.getVipMoney()==null?BigDecimal.ZERO:vip.getVipMoney());
|
||||
one.setVipCount(vip.getVipCount()==null?0:vip.getVipCount());
|
||||
one.setModifyCoinAdd(recharge.getModifyCoinAdd()==null?0:recharge.getModifyCoinAdd());
|
||||
one.setModifyCoinSub(recharge.getModifyCoinSub()==null?0:recharge.getModifyCoinSub());
|
||||
one.setModifyIncomeAdd(recharge.getModifyIncomeAdd()==null?0:recharge.getModifyIncomeAdd());
|
||||
one.setModifyIncomeSub(recharge.getModifyIncomeSub()==null?0:recharge.getModifyIncomeSub());
|
||||
this.updateById(one);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -44,8 +44,8 @@ public class LowHeightRiskServiceImpl extends ServiceImpl<LowHeightRiskMapper, L
|
||||
if(one == null){
|
||||
one = new LowHeightRisk();
|
||||
one.setUserId(log.getUserId());
|
||||
this.save(one);
|
||||
}
|
||||
this.save(one);
|
||||
}finally {
|
||||
lock.unlock();
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.ruoyi.cai.service.impl;
|
||||
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
@@ -149,11 +150,13 @@ public class RechargeOrderServiceImpl extends ServiceImpl<RechargeOrderMapper,Re
|
||||
order.setUserId(userId);
|
||||
order.setRechargeName(accountTypeEnum == AccountTypeEnum.COIN ? "余额调整" : "收益调整");
|
||||
order.setRechargeCoin(dto.getRechargeCoin());
|
||||
order.setPrice(BigDecimal.ZERO);
|
||||
BigDecimal price = NumberUtil.div(dto.getRechargeCoin(), Long.valueOf(100L), 2);
|
||||
order.setPrice(price);
|
||||
order.setRechargeType(dto.getRechargeType());
|
||||
order.setOrderNo(OrderNoUtil.createOrderNo(OrderTypeEnum.RECHARGE_ORDER_SUB));
|
||||
order.setPlatformType(PlatformTypeEnum.ADMIN.name());
|
||||
order.setPlatformType(PlatformTypeEnum.ADMIN.getCode());
|
||||
order.setPayStatus(PayStatusEnum.NO_PAY.getCode());
|
||||
order.setPayTime(LocalDateTime.now());
|
||||
order.setOperateIp(ServletUtils.getClientIP());
|
||||
order.setAdmin(true);
|
||||
order.setAdminId(LoginHelper.getUserId());
|
||||
|
||||
Reference in New Issue
Block a user