Browse Source
Merge branch 'refs/heads/lijianlin/feature-20250623120104-工作台与审核' into milestone-20250702-金币重构一期
huangqizheng/feature-20250626103451-权限页面
Merge branch 'refs/heads/lijianlin/feature-20250623120104-工作台与审核' into milestone-20250702-金币重构一期
huangqizheng/feature-20250626103451-权限页面
7 changed files with 482 additions and 0 deletions
-
18src/main/java/com/example/demo/controller/StatisticsController.java
-
53src/main/java/com/example/demo/mapper/StatisticsMapper.java
-
14src/main/java/com/example/demo/service/GeneralService.java
-
18src/main/java/com/example/demo/service/StatisticsService.java
-
55src/main/java/com/example/demo/serviceImpl/GeneralServiceImpl.java
-
222src/main/java/com/example/demo/serviceImpl/StatisticsServiceImpl.java
-
102src/main/resources/mapper/StatisticsMapper.xml
@ -0,0 +1,53 @@ |
|||
package com.example.demo.mapper; |
|||
|
|||
import com.example.demo.domain.entity.Statistics; |
|||
import com.example.demo.domain.entity.UserGoldRecord; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
import org.apache.ibatis.annotations.Param; |
|||
|
|||
import java.util.Date; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @program: gold-java |
|||
* @ClassName StatisticsMapper |
|||
* @description: |
|||
* @author: Ethan |
|||
* @create: 2025−06-23 14:08 |
|||
* @Version 1.0 |
|||
**/ |
|||
|
|||
@Mapper |
|||
public interface StatisticsMapper { |
|||
//根据地区、审核状态、起止时间查询订单表数据 |
|||
List<UserGoldRecord> findByMarketAndAuditStatus(@Param("market") String market, |
|||
@Param("auditStatusList") List<Integer> auditStatusList, |
|||
@Param("startTime") Date startTime, |
|||
@Param("endTime") Date endTime); |
|||
//获取某地区当前永久金币余量 |
|||
Integer sumCurrentPermanentGold(@Param("market") String market); |
|||
//获取某地区当前六月免费金币余量 |
|||
Integer sumCurrentFreeJune(@Param("market") String market); |
|||
//获取某地区当前永久金币余量 |
|||
Integer sumCurrentFreeDecember(@Param("market") String market); |
|||
//获取某地区当前永久金币余量 |
|||
Integer sumCurrentTaskGold(@Param("market") String market); |
|||
//计算该天充值人数 |
|||
int countRechargeNum( |
|||
@Param("market") String market, |
|||
@Param("startTime") Date startTime, |
|||
@Param("endTime") Date endTime); |
|||
//计算该天首充人数 |
|||
int countFirstRecharge( |
|||
@Param("market") String market, |
|||
@Param("startTime") Date startTime, |
|||
@Param("endTime") Date endTime); |
|||
//新增part2统计数据 |
|||
void insertPart2(Statistics statistics); |
|||
//更新part2统计数据 |
|||
void updatePart2(Statistics statistics); |
|||
//获取某地区某天的数据 |
|||
Statistics selectByMarketAndDate(@Param("market") String market, |
|||
@Param("startDate") Date startDate, |
|||
@Param("endDate") Date endDate); |
|||
} |
@ -0,0 +1,102 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
|||
<mapper namespace="com.example.demo.mapper.StatisticsMapper"> |
|||
<!--新增part2统计数据--> |
|||
<insert id="insertPart2"> |
|||
INSERT INTO statistics ( |
|||
market, current_datetime, |
|||
recharge, money, |
|||
consume_permanent, consume_free_june, |
|||
consume_free_december, consume_task, |
|||
refund_permanent, refund_free_june, |
|||
refund_free_december,refund_task, |
|||
recharge_num, first_recharge |
|||
) VALUES ( |
|||
#{market}, #{currentDatetime}, |
|||
#{recharge}, #{money}, |
|||
#{consumePermanent}, #{consumeFreeJune}, |
|||
#{consumeFreeDecember}, #{consumeTask}, |
|||
#{refundPermanent}, #{refundFreeJune}, |
|||
#{refundFreeDecember}, #{refundTask}, |
|||
#{rechargeNum}, #{firstRecharge} |
|||
) |
|||
</insert> |
|||
<!--更新part2统计数据--> |
|||
<update id="updatePart2"> |
|||
UPDATE statistics |
|||
SET |
|||
recharge = #{recharge}, |
|||
money = #{money}, |
|||
consume_permanent = #{consumePermanent}, |
|||
consume_free_june = #{consumeFreeJune}, |
|||
consume_free_december = #{consumeFreeDecember}, |
|||
consume_task = #{consumeTask}, |
|||
refund_permanent = #{refundPermanent}, |
|||
refund_free_june = #{refundFreeJune}, |
|||
refund_free_december = #{refundFreeDecember}, |
|||
refund_task = #{refundTask}, |
|||
recharge_num = #{rechargeNum}, |
|||
first_recharge = #{firstRecharge}, |
|||
WHERE id = #{id} |
|||
</update> |
|||
<!--根据地区、审核状态、起止时间查询订单表数据--> |
|||
<select id="findByMarketAndAuditStatus" |
|||
resultType="com.example.demo.domain.entity.UserGoldRecord"> |
|||
SELECT u.market, ugr.* |
|||
FROM user_gold_record ugr |
|||
INNER JOIN user u ON ugr.jwcode = u.jwcode |
|||
WHERE u.market = #{market} |
|||
AND ugr.audit_status IN |
|||
<foreach item="status" collection="auditStatusList" open="(" separator="," close=")"> |
|||
#{status} |
|||
</foreach> |
|||
AND ugr.pay_time BETWEEN #{startTime} AND #{endTime} |
|||
</select> |
|||
<!-- 计算该天充值人数--> |
|||
<select id="countRechargeNum" resultType="java.lang.Integer"> |
|||
SELECT COUNT(DISTINCT ugr.jwcode) |
|||
FROM user_gold_record ugr |
|||
INNER JOIN user u ON ugr.jwcode = u.jwcode |
|||
WHERE u.market = #{market} |
|||
AND ugr.audit_status = 1 |
|||
AND ugr.pay_time BETWEEN #{startTime} AND #{endTime} |
|||
</select> |
|||
<!--计算该天首充人数--> |
|||
<select id="countFirstRecharge" resultType="java.lang.Integer"> |
|||
SELECT COUNT(DISTINCT ugr.jwcode) |
|||
FROM user_gold_record ugr |
|||
INNER JOIN user u ON ugr.jwcode = u.jwcode |
|||
WHERE u.market = #{market} |
|||
AND ugr.audit_status = 1 |
|||
AND ugr.pay_time BETWEEN #{startTime} AND #{endTime} |
|||
AND u.first_recharge = #{startTime} |
|||
</select> |
|||
<select id="selectByMarketAndDate" resultType="com.example.demo.domain.entity.Statistics"> |
|||
SELECT * |
|||
FROM statistics |
|||
WHERE market = #{market} |
|||
AND current_datetime >= #{startDate} |
|||
AND current_datetime <= #{endDate} |
|||
LIMIT 1 |
|||
</select> |
|||
<select id="sumCurrentPermanentGold" resultType="java.lang.Integer"> |
|||
SELECT SUM(u.currentPermanentGold) |
|||
FROM user u |
|||
WHERE u.market = #{market} |
|||
</select> |
|||
<select id="sumCurrentFreeJune" resultType="java.lang.Integer"> |
|||
SELECT SUM(u.currentFreeJune) |
|||
FROM user u |
|||
WHERE u.market = #{market} |
|||
</select> |
|||
<select id="sumCurrentFreeDecember" resultType="java.lang.Integer"> |
|||
SELECT SUM(u.currentFreeDecember) |
|||
FROM user u |
|||
WHERE u.market = #{market} |
|||
</select> |
|||
<select id="sumCurrentTaskGold" resultType="java.lang.Integer"> |
|||
SELECT SUM(u.currentTaskGold) |
|||
FROM user u |
|||
WHERE u.market = #{market} |
|||
</select> |
|||
</mapper> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue