|
|
<?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>
|