This commit is contained in:
张良(004796)
2024-01-22 14:53:05 +08:00
parent 90d961d11d
commit 73a8977676
18 changed files with 197 additions and 8 deletions

View File

@@ -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);
}

View File

@@ -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);
}
}

View File

@@ -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();
}

View File

@@ -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());