|
|
<?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> <!--新增part1统计数据--> <insert id="insertPart1"> INSERT INTO statistics ( market, current_datetime, current_gold, daily_change, current_permanent, current_free_june, current_free_december, current_task,
) VALUES ( #{market}, #{currentDatetime}, #{currentGold}, #{dailyChange}, #{currentPermanent}, #{currentFreeJune}, #{currentFreeDecember}, #{currentTask},
) </insert> <!--更新part2统计数据--> <update id="updatePart2" parameterType="map"> 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 market = #{market} and current_datetime = #{currentDatetime} </update> <!--更新part1统计数据--> <update id="updatePart1" parameterType="map"> update statistics SET current_gold = #{currentGold}, daily_change = #{dailyChange}, current_permanent = #{currentPermanent}, current_free_june = #{currentFreeJune}, current_free_december = #{currentFreeDecember}, current_task = #{currentTask} WHERE market = #{market} and current_datetime = #{currentDatetime} </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 IN (1,3) 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(user.current_permanent_gold) FROM user WHERE user.market = #{market} </select> <select id="sumCurrentFreeJune" resultType="java.lang.Integer"> SELECT SUM(u.current_free_june) FROM user as u WHERE u.market = #{market} </select> <select id="sumCurrentFreeDecember" resultType="java.lang.Integer"> SELECT SUM(u.current_free_december) FROM user as u WHERE u.market = #{market} </select> <select id="sumCurrentTaskGold" resultType="java.lang.Integer"> SELECT SUM(u.current_task_gold) FROM user as u WHERE u.market = #{market} </select> <select id="selectSumByMarketAndDate" resultType="com.example.demo.domain.entity.Statistics"> select sum(s.recharge) as recharge, sum(s.money) as money, sum(s.consume_permanent) as consume_permanent, sum(s.consume_free_june) as consume_free_june, sum(s.consume_free_december) as consume_free_december, sum(s.consume_task) as consume_task, sum(s.recharge_num) as recharge_num from statistics as s WHERE market = #{market} AND current_datetime >= #{startDate} AND current_datetime <= #{endDate} </select>
</mapper>
|