123
This commit is contained in:
@@ -0,0 +1,11 @@
|
|||||||
|
package com.ruoyi.cai.controller.admin.incomeStatis;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class AccountCashCountDTO {
|
||||||
|
private BigDecimal cashMoney;
|
||||||
|
private Integer cashCount;
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package com.ruoyi.cai.controller.admin.incomeStatis;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class RechargeOrderCountDTO {
|
||||||
|
private Long modifyCoinAdd;
|
||||||
|
private Long modifyCoinSub;
|
||||||
|
private Long modifyIncomeAdd;
|
||||||
|
private Long modifyIncomeSub;
|
||||||
|
private BigDecimal expInMoney;
|
||||||
|
private Integer orderCount;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
package com.ruoyi.cai.controller.admin.incomeStatis;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class VipOrderCountDTO {
|
||||||
|
private Integer vipCount;
|
||||||
|
private BigDecimal vipMoney;
|
||||||
|
}
|
||||||
@@ -6,11 +6,11 @@ import com.baomidou.mybatisplus.annotation.TableName;
|
|||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import com.ruoyi.common.constant.DateConstant;
|
import com.ruoyi.common.constant.DateConstant;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import org.joda.time.LocalDate;
|
|
||||||
import org.springframework.format.annotation.DateTimeFormat;
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -0,0 +1,25 @@
|
|||||||
|
package com.ruoyi.cai.job;
|
||||||
|
|
||||||
|
import com.ruoyi.cai.service.DayIncomeStatisticsService;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.scheduling.annotation.Scheduled;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
|
|
||||||
|
@Component
|
||||||
|
@Slf4j
|
||||||
|
public class IncomeStatisticsJob {
|
||||||
|
@Autowired
|
||||||
|
private DayIncomeStatisticsService dayIncomeStatisticsService;
|
||||||
|
@Scheduled(cron = "0 0/6 * * * ? *")
|
||||||
|
public void persistentDb() {
|
||||||
|
try {
|
||||||
|
dayIncomeStatisticsService.refreshByDate(LocalDate.now());
|
||||||
|
}catch (Exception e){
|
||||||
|
log.error("保存昨日收益统计失败!",e);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.ruoyi.cai.job;
|
package com.ruoyi.cai.job;
|
||||||
|
|
||||||
|
import com.ruoyi.cai.service.DayIncomeStatisticsService;
|
||||||
import com.ruoyi.cai.service.RankService;
|
import com.ruoyi.cai.service.RankService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@@ -16,6 +17,8 @@ public class RankJob {
|
|||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private RankService rankService;
|
private RankService rankService;
|
||||||
|
@Autowired
|
||||||
|
private DayIncomeStatisticsService dayIncomeStatisticsService;
|
||||||
|
|
||||||
@Scheduled(cron = "0 1 0 * * ? ")
|
@Scheduled(cron = "0 1 0 * * ? ")
|
||||||
public void persistentDb() {
|
public void persistentDb() {
|
||||||
@@ -57,6 +60,11 @@ public class RankJob {
|
|||||||
log.error("保存邀请 月榜失败", e);
|
log.error("保存邀请 月榜失败", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
try {
|
||||||
|
dayIncomeStatisticsService.refreshByDate(date);
|
||||||
|
}catch (Exception e){
|
||||||
|
log.error("保存昨日收益统计失败!",e);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,10 +2,13 @@ package com.ruoyi.cai.mapper;
|
|||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.ruoyi.cai.controller.admin.incomeStatis.AccountCashCountDTO;
|
||||||
import com.ruoyi.cai.domain.AccountCash;
|
import com.ruoyi.cai.domain.AccountCash;
|
||||||
import com.ruoyi.cai.dto.admin.vo.AccountCashAdminVo;
|
import com.ruoyi.cai.dto.admin.vo.AccountCashAdminVo;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户提现记录Mapper接口
|
* 用户提现记录Mapper接口
|
||||||
*
|
*
|
||||||
@@ -15,4 +18,6 @@ import org.apache.ibatis.annotations.Param;
|
|||||||
public interface AccountCashMapper extends BaseMapper<AccountCash> {
|
public interface AccountCashMapper extends BaseMapper<AccountCash> {
|
||||||
|
|
||||||
Page<AccountCashAdminVo> pageAdmin(@Param("build") Page<Object> build, @Param("bo") AccountCashAdminVo bo);
|
Page<AccountCashAdminVo> pageAdmin(@Param("build") Page<Object> build, @Param("bo") AccountCashAdminVo bo);
|
||||||
|
|
||||||
|
AccountCashCountDTO incomeStatistics(@Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
package com.ruoyi.cai.mapper;
|
package com.ruoyi.cai.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.ruoyi.cai.domain.DayIncomeStatistics;
|
import com.ruoyi.cai.domain.DayIncomeStatistics;
|
||||||
import com.ruoyi.cai.domain.vo.DayIncomeStatisticsVo;
|
|
||||||
import com.ruoyi.common.core.mapper.BaseMapperPlus;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 每日账单统计Mapper接口
|
* 每日账单统计Mapper接口
|
||||||
@@ -10,6 +9,6 @@ import com.ruoyi.common.core.mapper.BaseMapperPlus;
|
|||||||
* @author 77
|
* @author 77
|
||||||
* @date 2024-01-22
|
* @date 2024-01-22
|
||||||
*/
|
*/
|
||||||
public interface DayIncomeStatisticsMapper extends BaseMapperPlus<DayIncomeStatisticsMapper, DayIncomeStatistics, DayIncomeStatisticsVo> {
|
public interface DayIncomeStatisticsMapper extends BaseMapper<DayIncomeStatistics> {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,10 +2,13 @@ package com.ruoyi.cai.mapper;
|
|||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.ruoyi.cai.controller.admin.incomeStatis.RechargeOrderCountDTO;
|
||||||
import com.ruoyi.cai.domain.RechargeOrder;
|
import com.ruoyi.cai.domain.RechargeOrder;
|
||||||
import com.ruoyi.cai.dto.admin.vo.RechargeOrderAdminVo;
|
import com.ruoyi.cai.dto.admin.vo.RechargeOrderAdminVo;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 充值订单Mapper接口
|
* 充值订单Mapper接口
|
||||||
*
|
*
|
||||||
@@ -15,4 +18,6 @@ import org.apache.ibatis.annotations.Param;
|
|||||||
public interface RechargeOrderMapper extends BaseMapper<RechargeOrder> {
|
public interface RechargeOrderMapper extends BaseMapper<RechargeOrder> {
|
||||||
|
|
||||||
Page<RechargeOrderAdminVo> pageAdmin(@Param("build") Page<Object> build, @Param("bo") RechargeOrderAdminVo bo);
|
Page<RechargeOrderAdminVo> pageAdmin(@Param("build") Page<Object> build, @Param("bo") RechargeOrderAdminVo bo);
|
||||||
|
|
||||||
|
RechargeOrderCountDTO incomeStatistics(@Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,10 +2,13 @@ package com.ruoyi.cai.mapper;
|
|||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.ruoyi.cai.controller.admin.incomeStatis.VipOrderCountDTO;
|
||||||
import com.ruoyi.cai.domain.VipOrder;
|
import com.ruoyi.cai.domain.VipOrder;
|
||||||
import com.ruoyi.cai.dto.admin.vo.VipOrderAdminVo;
|
import com.ruoyi.cai.dto.admin.vo.VipOrderAdminVo;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* VIP订单Mapper接口
|
* VIP订单Mapper接口
|
||||||
*
|
*
|
||||||
@@ -15,4 +18,6 @@ import org.apache.ibatis.annotations.Param;
|
|||||||
public interface VipOrderMapper extends BaseMapper<VipOrder> {
|
public interface VipOrderMapper extends BaseMapper<VipOrder> {
|
||||||
|
|
||||||
Page<VipOrderAdminVo> pageAdmin(@Param("build") Page<Object> build, @Param("bo") VipOrderAdminVo bo);
|
Page<VipOrderAdminVo> pageAdmin(@Param("build") Page<Object> build, @Param("bo") VipOrderAdminVo bo);
|
||||||
|
|
||||||
|
VipOrderCountDTO incomeStatistics(@Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,17 @@
|
|||||||
package com.ruoyi.cai.pay;
|
package com.ruoyi.cai.pay;
|
||||||
|
|
||||||
|
import lombok.Getter;
|
||||||
|
|
||||||
|
@Getter
|
||||||
public enum PlatformTypeEnum {
|
public enum PlatformTypeEnum {
|
||||||
ALI,WX,ADMIN
|
ALI("1"),
|
||||||
|
WX("2"),
|
||||||
|
ADMIN("ADMIN"),
|
||||||
|
;
|
||||||
|
|
||||||
|
private final String code;
|
||||||
|
|
||||||
|
PlatformTypeEnum(String code) {
|
||||||
|
this.code = code;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,8 @@ package com.ruoyi.cai.service;
|
|||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.ruoyi.cai.domain.DayIncomeStatistics;
|
import com.ruoyi.cai.domain.DayIncomeStatistics;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 每日账单统计Service接口
|
* 每日账单统计Service接口
|
||||||
*
|
*
|
||||||
@@ -11,4 +13,5 @@ import com.ruoyi.cai.domain.DayIncomeStatistics;
|
|||||||
*/
|
*/
|
||||||
public interface DayIncomeStatisticsService extends IService<DayIncomeStatistics> {
|
public interface DayIncomeStatisticsService extends IService<DayIncomeStatistics> {
|
||||||
|
|
||||||
|
void refreshByDate(LocalDate date);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,25 @@
|
|||||||
package com.ruoyi.cai.service.impl;
|
package com.ruoyi.cai.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
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.domain.DayIncomeStatistics;
|
||||||
|
import com.ruoyi.cai.mapper.AccountCashMapper;
|
||||||
import com.ruoyi.cai.mapper.DayIncomeStatisticsMapper;
|
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 com.ruoyi.cai.service.DayIncomeStatisticsService;
|
||||||
import org.springframework.stereotype.Service;
|
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业务层处理
|
* 每日账单统计Service业务层处理
|
||||||
*
|
*
|
||||||
@@ -15,4 +29,47 @@ import org.springframework.stereotype.Service;
|
|||||||
@Service
|
@Service
|
||||||
public class DayIncomeStatisticsServiceImpl extends ServiceImpl<DayIncomeStatisticsMapper,DayIncomeStatistics> implements DayIncomeStatisticsService {
|
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){
|
if(one == null){
|
||||||
one = new LowHeightRisk();
|
one = new LowHeightRisk();
|
||||||
one.setUserId(log.getUserId());
|
one.setUserId(log.getUserId());
|
||||||
|
this.save(one);
|
||||||
}
|
}
|
||||||
this.save(one);
|
|
||||||
}finally {
|
}finally {
|
||||||
lock.unlock();
|
lock.unlock();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.ruoyi.cai.service.impl;
|
package com.ruoyi.cai.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.NumberUtil;
|
||||||
import com.alibaba.fastjson2.JSON;
|
import com.alibaba.fastjson2.JSON;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
@@ -149,11 +150,13 @@ public class RechargeOrderServiceImpl extends ServiceImpl<RechargeOrderMapper,Re
|
|||||||
order.setUserId(userId);
|
order.setUserId(userId);
|
||||||
order.setRechargeName(accountTypeEnum == AccountTypeEnum.COIN ? "余额调整" : "收益调整");
|
order.setRechargeName(accountTypeEnum == AccountTypeEnum.COIN ? "余额调整" : "收益调整");
|
||||||
order.setRechargeCoin(dto.getRechargeCoin());
|
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.setRechargeType(dto.getRechargeType());
|
||||||
order.setOrderNo(OrderNoUtil.createOrderNo(OrderTypeEnum.RECHARGE_ORDER_SUB));
|
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.setPayStatus(PayStatusEnum.NO_PAY.getCode());
|
||||||
|
order.setPayTime(LocalDateTime.now());
|
||||||
order.setOperateIp(ServletUtils.getClientIP());
|
order.setOperateIp(ServletUtils.getClientIP());
|
||||||
order.setAdmin(true);
|
order.setAdmin(true);
|
||||||
order.setAdminId(LoginHelper.getUserId());
|
order.setAdminId(LoginHelper.getUserId());
|
||||||
|
|||||||
@@ -46,6 +46,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
</where>
|
</where>
|
||||||
order by t1.create_time desc
|
order by t1.create_time desc
|
||||||
</select>
|
</select>
|
||||||
|
<select id="incomeStatistics" resultType="com.ruoyi.cai.controller.admin.incomeStatis.AccountCashCountDTO">
|
||||||
|
select
|
||||||
|
sum(cash_money) as cash_money,
|
||||||
|
count(id) as cash_money
|
||||||
|
from cai_account_cash
|
||||||
|
where status = 2 and verify_time between #{startTime} and #{endTime}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
@@ -46,6 +46,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
</where>
|
</where>
|
||||||
order by t1.create_time desc
|
order by t1.create_time desc
|
||||||
</select>
|
</select>
|
||||||
|
<select id="incomeStatistics"
|
||||||
|
resultType="com.ruoyi.cai.controller.admin.incomeStatis.RechargeOrderCountDTO">
|
||||||
|
select
|
||||||
|
pay_time,
|
||||||
|
sum(if(admin=1 and recharge_type=1 and recharge_coin > 0,recharge_coin,0)) as modify_coin_add,
|
||||||
|
sum(if(admin=1 and recharge_type=1 and recharge_coin < 0,-recharge_coin,0)) as modify_coin_sub,
|
||||||
|
sum(if(admin=1 and recharge_type=2 and recharge_coin > 0,recharge_coin,0)) as modify_income_add,
|
||||||
|
sum(if(admin=1 and recharge_type=2 and recharge_coin < 0,-recharge_coin,0)) as modify_income_sub,
|
||||||
|
sum(if(admin=0,price,0)) as exp_in_money,
|
||||||
|
count(if(admin=0,1,0)) as order_count
|
||||||
|
from cai_recharge_order
|
||||||
|
where pay_status in (1,10)
|
||||||
|
and pay_time between #{startTime} and #{endTime}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
@@ -44,6 +44,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
</where>
|
</where>
|
||||||
order by t1.create_time desc
|
order by t1.create_time desc
|
||||||
</select>
|
</select>
|
||||||
|
<select id="incomeStatistics" resultType="com.ruoyi.cai.controller.admin.incomeStatis.VipOrderCountDTO">
|
||||||
|
select
|
||||||
|
sum(price) as vip_money,
|
||||||
|
count(id) as vip_count
|
||||||
|
from cai_vip_order
|
||||||
|
where admin = 0
|
||||||
|
and pay_time between #{startTime} and #{endTime};
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
Reference in New Issue
Block a user