提现总次数 提现总金额

This commit is contained in:
wangw 2024-12-19 10:08:37 +08:00
parent c769b9b71d
commit 59dd621bab
3 changed files with 105 additions and 76 deletions

View File

@ -1,8 +1,15 @@
package com.sqx.modules.orders.controller;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.sqx.common.utils.DateUtils;
import com.sqx.common.utils.Result;
import com.sqx.modules.course.entity.CourseCollect;
import com.sqx.modules.orders.service.OrdersService;
import com.sqx.modules.pay.dao.CashOutDao;
import com.sqx.modules.pay.entity.CashOut;
import com.sqx.modules.pay.service.CashOutService;
import com.sqx.modules.sys.controller.AbstractController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -14,6 +21,8 @@ import org.springframework.web.bind.annotation.RestController;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
@RestController
@ -22,19 +31,21 @@ import java.util.*;
public class OrdersController extends AbstractController {
@Autowired
private OrdersService ordersService;
@Autowired
private CashOutDao cashOutDao;
@GetMapping("/selectOrders")
@ApiOperation("订单信息列表")
public Result selectOrders(Integer page,Integer limit,String ordersNo,Integer status,Long userId,
Long courseId,Integer flag,String time,String userName,Integer ordersType,
String startTime,String endTime,Long sysUserId,String qdCode,String sysUserName){
return ordersService.selectOrders(page,limit,ordersNo,status,userId,courseId,flag,time,userName,ordersType,
startTime,endTime,sysUserId,qdCode,sysUserName);
public Result selectOrders(Integer page, Integer limit, String ordersNo, Integer status, Long userId,
Long courseId, Integer flag, String time, String userName, Integer ordersType,
String startTime, String endTime, Long sysUserId, String qdCode, String sysUserName) {
return ordersService.selectOrders(page, limit, ordersNo, status, userId, courseId, flag, time, userName, ordersType,
startTime, endTime, sysUserId, qdCode, sysUserName);
}
@GetMapping("/deleteOrders")
@ApiOperation("删除订单")
public Result deleteOrders(String ids){
public Result deleteOrders(String ids) {
return ordersService.deleteOrders(ids);
}
@ -46,75 +57,93 @@ public class OrdersController extends AbstractController {
@GetMapping("/selectOrdersMoneyList")
@ApiOperation("订单收入分析")
public Result selectOrdersMoneyList(Integer page,Integer limit,Integer flag,String time){
public Result selectOrdersMoneyList(Integer page, Integer limit, Integer flag, String time) {
return ordersService.selectOrdersMoneyList(page, limit, flag, time);
}
@PostMapping("/refundOrders")
@ApiOperation("退款订单")
public Result refundOrders(Long ordersId){
return ordersService.refundOrder(ordersId,"系统退款");
public Result refundOrders(Long ordersId) {
return ordersService.refundOrder(ordersId, "系统退款");
}
@GetMapping("/selectOrdersCount")
@ApiOperation("订单统计")
public Result selectOrdersCount(Integer flag,String time,Long sysUserId){
public Result selectOrdersCount(Integer flag, String time, Long sysUserId) {
//短剧订单 退
Integer sumCourseOrdersCount = ordersService.selectOrdersCount(null, 1, flag, time,sysUserId);
Integer daiCourseKeOrdersCount = ordersService.selectOrdersCount(0, 1, flag, time,sysUserId);
Integer wanCourseKeOrdersCount = ordersService.selectOrdersCount(1, 1, flag, time,sysUserId);
Integer tuiCourseOrdersCount = ordersService.selectOrdersCount(2, 1, flag, time,sysUserId);
Integer sumCourseOrdersCount = ordersService.selectOrdersCount(null, 1, flag, time, sysUserId);
Integer daiCourseKeOrdersCount = ordersService.selectOrdersCount(0, 1, flag, time, sysUserId);
Integer wanCourseKeOrdersCount = ordersService.selectOrdersCount(1, 1, flag, time, sysUserId);
Integer tuiCourseOrdersCount = ordersService.selectOrdersCount(2, 1, flag, time, sysUserId);
//短剧钱
Double sumCourseOrdersMoney = ordersService.selectOrdersMoney(null, 1, flag, time,null,sysUserId);
Double daiCourseOrdersMoney = ordersService.selectOrdersMoney(0, 1, flag, time,null,sysUserId);
Double wanCourseOrdersMoney = ordersService.selectOrdersMoney(1, 1, flag, time,null,sysUserId);
Double tuiCourseOrdersMoney = ordersService.selectOrdersMoney(2, 1, flag, time,null,sysUserId);
Double sumCourseOrdersMoney = ordersService.selectOrdersMoney(null, 1, flag, time, null, sysUserId);
Double daiCourseOrdersMoney = ordersService.selectOrdersMoney(0, 1, flag, time, null, sysUserId);
Double wanCourseOrdersMoney = ordersService.selectOrdersMoney(1, 1, flag, time, null, sysUserId);
Double tuiCourseOrdersMoney = ordersService.selectOrdersMoney(2, 1, flag, time, null, sysUserId);
//会员订单 退
Integer sumMemberOrdersCount = ordersService.selectOrdersCount(null, 2, flag, time,sysUserId);
Integer daiMemberKeOrdersCount = ordersService.selectOrdersCount(0, 2, flag, time,sysUserId);
Integer wanMemberKeOrdersCount = ordersService.selectOrdersCount(1, 2, flag, time,sysUserId);
Integer tuiMemberOrdersCount = ordersService.selectOrdersCount(2, 2, flag, time,sysUserId);
Integer sumMemberOrdersCount = ordersService.selectOrdersCount(null, 2, flag, time, sysUserId);
Integer daiMemberKeOrdersCount = ordersService.selectOrdersCount(0, 2, flag, time, sysUserId);
Integer wanMemberKeOrdersCount = ordersService.selectOrdersCount(1, 2, flag, time, sysUserId);
Integer tuiMemberOrdersCount = ordersService.selectOrdersCount(2, 2, flag, time, sysUserId);
//会员钱
Double sumMemberOrdersMoney = ordersService.selectOrdersMoney(null, 2, flag, time,null,sysUserId);
Double daiMemberOrdersMoney = ordersService.selectOrdersMoney(0, 2, flag, time,null,sysUserId);
Double wanMemberOrdersMoney = ordersService.selectOrdersMoney(1, 2, flag, time,null,sysUserId);
Double tuiMemberOrdersMoney = ordersService.selectOrdersMoney(2, 2, flag, time,null,sysUserId);
Map<String,Object> result=new HashMap<>();
result.put("sumCourseOrdersCount",sumCourseOrdersCount);result.put("daiCourseKeOrdersCount",daiCourseKeOrdersCount);
result.put("wanCourseKeOrdersCount",wanCourseKeOrdersCount);result.put("tuiCourseOrdersCount",tuiCourseOrdersCount);
result.put("sumCourseOrdersMoney",sumCourseOrdersMoney);result.put("daiCourseOrdersMoney",daiCourseOrdersMoney);
result.put("wanCourseOrdersMoney",wanCourseOrdersMoney);result.put("tuiCourseOrdersMoney",tuiCourseOrdersMoney);
result.put("sumMemberOrdersCount",sumMemberOrdersCount);result.put("daiMemberKeOrdersCount",daiMemberKeOrdersCount);
result.put("wanMemberKeOrdersCount",wanMemberKeOrdersCount);result.put("tuiMemberOrdersCount",tuiMemberOrdersCount);
result.put("sumMemberOrdersMoney",sumMemberOrdersMoney);result.put("daiMemberOrdersMoney",daiMemberOrdersMoney);
result.put("wanMemberOrdersMoney",wanMemberOrdersMoney);result.put("tuiMemberOrdersMoney",tuiMemberOrdersMoney);
return Result.success().put("data",result);
Double sumMemberOrdersMoney = ordersService.selectOrdersMoney(null, 2, flag, time, null, sysUserId);
Double daiMemberOrdersMoney = ordersService.selectOrdersMoney(0, 2, flag, time, null, sysUserId);
Double wanMemberOrdersMoney = ordersService.selectOrdersMoney(1, 2, flag, time, null, sysUserId);
Double tuiMemberOrdersMoney = ordersService.selectOrdersMoney(2, 2, flag, time, null, sysUserId);
//提现
Integer cashCount = cashOutDao.selectCount(new QueryWrapper<CashOut>()
.eq("sys_user_id", sysUserId)
.eq("state", 1)
.gt("create_at", DateUtil.format(DateUtil.parse(time, "yyyy-MM-dd"), "yyyy-MM-dd HH:mm:ss")));
Double cashSum = cashOutDao.selectSysUserCashOutSum(sysUserId, DateUtil.format(DateUtil.parse(time, "yyyy-MM-dd"), "yyyy-MM-dd HH:mm:ss"));
Map<String, Object> result = new HashMap<>();
result.put("sumCourseOrdersCount", sumCourseOrdersCount);
result.put("daiCourseKeOrdersCount", daiCourseKeOrdersCount);
result.put("wanCourseKeOrdersCount", wanCourseKeOrdersCount);
result.put("tuiCourseOrdersCount", tuiCourseOrdersCount);
result.put("sumCourseOrdersMoney", sumCourseOrdersMoney);
result.put("daiCourseOrdersMoney", daiCourseOrdersMoney);
result.put("wanCourseOrdersMoney", wanCourseOrdersMoney);
result.put("tuiCourseOrdersMoney", tuiCourseOrdersMoney);
result.put("sumMemberOrdersCount", sumMemberOrdersCount);
result.put("daiMemberKeOrdersCount", daiMemberKeOrdersCount);
result.put("wanMemberKeOrdersCount", wanMemberKeOrdersCount);
result.put("tuiMemberOrdersCount", tuiMemberOrdersCount);
result.put("sumMemberOrdersMoney", sumMemberOrdersMoney);
result.put("daiMemberOrdersMoney", daiMemberOrdersMoney);
result.put("wanMemberOrdersMoney", wanMemberOrdersMoney);
result.put("tuiMemberOrdersMoney", tuiMemberOrdersMoney);
result.put("cashCount", cashCount == null ? 0 : cashCount);
result.put("cashSum", cashSum);
return Result.success().put("data", result);
}
@GetMapping("/selectCourseOrdersMoneyCount")
@ApiOperation("统计具体剧的收益")
public Result selectCourseOrdersMoneyCount(Long courseId,Long sysUserId){
public Result selectCourseOrdersMoneyCount(Long courseId, Long sysUserId) {
//总收益
Double sumMoney = ordersService.selectOrdersMoney(1, 1, null, null,courseId,sysUserId);
Double sumMoney = ordersService.selectOrdersMoney(1, 1, null, null, courseId, sysUserId);
String dateTime = DateUtils.format(new Date());
//
Double yearMoney = ordersService.selectOrdersMoney(1, 1, 3, dateTime,courseId,sysUserId);
Double yearMoney = ordersService.selectOrdersMoney(1, 1, 3, dateTime, courseId, sysUserId);
//
Double monthMoney = ordersService.selectOrdersMoney(1, 1, 2, dateTime,courseId,sysUserId);
Double monthMoney = ordersService.selectOrdersMoney(1, 1, 2, dateTime, courseId, sysUserId);
//
Double dayMoney = ordersService.selectOrdersMoney(1, 1, 1, dateTime,courseId,sysUserId);
Map<String,Double> result=new HashMap<>();
result.put("sumMoney",sumMoney);
result.put("yearMoney",yearMoney);
result.put("monthMoney",monthMoney);
result.put("dayMoney",dayMoney);
return Result.success().put("data",result);
Double dayMoney = ordersService.selectOrdersMoney(1, 1, 1, dateTime, courseId, sysUserId);
Map<String, Double> result = new HashMap<>();
result.put("sumMoney", sumMoney);
result.put("yearMoney", yearMoney);
result.put("monthMoney", monthMoney);
result.put("dayMoney", dayMoney);
return Result.success().put("data", result);
}
@GetMapping("/selectFenXiaoMoney")
@ApiOperation("统计分销金币")
public Result selectFenXiaoMoney(Long sysUserId,Integer flag,String time){
public Result selectFenXiaoMoney(Long sysUserId, Integer flag, String time) {
//一级
Double oneMoney = ordersService.selectFenXiaoMoney(1, sysUserId, flag, time);
//二级
@ -123,25 +152,25 @@ public class OrdersController extends AbstractController {
Double qdMoney = ordersService.selectFenXiaoMoney(3, sysUserId, flag, time);
//总分销
Double sumMoney = ordersService.selectFenXiaoMoney(4, sysUserId, flag, time);
Map<String,Object> result=new HashMap<>();
result.put("oneMoney",oneMoney);
result.put("twoMoney",twoMoney);
result.put("qdMoney",qdMoney);
result.put("sumMoney",sumMoney);
return Result.success().put("data",result);
Map<String, Object> result = new HashMap<>();
result.put("oneMoney", oneMoney);
result.put("twoMoney", twoMoney);
result.put("qdMoney", qdMoney);
result.put("sumMoney", sumMoney);
return Result.success().put("data", result);
}
@GetMapping("/selectOrdersCountStatisticsByYear")
@ApiOperation("订单数量统计")
public Result selectOrdersCountStatisticsByYear(String startTime,String endTime){
public Result selectOrdersCountStatisticsByYear(String startTime, String endTime) {
//总数量 0待支付 1已支付 2已退款
List<Integer> ordersCountList=new ArrayList<>();
List<Integer> ordersDaiFuKuanCountList=new ArrayList<>();
List<Integer> ordersYiZhiFuCountList=new ArrayList<>();
List<Integer> ordersYiTuiKuanLunCountList=new ArrayList<>();
List<String> year=new ArrayList<>();
List<Integer> ordersCountList = new ArrayList<>();
List<Integer> ordersDaiFuKuanCountList = new ArrayList<>();
List<Integer> ordersYiZhiFuCountList = new ArrayList<>();
List<Integer> ordersYiTuiKuanLunCountList = new ArrayList<>();
List<String> year = new ArrayList<>();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar=Calendar.getInstance();
Calendar calendar = Calendar.getInstance();
Date parse = null;
try {
parse = simpleDateFormat.parse(startTime);
@ -149,7 +178,7 @@ public class OrdersController extends AbstractController {
e.printStackTrace();
}
calendar.setTime(parse);
while (true){
while (true) {
String dateTime = simpleDateFormat.format(calendar.getTime());
//状态 0待支付 1已支付 2已退款
//总订单数
@ -165,22 +194,17 @@ public class OrdersController extends AbstractController {
Integer ordersQuXiaoCount = ordersService.selectOrdersCountStatisticsByYear(1, dateTime, 2);
ordersYiTuiKuanLunCountList.add(ordersQuXiaoCount);
year.add(dateTime);
if(dateTime.equals(endTime)){
if (dateTime.equals(endTime)) {
break;
}
calendar.add(Calendar.DATE,1);
calendar.add(Calendar.DATE, 1);
}
Map<String,Object> result=new HashMap<>();
result.put("ordersCountList",ordersCountList);
result.put("ordersDaiFuKuanCountList",ordersDaiFuKuanCountList);
result.put("ordersYiZhiFuCountList",ordersYiZhiFuCountList);
result.put("ordersYiTuiKuanLunCountList",ordersYiTuiKuanLunCountList);
result.put("year",year);
return Result.success().put("data",result);
Map<String, Object> result = new HashMap<>();
result.put("ordersCountList", ordersCountList);
result.put("ordersDaiFuKuanCountList", ordersDaiFuKuanCountList);
result.put("ordersYiZhiFuCountList", ordersYiZhiFuCountList);
result.put("ordersYiTuiKuanLunCountList", ordersYiTuiKuanLunCountList);
result.put("year", year);
return Result.success().put("data", result);
}
}

View File

@ -22,6 +22,7 @@ public interface CashOutDao extends BaseMapper<CashOut> {
List<CashOut> selectYesterday();
Double selectCashOutSum(@Param("userId") Long userId, @Param("startTime") Date startTime, @Param("endTime") Date endTime);
Double selectSysUserCashOutSum(@Param("sysUserId") Long sysUserId, @Param("time") String time);
Double sumMoney(@Param("time") String time, @Param("flag") Integer flag);

View File

@ -19,6 +19,10 @@
select sum(money) from cash_out where state in (0,1) and user_id=#{userId} and date_format(create_at,'%Y-%m-%d') between #{startTime} and #{endTime}
</select>
<select id="selectSysUserCashOutSum" resultType="Double">
select sum(money) from cash_out where state = 1 and sys_user_id=#{sysUserId} and create_at &gt; #{time}
</select>
<select id="sumMoney" resultType="Double">
select sum(money) from cash_out where state =1
<if test="flag!=null and flag==1">