MonthlyCustomersDao.xml 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.kmall.admin.dao.statistics.MonthlyCustomersDao">
  4. <select id="queryMonthlyCustomers" resultType="com.kmall.admin.entity.MonthlySalesGrowthEntity" >
  5. SELECT
  6. o.merch_sn AS merchSn,
  7. m.merch_name AS merchName,
  8. sum( o.order_price ) AS totalSales,
  9. sum( og.number) as totalNumber,
  10. count(DISTINCT o.id) as totalCustomers,
  11. DATE_FORMAT(o.pay_time,'%Y-%m') as yearAndMonth
  12. FROM
  13. mall_order o
  14. LEFT JOIN mall_merch m ON o.merch_sn = m.merch_sn
  15. LEFT JOIN mall_order_goods og ON o.id = og.order_id
  16. <where>
  17. o.is_onffline_order = '1'
  18. AND o.order_biz_type = '10'
  19. AND o.pay_status = '2'
  20. AND DATE_FORMAT(o.pay_time,'%Y-%m') &gt;= #{startMonth}
  21. AND DATE_FORMAT(o.pay_time,'%Y-%m') &lt;= #{endMonth}
  22. <if test="merchSn != null">
  23. and m.merch_sn = #{merchSn}
  24. </if>
  25. </where>
  26. group by DATE_FORMAT(o.pay_time,'%Y-%m')
  27. </select>
  28. <select id="queryWeeklyCustomers" resultType="com.kmall.admin.entity.MonthlySalesGrowthEntity">
  29. SELECT
  30. o.merch_sn AS merchSn,
  31. m.merch_name AS merchName,
  32. sum( o.order_price ) AS totalSales,
  33. sum( og.number) as totalNumber,
  34. count(DISTINCT o.id) as totalCustomers,
  35. DATE_FORMAT(o.pay_time,'%Y-%u') as yearAndWeek
  36. FROM
  37. mall_order o
  38. LEFT JOIN mall_merch m ON o.merch_sn = m.merch_sn
  39. LEFT JOIN mall_order_goods og ON o.id = og.order_id
  40. <where>
  41. o.is_onffline_order = '1'
  42. AND o.order_biz_type = '10'
  43. AND o.pay_status = '2'
  44. AND DATE_FORMAT(o.pay_time,'%Y-%u') &gt;= #{startWeek}
  45. AND DATE_FORMAT(o.pay_time,'%Y-%u') &lt;= #{endWeek}
  46. <if test="merchSn != null">
  47. and m.merch_sn = #{merchSn}
  48. </if>
  49. </where>
  50. group by DATE_FORMAT(o.pay_time,'%Y-%u')
  51. </select>
  52. </mapper>