CustomerInfoMapper.xml 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="com.miaxis.customer.mapper.CustomerInfoMapper">
  6. <resultMap type="CustomerInfo" id="CustomerInfoResult">
  7. <result property="id" column="id" />
  8. <result property="corporateName" column="corporate_name" />
  9. <result property="businessType" column="business_type" />
  10. <result property="corporateLogo" column="corporate_logo" />
  11. <result property="customerSource" column="customer_source" />
  12. <result property="cityCode" column="city_code" />
  13. <result property="attributedPersonnel" column="attributed_personnel" />
  14. <result property="detailedAddress" column="detailed_address" />
  15. <result property="industryType" column="industry_type" />
  16. <result property="corporatePhone" column="corporate_phone" />
  17. <result property="corporateContacts" column="corporate_contacts" />
  18. <result property="phone" column="phone" />
  19. <result property="customerStar" column="customer_star" />
  20. <result property="enterpriseTaxNumber" column="enterprise_tax_number" />
  21. <result property="invoiceTitle" column="invoice_title" />
  22. <result property="bankOfDeposit" column="bank_of_deposit" />
  23. <result property="bankAccount" column="bank_account" />
  24. <result property="financePhone" column="finance_phone" />
  25. <result property="faxNumber" column="fax_number" />
  26. <result property="appletAddress" column="applet_address" />
  27. <result property="appletLogo" column="applet_logo" />
  28. <result property="appletQrCode" column="applet_qr_code" />
  29. <result property="appletIntroduce" column="applet_introduce" />
  30. <result property="shelfStatus" column="shelf_status" />
  31. <result property="createTime" column="create_time" />
  32. <result property="updateTime" column="update_time" />
  33. <result property="status" column="status" />
  34. </resultMap>
  35. <sql id="selectCustomerInfoVo">
  36. select id, corporate_name, business_type, corporate_logo, customer_source, city_code, attributed_personnel, detailed_address, industry_type, corporate_phone, corporate_contacts, phone, customer_star, enterprise_tax_number, invoice_title, bank_of_deposit, bank_account, finance_phone, fax_number, applet_address, applet_logo, applet_qr_code, applet_introduce, shelf_status, create_time, update_time, status from customer_info
  37. </sql>
  38. <select id="selectCustomerInfoList" parameterType="CustomerInfo" resultMap="CustomerInfoResult">
  39. <include refid="selectCustomerInfoVo"/>
  40. <where>
  41. <if test="corporateName != null and corporateName != ''"> and corporate_name like concat('%', #{corporateName}, '%')</if>
  42. <if test="businessType != null "> and business_type = #{businessType}</if>
  43. <if test="corporateLogo != null "> and corporate_logo = #{corporateLogo}</if>
  44. <if test="customerSource != null "> and customer_source = #{customerSource}</if>
  45. <if test="cityCode != null and cityCode != ''"> and city_code = #{cityCode}</if>
  46. <if test="attributedPersonnel != null "> and attributed_personnel = #{attributedPersonnel}</if>
  47. <if test="detailedAddress != null and detailedAddress != ''"> and detailed_address = #{detailedAddress}</if>
  48. <if test="industryType != null "> and industry_type = #{industryType}</if>
  49. <if test="corporatePhone != null and corporatePhone != ''"> and corporate_phone = #{corporatePhone}</if>
  50. <if test="corporateContacts != null and corporateContacts != ''"> and corporate_contacts = #{corporateContacts}</if>
  51. <if test="phone != null and phone != ''"> and phone = #{phone}</if>
  52. <if test="customerStar != null "> and customer_star = #{customerStar}</if>
  53. <if test="enterpriseTaxNumber != null and enterpriseTaxNumber != ''"> and enterprise_tax_number = #{enterpriseTaxNumber}</if>
  54. <if test="invoiceTitle != null and invoiceTitle != ''"> and invoice_title = #{invoiceTitle}</if>
  55. <if test="bankOfDeposit != null and bankOfDeposit != ''"> and bank_of_deposit = #{bankOfDeposit}</if>
  56. <if test="bankAccount != null and bankAccount != ''"> and bank_account = #{bankAccount}</if>
  57. <if test="financePhone != null and financePhone != ''"> and finance_phone = #{financePhone}</if>
  58. <if test="appletAddress != null and appletAddress != ''"> and applet_address = #{appletAddress}</if>
  59. <if test="shelfStatus != null "> and shelf_status = #{shelfStatus}</if>
  60. <if test="status != null "> and status = #{status}</if>
  61. </where>
  62. </select>
  63. <select id="getCustomerById" resultType="com.miaxis.customer.vo.CustomerInfoVo">
  64. select
  65. ci.id,
  66. ci.corporate_name,
  67. ci.business_type,
  68. ci.corporate_logo,
  69. f1.file_url as corporateLogoFileUrl,
  70. ci.customer_source,
  71. ci.city_code,
  72. ci.attributed_personnel,
  73. ci.detailed_address,
  74. ci.industry_type,
  75. ci.corporate_phone,
  76. ci.corporate_contacts,
  77. ci.phone,
  78. ci.customer_star,
  79. ci.enterprise_tax_number,
  80. ci.invoice_title,
  81. ci.bank_of_deposit,
  82. ci.bank_account,
  83. ci.finance_phone,
  84. ci.fax_number,
  85. ci.applet_address,
  86. ci.applet_logo,
  87. f2.file_url as appletLogoFileUrl,
  88. ci.applet_qr_code,
  89. f3.file_url as appletQrCodeFileUrl,
  90. ci.applet_introduce,
  91. ci.shelf_status,
  92. ci.create_time,
  93. ci.update_time,
  94. ci.status
  95. from customer_info ci
  96. LEFT JOIN file_info f1 on f1.file_id = ci.corporate_logo
  97. LEFT JOIN file_info f2 on f2.file_id = ci.applet_logo
  98. LEFT JOIN file_info f3 on f3.file_id = ci.applet_qr_code
  99. WHERE ci.id = #{id}
  100. </select>
  101. <select id="getCustomerListByProductId" resultType="com.miaxis.customer.vo.CustomerInfoVo">
  102. select
  103. ci.id,
  104. ci.corporate_name,
  105. ci.corporate_logo,
  106. f1.file_url as corporateLogoFileUrl,
  107. ci.city_code,
  108. ci.industry_type,
  109. ci.customer_star,
  110. ci.applet_address,
  111. ci.applet_logo,
  112. f2.file_url as appletLogoFileUrl,
  113. ci.applet_qr_code,
  114. f3.file_url as appletQrCodeFileUrl,
  115. ci.applet_introduce,
  116. ci.shelf_status,
  117. ci.create_time,
  118. ci.update_time,
  119. ci.status
  120. from customer_info ci
  121. LEFT JOIN file_info f1 on f1.file_id = ci.corporate_logo
  122. LEFT JOIN file_info f2 on f2.file_id = ci.applet_logo
  123. LEFT JOIN file_info f3 on f3.file_id = ci.applet_qr_code
  124. WHERE ci.industry_type = #{productId}
  125. </select>
  126. <select id="getCustomerListByCollectionCount" resultType="com.miaxis.customer.vo.CustomerInfoVo">
  127. SELECT
  128. ci.id,
  129. (select COUNT(1) from collection_info coi where coi.customer_id = ci.id) as collectionCount,
  130. ci.corporate_name,
  131. ci.corporate_logo,
  132. f1.file_url as corporateLogoFileUrl,
  133. ci.city_code,
  134. ci.industry_type,
  135. ci.customer_star,
  136. ci.applet_address,
  137. ci.applet_logo,
  138. f2.file_url as appletLogoFileUrl,
  139. ci.applet_qr_code,
  140. f3.file_url as appletQrCodeFileUrl,
  141. ci.applet_introduce,
  142. ci.shelf_status,
  143. ci.create_time,
  144. ci.update_time,
  145. ci.status
  146. FROM `customer_info` ci
  147. LEFT JOIN file_info f1 on f1.file_id = ci.corporate_logo
  148. LEFT JOIN file_info f2 on f2.file_id = ci.applet_logo
  149. LEFT JOIN file_info f3 on f3.file_id = ci.applet_qr_code
  150. ORDER BY collectionCount DESC
  151. </select>
  152. </mapper>