|
|
<?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.coin.WorkBenchMapper"> <!--起止时间内的该地区充值金币数(永久+免费)若为空则默认0--> <select id="sumRecharge" resultType="java.lang.Integer"> select sum(
COALESCE(recharge, 0) ) from statistics where market = #{market} and current_datetime between #{startDate} and #{endDate} </select> <!--起止时间内的该地区充值金额(永久金币数)--> <select id="sumMoney" resultType="java.lang.Integer"> SELECT SUM(money) FROM statistics WHERE market = #{market} AND current_datetime BETWEEN #{startDate} and #{endDate} </select> <!-- 起止时间内该地区消费金币数(永久+免费+任务)--> <select id="sumConsume" resultType="java.lang.Integer"> SELECT SUM( COALESCE(consume_permanent, 0) + COALESCE(consume_free_june, 0) + COALESCE(consume_free_december, 0) + COALESCE(consume_task, 0) ) FROM statistics WHERE market = #{market} AND current_datetime BETWEEN #{startDate} and #{endDate} </select> <!--起止时间内的该地区退款金币数(永久+免费+任务)--> <select id="sumRefund" resultType="java.lang.Integer"> SELECT SUM( COALESCE(refund_permanent, 0) + COALESCE(refund_free_june, 0) + COALESCE(refund_free_december, 0) + COALESCE(refund_task, 0) ) FROM statistics WHERE market = #{market} AND current_datetime BETWEEN #{startDate} and #{endDate} </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.pay_time BETWEEN #{startDate} and #{endDate} AND ugr.audit_status IN (1,3) and ugr.flag=1
</select> <!--给定时间范围内的该地区消费永久金币数--> <select id="sumCPermanent" resultType="java.lang.Integer"> SELECT SUM( COALESCE(consume_permanent, 0) ) FROM statistics WHERE market = #{market} AND current_datetime BETWEEN #{startDate} and #{endDate} </select> <!--给定时间范围内的该地区消费免费金币数--> <select id="sumCFree" resultType="java.lang.Integer"> SELECT SUM( COALESCE(refund_free_june, 0) + COALESCE(refund_free_december, 0) ) FROM statistics WHERE market = #{market} AND current_datetime BETWEEN #{startDate} and #{endDate} </select> <!--给定时间范围内的该地区消费任务金币数--> <select id="sumCTask" resultType="java.lang.Integer"> SELECT SUM( COALESCE(refund_task, 0) ) FROM statistics WHERE market = #{market} AND current_datetime BETWEEN #{startDate} and #{endDate} </select> <!-- 获取指定地区在时间段内的全部统计数据 --> <select id="getFullStatisticsByMarketAndDate" resultType="com.example.demo.domain.vo.coin.WorkbenchFullStatistics"> SELECT SUM(s.recharge) AS totalRecharge, SUM(s.money) AS totalMoney, SUM(s.consume_permanent) AS totalConsumePermanent, SUM(s.consume_free_june + s.consume_free_december) AS totalConsumeFree, SUM(s.consume_task) AS totalConsumeTask, SUM(s.refund_permanent + s.refund_free_june + s.refund_free_december + s.refund_task) AS totalRefund, ( 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.pay_time BETWEEN #{startDate} AND #{endDate} AND ugr.audit_status IN (1, 3) and ugr.flag=1 ) AS totalRechargeNum FROM statistics s WHERE s.market = #{market} AND s.current_datetime BETWEEN #{startDate} AND #{endDate}; </select> <select id="getFullStatisticsByMarketAndDate1" resultType="com.example.demo.domain.vo.coin.WorkbenchFullStatistics"> SELECT s.market, SUM(s.recharge) AS totalRecharge, SUM(s.money) AS totalMoney, SUM(s.consume_permanent) AS totalConsumePermanent, SUM(s.consume_free_june + s.consume_free_december) AS totalConsumeFree, SUM(s.consume_task) AS totalConsumeTask FROM statistics s WHERE s.market IN <foreach item="market" collection="markets" open="(" separator="," close=")">#{market}</foreach> AND s.current_datetime BETWEEN #{startDate} AND #{endDate} GROUP BY s.market; </select> <!--获取用户的地区权限列表--> <select id="getAdminMarket" resultType="java.lang.String"> select market from admin where account = #{account} </select> <!--获取全部用户角色--> <select id="getMarket" resultType="java.lang.String"> select DISTINCT name from market where type=2 </select> </mapper>
|