【提交】项目提交
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
<?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="pc.exam.pp.module.statistics.dal.mysql.infra.ApiAccessLogStatisticsMapper">
|
||||
|
||||
<select id="selectIpCountByUserTypeAndCreateTimeBetween" resultType="java.lang.Integer">
|
||||
SELECT COUNT(DISTINCT user_ip)
|
||||
FROM infra_api_access_log
|
||||
WHERE user_type = #{userType}
|
||||
AND create_time BETWEEN #{beginTime} AND #{endTime}
|
||||
AND deleted = FALSE
|
||||
</select>
|
||||
|
||||
<select id="selectUserCountByUserTypeAndCreateTimeBetween" resultType="java.lang.Integer">
|
||||
SELECT COUNT(DISTINCT user_id)
|
||||
FROM infra_api_access_log
|
||||
WHERE user_id > 0
|
||||
AND user_type = #{userType}
|
||||
AND create_time BETWEEN #{beginTime} AND #{endTime}
|
||||
AND deleted = FALSE
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,51 @@
|
||||
<?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="pc.exam.pp.module.statistics.dal.mysql.member.MemberStatisticsMapper">
|
||||
|
||||
<select id="selectSummaryListByAreaId"
|
||||
resultType="pc.exam.pp.module.statistics.service.member.bo.MemberAreaStatisticsRespBO">
|
||||
SELECT area_id, COUNT(1) AS userCount
|
||||
FROM member_user
|
||||
WHERE deleted = FALSE
|
||||
GROUP BY area_id
|
||||
</select>
|
||||
|
||||
<select id="selectSummaryListBySex"
|
||||
resultType="pc.exam.pp.module.statistics.controller.admin.member.vo.MemberSexStatisticsRespVO">
|
||||
SELECT sex, COUNT(1) AS userCount
|
||||
FROM member_user
|
||||
WHERE deleted = FALSE
|
||||
GROUP BY sex
|
||||
</select>
|
||||
|
||||
<select id="selectSummaryListByRegisterTerminal"
|
||||
resultType="pc.exam.pp.module.statistics.controller.admin.member.vo.MemberTerminalStatisticsRespVO">
|
||||
SELECT register_terminal as terminal, COUNT(1) AS userCount
|
||||
FROM member_user
|
||||
WHERE deleted = FALSE
|
||||
GROUP BY register_terminal
|
||||
</select>
|
||||
|
||||
<select id="selectUserCount" resultType="java.lang.Integer">
|
||||
SELECT COUNT(1)
|
||||
FROM member_user
|
||||
WHERE deleted = FALSE
|
||||
<if test="beginTime != null">
|
||||
AND create_time >= #{beginTime}
|
||||
</if>
|
||||
<if test="endTime != null">
|
||||
AND create_time <= #{endTime}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="selectListByCreateTimeBetween"
|
||||
resultType="pc.exam.pp.module.statistics.controller.admin.member.vo.MemberRegisterCountRespVO">
|
||||
SELECT DATE_FORMAT(create_time, '%Y-%m-%d') AS date,
|
||||
count(1) AS count
|
||||
FROM member_user
|
||||
WHERE create_time BETWEEN #{beginTime} AND #{endTime}
|
||||
AND deleted = FALSE
|
||||
GROUP BY date
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,55 @@
|
||||
<?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="pc.exam.pp.module.statistics.dal.mysql.pay.PayWalletStatisticsMapper">
|
||||
|
||||
<select id="selectRechargeSummaryByPayTimeBetween"
|
||||
resultType="pc.exam.pp.module.statistics.service.trade.bo.WalletSummaryRespBO">
|
||||
SELECT COUNT(1) AS rechargePayCount,
|
||||
SUM(pay_price) AS rechargePayPrice
|
||||
FROM pay_wallet_recharge
|
||||
WHERE pay_status = #{payStatus}
|
||||
AND pay_time BETWEEN #{beginTime} AND #{endTime}
|
||||
AND deleted = FALSE
|
||||
</select>
|
||||
|
||||
<select id="selectRechargeSummaryByRefundTimeBetween"
|
||||
resultType="pc.exam.pp.module.statistics.service.trade.bo.WalletSummaryRespBO">
|
||||
SELECT COUNT(1) AS rechargeRefundCount,
|
||||
SUM(pay_price) AS rechargeRefundPrice
|
||||
FROM pay_wallet_recharge
|
||||
WHERE refund_status = #{refundStatus}
|
||||
AND refund_time BETWEEN #{beginTime} AND #{endTime}
|
||||
AND deleted = FALSE
|
||||
</select>
|
||||
|
||||
<select id="selectPriceSummaryByBizTypeAndCreateTimeBetween" resultType="java.lang.Integer">
|
||||
SELECT SUM(price)
|
||||
FROM pay_wallet_transaction
|
||||
WHERE biz_type = #{bizType}
|
||||
AND create_time BETWEEN #{beginTime} AND #{endTime}
|
||||
AND deleted = FALSE
|
||||
</select>
|
||||
|
||||
<select id="selectRechargeSummaryGroupByWalletId"
|
||||
resultType="pc.exam.pp.module.statistics.service.pay.bo.RechargeSummaryRespBO">
|
||||
SELECT COUNT(DISTINCT wallet_id) AS rechargeUserCount,
|
||||
SUM(pay_price) AS rechargePrice
|
||||
FROM pay_wallet_recharge
|
||||
WHERE pay_status = #{payStatus}
|
||||
<if test="beginTime != null">
|
||||
AND pay_time >= #{beginTime}
|
||||
</if>
|
||||
<if test="endTime != null">
|
||||
AND pay_time <= #{endTime}
|
||||
</if>
|
||||
AND deleted = FALSE
|
||||
</select>
|
||||
|
||||
<select id="selectRechargePriceSummary" resultType="java.lang.Integer">
|
||||
SELECT IFNULL(SUM(pay_price), 0)
|
||||
FROM pay_wallet_recharge
|
||||
WHERE pay_status = #{payStatus}
|
||||
AND deleted = FALSE
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,64 @@
|
||||
<?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="pc.exam.pp.module.statistics.dal.mysql.product.ProductStatisticsMapper">
|
||||
|
||||
<select id="selectStatisticsResultPageByTimeBetween"
|
||||
resultType="pc.exam.pp.module.statistics.dal.dataobject.product.ProductStatisticsDO">
|
||||
SELECT spu.id AS spuId
|
||||
-- 浏览量:一个用户可以有多次
|
||||
, (SELECT COUNT(1)
|
||||
FROM product_browse_history
|
||||
WHERE spu_id = spu.id
|
||||
AND create_time BETWEEN #{beginTime} AND #{endTime}) AS browse_count
|
||||
-- 访客量:按用户去重计数
|
||||
, (SELECT COUNT(DISTINCT user_id)
|
||||
FROM product_browse_history
|
||||
WHERE spu_id = spu.id
|
||||
AND create_time BETWEEN #{beginTime} AND #{endTime}) AS browse_user_count
|
||||
-- 收藏数量:按用户去重计数
|
||||
, (SELECT COUNT(DISTINCT user_id)
|
||||
FROM product_favorite
|
||||
WHERE spu_id = spu.id
|
||||
AND create_time BETWEEN #{beginTime} AND #{endTime}) AS favorite_count
|
||||
-- 加购数量:按用户去重计数
|
||||
, (SELECT COUNT(DISTINCT user_id)
|
||||
FROM trade_cart
|
||||
WHERE spu_id = spu.id
|
||||
AND create_time BETWEEN #{beginTime} AND #{endTime}) AS cart_count
|
||||
-- 下单件数
|
||||
, (SELECT IFNULL(SUM(count), 0)
|
||||
FROM trade_order_item
|
||||
WHERE spu_id = spu.id
|
||||
AND create_time BETWEEN #{beginTime} AND #{endTime}) AS order_count
|
||||
-- 支付件数
|
||||
, (SELECT IFNULL(SUM(item.count), 0)
|
||||
FROM trade_order_item item
|
||||
JOIN trade_order o ON item.order_id = o.id
|
||||
WHERE spu_id = spu.id
|
||||
AND o.pay_status = TRUE
|
||||
AND item.create_time BETWEEN #{beginTime} AND #{endTime}) AS order_pay_count
|
||||
-- 支付金额
|
||||
, (SELECT IFNULL(SUM(item.pay_price), 0)
|
||||
FROM trade_order_item item
|
||||
JOIN trade_order o ON item.order_id = o.id
|
||||
WHERE spu_id = spu.id
|
||||
AND o.pay_status = TRUE
|
||||
AND item.create_time BETWEEN #{beginTime} AND #{endTime}) AS order_pay_price
|
||||
-- 退款件数
|
||||
, (SELECT IFNULL(SUM(count), 0)
|
||||
FROM trade_after_sale
|
||||
WHERE spu_id = spu.id
|
||||
AND refund_time IS NOT NULL
|
||||
AND create_time BETWEEN #{beginTime} AND #{endTime}) AS after_sale_count
|
||||
-- 退款金额
|
||||
, (SELECT IFNULL(SUM(refund_price), 0)
|
||||
FROM trade_after_sale
|
||||
WHERE spu_id = spu.id
|
||||
AND refund_time IS NOT NULL
|
||||
AND create_time BETWEEN #{beginTime} AND #{endTime}) AS after_sale_refund_price
|
||||
FROM product_spu spu
|
||||
WHERE spu.deleted = FALSE
|
||||
ORDER BY spu.id
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,21 @@
|
||||
<?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="pc.exam.pp.module.statistics.dal.mysql.trade.AfterSaleStatisticsMapper">
|
||||
|
||||
<select id="selectSummaryByRefundTimeBetween"
|
||||
resultType="pc.exam.pp.module.statistics.service.trade.bo.AfterSaleSummaryRespBO">
|
||||
SELECT COUNT(1) AS afterSaleCount,
|
||||
SUM(refund_price) AS afterSaleRefundPrice
|
||||
FROM trade_after_sale
|
||||
WHERE refund_time BETWEEN #{beginTime} AND #{endTime}
|
||||
AND deleted = FALSE
|
||||
</select>
|
||||
|
||||
<select id="selectCountByStatus" resultType="java.lang.Long">
|
||||
SELECT COUNT(1)
|
||||
FROM trade_after_sale
|
||||
WHERE status = #{status}
|
||||
AND deleted = FALSE
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,21 @@
|
||||
<?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="pc.exam.pp.module.statistics.dal.mysql.trade.BrokerageStatisticsMapper">
|
||||
|
||||
<select id="selectSummaryPriceByStatusAndUnfreezeTimeBetween" resultType="java.lang.Integer">
|
||||
SELECT SUM(price)
|
||||
FROM trade_brokerage_record
|
||||
WHERE biz_type = #{bizType}
|
||||
AND status = #{status}
|
||||
AND unfreeze_time BETWEEN #{beginTime} AND #{endTime}
|
||||
AND deleted = FALSE
|
||||
</select>
|
||||
|
||||
<select id="selectWithdrawCountByStatus" resultType="java.lang.Long">
|
||||
SELECT COUNT(1)
|
||||
FROM trade_brokerage_withdraw
|
||||
WHERE status = #{status}
|
||||
AND deleted = FALSE
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,106 @@
|
||||
<?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="pc.exam.pp.module.statistics.dal.mysql.trade.TradeOrderStatisticsMapper">
|
||||
|
||||
<select id="selectSummaryListByAreaId"
|
||||
resultType="pc.exam.pp.module.statistics.service.member.bo.MemberAreaStatisticsRespBO">
|
||||
SELECT receiver_area_id AS areaId,
|
||||
(SELECT COUNT(DISTINCT s.user_id)
|
||||
FROM trade_order AS s
|
||||
WHERE s.receiver_area_id = m.receiver_area_id) AS orderCreateUserCount,
|
||||
(SELECT COUNT(DISTINCT s.user_id)
|
||||
FROM trade_order AS s
|
||||
WHERE s.receiver_area_id = m.receiver_area_id
|
||||
AND s.pay_status = TRUE
|
||||
AND s.deleted = FALSE) AS orderPayUserCount,
|
||||
(SELECT SUM(s.pay_price)
|
||||
FROM trade_order AS s
|
||||
WHERE s.receiver_area_id = m.receiver_area_id
|
||||
AND s.pay_status = TRUE
|
||||
AND s.deleted = FALSE) AS orderPayPrice
|
||||
FROM trade_order m
|
||||
WHERE deleted = FALSE
|
||||
GROUP BY receiver_area_id
|
||||
</select>
|
||||
|
||||
<select id="selectUserCountByCreateTimeBetween" resultType="java.lang.Integer">
|
||||
SELECT COUNT(DISTINCT (user_id))
|
||||
FROM trade_order
|
||||
WHERE deleted = FALSE
|
||||
AND create_time BETWEEN #{beginTime} AND #{endTime}
|
||||
</select>
|
||||
|
||||
<select id="selectUserCountByPayTimeBetween" resultType="java.lang.Integer">
|
||||
SELECT COUNT(DISTINCT (user_id))
|
||||
FROM trade_order
|
||||
WHERE pay_time BETWEEN #{beginTime} AND #{endTime}
|
||||
AND pay_status = TRUE
|
||||
AND deleted = FALSE
|
||||
</select>
|
||||
|
||||
<select id="selectCountByCreateTimeBetween" resultType="java.lang.Integer">
|
||||
SELECT COUNT(1)
|
||||
FROM trade_order
|
||||
WHERE create_time BETWEEN #{beginTime} AND #{endTime}
|
||||
AND deleted = FALSE
|
||||
</select>
|
||||
|
||||
<select id="selectCountByPayTimeBetween" resultType="java.lang.Integer">
|
||||
SELECT COUNT(1)
|
||||
FROM trade_order
|
||||
WHERE pay_status = TRUE
|
||||
AND create_time BETWEEN #{beginTime} AND #{endTime}
|
||||
AND deleted = FALSE
|
||||
</select>
|
||||
|
||||
<select id="selectSummaryPriceByPayTimeBetween" resultType="java.lang.Integer">
|
||||
SELECT SUM(pay_price)
|
||||
FROM trade_order AS s
|
||||
WHERE s.pay_status = TRUE
|
||||
AND deleted = FALSE
|
||||
AND create_time BETWEEN #{beginTime} AND #{endTime}
|
||||
</select>
|
||||
|
||||
<select id="selectListByPayTimeBetweenAndGroupByDay"
|
||||
resultType="pc.exam.pp.module.statistics.controller.admin.trade.vo.TradeOrderTrendRespVO">
|
||||
SELECT DATE_FORMAT(pay_time, '%Y-%m-%d') AS date,
|
||||
COUNT(1) AS orderPayCount,
|
||||
SUM(pay_price) AS orderPayPrice
|
||||
FROM trade_order
|
||||
WHERE pay_status = TRUE
|
||||
AND create_time BETWEEN #{beginTime} AND #{endTime}
|
||||
AND deleted = FALSE
|
||||
GROUP BY date
|
||||
</select>
|
||||
|
||||
<select id="selectListByPayTimeBetweenAndGroupByMonth"
|
||||
resultType="pc.exam.pp.module.statistics.controller.admin.trade.vo.TradeOrderTrendRespVO">
|
||||
SELECT DATE_FORMAT(pay_time, '%Y-%m') AS date,
|
||||
COUNT(1) AS orderPayCount,
|
||||
SUM(pay_price) AS orderPayPrice
|
||||
FROM trade_order
|
||||
WHERE pay_status = TRUE
|
||||
AND create_time BETWEEN #{beginTime} AND #{endTime}
|
||||
AND deleted = FALSE
|
||||
GROUP BY date
|
||||
</select>
|
||||
|
||||
<select id="selectCountByStatusAndDeliveryType" resultType="java.lang.Long">
|
||||
SELECT COUNT(1)
|
||||
FROM trade_order
|
||||
WHERE status = #{status}
|
||||
ANd delivery_type = #{deliveryType}
|
||||
AND deleted = FALSE
|
||||
</select>
|
||||
|
||||
<select id="selectPaySummaryByPayStatusAndPayTimeBetween"
|
||||
resultType="pc.exam.pp.module.statistics.controller.admin.trade.vo.TradeOrderSummaryRespVO">
|
||||
SELECT IFNULL(SUM(pay_price), 0) AS orderPayPrice,
|
||||
COUNT(1) AS orderPayCount
|
||||
FROM trade_order
|
||||
WHERE pay_status = #{payStatus}
|
||||
AND pay_time BETWEEN #{beginTime} AND #{endTime}
|
||||
AND deleted = FALSE
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,44 @@
|
||||
<?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="pc.exam.pp.module.statistics.dal.mysql.trade.TradeStatisticsMapper">
|
||||
|
||||
<select id="selectOrderCreateCountSumAndOrderPayPriceSumByTimeBetween"
|
||||
resultType="pc.exam.pp.module.statistics.service.trade.bo.TradeSummaryRespBO">
|
||||
SELECT IFNULL(SUM(order_create_count), 0) AS count,
|
||||
IFNULL(SUM(order_pay_price), 0) AS summary
|
||||
FROM trade_statistics
|
||||
WHERE time BETWEEN #{beginTime} AND #{endTime}
|
||||
AND deleted = FALSE
|
||||
</select>
|
||||
|
||||
<select id="selectVoByTimeBetween"
|
||||
resultType="pc.exam.pp.module.statistics.controller.admin.trade.vo.TradeTrendSummaryRespVO">
|
||||
SELECT
|
||||
-- 营业额 = 商品支付金额 + 充值金额
|
||||
SUM(order_pay_price + recharge_pay_price) AS turnoverPrice,
|
||||
SUM(order_pay_price) AS orderPayPrice,
|
||||
SUM(recharge_pay_price) AS rechargePrice,
|
||||
-- 支出金额 = 余额支付金额 + 支付佣金金额 + 商品退款金额
|
||||
SUM(wallet_pay_price + brokerage_settlement_price + after_sale_refund_price) AS expensePrice,
|
||||
SUM(wallet_pay_price) AS walletPayPrice,
|
||||
SUM(brokerage_settlement_price) AS brokerageSettlementPrice,
|
||||
SUM(after_sale_refund_price) AS afterSaleRefundPrice
|
||||
FROM trade_statistics
|
||||
WHERE time BETWEEN #{beginTime} AND #{endTime}
|
||||
AND deleted = FALSE
|
||||
</select>
|
||||
|
||||
<select id="selectExpensePriceByTimeBetween" resultType="java.lang.Integer">
|
||||
SELECT -- 支出金额 = 余额支付金额 + 支付佣金金额 + 商品退款金额
|
||||
SUM(wallet_pay_price + brokerage_settlement_price + after_sale_refund_price) AS expensePrice
|
||||
FROM trade_statistics
|
||||
WHERE deleted = FALSE
|
||||
<if test="beginTime != null">
|
||||
AND time >= #{beginTime}
|
||||
</if>
|
||||
<if test="endTime != null">
|
||||
AND time <= #{endTime}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user