ChannelMapper.xml 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  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.qs.mp.channel.mapper.ChannelMapper">
  4. <!-- 通用查询映射结果 -->
  5. <resultMap id="BaseResultMap" type="com.qs.mp.channel.domain.Channel">
  6. <id column="channel_id" property="channelId" />
  7. <result column="channel_no" property="channelNo" />
  8. <result column="name" property="name" />
  9. <result column="parent_id" property="parentId" />
  10. <result column="level" property="level" />
  11. <result column="site_type" property="siteType" />
  12. <result column="comm_rate" property="commRate" />
  13. <result column="province" property="province" />
  14. <result column="province_id" property="provinceId" />
  15. <result column="city" property="city" />
  16. <result column="city_id" property="cityId" />
  17. <result column="area" property="area" />
  18. <result column="area_id" property="areaId" />
  19. <result column="address" property="address" />
  20. <result column="contact" property="contact" />
  21. <result column="mobile" property="mobile" />
  22. <result column="user_id" property="userId" />
  23. <result column="money" property="money" />
  24. <result column="frozen_money" property="frozenMoney" />
  25. <result column="certify_status" property="certifyStatus" />
  26. <result column="verify_status" property="verifyStatus" />
  27. <result column="biz_license_pic" property="bizLicensePic" />
  28. <result column="door_pic" property="doorPic" />
  29. <result column="memo" property="memo" />
  30. <result column="created_time" property="createdTime" />
  31. <result column="updated_time" property="updatedTime" />
  32. </resultMap>
  33. <!-- 通用查询VO映射结果 -->
  34. <resultMap id="VoResultMap" type="com.qs.mp.channel.domain.vo.ChannelVO">
  35. <id column="channel_id" property="channelId" />
  36. <result column="channel_no" property="channelNo" />
  37. <result column="name" property="name" />
  38. <result column="parent_id" property="parentId" />
  39. <result column="level" property="level" />
  40. <result column="site_type" property="siteType" />
  41. <result column="comm_rate" property="commRate" />
  42. <result column="province" property="province" />
  43. <result column="province_id" property="provinceId" />
  44. <result column="city" property="city" />
  45. <result column="city_id" property="cityId" />
  46. <result column="area" property="area" />
  47. <result column="area_id" property="areaId" />
  48. <result column="address" property="address" />
  49. <result column="contact" property="contact" />
  50. <result column="mobile" property="mobile" />
  51. <result column="user_id" property="userId" />
  52. <result column="money" property="money" />
  53. <result column="frozen_money" property="frozenMoney" />
  54. <result column="certify_status" property="certifyStatus" />
  55. <result column="verify_status" property="verifyStatus" />
  56. <result column="biz_license_pic" property="bizLicensePic" />
  57. <result column="door_pic" property="doorPic" />
  58. <result column="memo" property="memo" />
  59. <result column="created_time" property="createdTime" />
  60. <result column="updated_time" property="updatedTime" />
  61. <result column="parentName" property="parentName" />
  62. <association property="siteCnt" javaType="java.lang.Integer" select="getChannelSiteCnt" column="{channelNo=channelNo}" />
  63. <association property="userCnt" javaType="java.lang.Integer" select="com.qs.mp.channel.mapper.ChannelUserRelMapper.getChannelUserCnt" column="{channelNo=channelNo}" />
  64. </resultMap>
  65. <!-- 通用查询结果列 -->
  66. <sql id="Base_Column_List">
  67. channel_id, channel_no, name, parent_id, level, site_type, comm_rate, province, province_id, city, city_id, area, area_id, address, contact, mobile, user_id, money, frozen_money, certify_status, verify_status, biz_license_pic, door_pic, memo, created_time, updated_time
  68. </sql>
  69. <!-- 查询子渠道信息 -->
  70. <select id="selectChannelVoList" resultMap="VoResultMap">
  71. select t1.* , t2.siteCnt, t3.userCnt, t4.name parentName
  72. from mp_channel t1
  73. left join (select parent_id, count(*) as siteCnt from mp_channel where `level` = 0 GROUP BY parent_id ) t2 on t1.channel_id = t2.parent_id
  74. left join (select channel_id, count(user_id) as userCnt from mp_channel_user_rel GROUP BY channel_id ) t3 on t1.channel_id = t3.channel_id
  75. left join mp_channel t4 on t1.parent_id = t4.channel_id
  76. ${ew.customSqlSegment}
  77. order by a.channel_id desc
  78. </select>
  79. <!-- 查询渠道及其子渠道经销商用户数总和 -->
  80. <select id="getChannelSiteCnt" resultType="integer">
  81. select count(t1.channel_id) as siteCnt
  82. from mp_channel t1
  83. left join mp_channel t2 on t1.parent_id = t2.channel_id
  84. where t1.`level`= 0 and t1.certify_status = 'y'
  85. and t2.channel_no like concat(#{channelNo}, '%')
  86. </select>
  87. </mapper>