SellerMapper.xml 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367
  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.caimei365.user.mapper.SellerMapper">
  4. <select id="getLoginSellerByMobile" resultType="com.caimei365.user.model.vo.UserLoginVo">
  5. select u.userID as userId,
  6. u.clubID as clubId,
  7. u.shopID as shopId,
  8. u.userName as userName,
  9. u.name as name,
  10. u.mobile as mobile,
  11. u.bindMobile as bindMobile,
  12. u.email as email,
  13. u.guideFlag as guideFlag,
  14. u.userPermission as userPermission,
  15. u.userIdentity as userIdentity,
  16. u.serviceProviderID as serviceProviderId,
  17. u.serviceProviderStatus as serviceStatus,
  18. u.password as password
  19. from user u
  20. where u.mobile = #{mobile}
  21. and u.userIdentity = 1
  22. and u.userPermission = 4
  23. and u.validFlag = 1
  24. </select>
  25. <update id="updateServiceProviderByUserId">
  26. update serviceprovider
  27. set openid = #{openId},
  28. unionId = #{unionId}
  29. where userID = #{userId}
  30. </update>
  31. <update id="setSellerHome" parameterType="com.caimei365.user.model.po.ServiceProviderPo">
  32. update serviceprovider
  33. <trim prefix="SET" suffixOverrides=",">
  34. <if test="qrCode != null and qrCode != ''">qrCode = #{qrCode},</if>
  35. </trim>
  36. where userID = #{userId}
  37. </update>
  38. <update id="setSellerUserHome" >
  39. update user
  40. <trim prefix="SET" suffixOverrides=",">
  41. <if test="image != null and image != ''">image = #{image},</if>
  42. </trim>
  43. where userId = #{userId}
  44. </update>
  45. <select id="findClubTemporary" resultType="com.caimei365.user.model.vo.ClubTemporaryVo">
  46. SELECT
  47. `id`,
  48. `userId`,
  49. `name`,
  50. `shortName`,
  51. `bindMobile`,
  52. `contractEmail`,
  53. `linkMan`,
  54. `provinceId`,
  55. `cityId`,
  56. `townId`,
  57. `address`,
  58. `shopPhoto`,
  59. `businessLicense`,
  60. `socialCreditCode`,
  61. `firstClubType`,
  62. `secondClubType`,
  63. `department`,
  64. `medicalPracticeLicense`,
  65. `mainProduct`,
  66. `isAgreed`
  67. FROM
  68. club_temporary
  69. WHERE
  70. userId = #{userId}
  71. <if test="searchName != null and searchName != ''">
  72. AND (name LIKE CONCAT('%',#{searchName},'%') OR linkMan LIKE CONCAT('%',#{searchName},'%'))
  73. </if>
  74. ORDER BY
  75. id DESC
  76. </select>
  77. <update id="updateClubTemporary">
  78. UPDATE
  79. `club_temporary`
  80. SET `name` = #{name},
  81. `shortName` = #{shortName},
  82. `bindMobile` = #{bindMobile},
  83. `contractEmail` = #{contractEmail},
  84. `linkMan` = #{linkMan},
  85. `provinceId` = #{provinceId},
  86. `cityId` = #{cityId},
  87. `townId` = #{townId},
  88. `address` = #{address},
  89. `shopPhoto` = #{shopPhoto},
  90. `businessLicense` = #{businessLicense},
  91. `socialCreditCode` = #{socialCreditCode},
  92. `firstClubType` = #{firstClubType},
  93. `secondClubType` = #{secondClubType},
  94. `department` = #{department},
  95. `medicalPracticeLicense` = #{medicalPracticeLicense},
  96. `mainProduct` = #{mainProduct},
  97. `isAgreed` = #{isAgreed}
  98. WHERE `id` = #{id}
  99. </update>
  100. <delete id="deleteTemporaryClub">
  101. DELETE
  102. FROM `club_temporary`
  103. WHERE `id` = #{id}
  104. </delete>
  105. <select id="findOrderNum" resultType="integer">
  106. SELECT
  107. COUNT(*)
  108. FROM
  109. cm_order
  110. WHERE
  111. userID = #{userId}
  112. AND orderSubmitType IN (0, 1, 2)
  113. <if test="lastCheckOrderDate != null">
  114. AND orderTime > #{lastCheckOrderDate}
  115. </if>
  116. </select>
  117. <select id="findClubs" resultType="com.caimei365.user.model.vo.ClubVo">
  118. select c.clubID as clubId, c.userID as userId, c.name, c.sname as shortName, c.contractMobile,
  119. c.contractEmail as contractEmail,
  120. c.contractPhone, c.linkMan, c.provinceID as proviceId, c.cityID as cityId, c.townID as townId,
  121. c.address, c.headpic as shopPhoto, c.businessLicenseImage as businessLicense, c.socialCreditCode,
  122. c.firstClubType, c.secondClubType, c.department, c.medicalPracticeLicenseImg as medicalPracticeLicense,
  123. c.mainpro as mainProduct, c.fax, c.info as profile, c.spID as serviceProviderId, c.addTime, c.status,
  124. c.lastCheckOrderDate,
  125. u.userIdentity,c.newDeal as newDeal,IF(r.id IS NOT NULL,1,0) AS recordCount,
  126. sp.name AS serviceName,
  127. covs.activeState AS activeState,
  128. covs.customerValue AS customerValue,
  129. cpr.createTime AS providerTime
  130. from club c
  131. left join user u on c.userID = u.userID
  132. LEFT JOIN record_link r ON r.`clubId`=c.`clubID`
  133. LEFT JOIN cm_organ_value_system covs ON covs.userID = u.userID
  134. LEFT JOIN serviceprovider sp ON c.spID = sp.serviceProviderID
  135. LEFT JOIN cm_provider_record cpr ON cpr.spID = sp.serviceProviderID and cpr.clubId = c.clubId
  136. where
  137. <if test="1 == type">
  138. c.spID = #{serviceProviderId}
  139. </if>
  140. <if test="2 == type">
  141. c.spID in
  142. <foreach collection="serviceIds" item="id" index="index" open="(" separator="," close=")">
  143. #{id}
  144. </foreach>
  145. </if>
  146. <if test="3 == type">
  147. r.clubId IS NOT NULL
  148. AND c.spId=1342
  149. </if>
  150. <if test="4 == type">
  151. c.spID = #{serviceProviderId}
  152. AND sp.status = 90
  153. AND u.loginTime >= DATE_SUB(CURRENT_DATE, INTERVAL 6 MONTH)
  154. </if>
  155. <if test="5 == type">
  156. c.spID = #{serviceProviderId}
  157. AND sp.status = 90
  158. AND u.loginTime <![CDATA[ < ]]> DATE_SUB(CURRENT_DATE, INTERVAL 6 MONTH)
  159. </if>
  160. <if test="6 == type">
  161. c.spID = #{serviceProviderId}
  162. AND c.newDeal =1
  163. </if>
  164. <if test="status != null and status != 66">
  165. AND c.status = #{status}
  166. </if>
  167. <if test="status == 66">
  168. AND c.status IN (1,90,92,93)
  169. </if>
  170. <if test="name != null and name != ''">
  171. AND (c.name LIKE CONCAT('%',#{name},'%') OR c.linkMan LIKE CONCAT('%',#{name},'%') OR c.contractMobile LIKE CONCAT('%',#{name},'%'))
  172. </if>
  173. <if test="userIdentity != null">
  174. AND u.userIdentity = #{userIdentity}
  175. </if>
  176. AND covs.stage = 0 AND covs.delType = 1
  177. group by c.clubID
  178. order by cpr.createTime desc
  179. </select>
  180. <select id="findSpUserLoginSum" resultType="java.util.HashMap" parameterType="string">
  181. select
  182. ifnull(COUNT(CASE WHEN u.loginTime >= DATE_SUB(CURRENT_DATE, INTERVAL 6 MONTH) THEN 1 END),0) AS loginSum,
  183. ifnull(COUNT(CASE WHEN u.loginTime <![CDATA[ < ]]> DATE_SUB(CURRENT_DATE, INTERVAL 6 MONTH) THEN 1 END),0) AS not_loginSum
  184. FROM club c
  185. LEFT JOIN user u ON u.userID = c.userID
  186. LEFT JOIN serviceprovider sp ON sp.serviceProviderID = c.spID
  187. where sp.status=90
  188. <if test="spID != null">
  189. and c.spID=#{spID}
  190. </if>
  191. </select>
  192. <select id="getAllClubList" resultType="com.caimei365.user.model.vo.ClubVo">
  193. SELECT DISTINCT c.clubID as clubId, c.userID as userId, c.name, c.sname as shortName, c.contractMobile,
  194. c.contractEmail as contractEmail,
  195. c.contractPhone, c.linkMan, c.provinceID as proviceId, c.cityID as cityId, c.townID as townId,
  196. c.address, c.headpic as shopPhoto, c.businessLicenseImage as businessLicense, c.socialCreditCode,
  197. c.firstClubType, c.secondClubType, c.department, c.medicalPracticeLicenseImg as medicalPracticeLicense,
  198. c.mainpro as mainProduct, c.fax, c.info as profile, c.spID as serviceProviderId, c.addTime, c.status,
  199. c.lastCheckOrderDate,
  200. u.userIdentity
  201. FROM club c
  202. LEFT JOIN user u ON c.userID=u.userID
  203. WHERE u.userOrganizeID = 0 AND c.status = '90'
  204. <if test="searchWord != null and searchWord != ''">
  205. and (
  206. c.name LIKE CONCAT('%',#{searchWord},'%') or
  207. c.linkMan LIKE CONCAT('%',#{searchWord},'%') or
  208. c.contractMobile LIKE CONCAT('%',#{searchWord},'%')
  209. )
  210. </if>
  211. </select>
  212. <select id="getSellerByUserId" resultType="com.caimei365.user.model.po.ServiceProviderPo">
  213. select s.serviceProviderID AS serviceProviderId,
  214. s.status,
  215. s.userID AS userId,
  216. s.openid,
  217. s.unionId,
  218. s.name,
  219. s.contractMobile,
  220. s.linkMan,
  221. s.duty,
  222. s.contractEmail,
  223. s.auditStatus,
  224. s.auditTime,
  225. s.auditNote,
  226. s.validFlag,
  227. s.addTime,
  228. s.qrCode,
  229. u.image,
  230. s.mainServiceProviderID AS mainServiceProviderId
  231. from serviceprovider s
  232. LEFT JOIN USER u ON s.userId = u.userId
  233. where s.userID = #{userId}
  234. </select>
  235. <select id="findManager" resultType="java.lang.Integer">
  236. SELECT IF(csm.serviceProviderId IS NULL, 2, 1) AS manager
  237. FROM cm_serviceteam_manager csm
  238. LEFT JOIN serviceprovider s ON csm.serviceProviderId = s.serviceProviderId
  239. LEFT JOIN USER u ON s.userId = u.userId
  240. WHERE u.bindmobile = #{mobile}
  241. OR u.mobile = #{mobile}
  242. </select>
  243. <select id="findManagerByUser" resultType="java.lang.Integer">
  244. SELECT IF(csm.serviceProviderId IS NULL, 2, 1) AS manager
  245. FROM cm_serviceteam_manager csm
  246. LEFT JOIN serviceprovider s ON csm.serviceProviderId = s.serviceProviderId
  247. WHERE s.userID = #{userId}
  248. </select>
  249. <select id="findLeaderId" resultType="java.lang.Integer">
  250. SELECT leaderId
  251. FROM cm_serviceteam_role csr
  252. LEFT JOIN serviceprovider s ON s.serviceProviderId = csr.leaderId
  253. WHERE s.userId = #{userId}
  254. </select>
  255. <select id="findLeaderIdByServiceId" resultType="java.lang.Integer">
  256. select leaderId
  257. FROM cm_serviceteam_role
  258. WHERE leaderId = #{serviceProviderId}
  259. </select>
  260. <select id="findmanagerIdByServiceId" resultType="java.lang.Integer">
  261. SELECT serviceProviderId
  262. FROM cm_serviceteam_manager
  263. where serviceProviderId = #{serviceProviderId}
  264. </select>
  265. <select id="findServiceIds" resultType="java.lang.Integer">
  266. SELECT csg.serviceId
  267. FROM cm_serviceteam_group csg
  268. LEFT JOIN cm_serviceteam_role csr ON csr.id = csg.teamId
  269. WHERE csr.leaderId = #{serviceProviderId}
  270. AND csg.serviceId != #{serviceProviderId}
  271. </select>
  272. <select id="findAllServiceIds" resultType="java.lang.Integer">
  273. SELECT csg.serviceId
  274. FROM cm_serviceteam_group csg
  275. WHERE csg.serviceId != #{serviceProviderId}
  276. </select>
  277. <select id="findServices" resultType="com.caimei365.user.model.vo.ServiceProviderVo">
  278. SELECT csg.serviceId as serviceProviderId,s.linkMan as name
  279. FROM cm_serviceteam_group csg
  280. LEFT JOIN cm_serviceteam_role csr ON csr.id=csg.teamId
  281. left join serviceprovider s on csg.serviceId=s.serviceProviderID
  282. WHERE csr.leaderId = #{spId} and s.organizeID = 0
  283. <if test="status == 1">
  284. AND csg.serviceId != #{spId}
  285. </if>
  286. </select>
  287. <select id="findAllServices" resultType="com.caimei365.user.model.vo.ServiceProviderVo">
  288. SELECT csg.serviceId AS serviceProviderId,s.linkMan AS NAME
  289. FROM cm_serviceteam_group csg
  290. LEFT JOIN serviceprovider s ON csg.serviceId=s.serviceProviderID
  291. <where>
  292. s.organizeID = 0
  293. <if test="status == 1">
  294. and csg.serviceId != #{spId}
  295. </if>
  296. </where>
  297. </select>
  298. <select id="getBehaviorRecordYesterdayPageLabel" resultType="string">
  299. SELECT GROUP_CONCAT(a.pageLabel)
  300. FROM (SELECT b.pageLabel
  301. FROM cm_behavior_record b
  302. LEFT JOIN club c ON b.userID = c.userID
  303. WHERE b.userId !=0
  304. and c.spId=#{spId}
  305. <if test="clubId != null">
  306. AND c.clubId =#{clubId}
  307. </if>
  308. and b.pageType in(6,8,11)
  309. and DATE(b.accessTime) = DATE(#{accessTime})
  310. GROUP BY b.pageLabel LIMIT 10) as a
  311. </select>
  312. <select id="getBehaviorRecordYesterdayClubFrom" resultType="com.caimei365.user.model.vo.CmBehaviorRecordVo">
  313. SELECT
  314. b.recordID,
  315. b.userID,
  316. b.pagePath,
  317. b.pageType,
  318. b.pageLabel,
  319. b.productID,
  320. b.accessTime,
  321. b.accessDuration,
  322. b.accessDate,
  323. b.referer,
  324. b.accessClient,
  325. b.isReckon,
  326. b.region,
  327. c.name,c.linkMan,c.contractMobile,c.clubId,u.image
  328. FROM cm_behavior_record b
  329. LEFT JOIN club c ON b.userID = c.userID
  330. LEFT JOIN user u ON u.userID = c.userID
  331. WHERE b.userId !=0
  332. and c.spId=#{spId}
  333. and c.clubId=#{clubId}
  334. and b.pageType in(6,8,11)
  335. and DATE(b.accessTime) = DATE(#{accessTime})
  336. </select>
  337. <select id="getBehaviorRecordYesterdayClub" resultType="com.caimei365.user.model.vo.CmBehaviorRecordVo">
  338. SELECT b.recordID,
  339. b.userID,
  340. b.pagePath,
  341. b.pageType,
  342. b.pageLabel,
  343. b.productID,
  344. b.accessTime,
  345. b.accessDuration,
  346. b.accessDate,
  347. b.referer,
  348. b.accessClient,
  349. b.isReckon,
  350. b.region,
  351. c.name,c.linkMan,c.contractMobile,c.clubId,u.image
  352. FROM cm_behavior_record b
  353. LEFT JOIN club c ON b.userID = c.userID
  354. LEFT JOIN user u ON u.userID = c.userID
  355. WHERE b.userId !=0
  356. and c.spId=#{spId}
  357. and b.pageType in(6,8,11)
  358. and DATE(b.accessTime) = DATE(#{accessTime})
  359. GROUP BY c.clubId
  360. </select>
  361. </mapper>