Browse Source
Merge remote-tracking branch 'origin/milestone-20250702-金币重构一期' into milestone-20250702-金币重构一期
huangqizheng/feature-20250626103451-权限页面
Merge remote-tracking branch 'origin/milestone-20250702-金币重构一期' 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