ClubMapper.xml 41 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965
  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.ClubMapper">
  4. <insert id="insertRemarks" parameterType="com.caimei365.user.model.po.ClubRemarksPo" keyProperty="remarksId"
  5. useGeneratedKeys="true">
  6. insert into cm_club_remarks(clubId, serviceProviderId, remarks, addTime, questionMan, consultType, clubType,
  7. pinceSensitve, satisfied, followup, extra, productID, reportID)
  8. values (#{clubId}, #{serviceProviderId}, #{remarks}, now(), #{questionMan}, #{consult}, #{clubType},
  9. #{pinceSensitve}, #{satisfied}, #{followup}, #{extra}, #{productID}, #{reportID})
  10. </insert>
  11. <insert id="insertRemarksImage">
  12. insert into cm_club_remarks_file(remarksId, fileType, imageUrl)
  13. values (#{remarksId}, 1, #{imageUrl})
  14. </insert>
  15. <insert id="insertRemarksFile">
  16. insert into cm_club_remarks_file(remarksId, fileType, fileName, ossName)
  17. values (#{remarksId}, 2, #{fileName}, #{ossName})
  18. </insert>
  19. <insert id="insertQuestionMan">
  20. insert into cm_visitor_remarks(questionManId, serviceProviderId, remarks, addTime, questionMan, concactTime)
  21. values (#{questionManId}, #{serviceProviderId}, #{remarks}, now(), #{questionMan}, #{concactTime})
  22. </insert>
  23. <insert id="insertVisitorRemark" keyProperty="remarksId" useGeneratedKeys="true">
  24. insert into cm_visitor_remarks(questionMan, questionManId, serviceProviderId, remarks, addTime, consultType,
  25. clubType, pinceSensitve, satisfied, followup, extra, reportID, productID)
  26. values (#{questionMan}, #{questionManId}, #{serviceProviderId}, #{remarks}, now(), #{consult}, #{clubType},
  27. #{pinceSensitve}, #{satisfied}, #{followup}, #{extra}, #{reportId}, #{productId})
  28. </insert>
  29. <insert id="insertVisitorRemarksImage">
  30. insert into cm_visitor_remarks_file(remarksId, fileType, imageUrl)
  31. values (#{remarksId}, 1, #{image})
  32. </insert>
  33. <insert id="insertVisitorRemarksFile">
  34. insert into cm_visitor_remarks_file(remarksId, fileType, fileName, ossName)
  35. values (#{remarksId}, 2, #{fileName}, #{ossName})
  36. </insert>
  37. <insert id="concactVisit" parameterType="com.caimei365.user.model.vo.RemarksVo" keyProperty="remarksId"
  38. useGeneratedKeys="true">
  39. insert into cm_club_remarks(clubId, serviceProviderId, remarks, addTime, questionMan, concactTime, consultType,
  40. clubType, pinceSensitve, satisfied, followup, extra, productID, reportID)
  41. values (#{clubId}, #{serviceProviderId}, #{remarks}, #{addTime}, #{questionMan}, now(), #{consult}, #{clubType},
  42. #{pinceSensitve}, #{satisfied}, #{followup}, #{extra}, #{productId}, #{reportId})
  43. </insert>
  44. <insert id="insertChangeRecord" parameterType="com.caimei365.user.model.vo.ClubChangeSpVo"
  45. keyProperty="clubChangeSpRecordID"
  46. useGeneratedKeys="true">
  47. INSERT INTO clubchangesprecord(clubID,
  48. oldSpID,
  49. newSpID,
  50. applyTime,
  51. checkTime,
  52. checkStatus,
  53. checkMark,
  54. checkUserID,
  55. choseServiceId)
  56. VALUES (#{clubID},
  57. #{oldSpID},
  58. #{newSpID},
  59. #{applyTime},
  60. #{checkTime},
  61. #{checkStatus},
  62. #{checkMark},
  63. #{checkUserID},
  64. #{choseServiceId})
  65. </insert>
  66. <update id="updateClubUserByUpdateInfo">
  67. update user set
  68. <if test="name != null and name != ''">
  69. name = #{name},
  70. </if>
  71. <if test="email != null and email != ''">
  72. email = #{email},
  73. </if>
  74. userName = #{userName}
  75. where userID = #{userId}
  76. </update>
  77. <update id="updateClubByUpdateInfo">
  78. update club set
  79. <if test="name != null and name != ''">
  80. name = #{name},
  81. </if>
  82. <if test="shortName != null and shortName != ''">
  83. sname = #{shortName},
  84. </if>
  85. <if test="contractEmail != null and contractEmail != ''">
  86. contractEmail = #{contractEmail},
  87. </if>
  88. contractPhone = #{contractPhone},
  89. <if test="linkMan != null and linkMan != ''">
  90. linkMan = #{linkMan},
  91. </if>
  92. <if test="linkManIdentity != null and linkManIdentity != ''">
  93. linkManIdentity = #{linkManIdentity},
  94. </if>
  95. <if test="townId != null and townId != ''">
  96. provinceID = #{provinceId}, cityID = #{cityId}, townID = #{townId}, address = #{address},
  97. </if>
  98. <if test="shopPhoto != null and shopPhoto != 'null' and shopPhoto != ''">
  99. headpic = #{shopPhoto},
  100. </if>
  101. <if test="businessLicense != null and businessLicense != ''">
  102. businessLicenseImage = #{businessLicense},
  103. </if>
  104. <if test="socialCreditCode != null and socialCreditCode != ''">
  105. socialCreditCode = #{socialCreditCode},
  106. </if>
  107. <if test="firstClubType != null and firstClubType != ''">
  108. firstClubType = #{firstClubType},
  109. </if>
  110. <if test="firstClubType == 1 or firstClubType == 2">
  111. secondClubType = #{secondClubType}, department = #{department}, medicalPracticeLicenseImg =
  112. #{medicalPracticeLicense},
  113. </if>
  114. <if test="mainProduct != null and mainProduct != ''">
  115. mainpro = #{mainProduct},
  116. </if>
  117. fax = #{fax},
  118. info = #{profile},
  119. lastModify = NOW()
  120. where clubID = #{clubId}
  121. </update>
  122. <delete id="clearRemarksFiles">
  123. delete
  124. from cm_club_remarks_file
  125. where remarksId = #{remarksId}
  126. </delete>
  127. <delete id="deleteRemarks">
  128. delete
  129. from cm_club_remarks
  130. where id = #{remarksId}
  131. </delete>
  132. <delete id="deleteRemarksFiles">
  133. delete
  134. from cm_club_remarks_file
  135. where remarksId = #{remarksId}
  136. </delete>
  137. <delete id="clearVisitorRemarks">
  138. delete
  139. from cm_visitor_remarks_file
  140. where remarksId = #{remarksId}
  141. </delete>
  142. <delete id="deleteVisitRemark">
  143. delete
  144. from cm_visitor_remarks
  145. where id = #{remarksId}
  146. </delete>
  147. <select id="getClubById" resultType="com.caimei365.user.model.vo.ClubVo">
  148. select clubID as clubId,
  149. userID as userId,
  150. name,
  151. sname as shortName,
  152. contractMobile,
  153. contractEmail,
  154. contractPhone,
  155. linkMan,
  156. linkManIdentity,
  157. provinceID as proviceId,
  158. cityID as cityId,
  159. townID as townId,
  160. ifnull(address,'暂无') as address,
  161. headpic as shopPhoto,
  162. businessLicenseImage as businessLicense,
  163. socialCreditCode,
  164. firstClubType,
  165. secondClubType,
  166. department,
  167. medicalPracticeLicenseImg as medicalPracticeLicense,
  168. mainpro as mainProduct,
  169. fax,
  170. info as profile,
  171. spID as serviceProviderId,
  172. addTime,
  173. status,
  174. lastCheckOrderDate,
  175. newDeal as newDeal
  176. from club
  177. where clubID = #{clubId}
  178. </select>
  179. <!-- <select id="getOrderCount" resultType="com.caimei365.user.model.vo.OrderCountVo">-->
  180. <!-- select userID as userId,-->
  181. <!-- (select COUNT(*) from cm_order where userID = #{userId} and delFlag = '0') as orderCount,-->
  182. <!-- (select COUNT(*) from cm_order where userID = #{userId} and delFlag = '0' and status = '0') as confirmedCount,-->
  183. <!-- (select COUNT(*) from cm_order where userID = #{userId} and delFlag = '0' and status in(11,12,13,21,22,23)) as paymentCount,-->
  184. <!-- (select COUNT(*) from cm_order where userID = #{userId} and delFlag = '0' and status in(11,12,21,22,31,32)) as waitShipmentsCount,-->
  185. <!-- (select COUNT(*) from cm_order where userID = #{userId} and delFlag = '0' and status in(12,13,22,23,32,33)) as shipmentsCount,-->
  186. <!-- (select COUNT(*) from cm_order where userID = #{userId} and delFlag = '0' and status in(1,2)) as salesReturnCount-->
  187. <!-- from cm_order-->
  188. <!-- where userID = #{userId} and delFlag = '0'-->
  189. <!-- limit 1-->
  190. <!-- </select>-->
  191. <select id="findBeansHistoryByType" resultType="integer">
  192. SELECT id
  193. FROM user_beans_history
  194. WHERE userId = #{userId}
  195. AND beansType = #{beansType}
  196. AND delFlag = 0
  197. </select>
  198. <update id="updateUserBeans">
  199. UPDATE USER
  200. SET userBeans = #{userBeans}
  201. WHERE userID = #{userId}
  202. </update>
  203. <select id="findBeansHistory" resultType="com.caimei365.user.model.vo.BeansHistoryVo">
  204. SELECT beansType,
  205. num
  206. FROM user_beans_history
  207. WHERE pushStatus = 0
  208. AND beansType IN (1, 2, 3, 4, 8, 12)
  209. AND delFlag = 0
  210. AND userId = #{userId}
  211. ORDER BY ADDTIME DESC
  212. LIMIT 1
  213. </select>
  214. <select id="findByBeansType" resultType="integer">
  215. SELECT SUM(num)
  216. FROM user_beans_history
  217. WHERE userId = #{userId}
  218. AND beansType = #{beansType}
  219. AND pushStatus = 0
  220. AND delFlag = 0
  221. </select>
  222. <update id="updatePushStatus">
  223. UPDATE user_beans_history
  224. SET pushStatus = 1
  225. WHERE userId = #{userId}
  226. </update>
  227. <update id="updateRemarks">
  228. update cm_club_remarks
  229. set remarks = #{remarks},
  230. questionMan = #{questionMan},
  231. consultType = #{consult},
  232. clubType=#{clubType},
  233. pinceSensitve=#{pinceSensitve},
  234. satisfied=#{satisfied},
  235. followup=#{followup},
  236. extra=#{extra},
  237. productID=#{productID},
  238. reportID=#{reportID}
  239. where id = #{remarksId}
  240. </update>
  241. <update id="updateQuestionMan">
  242. update cm_visitor_remarks
  243. set questionMan = #{questionMan}
  244. where questionManId = #{questionManId}
  245. and serviceProviderId = #{serviceProviderId}
  246. </update>
  247. <update id="updateVisitorRemark">
  248. update cm_visitor_remarks
  249. set remarks = #{remarks},
  250. consultType = #{consult},
  251. clubType=#{clubType},
  252. pinceSensitve=#{pinceSensitve},
  253. satisfied=#{satisfied},
  254. followup=#{followup},
  255. extra=#{extra},
  256. reportID=#{reportId},
  257. productID=#{productId}
  258. where id = #{remarksId}
  259. </update>
  260. <update id="updateVisit">
  261. update cm_visitor_remarks
  262. set clubId = #{clubId},
  263. concactTime = now()
  264. where questionManId = #{questionManId}
  265. </update>
  266. <update id="updateReport">
  267. update cm_club_report
  268. set clubId = #{clubId},
  269. questionManId=null
  270. where questionManId = #{questionManId}
  271. </update>
  272. <update id="updateClubSpId">
  273. update club
  274. set spID=#{spId},
  275. scanFlag=2
  276. where clubID = #{clubId}
  277. </update>
  278. <update id="updateRemarksSp">
  279. UPDATE `cm_club_remarks`
  280. SET
  281. <if test="status == 1">
  282. oldserviceProviderId = #{oldSpId},
  283. </if>
  284. serviceProviderId=#{spId}
  285. WHERE clubId = #{clubId}
  286. AND serviceProviderId = #{oldSpId}
  287. </update>
  288. <update id="updateReportSp">
  289. UPDATE cm_club_report
  290. SET serviceProviderId=#{spId}
  291. WHERE clubId = #{clubId}
  292. AND serviceProviderId = #{oldSpId}
  293. </update>
  294. <select id="findAllBeansHistory" resultType="com.caimei365.user.model.vo.BeansHistoryVo">
  295. SELECT
  296. type,
  297. beansType,
  298. num,
  299. addTime
  300. FROM
  301. user_beans_history
  302. WHERE
  303. userId = #{userId}
  304. AND addTime <![CDATA[ >= ]]> #{startTime}
  305. AND addTime <![CDATA[ <= ]]> #{endTime}
  306. AND delFlag = 0
  307. <if test="type != null and type != 0">
  308. AND type = #{type}
  309. </if>
  310. ORDER BY addTime DESC
  311. </select>
  312. <select id="findLoginBeans" resultType="integer">
  313. SELECT id
  314. FROM user_beans_history
  315. WHERE beansType IN (1, 12)
  316. AND DATE_FORMAT(addTime, '%Y-%m-%d') = DATE_FORMAT(NOW(), '%Y-%m-%d')
  317. AND userId = #{userId}
  318. </select>
  319. <select id="findCountCoupon" resultType="integer">
  320. SELECT COUNT(a.id)
  321. FROM cm_coupon_club a
  322. LEFT JOIN cm_coupon cc ON a.couponId = cc.id
  323. WHERE cc.delFlag = 0
  324. AND a.delFlag = 0
  325. AND a.userId = #{userId}
  326. AND a.status = 1
  327. AND (cc.couponType IN (0, 1, 3)
  328. OR (cc.couponType = 2 AND a.userId = #{userId})
  329. OR ((SELECT registerTime FROM user WHERE userID = #{userId}) <![CDATA[ >= ]]> startDate AND couponType = 4))
  330. and NOW() <![CDATA[ > ]]> startDate
  331. and NOW() <![CDATA[ < ]]> if(receiveFlag = 1 OR vipFlag = 1, endDate,
  332. date_add(if((SELECT registerTime FROM user WHERE userID = #{userId}) <![CDATA[ > ]]> startDate and
  333. (SELECT registerTime FROM user WHERE userID = #{userId}) <![CDATA[ < ]]> endDate,
  334. (SELECT registerTime FROM user WHERE userID = #{userId}), startDate),
  335. interval receivePeriod day)
  336. )
  337. AND cc.status != 2
  338. </select>
  339. <select id="findBeansHistoryByArchiveId" resultType="java.lang.Integer">
  340. select id
  341. from user_beans_history
  342. where userId = #{userId}
  343. and archiveId = #{archiveId}
  344. </select>
  345. <select id="getBeansNumByUserId" resultType="java.lang.Integer">
  346. select userBeans
  347. from user
  348. where userID = #{userId}
  349. </select>
  350. <select id="getRemarksList" resultType="com.caimei365.user.model.vo.RemarksVo">
  351. select id as remarksId, remarks, addTime, questionMan, clubId
  352. from cm_club_remarks
  353. where serviceProviderId = #{serviceProviderId}
  354. order by addTime desc
  355. </select>
  356. <select id="getRemarks" resultType="com.caimei365.user.model.vo.RemarksVo">
  357. SELECT DISTINCT ccr.id AS remarksId,
  358. ccr.remarks,
  359. ccr.questionMan,
  360. ccr.addTime,
  361. ccr.clubId,
  362. c.userID,
  363. IFNULL(ccr.consultType, '') AS consult,
  364. ccr.clubType,
  365. ccr.pinceSensitve,
  366. ccr.satisfied,
  367. ccr.followup,
  368. ccr.extra,
  369. p.`mainImage` AS mainImage,
  370. p.name AS productName,
  371. s.name AS shopName,
  372. cmc.`reportText` as reportText,
  373. cmc.`status` as status,
  374. cmc.`auditText` as auditText,
  375. c.newDeal as newDeal,
  376. p.productId as productId,
  377. cmc.ID as reportId
  378. FROM cm_club_remarks ccr
  379. LEFT JOIN club c ON ccr.clubId = c.clubId
  380. LEFT JOIN product p ON p.productID = ccr.productID
  381. LEFT JOIN cm_club_report cmc ON cmc.ID = ccr.reportID
  382. LEFT JOIN shop s ON s.shopID = p.shopID
  383. where ccr.id = #{remarksId}
  384. AND ccr.remarks IS NOT NULL
  385. </select>
  386. <select id="getRemarksImageList" resultType="java.lang.String">
  387. select imageUrl
  388. from cm_club_remarks_file
  389. where remarksId = #{remarksId}
  390. and fileType = 1
  391. </select>
  392. <select id="getRemarksFileList" resultType="com.caimei365.user.model.vo.RemarksFileVo">
  393. select fileName, ossName
  394. from cm_club_remarks_file
  395. where remarksId = #{remarksId}
  396. and fileType = 2
  397. </select>
  398. <select id="getAfterSale" resultType="com.caimei365.user.model.vo.AfterSaleVo">
  399. SELECT id,
  400. organizeName,
  401. organizeLinkName,
  402. mobile,
  403. contactNumber,
  404. systemName,
  405. systemImage,
  406. introduction,
  407. afterSale,
  408. shoppingNotes,
  409. updateTime,
  410. addTime,
  411. delFlag
  412. FROM cm_mall_organize
  413. WHERE id = 0
  414. AND delFlag = '0'
  415. </select>
  416. <select id="getUnReadMessageCount" resultType="java.lang.Integer">
  417. SELECT COUNT(*)
  418. FROM message
  419. WHERE toUserID = #{userId}
  420. AND readFlag = '0'
  421. </select>
  422. <select id="getUserCouponCount" resultType="java.lang.Integer">
  423. SELECT COUNT(a.id)
  424. FROM cm_coupon_club a
  425. LEFT JOIN cm_coupon cc ON a.couponId = cc.id
  426. WHERE cc.delFlag = 0
  427. AND a.delFlag = 0
  428. AND a.status = 1
  429. AND cc.status != 2
  430. AND a.userId = #{userId}
  431. AND if(cc.vipFlag = 1
  432. , NOW() BETWEEN cc.startDate
  433. AND cc.endDate
  434. , NOW() <![CDATA[ < ]]> IF(cc.usePeriod IS NULL
  435. , cc.endDate
  436. , DATE_ADD(a.createDate
  437. , INTERVAL cc.usePeriod DAY)))
  438. </select>
  439. <select id="getUserAdvertiseList" resultType="com.caimei365.user.model.vo.AdvertiseVo">
  440. SELECT image, link, title
  441. FROM c_homepageadvertise
  442. <where>
  443. <if test="advertiseTypeId != null">
  444. AND advertiseTypeID = #{advertiseTypeId}
  445. </if>
  446. <if test="typeId != null">
  447. AND typeID = #{typeId}
  448. </if>
  449. <if test="validFlag != null">
  450. AND validFlag = #{validFlag}
  451. </if>
  452. </where>
  453. ORDER BY sortIndex DESC
  454. </select>
  455. <select id="getInformationList" resultType="com.caimei365.user.model.vo.InformationVo">
  456. SELECT informationID AS informationId, title, link, addTime
  457. FROM information
  458. <where>
  459. <if test="infoTypeId != null">
  460. AND infoTypeID = #{infoTypeId}
  461. </if>
  462. <if test="validFlag != null">
  463. AND validFlag = #{validFlag}
  464. </if>
  465. </where>
  466. ORDER BY informationID DESC
  467. </select>
  468. <select id="getVisitorList" resultType="com.caimei365.user.model.vo.VisitorRemarkVo">
  469. SELECT questionManId, serviceProviderId, addTime as addDate, questionMan, consultType as consult
  470. FROM cm_visitor_remarks
  471. WHERE serviceProviderId = #{serviceProviderId}
  472. and clubId is null
  473. GROUP BY questionManId
  474. ORDER BY addTime DESC
  475. </select>
  476. <select id="getVisitRemark" resultType="com.caimei365.user.model.vo.VisitorRemarkVo">
  477. select DISTINCT ccr.id as remarksId,
  478. ccr.questionManId,
  479. ccr.remarks,
  480. ccr.questionMan,
  481. ccr.addTime as addDate,
  482. IFNULL(ccr.consultType, '') as consult,
  483. ccr.clubType,
  484. ccr.pinceSensitve,
  485. ccr.satisfied,
  486. ccr.followup,
  487. ccr.extra,
  488. p.`mainImage` AS mainImage,
  489. p.name AS productName,
  490. s.name AS shopName,
  491. cmc.`reportText` as reportText,
  492. cmc.`status` as status,
  493. cmc.`auditText` as auditText,
  494. p.productId as productId,
  495. cmc.ID as reportId
  496. from cm_visitor_remarks ccr
  497. LEFT JOIN club c ON ccr.clubId = c.clubId
  498. LEFT JOIN product p ON p.productID = ccr.productID
  499. LEFT JOIN cm_club_report cmc ON cmc.ID = ccr.reportID
  500. LEFT JOIN shop s ON s.shopID = p.shopID
  501. where ccr.id = #{remarksId}
  502. AND ccr.remarks IS NOT NULL # and cmc.clubId is null
  503. </select>
  504. <select id="getVisitRemarksImageList" resultType="java.lang.String">
  505. select imageUrl
  506. from cm_visitor_remarks_file
  507. where remarksId = #{remarksId}
  508. and fileType = 1
  509. </select>
  510. <select id="getVisitRemarksFileList" resultType="com.caimei365.user.model.vo.RemarksFileVo">
  511. select fileName, ossName
  512. from cm_visitor_remarks_file
  513. where remarksId = #{remarksId}
  514. and fileType = 2
  515. </select>
  516. <select id="findClubName" resultType="java.lang.String">
  517. select name
  518. from club
  519. where clubID = #{clubId}
  520. </select>
  521. <select id="getVisitRecordList" resultType="com.caimei365.user.model.vo.VisitorRemarkVo">
  522. select id as remarksId, questionManId, remarks, addTime as addDate, questionMan
  523. from cm_visitor_remarks
  524. where questionManId = #{questionManId}
  525. AND remarks IS NOT NULL
  526. and clubId is null
  527. ORDER BY ADDTIME DESC
  528. </select>
  529. <select id="findConcactVisit" resultType="com.caimei365.user.model.vo.VisitorRemarkVo">
  530. select id as remarksId,
  531. questionManId,
  532. serviceProviderId,
  533. remarks,
  534. addTime as addDate,
  535. questionMan,
  536. clubId,
  537. consultType as consult,
  538. concactTime,
  539. clubType,
  540. pinceSensitve,
  541. satisfied,
  542. followup,
  543. extra,
  544. productID,
  545. reportID
  546. from cm_visitor_remarks
  547. where questionManId = #{questionManId}
  548. and remarks is not null
  549. </select>
  550. <select id="findQuestionMan" resultType="java.lang.String">
  551. select DISTINCT questionMan
  552. from cm_visitor_remarks
  553. where questionManId = #{questionManId}
  554. AND questionMan IS NOT NULL
  555. </select>
  556. <select id="getRemarksListByKey" resultType="com.caimei365.user.model.vo.RemarksVo">
  557. SELECT DISTINCT
  558. ccr.id AS remarksId, ccr.remarks,ccr.addTime,ccr.questionMan,ccr.serviceProviderId as serviceProviderId,
  559. csr.leaderId AS leaderId,IFNULL(ccr.consultType,'') as consult, c.Name as clubName,
  560. ccr.clubType AS clubType,ccr.pinceSensitve AS pinceSensitve,ccr.satisfied AS satisfied,ccr.followup AS
  561. followup,ccr.extra AS extra,
  562. (SELECT NAME FROM serviceprovider s WHERE s.serviceProviderID= csr.leaderId) AS leaderName,
  563. (SELECT linkMan FROM serviceprovider s WHERE s.serviceProviderID = ccr.serviceProviderID) AS
  564. recordName,c.newDeal as newDeal,cmc.status as status
  565. # (SELECT linkMan FROM serviceprovider s WHERE s.serviceProviderID = ccr.oldserviceProviderId) AS oldName
  566. FROM cm_club_remarks ccr
  567. LEFT JOIN serviceprovider s ON ccr.serviceProviderId = s.serviceProviderID
  568. LEFT JOIN club c ON c.clubId=ccr.clubId
  569. LEFT JOIN cm_serviceTeam_group csg ON ccr.serviceProviderId = csg.serviceId
  570. LEFT JOIN cm_serviceTeam_role csr ON csr.id = csg.teamId
  571. LEFT JOIN cm_club_report cmc ON cmc.ID = ccr.reportID
  572. where ccr.serviceProviderId=#{serviceProviderId}
  573. <if test="keyWord != null and keyWord != ''">
  574. AND (ccr.remarks LIKE CONCAT('%', #{keyWord}, '%')
  575. OR c.Name LIKE CONCAT('%', #{keyWord}, '%')
  576. OR ccr.questionMan LIKE CONCAT('%', #{keyWord}, '%'))
  577. </if>
  578. <if test="leaderId != null and leaderId>0">
  579. and csr.leaderId = #{leaderId}
  580. </if>
  581. <if test="groupId != null and groupId>0">
  582. and ccr.serviceProviderId = #{groupId}
  583. </if>
  584. <if test="startAddTime !='' and startAddTime != null">
  585. and ccr.addTime <![CDATA[ > ]]> #{startAddTime}
  586. </if>
  587. <if test="endAddTime != '' and endAddTime != null">
  588. and ccr.addTime <![CDATA[ < ]]> #{endAddTime}
  589. </if>
  590. <if test="pinceSensitve != '' and pinceSensitve != null">
  591. and ccr.pinceSensitve LIKE concat('%',#{pinceSensitve},'%')
  592. </if>
  593. <if test="satisfied != '' and satisfied != null">
  594. and ccr.satisfied LIKE concat('%',#{satisfied},'%')
  595. </if>
  596. <if test="status!=null and status!=0">
  597. and cmc.status=#{status}
  598. </if>
  599. <if test="newDeal !=null and newDeal!=0">
  600. and c.newDeal =#{newDeal}
  601. </if>
  602. <if test="followup != '' and followup != null">
  603. and ccr.followup LIKE concat('%',#{followup},'%')
  604. </if>
  605. <if test="con != null and con.size > 0">
  606. and
  607. <foreach collection="con" item="item" index="index" open="(" close=")" separator="OR">
  608. ccr.consultType LIKE CONCAT('%',#{item},'%')
  609. </foreach>
  610. </if>
  611. order by addTime desc
  612. </select>
  613. <select id="getVisitorListByKey" resultType="com.caimei365.user.model.vo.VisitorRemarkVo">
  614. SELECT DISTINCT
  615. ccr.id as remarksId, ccr.questionManId, ccr.remarks, ccr.addTime as addDate,
  616. ccr.questionMan,IFNULL(ccr.consultType,'') as consult,
  617. ccr.serviceProviderId,ccr.clubType,ccr.pinceSensitve,ccr.satisfied,ccr.followup,ccr.extra,
  618. (SELECT linkMan FROM serviceprovider s WHERE s.serviceProviderID = ccr.serviceProviderId) AS recordName,
  619. (select name from serviceprovider s where s.serviceProviderID = csr.leaderId) as leaderName,cmc.status as status
  620. FROM cm_visitor_remarks ccr
  621. left join cm_serviceteam_group csg on csg.serviceId = ccr.serviceProviderID
  622. left join cm_serviceteam_role csr on csr.id = csg.teamId
  623. left join serviceprovider s on ccr.serviceProviderID = s.serviceProviderID
  624. LEFT JOIN cm_club_report cmc ON cmc.Id = ccr.reportID
  625. WHERE ccr.serviceProviderId = #{serviceProviderId}
  626. and ccr.remarks IS NOT NULL
  627. and ccr.clubId is null
  628. <if test="keyWord != null and keyWord != ''">
  629. and (ccr.questionMan LIKE CONCAT('%', #{keyWord}, '%')
  630. or ccr.remarks LIKE CONCAT('%', #{keyWord}, '%'))
  631. </if>
  632. <if test="startAddTime !='' and startAddTime != null">
  633. and ccr.addTime <![CDATA[ >= ]]> #{startAddTime}
  634. </if>
  635. <if test="endAddTime != '' and endAddTime != null">
  636. and ccr.addTime <![CDATA[ <= ]]> #{endAddTime}
  637. </if>
  638. <if test="pinceSensitve != '' and pinceSensitve!=null">
  639. and ccr.pinceSensitve LIKE concat('%',#{pinceSensitve},'%')
  640. </if>
  641. <if test="satisfied != '' and satisfied!=null">
  642. and ccr.satisfied LIKE concat('%',#{satisfied},'%')
  643. </if>
  644. <if test="status!=null and status!=0">
  645. and cmc.status=#{status}
  646. </if>
  647. <if test="followup != '' and followup!=null">
  648. and ccr.followup LIKE concat('%',#{followup},'%')
  649. </if>
  650. <if test="con != null and con.size > 0">
  651. and
  652. <foreach collection="con" item="item" index="index" open="(" close=")" separator="OR">
  653. ccr.consultType LIKE CONCAT('%',#{item},'%')
  654. </foreach>
  655. </if>
  656. ORDER BY ccr.addTime DESC
  657. </select>
  658. <select id="getVisitRecordListByKey" resultType="com.caimei365.user.model.vo.VisitorRemarkVo">
  659. select DISTINCT
  660. ccr.id as remarksId, ccr.questionManId, ccr.remarks, ccr.addTime as addDate,
  661. ccr.questionMan,IFNULL(ccr.consultType,'') as consult,
  662. ccr.serviceProviderId,
  663. (SELECT NAME FROM serviceprovider s WHERE s.serviceProviderID = ccr.serviceProviderId) AS recordName,
  664. (select name from serviceprovider s where s.serviceProviderID = csr.leaderId) as leaderName
  665. from cm_visitor_remarks ccr
  666. left join cm_serviceteam_group csg on csg.serviceId = ccr.serviceProviderID
  667. left join cm_serviceteam_role csr on csr.id = csg.teamId
  668. left join serviceprovider s on ccr.serviceProviderID = s.serviceProviderID
  669. where ccr.remarks IS NOT NULL
  670. and ccr.clubId is null
  671. <if test="keyWord != null and keyWord != ''">
  672. and ccr.questionMan LIKE CONCAT('%', #{keyWord}, '%')
  673. OR ccr.remarks LIKE CONCAT('%', #{keyWord}, '%')
  674. </if>
  675. ORDER BY ccr.ADDTIME DESC
  676. </select>
  677. <select id="findConsult" resultType="com.caimei365.user.model.vo.ConsultVo">
  678. select id, className, status, sortNumber, createdTime
  679. from cm_consulttype
  680. where delflag = 0
  681. and status = 1
  682. ORDER BY sortNumber ASC
  683. </select>
  684. <select id="findAllTeams" resultType="com.caimei365.user.model.vo.TeamLederVo">
  685. select csr.id as teamId,
  686. csr.leaderId,
  687. IF(csm.serviceproviderId IS NULL, 2, 1) as manager,
  688. csr.createdTime,
  689. s.name as leaderName
  690. from cm_serviceteam_role csr
  691. left join serviceprovider s on csr.leaderId = s.serviceProviderID
  692. LEFT JOIN cm_serviceteam_manager csm ON csr.leaderId = csm.serviceproviderId
  693. where csr.delflag = 0
  694. </select>
  695. <select id="findGroups" resultType="com.caimei365.user.model.vo.TeamGroupVo">
  696. select serviceProviderId as groupId, name as groupName
  697. from serviceprovider s
  698. left join cm_serviceteam_group csg on s.serviceProviderID = csg.serviceId
  699. left join cm_serviceteam_role csr on csr.id = csg.teamId
  700. where csr.leaderId = #{leaderId}
  701. </select>
  702. <select id="findConsultById" resultType="com.caimei365.user.model.vo.ConsultVo">
  703. select id, className, status, sortNumber, createdTime
  704. from cm_consulttype
  705. where delflag = 0
  706. and status = 1
  707. and id = #{string}
  708. ORDER BY sortNumber ASC
  709. </select>
  710. <select id="findAllRemarks" resultType="com.caimei365.user.model.vo.RemarksVo">
  711. SELECT DISTINCT
  712. ccr.id AS remarksId, ccr.remarks,ccr.addTime,ccr.questionMan,ccr.serviceProviderId as serviceProviderId,
  713. csr.leaderId AS leaderId,IFNULL(ccr.consultType,'') as consult, c.Name as clubName,
  714. ccr.clubType AS clubType,ccr.pinceSensitve AS pinceSensitve,ccr.satisfied AS satisfied,ccr.followup AS
  715. followup,ccr.extra AS extra,
  716. (SELECT NAME FROM serviceprovider s WHERE s.serviceProviderID= csr.leaderId) AS leaderName,
  717. (SELECT linkMan FROM serviceprovider s WHERE s.serviceProviderID = ccr.serviceProviderID) AS
  718. recordName,c.newDeal as newDeal,cmc.status as status
  719. # (SELECT linkMan FROM serviceprovider s WHERE s.serviceProviderID = ccr.oldserviceProviderId) AS oldName
  720. FROM cm_club_remarks ccr
  721. LEFT JOIN serviceprovider s ON ccr.serviceProviderId = s.serviceProviderID
  722. LEFT JOIN club c ON c.clubId=ccr.clubId
  723. LEFT JOIN cm_serviceTeam_group csg ON ccr.serviceProviderId = csg.serviceId
  724. LEFT JOIN cm_serviceTeam_role csr ON csr.id = csg.teamId
  725. LEFT JOIN cm_club_report cmc ON cmc.clubId = ccr.clubId
  726. <where>
  727. <if test="keyWord != null and keyWord !=''">
  728. AND (ccr.remarks LIKE concat('%',#{keyWord},'%')
  729. or ccr.questionMan LIKE CONCAT('%', #{keyWord}, '%')
  730. or c.Name LIKE CONCAT('%', #{keyWord}, '%'))
  731. </if>
  732. <if test="leaderId != null and leaderId>0">
  733. and csr.leaderId = #{leaderId}
  734. </if>
  735. <if test="status!=null and status!=0">
  736. and cmc.status=#{status}
  737. </if>
  738. <if test="groupId != null and groupId>0">
  739. and ccr.serviceProviderId = #{groupId}
  740. </if>
  741. <if test="startAddTime !='' and startAddTime !=null">
  742. and ccr.addTime <![CDATA[ > ]]> #{startAddTime}
  743. </if>
  744. <if test="endAddTime != '' and endAddTime!=null">
  745. and ccr.addTime <![CDATA[ < ]]> #{endAddTime}
  746. </if>
  747. <if test="pinceSensitve != '' and pinceSensitve!=null">
  748. and ccr.pinceSensitve LIKE concat('%',#{pinceSensitve},'%')
  749. </if>
  750. <if test="satisfied != '' and satisfied!=null">
  751. and ccr.satisfied LIKE concat('%',#{satisfied},'%')
  752. </if>
  753. <if test="followup != '' and followup !=null">
  754. and ccr.followup LIKE concat('%',#{followup},'%')
  755. </if>
  756. <if test="newDeal !=null and newDeal!=0">
  757. and c.newDeal =#{newDeal}
  758. </if>
  759. <if test="con != null and con.size > 0">
  760. and
  761. <foreach collection="con" item="item" index="index" open="(" close=")" separator="OR">
  762. ccr.consultType LIKE CONCAT('%',#{item},'%')
  763. </foreach>
  764. </if>
  765. </where>
  766. ORDER BY ccr.ADDTIME DESC
  767. </select>
  768. <select id="getAllVisitRemark" resultType="com.caimei365.user.model.vo.VisitorRemarkVo">
  769. SELECT DISTINCT
  770. ccr.id AS remarksId, ccr.remarks,ccr.addTime as addDate,ccr.questionMan,IFNULL(ccr.consultType,'') as
  771. consult,ccr.serviceProviderId,ccr.questionManId,
  772. ccr.clubType AS clubType,ccr.pinceSensitve AS pinceSensitve,ccr.satisfied AS satisfied,ccr.followup AS
  773. followup,ccr.extra AS extra,
  774. (SELECT NAME FROM serviceprovider s WHERE s.serviceProviderID = csr.leaderId) AS leaderName,
  775. (SELECT linkMan FROM serviceprovider s WHERE s.serviceProviderID = ccr.serviceProviderId) AS
  776. recordName,cmc.status as status
  777. FROM cm_visitor_remarks ccr
  778. LEFT JOIN serviceprovider s ON ccr.serviceProviderId = s.serviceProviderID
  779. LEFT JOIN cm_serviceTeam_group csg ON ccr.serviceProviderId = csg.serviceId
  780. LEFT JOIN cm_serviceTeam_role csr ON csr.id = csg.teamId
  781. LEFT JOIN cm_club_report cmc ON cmc.Id = ccr.reportID
  782. <where>
  783. and ccr.remarks IS NOT NULL
  784. and ccr.clubId is null
  785. <if test="keyWord != null and keyWord !=''">
  786. AND ccr.remarks LIKE concat('%',#{keyWord},'%')
  787. or ccr.questionMan LIKE CONCAT('%', #{keyWord}, '%')
  788. </if>
  789. <if test="leaderId != null and leaderId > 0">
  790. and csr.leaderId = #{leaderId}
  791. </if>
  792. <if test="groupId != null and groupId > 0">
  793. and ccr.serviceProviderId = #{groupId}
  794. </if>
  795. <if test="startAddTime !='' and startAddTime !=null">
  796. and ccr.addTime <![CDATA[ > ]]> #{startAddTime}
  797. </if>
  798. <if test="endAddTime != '' and endAddTime!=null">
  799. and ccr.addTime <![CDATA[ < ]]> #{endAddTime}
  800. </if>
  801. <if test="pinceSensitve != '' and pinceSensitve!=null">
  802. and ccr.pinceSensitve LIKE concat('%',#{pinceSensitve},'%')
  803. </if>
  804. <if test="satisfied != '' and satisfied!=null">
  805. and ccr.satisfied LIKE concat('%',#{satisfied},'%')
  806. </if>
  807. <if test="followup != '' and followup !=null">
  808. and ccr.followup LIKE concat('%',#{followup},'%')
  809. </if>
  810. <if test="status!=null and status!=0">
  811. and cmc.status=#{status}
  812. </if>
  813. <if test="con != null and con.size > 0">
  814. and
  815. <foreach collection="con" item="item" index="index" open="(" close=")" separator="OR">
  816. ccr.consultType LIKE CONCAT('%',#{item},'%')
  817. </foreach>
  818. </if>
  819. </where>
  820. ORDER BY ccr.addtime DESC
  821. </select>
  822. <select id="findLeaderId" resultType="java.lang.Integer">
  823. SELECT leaderId
  824. FROM cm_serviceteam_role csr
  825. LEFT JOIN serviceprovider s ON s.serviceProviderId = csr.leaderId
  826. WHERE s.serviceProviderID = #{serviceProviderId}
  827. </select>
  828. <select id="getCmRemarksList" resultType="com.caimei365.user.model.vo.CmRemarksVo">
  829. SELECT remarks
  830. FROM cm_remarks csr
  831. WHERE remarks like concat('%', #{remarks}, '%')
  832. order by addtime DESC
  833. </select>
  834. <select id="recordClubage" resultType="com.caimei365.user.model.vo.ClubVo">
  835. select c.clubID as clubId,
  836. c.userID as userId,
  837. c.name,
  838. c.sname as shortName,
  839. c.contractMobile,
  840. c.contractEmail,
  841. c.contractPhone,
  842. c.linkMan,
  843. c.provinceID as proviceId,
  844. c.cityID as cityId,
  845. c.townID as townId,
  846. c.address,
  847. c.headpic as shopPhoto,
  848. c.businessLicenseImage as businessLicense,
  849. c.socialCreditCode,
  850. c.firstClubType,
  851. c.secondClubType,
  852. c.department,
  853. c.medicalPracticeLicenseImg as medicalPracticeLicense,
  854. c.mainpro as mainProduct,
  855. c.fax,
  856. c.info as profile,
  857. c.spID as serviceProviderId,
  858. u.ipAddress as ipAddress,
  859. c.addTime,
  860. c.status,
  861. c.lastCheckOrderDate,
  862. c.newDeal as newDeal,
  863. IF(c.spid IS NULL or c.spId = 1342, 0, 1) AS spType,
  864. r.describe,
  865. u.userIdentity as userIdentity
  866. from club c
  867. LEFT JOIN record_link r ON r.`clubId` = c.`clubID`
  868. left join user u on u.clubId = c.clubId
  869. where c.clubID = #{clubId}
  870. ORDER BY r.id DESC
  871. LIMIT 1
  872. </select>
  873. <select id="serviceProviderNameage" resultType="java.lang.String">
  874. select linkMan
  875. from `serviceprovider`
  876. where serviceProviderID = #{serviceproviderId}
  877. </select>
  878. <select id="findSales" resultType="com.caimei365.user.model.vo.ServiceProviderVo">
  879. select serviceProviderId, linkman as name
  880. from serviceprovider
  881. where status = 90
  882. order by serviceProviderID DESC
  883. </select>
  884. <select id="findOldSpId" resultType="java.lang.Integer">
  885. select spID
  886. from club
  887. where clubID = #{clubId}
  888. </select>
  889. <select id="findOldSpIds" resultType="java.lang.Integer">
  890. select oldserviceProviderId
  891. FROM cm_club_remarks
  892. WHERE clubId = #{clubID}
  893. AND oldserviceProviderId IS NOT NULL
  894. </select>
  895. <select id="findOpenIdBySpId" resultType="java.lang.String">
  896. SELECT wu.openId
  897. FROM wechat_user wu
  898. LEFT JOIN serviceprovider s ON s.unionId = wu.unionId
  899. WHERE serviceProviderID = #{spId}
  900. </select>
  901. <select id="findNewRemark" resultType="com.caimei365.user.model.po.ClubRemarksPo">
  902. SELECT id as remarksId,
  903. clubId,
  904. serviceProviderId,
  905. consultType as consult,
  906. remarks,
  907. addTime,
  908. questionMan
  909. FROM cm_club_remarks
  910. WHERE clubId = #{clubId}
  911. AND serviceproviderId = #{serviceProviderId}
  912. AND ADDTIME >
  913. (SELECT checkTime
  914. FROM clubchangesprecord c
  915. WHERE c.clubId = #{clubId}
  916. AND c.newspId = #{serviceProviderId}
  917. ORDER BY checkTime DESC
  918. LIMIT 1)
  919. </select>
  920. <select id="findServiceName" resultType="java.lang.String">
  921. select linkMan
  922. from serviceprovider
  923. where serviceProviderID = #{spId}
  924. </select>
  925. <select id="findAllotTime" resultType="java.util.Date">
  926. select checkTime
  927. from clubchangesprecord
  928. where clubID = #{clubId}
  929. and newSpID = #{spId}
  930. ORDER BY checkTime DESC
  931. LIMIT 1
  932. </select>
  933. <select id="findSubmitTime" resultType="java.util.Date">
  934. select addTime
  935. from cm_club_remarks
  936. where id = #{remarkId}
  937. </select>
  938. <select id="findLeaderIdBySp" resultType="java.lang.Integer">
  939. SELECT leaderId
  940. FROM cm_serviceteam_role csr
  941. LEFT JOIN cm_serviceteam_group csg ON csr.id=csg.teamId
  942. WHERE csg.serviceId = #{spId}
  943. </select>
  944. </mapper>