ClubMapper.xml 56 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257
  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, createServiceProviderId, productID, reportID,
  8. communicationSituation, communicationMethods, customerSource, customerGender, customerAge, groupAddition, trendsKeyword, stateKeyword)
  9. values (#{clubId}, #{serviceProviderId}, #{remarks}, now(), #{questionMan}, #{consult}, #{clubType},
  10. #{pinceSensitve}, #{satisfied}, #{followup}, #{extra}, #{serviceProviderId}, #{productID}, #{reportID},
  11. #{communicationSituation}, #{communicationMethods},#{customerSource},#{customerGender},#{customerAge},#{groupAddition},#{trendsKeyword}, #{stateKeyword} )
  12. </insert>
  13. <insert id="insertRemarksImage">
  14. insert into cm_club_remarks_file(remarksId, fileType, imageUrl)
  15. values (#{remarksId}, 1, #{imageUrl})
  16. </insert>
  17. <insert id="insertRemarksFile">
  18. insert into cm_club_remarks_file(remarksId, fileType, fileName, ossName)
  19. values (#{remarksId}, 2, #{fileName}, #{ossName})
  20. </insert>
  21. <insert id="insertQuestionMan" keyProperty="remarksId" keyColumn="id" useGeneratedKeys="true">
  22. insert into cm_visitor_remarks(questionManId, serviceProviderId, remarks, addTime, questionMan, concactTime, createServiceProviderId)
  23. values (#{questionManId}, #{serviceProviderId}, #{remarks}, now(), #{questionMan}, #{concactTime}, #{serviceProviderId})
  24. </insert>
  25. <insert id="insertVisitorRemark" keyProperty="remarksId" useGeneratedKeys="true">
  26. insert into cm_visitor_remarks(questionMan, questionManId, serviceProviderId, remarks, addTime, consultType,
  27. clubType, pinceSensitve, satisfied, followup, extra, reportID, productID, createServiceProviderId,
  28. communicationSituation, communicationMethods, customerSource, customerGender, customerAge, groupAddition, trendsKeyword, stateKeyword)
  29. values (#{questionMan}, #{questionManId}, #{serviceProviderId}, #{remarks}, now(), #{consult}, #{clubType},
  30. #{pinceSensitve}, #{satisfied}, #{followup}, #{extra}, #{reportId}, #{productId}, #{serviceProviderId},
  31. #{communicationSituation}, #{communicationMethods},#{customerSource},#{customerGender},#{customerAge},#{groupAddition},#{trendsKeyword}, #{stateKeyword})
  32. </insert>
  33. <update id="updateClubNewDeal">
  34. update club
  35. set newDeal = 2
  36. where clubId = #{clubId}
  37. </update>
  38. <insert id="insertVisitorRemarksImage">
  39. insert into cm_visitor_remarks_file(remarksId, fileType, imageUrl)
  40. values (#{remarksId}, 1, #{image})
  41. </insert>
  42. <insert id="insertVisitorRemarksFile">
  43. insert into cm_visitor_remarks_file(remarksId, fileType, fileName, ossName)
  44. values (#{remarksId}, 2, #{fileName}, #{ossName})
  45. </insert>
  46. <insert id="concactVisit" parameterType="com.caimei365.user.model.vo.RemarksVo" keyProperty="remarksId"
  47. useGeneratedKeys="true">
  48. insert into cm_club_remarks(clubId, serviceProviderId, remarks, addTime, questionMan, concactTime, consultType,
  49. clubType, pinceSensitve, satisfied, followup, extra, createServiceProviderId, productID, reportID)
  50. values (#{clubId}, #{serviceProviderId}, #{remarks}, #{addTime}, #{questionMan}, now(), #{consult}, #{clubType},
  51. #{pinceSensitve}, #{satisfied}, #{followup}, #{extra},#{serviceProviderId}, #{productId}, #{reportId})
  52. </insert>
  53. <insert id="insertChangeRecord" parameterType="com.caimei365.user.model.vo.ClubChangeSpVo"
  54. keyProperty="clubChangeSpRecordID"
  55. useGeneratedKeys="true">
  56. INSERT INTO clubchangesprecord(clubID,
  57. oldSpID,
  58. newSpID,
  59. applyTime,
  60. checkTime,
  61. checkStatus,
  62. checkMark,
  63. checkUserID,
  64. choseServiceId)
  65. VALUES (#{clubID},
  66. #{oldSpID},
  67. #{newSpID},
  68. #{applyTime},
  69. #{checkTime},
  70. #{checkStatus},
  71. #{checkMark},
  72. #{checkUserID},
  73. #{choseServiceId})
  74. </insert>
  75. <update id="updateClubUserByUpdateInfo">
  76. update user set
  77. <if test="name != null and name != ''">
  78. name = #{name},
  79. </if>
  80. <if test="email != null and email != ''">
  81. email = #{email},
  82. </if>
  83. userName = #{userName}
  84. where userID = #{userId}
  85. </update>
  86. <update id="updateClubUserOrganize">
  87. update user set
  88. <if test="name != null and name != ''">
  89. name = #{name},
  90. </if>
  91. <if test="email != null and email != ''">
  92. email = #{email},
  93. </if>
  94. userName = #{userName},
  95. clubStatus = 1
  96. where userID = #{userId}
  97. </update>
  98. <select id="selClubData" resultType="com.caimei365.user.model.vo.ClubVo">
  99. select userId,
  100. clubId,
  101. name,
  102. linkMan,
  103. linkManIdentity,
  104. contractEmail,
  105. sname as shortName,
  106. provinceId,
  107. cityId,
  108. townId,
  109. address,
  110. socialCreditCode,
  111. businessLicenseImage as businessLicense,
  112. headpic as shopPhoto,
  113. firstClubType,
  114. secondClubType,
  115. department,
  116. medicalPracticeLicenseImg as medicalPracticeLicense,
  117. mainpro as mainProduct,
  118. fax,
  119. contractPhone,
  120. info as profile
  121. from club
  122. where clubID = #{clubID}
  123. </select>
  124. <select id="selSpName" resultType="java.lang.String">
  125. select case status when 91 then '采美默认协销经理(官方账号)' else linkMan end AS spName
  126. from serviceprovider
  127. where serviceProviderID = #{serviceProviderId}
  128. </select>
  129. <insert id="insertOpLogs">
  130. INSERT INTO operational_logs
  131. (institutionName,
  132. Contact,
  133. operationtype,
  134. Actioncontent,
  135. Operator,
  136. Operationtime)
  137. VALUES (#{institutionName},
  138. #{contact},
  139. #{operationType},
  140. #{actionContent},
  141. #{operator},
  142. #{operationTime})
  143. </insert>
  144. <update id="updateClubByUpdateInfo">
  145. update club set
  146. <if test="name != null and name != ''">
  147. name = #{name},
  148. </if>
  149. <if test="shortName != null and shortName != ''">
  150. sname = #{shortName},
  151. </if>
  152. <if test="contractEmail != null and contractEmail != ''">
  153. contractEmail = #{contractEmail},
  154. </if>
  155. contractPhone = #{contractPhone},
  156. <if test="linkMan != null and linkMan != ''">
  157. linkMan = #{linkMan},
  158. </if>
  159. <if test="linkManIdentity != null and linkManIdentity != ''">
  160. linkManIdentity = #{linkManIdentity},
  161. </if>
  162. <if test="townId != null and townId != ''">
  163. provinceID = #{provinceId}, cityID = #{cityId}, townID = #{townId}, address = #{address},
  164. </if>
  165. <if test="shopPhoto != null and shopPhoto != 'null' and shopPhoto != ''">
  166. headpic = #{shopPhoto},
  167. </if>
  168. <if test="businessLicense != null and businessLicense != ''">
  169. businessLicenseImage = #{businessLicense},
  170. </if>
  171. <if test="socialCreditCode != null and socialCreditCode != ''">
  172. socialCreditCode = #{socialCreditCode},
  173. </if>
  174. <if test="firstClubType != null and firstClubType != ''">
  175. firstClubType = #{firstClubType},
  176. </if>
  177. <if test="firstClubType == 1 or firstClubType == 2">
  178. secondClubType = #{secondClubType}, department = #{department},
  179. </if>
  180. <if test="medicalPracticeLicense != null and medicalPracticeLicense != ''">
  181. medicalPracticeLicenseImg = #{medicalPracticeLicense},
  182. </if>
  183. <if test="mainProduct != null and mainProduct != ''">
  184. mainpro = #{mainProduct},
  185. </if>
  186. <if test="lastModify != null and lastModify != ''">
  187. lastModify = #{lastModify},
  188. </if>
  189. fax = #{fax},
  190. info = #{profile}
  191. where clubID = #{clubId}
  192. </update>
  193. <delete id="clearRemarksFiles">
  194. delete
  195. from cm_club_remarks_file
  196. where remarksId = #{remarksId}
  197. </delete>
  198. <delete id="deleteRemarks">
  199. delete
  200. from cm_club_remarks
  201. where id = #{remarksId}
  202. </delete>
  203. <delete id="deleteRemarksFiles">
  204. delete
  205. from cm_club_remarks_file
  206. where remarksId = #{remarksId}
  207. </delete>
  208. <delete id="clearVisitorRemarks">
  209. delete
  210. from cm_visitor_remarks_file
  211. where remarksId = #{remarksId}
  212. </delete>
  213. <delete id="deleteVisitRemark">
  214. delete
  215. from cm_visitor_remarks
  216. where id = #{remarksId}
  217. </delete>
  218. <select id="getClubById" resultType="com.caimei365.user.model.vo.ClubVo">
  219. select clubID as clubId,
  220. userID as userId,
  221. name,
  222. sname as shortName,
  223. contractMobile,
  224. contractEmail,
  225. contractPhone,
  226. linkMan,
  227. linkManIdentity,
  228. provinceID as proviceId,
  229. cityID as cityId,
  230. townID as townId,
  231. ifnull(address, '暂无') as address,
  232. headpic as shopPhoto,
  233. businessLicenseImage as businessLicense,
  234. socialCreditCode,
  235. firstClubType,
  236. secondClubType,
  237. department,
  238. medicalPracticeLicenseImg as medicalPracticeLicense,
  239. mainpro as mainProduct,
  240. fax,
  241. info as profile,
  242. spID as serviceProviderId,
  243. addTime,
  244. status,
  245. lastCheckOrderDate,
  246. newDeal as newDeal,
  247. (select userIdentity from user where userId = c.userId) as userIdentity,
  248. (select activeState from cm_organ_value_system where stage = 0 and delType = 1 and userId = c.userId) as activeState,
  249. (select customerValue from cm_organ_value_system where stage = 0 and delType = 1 and userId = c.userId) as customerValue
  250. from club c
  251. where clubID = #{clubId}
  252. </select>
  253. <!-- <select id="getOrderCount" resultType="com.caimei365.user.model.vo.OrderCountVo">-->
  254. <!-- select userID as userId,-->
  255. <!-- (select COUNT(*) from cm_order where userID = #{userId} and delFlag = '0') as orderCount,-->
  256. <!-- (select COUNT(*) from cm_order where userID = #{userId} and delFlag = '0' and status = '0') as confirmedCount,-->
  257. <!-- (select COUNT(*) from cm_order where userID = #{userId} and delFlag = '0' and status in(11,12,13,21,22,23)) as paymentCount,-->
  258. <!-- (select COUNT(*) from cm_order where userID = #{userId} and delFlag = '0' and status in(11,12,21,22,31,32)) as waitShipmentsCount,-->
  259. <!-- (select COUNT(*) from cm_order where userID = #{userId} and delFlag = '0' and status in(12,13,22,23,32,33)) as shipmentsCount,-->
  260. <!-- (select COUNT(*) from cm_order where userID = #{userId} and delFlag = '0' and status in(1,2)) as salesReturnCount-->
  261. <!-- from cm_order-->
  262. <!-- where userID = #{userId} and delFlag = '0'-->
  263. <!-- limit 1-->
  264. <!-- </select>-->
  265. <select id="findBeansHistoryByType" resultType="integer">
  266. SELECT id
  267. FROM user_beans_history
  268. WHERE userId = #{userId}
  269. AND beansType = #{beansType}
  270. AND delFlag = 0
  271. </select>
  272. <update id="updateUserBeans">
  273. UPDATE USER
  274. SET userBeans = #{userBeans}
  275. WHERE userID = #{userId}
  276. </update>
  277. <select id="findBeansHistory" resultType="com.caimei365.user.model.vo.BeansHistoryVo">
  278. SELECT beansType,
  279. num
  280. FROM user_beans_history
  281. WHERE pushStatus = 0
  282. AND beansType IN (1, 2, 3, 4, 8, 12)
  283. AND delFlag = 0
  284. AND userId = #{userId}
  285. ORDER BY ADDTIME DESC
  286. LIMIT 1
  287. </select>
  288. <select id="findByBeansType" resultType="integer">
  289. SELECT SUM(num)
  290. FROM user_beans_history
  291. WHERE userId = #{userId}
  292. AND beansType = #{beansType}
  293. AND pushStatus = 0
  294. AND delFlag = 0
  295. </select>
  296. <update id="updatePushStatus">
  297. UPDATE user_beans_history
  298. SET pushStatus = 1
  299. WHERE userId = #{userId}
  300. </update>
  301. <update id="updateRemarks">
  302. update cm_club_remarks
  303. set remarks = #{remarks},
  304. questionMan = #{questionMan},
  305. consultType = #{consult},
  306. clubType = #{clubType},
  307. pinceSensitve = #{pinceSensitve},
  308. satisfied = #{satisfied},
  309. followup = #{followup},
  310. extra = #{extra},
  311. productID = #{productID},
  312. reportID = #{reportID},
  313. communicationSituation = #{communicationSituation},
  314. communicationMethods = #{communicationMethods},
  315. customerSource = #{customerSource},
  316. customerGender = #{customerGender},
  317. customerAge = #{customerAge},
  318. groupAddition = #{groupAddition},
  319. trendsKeyword = #{trendsKeyword},
  320. stateKeyword = #{stateKeyword}
  321. where id = #{remarksId}
  322. </update>
  323. <update id="updateQuestionMan">
  324. update cm_visitor_remarks
  325. set questionMan = #{questionMan}
  326. where questionManId = #{questionManId}
  327. and serviceProviderId = #{serviceProviderId}
  328. </update>
  329. <update id="updateVisitorRemark">
  330. update cm_visitor_remarks
  331. set remarks = #{remarks},
  332. consultType = #{consult},
  333. clubType=#{clubType},
  334. pinceSensitve=#{pinceSensitve},
  335. satisfied=#{satisfied},
  336. followup=#{followup},
  337. extra=#{extra},
  338. reportID=#{reportId},
  339. productID=#{productId},
  340. communicationSituation = #{communicationSituation},
  341. communicationMethods = #{communicationMethods},
  342. customerSource = #{customerSource},
  343. customerGender = #{customerGender},
  344. customerAge = #{customerAge},
  345. groupAddition = #{groupAddition},
  346. trendsKeyword = #{trendsKeyword},
  347. stateKeyword = #{stateKeyword}
  348. where id = #{remarksId}
  349. </update>
  350. <update id="updateVisit">
  351. update cm_visitor_remarks
  352. set clubId = #{clubId},
  353. concactTime = now()
  354. where questionManId = #{questionManId}
  355. </update>
  356. <update id="updateReport">
  357. update cm_club_report
  358. set clubId = #{clubId},
  359. questionManId=null
  360. where questionManId = #{questionManId}
  361. </update>
  362. <update id="updateClubSpId">
  363. update club
  364. set spID=#{spId},
  365. scanFlag=2
  366. where clubID = #{clubId}
  367. </update>
  368. <update id="updateRemarksSp">
  369. UPDATE `cm_club_remarks`
  370. SET
  371. <if test="status == 1">
  372. oldserviceProviderId = #{oldSpId},
  373. </if>
  374. serviceProviderId=#{spId}
  375. WHERE clubId = #{clubId}
  376. AND serviceProviderId = #{oldSpId}
  377. </update>
  378. <update id="updateReportSp">
  379. UPDATE cm_club_report
  380. SET serviceProviderId=#{spId}
  381. WHERE clubId = #{clubId}
  382. AND serviceProviderId = #{oldSpId}
  383. </update>
  384. <select id="findAllBeansHistory" resultType="com.caimei365.user.model.vo.BeansHistoryVo">
  385. SELECT
  386. type,
  387. beansType,
  388. num,
  389. addTime
  390. FROM
  391. user_beans_history
  392. WHERE
  393. userId = #{userId}
  394. AND addTime <![CDATA[ >= ]]> #{startTime}
  395. AND addTime <![CDATA[ <= ]]> #{endTime}
  396. AND delFlag = 0
  397. <if test="type != null and type != 0">
  398. AND type = #{type}
  399. </if>
  400. ORDER BY addTime DESC
  401. </select>
  402. <select id="findLoginBeans" resultType="integer">
  403. SELECT id
  404. FROM user_beans_history
  405. WHERE beansType IN (1, 12)
  406. AND DATE_FORMAT(addTime, '%Y-%m-%d') = DATE_FORMAT(NOW(), '%Y-%m-%d')
  407. AND userId = #{userId}
  408. </select>
  409. <select id="findCountCoupon" resultType="integer">
  410. SELECT COUNT(a.id)
  411. FROM cm_coupon_club a
  412. LEFT JOIN cm_coupon cc ON a.couponId = cc.id
  413. WHERE cc.delFlag = 0
  414. AND a.delFlag = 0
  415. AND a.userId = #{userId}
  416. AND a.status = 1
  417. AND (cc.couponType IN (0, 1, 3)
  418. OR (cc.couponType = 2 AND a.userId = #{userId})
  419. OR ((SELECT registerTime FROM user WHERE userID = #{userId}) <![CDATA[ >= ]]> startDate AND couponType = 4))
  420. and NOW() <![CDATA[ > ]]> startDate
  421. and NOW() <![CDATA[ < ]]> if(receiveFlag = 1 OR vipFlag = 1, endDate,
  422. date_add(if((SELECT registerTime FROM user WHERE userID = #{userId}) <![CDATA[ > ]]> startDate and
  423. (SELECT registerTime FROM user WHERE userID = #{userId}) <![CDATA[ < ]]> endDate,
  424. (SELECT registerTime FROM user WHERE userID = #{userId}), startDate),
  425. interval receivePeriod day)
  426. )
  427. AND cc.status != 2
  428. </select>
  429. <select id="findBeansHistoryByArchiveId" resultType="java.lang.Integer">
  430. select id
  431. from user_beans_history
  432. where userId = #{userId}
  433. and archiveId = #{archiveId}
  434. </select>
  435. <select id="getBeansNumByUserId" resultType="java.lang.Integer">
  436. select userBeans
  437. from user
  438. where userID = #{userId}
  439. </select>
  440. <select id="getRemarksList" resultType="com.caimei365.user.model.vo.RemarksVo">
  441. select id as remarksId, remarks, addTime, questionMan, clubId
  442. from cm_club_remarks
  443. where serviceProviderId = #{serviceProviderId}
  444. order by addTime desc
  445. </select>
  446. <select id="getRemarks" resultType="com.caimei365.user.model.vo.RemarksVo">
  447. SELECT DISTINCT ccr.id AS remarksId,
  448. ccr.remarks,
  449. ccr.questionMan,
  450. ccr.addTime,
  451. ccr.clubId,
  452. c.userID,
  453. IFNULL(ccr.consultType, '') AS consult,
  454. ccr.clubType,
  455. ccr.pinceSensitve,
  456. ccr.satisfied,
  457. ccr.followup,
  458. ccr.extra,
  459. ccr.communicationSituation,
  460. ccr.communicationMethods,
  461. ccr.customerSource,
  462. ccr.customerGender,
  463. ccr.groupAddition,
  464. ccr.customerAge,
  465. ccr.trendsKeyword,
  466. ccr.stateKeyword,
  467. p.`mainImage` AS mainImage,
  468. p.name AS productName,
  469. s.name AS shopName,
  470. cmc.`reportText` as reportText,
  471. cmc.`status` as status,
  472. cmc.`auditText` as auditText,
  473. c.newDeal as newDeal,
  474. p.productId as productId,
  475. cmc.ID as reportId
  476. FROM cm_club_remarks ccr
  477. LEFT JOIN club c ON ccr.clubId = c.clubId
  478. LEFT JOIN product p ON p.productID = ccr.productID
  479. LEFT JOIN cm_club_report cmc ON cmc.ID = ccr.reportID
  480. LEFT JOIN shop s ON s.shopID = p.shopID
  481. where ccr.id = #{remarksId}
  482. AND ccr.remarks IS NOT NULL
  483. </select>
  484. <select id="getRemarksImageList" resultType="java.lang.String">
  485. select imageUrl
  486. from cm_club_remarks_file
  487. where remarksId = #{remarksId}
  488. and fileType = 1
  489. </select>
  490. <select id="getRemarksFileList" resultType="com.caimei365.user.model.vo.RemarksFileVo">
  491. select fileName, ossName
  492. from cm_club_remarks_file
  493. where remarksId = #{remarksId}
  494. and fileType = 2
  495. </select>
  496. <select id="getRemarksInfo" resultType="com.caimei365.user.model.po.ClubRemarksPo">
  497. select ccr.communicationSituation, ccr.communicationMethods, ccr.customerSource, ccr.customerGender, ccr.groupAddition, ccr.customerAge
  498. from cm_club_remarks ccr
  499. left join club c on ccr.clubId = c.clubId
  500. where c.userId = #{userId} order by ccr.addTime desc limit 1
  501. </select>
  502. <select id="getPriorKeywordList" resultType="java.util.Map">
  503. select cusf.keyword as label
  504. from cm_prior_keyword cpk
  505. left join cm_user_search_frequency cusf on cpk.searchId = cusf.id
  506. WHERE cpk.delFlag = 0 AND cusf.delStatus = 1
  507. order by cpk.addTime desc
  508. </select>
  509. <select id="findKeywordExist" resultType="java.lang.Integer">
  510. select id
  511. from cm_user_search_frequency
  512. where keyword = #{keyword}
  513. and delstatus = 1
  514. </select>
  515. <insert id="insertLabel">
  516. insert into cm_user_search_frequency(fromSearch, serviceProviderId, keyword, frequency, trueStatus, dynamicStatus, addTime)
  517. values (4, #{serviceProviderId}, #{keyword}, 0, #{trueStatus}, #{dynamicStatus}, now())
  518. </insert>
  519. <select id="getAfterSale" resultType="com.caimei365.user.model.vo.AfterSaleVo">
  520. SELECT id,
  521. organizeName,
  522. organizeLinkName,
  523. mobile,
  524. contactNumber,
  525. systemName,
  526. systemImage,
  527. introduction,
  528. afterSale,
  529. shoppingNotes,
  530. updateTime,
  531. addTime,
  532. delFlag
  533. FROM cm_mall_organize
  534. WHERE id = 0
  535. AND delFlag = '0'
  536. </select>
  537. <select id="getUnReadMessageCount" resultType="java.lang.Integer">
  538. SELECT COUNT(*)
  539. FROM message
  540. WHERE toUserID = #{userId}
  541. AND readFlag = '0'
  542. </select>
  543. <select id="getUserCouponCount" resultType="java.lang.Integer">
  544. SELECT COUNT(a.id)
  545. FROM cm_coupon_club a
  546. LEFT JOIN cm_coupon cc ON a.couponId = cc.id
  547. WHERE cc.delFlag = 0
  548. AND a.delFlag = 0
  549. AND a.status = 1
  550. AND cc.status != 2
  551. AND a.userId = #{userId}
  552. AND if(cc.vipFlag = 1
  553. , NOW() BETWEEN cc.startDate
  554. AND cc.endDate
  555. , NOW() <![CDATA[ < ]]> IF(cc.usePeriod IS NULL
  556. , cc.endDate
  557. , DATE_ADD(a.createDate
  558. , INTERVAL cc.usePeriod DAY)))
  559. </select>
  560. <select id="getVisitorList" resultType="com.caimei365.user.model.vo.VisitorRemarkVo">
  561. SELECT questionManId, serviceProviderId, addTime as addDate, questionMan, consultType as consult
  562. FROM cm_visitor_remarks
  563. WHERE serviceProviderId = #{serviceProviderId}
  564. and clubId is null
  565. GROUP BY questionManId
  566. ORDER BY addTime DESC
  567. </select>
  568. <select id="getVisitRemark" resultType="com.caimei365.user.model.vo.VisitorRemarkVo">
  569. select DISTINCT ccr.id as remarksId,
  570. ccr.questionManId,
  571. ccr.remarks,
  572. ccr.questionMan,
  573. ccr.addTime as addDate,
  574. IFNULL(ccr.consultType, '') as consult,
  575. ccr.clubType,
  576. ccr.pinceSensitve,
  577. ccr.satisfied,
  578. ccr.followup,
  579. ccr.extra,
  580. ccr.communicationSituation,
  581. ccr.communicationMethods,
  582. ccr.customerSource,
  583. ccr.customerGender,
  584. ccr.groupAddition,
  585. ccr.customerAge,
  586. ccr.trendsKeyword,
  587. ccr.stateKeyword,
  588. p.`mainImage` AS mainImage,
  589. p.name AS productName,
  590. s.name AS shopName,
  591. cmc.`reportText` as reportText,
  592. cmc.`status` as status,
  593. cmc.`auditText` as auditText,
  594. p.productId as productId,
  595. cmc.ID as reportId
  596. from cm_visitor_remarks ccr
  597. LEFT JOIN club c ON ccr.clubId = c.clubId
  598. LEFT JOIN product p ON p.productID = ccr.productID
  599. LEFT JOIN cm_club_report cmc ON cmc.ID = ccr.reportID
  600. LEFT JOIN shop s ON s.shopID = p.shopID
  601. where ccr.id = #{remarksId}
  602. AND ccr.remarks IS NOT NULL # and cmc.clubId is null
  603. </select>
  604. <select id="getVisitRemarksImageList" resultType="java.lang.String">
  605. select imageUrl
  606. from cm_visitor_remarks_file
  607. where remarksId = #{remarksId}
  608. and fileType = 1
  609. </select>
  610. <select id="getVisitRemarksFileList" resultType="com.caimei365.user.model.vo.RemarksFileVo">
  611. select fileName, ossName
  612. from cm_visitor_remarks_file
  613. where remarksId = #{remarksId}
  614. and fileType = 2
  615. </select>
  616. <select id="findClubName" resultType="java.lang.String">
  617. select name
  618. from club
  619. where clubID = #{clubId}
  620. </select>
  621. <select id="getVisitRecordList" resultType="com.caimei365.user.model.vo.VisitorRemarkVo">
  622. select id as remarksId, questionManId, remarks, addTime as addDate, questionMan
  623. from cm_visitor_remarks
  624. where questionManId = #{questionManId}
  625. AND remarks IS NOT NULL
  626. and clubId is null
  627. ORDER BY ADDTIME DESC
  628. </select>
  629. <select id="findConcactVisit" resultType="com.caimei365.user.model.vo.VisitorRemarkVo">
  630. select id as remarksId,
  631. questionManId,
  632. serviceProviderId,
  633. remarks,
  634. addTime as addDate,
  635. questionMan,
  636. clubId,
  637. consultType as consult,
  638. concactTime,
  639. clubType,
  640. pinceSensitve,
  641. satisfied,
  642. followup,
  643. extra,
  644. productID,
  645. reportID
  646. from cm_visitor_remarks
  647. where questionManId = #{questionManId}
  648. and remarks is not null
  649. </select>
  650. <select id="findQuestionMan" resultType="java.lang.String">
  651. select DISTINCT questionMan
  652. from cm_visitor_remarks
  653. where questionManId = #{questionManId}
  654. AND questionMan IS NOT NULL
  655. </select>
  656. <select id="getRemarksListByKey" resultType="com.caimei365.user.model.vo.RemarksVo">
  657. SELECT DISTINCT
  658. ccr.id AS remarksId, ccr.remarks,ccr.addTime,ccr.questionMan,ccr.serviceProviderId as serviceProviderId, ccr.createServiceProviderId as createServiceProviderId,
  659. csr.leaderId AS leaderId,IFNULL(ccr.consultType,'') as consult, c.Name as clubName,
  660. ccr.clubType AS clubType,ccr.pinceSensitve AS pinceSensitve,ccr.satisfied AS satisfied,ccr.followup AS followup,ccr.extra AS extra,
  661. ccr.communicationSituation, ccr.communicationMethods, ccr.customerSource, ccr.customerGender,
  662. ccr.groupAddition, ccr.customerAge, ccr.trendsKeyword, ccr.stateKeyword,
  663. (SELECT NAME FROM serviceprovider s WHERE s.serviceProviderID= csr.leaderId) AS leaderName,
  664. (SELECT linkMan FROM serviceprovider s WHERE s.serviceProviderID = ccr.createServiceProviderId) as recordName,c.newDeal as newDeal,cmc.status as status
  665. # (SELECT linkMan FROM serviceprovider s WHERE s.serviceProviderID = ccr.oldserviceProviderId) AS oldName
  666. FROM cm_club_remarks ccr
  667. LEFT JOIN serviceprovider s ON ccr.serviceProviderId = s.serviceProviderID
  668. LEFT JOIN club c ON c.clubId=ccr.clubId
  669. LEFT JOIN cm_serviceTeam_group csg ON ccr.createServiceProviderId = csg.serviceId
  670. LEFT JOIN cm_serviceTeam_role csr ON csr.id = csg.teamId
  671. LEFT JOIN cm_club_report cmc ON cmc.ID = ccr.reportID
  672. where
  673. (ccr.serviceProviderId=#{serviceProviderId} or ccr.createServiceProviderId=#{serviceProviderId})
  674. <if test="keyWord != null and keyWord != ''">
  675. AND (ccr.remarks LIKE CONCAT('%', #{keyWord}, '%')
  676. OR c.Name LIKE CONCAT('%', #{keyWord}, '%')
  677. OR ccr.questionMan LIKE CONCAT('%', #{keyWord}, '%')
  678. or c.contractMobile like concat('%', #{keyWord}, '%'))
  679. </if>
  680. <if test="leaderId != null and leaderId>0">
  681. and csr.leaderId = #{leaderId}
  682. </if>
  683. <if test="groupId != null and groupId>0">
  684. and ccr.serviceProviderId = #{groupId}
  685. </if>
  686. <if test="startAddTime !='' and startAddTime != null">
  687. and ccr.addTime <![CDATA[ > ]]> #{startAddTime}
  688. </if>
  689. <if test="endAddTime != '' and endAddTime != null">
  690. and ccr.addTime <![CDATA[ < ]]> #{endAddTime}
  691. </if>
  692. <if test="pinceSensitve != '' and pinceSensitve != null">
  693. and ccr.pinceSensitve LIKE concat('%',#{pinceSensitve},'%')
  694. </if>
  695. <if test="satisfied != '' and satisfied != null">
  696. and ccr.satisfied LIKE concat('%',#{satisfied},'%')
  697. </if>
  698. <if test="status!=null and status!=0">
  699. and cmc.status=#{status}
  700. </if>
  701. <if test="newDeal !=null and newDeal!=0">
  702. and c.newDeal =#{newDeal}
  703. </if>
  704. <if test="followup != '' and followup != null">
  705. and ccr.followup LIKE concat('%',#{followup},'%')
  706. </if>
  707. <if test="con != null and con.size > 0">
  708. and
  709. <foreach collection="con" item="item" index="index" open="(" close=")" separator="OR">
  710. ccr.consultType LIKE CONCAT('%',#{item},'%')
  711. </foreach>
  712. </if>
  713. order by addTime desc
  714. </select>
  715. <select id="getVisitorListByKey" resultType="com.caimei365.user.model.vo.VisitorRemarkVo">
  716. SELECT DISTINCT
  717. ccr.id as remarksId, ccr.questionManId, ccr.remarks, ccr.addTime as addDate,
  718. ccr.questionMan,IFNULL(ccr.consultType,'') as consult, ccr.createServiceProviderId as createServiceProviderId,
  719. ccr.serviceProviderId,ccr.clubType,ccr.pinceSensitve,ccr.satisfied,ccr.followup,ccr.extra,ccr.trendsKeyword, ccr.stateKeyword,
  720. (SELECT linkMan FROM serviceprovider s WHERE s.serviceProviderID = ccr.serviceProviderId) AS recordName,
  721. (select name from serviceprovider s where s.serviceProviderID = csr.leaderId) as leaderName,cmc.status as status
  722. FROM cm_visitor_remarks ccr
  723. left join cm_serviceteam_group csg on csg.serviceId = ccr.serviceProviderID
  724. left join cm_serviceteam_role csr on csr.id = csg.teamId
  725. left join serviceprovider s on ccr.serviceProviderID = s.serviceProviderID
  726. LEFT JOIN cm_club_report cmc ON cmc.Id = ccr.reportID
  727. WHERE ccr.serviceProviderId = #{serviceProviderId}
  728. and ccr.remarks IS NOT NULL
  729. and ccr.clubId is null
  730. <if test="keyWord != null and keyWord != ''">
  731. and (ccr.questionMan LIKE CONCAT('%', #{keyWord}, '%')
  732. or ccr.remarks LIKE CONCAT('%', #{keyWord}, '%'))
  733. </if>
  734. <if test="startAddTime !='' and startAddTime != null">
  735. and ccr.addTime <![CDATA[ >= ]]> #{startAddTime}
  736. </if>
  737. <if test="endAddTime != '' and endAddTime != null">
  738. and ccr.addTime <![CDATA[ <= ]]> #{endAddTime}
  739. </if>
  740. <if test="pinceSensitve != '' and pinceSensitve!=null">
  741. and ccr.pinceSensitve LIKE concat('%',#{pinceSensitve},'%')
  742. </if>
  743. <if test="satisfied != '' and satisfied!=null">
  744. and ccr.satisfied LIKE concat('%',#{satisfied},'%')
  745. </if>
  746. <if test="status!=null and status!=0">
  747. and cmc.status=#{status}
  748. </if>
  749. <if test="followup != '' and followup!=null">
  750. and ccr.followup LIKE concat('%',#{followup},'%')
  751. </if>
  752. <if test="con != null and con.size > 0">
  753. and
  754. <foreach collection="con" item="item" index="index" open="(" close=")" separator="OR">
  755. ccr.consultType LIKE CONCAT('%',#{item},'%')
  756. </foreach>
  757. </if>
  758. ORDER BY ccr.addTime DESC
  759. </select>
  760. <select id="getVisitRecordListByKey" resultType="com.caimei365.user.model.vo.VisitorRemarkVo">
  761. select DISTINCT
  762. ccr.id as remarksId, ccr.questionManId, ccr.remarks, ccr.addTime as addDate,
  763. ccr.questionMan,IFNULL(ccr.consultType,'') as consult,
  764. ccr.serviceProviderId,
  765. (SELECT NAME FROM serviceprovider s WHERE s.serviceProviderID = ccr.serviceProviderId) AS recordName,
  766. (select name from serviceprovider s where s.serviceProviderID = csr.leaderId) as leaderName
  767. from cm_visitor_remarks ccr
  768. left join cm_serviceteam_group csg on csg.serviceId = ccr.serviceProviderID
  769. left join cm_serviceteam_role csr on csr.id = csg.teamId
  770. left join serviceprovider s on ccr.serviceProviderID = s.serviceProviderID
  771. where ccr.remarks IS NOT NULL
  772. and ccr.clubId is null
  773. <if test="keyWord != null and keyWord != ''">
  774. and ccr.questionMan LIKE CONCAT('%', #{keyWord}, '%')
  775. OR ccr.remarks LIKE CONCAT('%', #{keyWord}, '%')
  776. </if>
  777. ORDER BY ccr.ADDTIME DESC
  778. </select>
  779. <select id="findConsult" resultType="com.caimei365.user.model.vo.ConsultVo">
  780. select id, className, status, sortNumber, createdTime
  781. from cm_consulttype
  782. where delflag = 0
  783. and status = 1
  784. ORDER BY sortNumber ASC
  785. </select>
  786. <select id="findAllTeams" resultType="com.caimei365.user.model.vo.TeamLederVo">
  787. select csr.id as teamId,
  788. csr.leaderId,
  789. IF(csm.serviceproviderId IS NULL, 2, 1) as manager,
  790. csr.createdTime,
  791. s.name as leaderName
  792. from cm_serviceteam_role csr
  793. left join serviceprovider s on csr.leaderId = s.serviceProviderID
  794. LEFT JOIN cm_serviceteam_manager csm ON csr.leaderId = csm.serviceproviderId
  795. where csr.delflag = 0
  796. </select>
  797. <select id="findGroups" resultType="com.caimei365.user.model.vo.TeamGroupVo">
  798. select serviceProviderId as groupId, name as groupName
  799. from serviceprovider s
  800. left join cm_serviceteam_group csg on s.serviceProviderID = csg.serviceId
  801. left join cm_serviceteam_role csr on csr.id = csg.teamId
  802. where csr.leaderId = #{leaderId}
  803. </select>
  804. <select id="findConsultById" resultType="com.caimei365.user.model.vo.ConsultVo">
  805. select id, className, status, sortNumber, createdTime
  806. from cm_consulttype
  807. where delflag = 0
  808. and status = 1
  809. and id = #{string}
  810. ORDER BY sortNumber ASC
  811. </select>
  812. <select id="findAllRemarks" resultType="com.caimei365.user.model.vo.RemarksVo">
  813. SELECT DISTINCT
  814. ccr.id AS remarksId, ccr.remarks,ccr.addTime,ccr.questionMan,ccr.serviceProviderId as serviceProviderId, ccr.createServiceProviderId as createServiceProviderId,
  815. csr.leaderId AS leaderId,IFNULL(ccr.consultType,'') as consult, c.Name as clubName,
  816. ccr.clubType AS clubType,ccr.pinceSensitve AS pinceSensitve,ccr.satisfied AS satisfied,ccr.followup AS followup,ccr.extra AS extra,
  817. ccr.communicationSituation, ccr.communicationMethods, ccr.customerSource, ccr.customerGender,
  818. ccr.groupAddition, ccr.customerAge, ccr.trendsKeyword, ccr.stateKeyword,
  819. (SELECT NAME FROM serviceprovider s WHERE s.serviceProviderID= csr.leaderId) AS leaderName,
  820. (SELECT linkMan FROM serviceprovider s WHERE s.serviceProviderID = ccr.createServiceProviderId) AS recordName,c.newDeal as newDeal,cmc.status as status
  821. # (SELECT linkMan FROM serviceprovider s WHERE s.serviceProviderID = ccr.oldserviceProviderId) AS oldName
  822. FROM cm_club_remarks ccr
  823. LEFT JOIN serviceprovider s ON ccr.serviceProviderId = s.serviceProviderID
  824. LEFT JOIN club c ON c.clubId=ccr.clubId
  825. LEFT JOIN cm_serviceTeam_group csg ON ccr.createServiceProviderId = csg.serviceId
  826. LEFT JOIN cm_serviceTeam_role csr ON csr.id = csg.teamId
  827. LEFT JOIN cm_club_report cmc ON cmc.clubId = ccr.clubId
  828. <where>
  829. <if test="keyWord != null and keyWord !=''">
  830. AND (ccr.remarks LIKE concat('%',#{keyWord},'%')
  831. or ccr.questionMan LIKE CONCAT('%', #{keyWord}, '%')
  832. or c.Name LIKE CONCAT('%', #{keyWord}, '%')
  833. or c.contractMobile like concat('%', #{keyWord}, '%'))
  834. </if>
  835. <if test="leaderId != null and leaderId>0">
  836. and csr.leaderId = #{leaderId}
  837. </if>
  838. <if test="status!=null and status!=0">
  839. and cmc.status=#{status}
  840. </if>
  841. <if test="groupId != null and groupId>0">
  842. and ccr.serviceProviderId = #{groupId}
  843. </if>
  844. <if test="startAddTime !='' and startAddTime !=null">
  845. and ccr.addTime <![CDATA[ > ]]> #{startAddTime}
  846. </if>
  847. <if test="endAddTime != '' and endAddTime!=null">
  848. and ccr.addTime <![CDATA[ < ]]> #{endAddTime}
  849. </if>
  850. <if test="pinceSensitve != '' and pinceSensitve!=null">
  851. and ccr.pinceSensitve LIKE concat('%',#{pinceSensitve},'%')
  852. </if>
  853. <if test="satisfied != '' and satisfied!=null">
  854. and ccr.satisfied LIKE concat('%',#{satisfied},'%')
  855. </if>
  856. <if test="followup != '' and followup !=null">
  857. and ccr.followup LIKE concat('%',#{followup},'%')
  858. </if>
  859. <if test="newDeal !=null and newDeal!=0">
  860. and c.newDeal =#{newDeal}
  861. </if>
  862. <if test="con != null and con.size > 0">
  863. and
  864. <foreach collection="con" item="item" index="index" open="(" close=")" separator="OR">
  865. ccr.consultType LIKE CONCAT('%',#{item},'%')
  866. </foreach>
  867. </if>
  868. </where>
  869. ORDER BY ccr.ADDTIME DESC
  870. </select>
  871. <select id="getAllVisitRemark" resultType="com.caimei365.user.model.vo.VisitorRemarkVo">
  872. SELECT DISTINCT
  873. ccr.id AS remarksId, ccr.remarks,ccr.addTime as addDate,ccr.questionMan,IFNULL(ccr.consultType,'') as
  874. consult,ccr.serviceProviderId,ccr.questionManId,ccr.createServiceProviderId as createServiceProviderId,
  875. ccr.clubType AS clubType,ccr.pinceSensitve AS pinceSensitve,ccr.satisfied AS satisfied,ccr.followup AS
  876. followup,ccr.extra AS extra,ccr.trendsKeyword, ccr.stateKeyword,
  877. (SELECT NAME FROM serviceprovider s WHERE s.serviceProviderID = csr.leaderId) AS leaderName,
  878. (SELECT linkMan FROM serviceprovider s WHERE s.serviceProviderID = ccr.serviceProviderId) AS
  879. recordName,cmc.status as status
  880. FROM cm_visitor_remarks ccr
  881. LEFT JOIN serviceprovider s ON ccr.serviceProviderId = s.serviceProviderID
  882. LEFT JOIN cm_serviceTeam_group csg ON ccr.serviceProviderId = csg.serviceId
  883. LEFT JOIN cm_serviceTeam_role csr ON csr.id = csg.teamId
  884. LEFT JOIN cm_club_report cmc ON cmc.Id = ccr.reportID
  885. <where>
  886. and ccr.remarks IS NOT NULL
  887. and ccr.clubId is null
  888. <if test="keyWord != null and keyWord !=''">
  889. AND ccr.remarks LIKE concat('%',#{keyWord},'%')
  890. or ccr.questionMan LIKE CONCAT('%', #{keyWord}, '%')
  891. </if>
  892. <if test="leaderId != null and leaderId > 0">
  893. and csr.leaderId = #{leaderId}
  894. </if>
  895. <if test="groupId != null and groupId > 0">
  896. and ccr.serviceProviderId = #{groupId}
  897. </if>
  898. <if test="startAddTime !='' and startAddTime !=null">
  899. and ccr.addTime <![CDATA[ > ]]> #{startAddTime}
  900. </if>
  901. <if test="endAddTime != '' and endAddTime!=null">
  902. and ccr.addTime <![CDATA[ < ]]> #{endAddTime}
  903. </if>
  904. <if test="pinceSensitve != '' and pinceSensitve!=null">
  905. and ccr.pinceSensitve LIKE concat('%',#{pinceSensitve},'%')
  906. </if>
  907. <if test="satisfied != '' and satisfied!=null">
  908. and ccr.satisfied LIKE concat('%',#{satisfied},'%')
  909. </if>
  910. <if test="followup != '' and followup !=null">
  911. and ccr.followup LIKE concat('%',#{followup},'%')
  912. </if>
  913. <if test="status!=null and status!=0">
  914. and cmc.status=#{status}
  915. </if>
  916. <if test="con != null and con.size > 0">
  917. and
  918. <foreach collection="con" item="item" index="index" open="(" close=")" separator="OR">
  919. ccr.consultType LIKE CONCAT('%',#{item},'%')
  920. </foreach>
  921. </if>
  922. </where>
  923. ORDER BY ccr.addtime DESC
  924. </select>
  925. <select id="findLeaderId" resultType="java.lang.Integer">
  926. SELECT leaderId
  927. FROM cm_serviceteam_role csr
  928. LEFT JOIN serviceprovider s ON s.serviceProviderId = csr.leaderId
  929. WHERE s.serviceProviderID = #{serviceProviderId}
  930. </select>
  931. <select id="getCmRemarksList" resultType="java.util.Map">
  932. SELECT keyword as label
  933. FROM cm_user_search_frequency
  934. WHERE keyword like concat('%', #{keyword}, '%')
  935. and dynamicStatus = #{type}
  936. and delStatus = 1
  937. order by addtime DESC
  938. </select>
  939. <select id="recordClubage" resultType="com.caimei365.user.model.vo.ClubVo">
  940. select c.clubID as clubId,
  941. c.userID as userId,
  942. c.name,
  943. c.sname as shortName,
  944. c.contractMobile,
  945. c.contractEmail,
  946. c.contractPhone,
  947. c.linkMan,
  948. c.provinceID as proviceId,
  949. c.cityID as cityId,
  950. c.townID as townId,
  951. c.address,
  952. c.headpic as shopPhoto,
  953. c.businessLicenseImage as businessLicense,
  954. c.socialCreditCode,
  955. c.firstClubType,
  956. c.secondClubType,
  957. c.department,
  958. c.medicalPracticeLicenseImg as medicalPracticeLicense,
  959. c.mainpro as mainProduct,
  960. c.fax,
  961. c.info as profile,
  962. c.spID as serviceProviderId,
  963. u.ipAddress as ipAddress,
  964. c.addTime,
  965. c.status,
  966. c.lastCheckOrderDate,
  967. c.newDeal as newDeal,
  968. IF(c.spid IS NULL or c.spId = 1342, 0, 1) AS spType,
  969. r.describe,
  970. u.userIdentity as userIdentity
  971. from club c
  972. LEFT JOIN record_link r ON r.`clubId` = c.`clubID`
  973. left join user u on u.clubId = c.clubId
  974. where c.clubID = #{clubId}
  975. ORDER BY r.id DESC
  976. LIMIT 1
  977. </select>
  978. <select id="selAddTime" resultType="java.lang.String">
  979. select addTime
  980. from record_link
  981. where clubId = #{clubId}
  982. order by addTime desc
  983. limit 1
  984. </select>
  985. <select id="serviceProviderNameage" resultType="java.lang.String">
  986. select linkMan
  987. from `serviceprovider`
  988. where serviceProviderID = #{serviceproviderId}
  989. </select>
  990. <select id="findSales" resultType="com.caimei365.user.model.vo.ServiceProviderVo">
  991. select serviceProviderId, linkman as name
  992. from serviceprovider
  993. where status = 90
  994. order by serviceProviderID DESC
  995. </select>
  996. <select id="findOldSpId" resultType="java.lang.Integer">
  997. select spID
  998. from club
  999. where clubID = #{clubId}
  1000. </select>
  1001. <select id="findOldSpIds" resultType="java.lang.Integer">
  1002. select oldserviceProviderId
  1003. FROM cm_club_remarks
  1004. WHERE clubId = #{clubID}
  1005. AND oldserviceProviderId IS NOT NULL
  1006. </select>
  1007. <select id="findOpenIdBySpId" resultType="java.lang.String">
  1008. SELECT wu.openId
  1009. FROM wechat_user wu
  1010. LEFT JOIN serviceprovider s ON s.unionId = wu.unionId
  1011. WHERE serviceProviderID = #{spId}
  1012. </select>
  1013. <select id="findNewRemark" resultType="com.caimei365.user.model.po.ClubRemarksPo">
  1014. SELECT id as remarksId,
  1015. clubId,
  1016. serviceProviderId,
  1017. consultType as consult,
  1018. remarks,
  1019. addTime,
  1020. questionMan
  1021. FROM cm_club_remarks
  1022. WHERE clubId = #{clubId}
  1023. AND serviceproviderId = #{serviceProviderId}
  1024. AND ADDTIME >
  1025. (SELECT checkTime
  1026. FROM clubchangesprecord c
  1027. WHERE c.clubId = #{clubId}
  1028. AND c.newspId = #{serviceProviderId}
  1029. ORDER BY checkTime DESC
  1030. LIMIT 1)
  1031. </select>
  1032. <select id="findServiceName" resultType="java.lang.String">
  1033. select linkMan
  1034. from serviceprovider
  1035. where serviceProviderID = #{spId}
  1036. </select>
  1037. <select id="findAllotTime" resultType="java.util.Date">
  1038. select checkTime
  1039. from clubchangesprecord
  1040. where clubID = #{clubId}
  1041. and newSpID = #{spId}
  1042. ORDER BY checkTime DESC
  1043. LIMIT 1
  1044. </select>
  1045. <select id="findSubmitTime" resultType="java.util.Date">
  1046. select addTime
  1047. from cm_club_remarks
  1048. where id = #{remarkId}
  1049. </select>
  1050. <select id="findLeaderIdBySp" resultType="java.lang.Integer">
  1051. SELECT leaderId
  1052. FROM cm_serviceteam_role csr
  1053. LEFT JOIN cm_serviceteam_group csg ON csr.id = csg.teamId
  1054. WHERE csg.serviceId = #{spId}
  1055. </select>
  1056. <select id="selTotal" resultType="com.caimei365.user.model.dto.CmPortraitDto">
  1057. SELECT (SELECT COUNT(shopOrderId) FROM cm_shop_order WHERE clubID = #{clubId} AND shopStatus != 4 AND shopStatus != 5 AND refundStatus != 2 AND orderTime <![CDATA[ < ]]> NOW()) AS orderTotal,
  1058. (SELECT IFNULL(SUM(totalAmount), 0) FROM cm_shop_order WHERE clubID = #{clubId} AND shopStatus != 4 AND shopStatus != 5 AND refundStatus != 2 AND orderTime <![CDATA[ < ]]> NOW()) AS orderTotalAmount,
  1059. (SELECT COUNT(cbr.recordID) FROM cm_behavior_record cbr LEFT JOIN club c ON cbr.userID = c.userID
  1060. WHERE cbr.pageType IN (8, 9) AND c.clubID = #{clubId} AND cbr.accessDate <![CDATA[ < ]]> now()) AS totalkeywords,
  1061. (SELECT COUNT(remarks) FROM cm_club_remarks WHERE clubID = #{clubId} AND addTime <![CDATA[ < ]]> now()) AS remarksTotal
  1062. </select>
  1063. <select id="accessRecords" resultType="com.caimei365.user.model.vo.RecordVo">
  1064. SELECT accessDate, COUNT(cbr.recordID) AS number, IP AS ip
  1065. FROM cm_behavior_record cbr
  1066. LEFT JOIN club c ON cbr.userID = c.userID
  1067. WHERE cbr.delFlag = 0
  1068. AND c.clubID = #{clubId}
  1069. GROUP BY cbr.IP, cbr.accessDate
  1070. ORDER BY cbr.accessDate DESC
  1071. </select>
  1072. <select id="recordDetail" resultType="com.caimei365.user.model.vo.BehaviorRecodeVo">
  1073. SELECT pt.pageType,
  1074. b.pageLabel,
  1075. p.name AS productName,
  1076. p.mainImage AS productImage,
  1077. b.accessDuration,
  1078. b.accessSource,
  1079. b.accessClient,
  1080. b.accessTime
  1081. FROM cm_behavior_record b
  1082. LEFT JOIN club c ON b.userID = c.userID
  1083. LEFT JOIN product p ON b.productID = p.productID
  1084. LEFT JOIN cm_page_type pt ON b.pageType = pt.id
  1085. WHERE c.clubID = #{clubId}
  1086. AND b.accessDate = #{accessDate}
  1087. order by b.accessTime desc
  1088. </select>
  1089. <select id="getClubRemarksInfo" resultType="java.lang.String">
  1090. SELECT remarks FROM cm_club_remarks
  1091. WHERE clubId = #{clubId}
  1092. <if test="startTime != null and startTime != ''">
  1093. and addTime <![CDATA[ >= ]]> #{startTime}
  1094. </if>
  1095. <if test="endTime != null and endTime != ''">
  1096. and addTime <![CDATA[ <= ]]> #{endTime}
  1097. </if>
  1098. </select>
  1099. <select id="getClubBehavior" resultType="java.lang.String">
  1100. SELECT cbr.pageLabel FROM cm_behavior_record cbr LEFT JOIN club c ON c.userID = cbr.userId
  1101. WHERE pageType IN (6, 8, 9, 11, 14) AND c.clubId = #{clubId}
  1102. <if test="startTime != null and startTime != ''">
  1103. and cbr.accessTime > #{startTime}
  1104. </if>
  1105. <if test="endTime != null and endTime != ''">
  1106. and cbr.accessTime <![CDATA[ < ]]> #{endTime}
  1107. </if>
  1108. GROUP BY cbr.pageLabel ORDER BY COUNT(cbr.pageLabel) DESC
  1109. </select>
  1110. <select id="selOrderList" resultType="com.caimei365.user.model.po.NewOrderPo">
  1111. SELECT
  1112. (SELECT COUNT(shopOrderId) FROM cm_shop_order WHERE clubID = #{clubId} AND shopStatus != 4 AND shopStatus != 5 AND refundStatus != 2 AND orderTime <![CDATA[ < ]]> NOW()) AS orderTotal,
  1113. (SELECT IFNULL(SUM(totalAmount), 0) FROM cm_shop_order WHERE clubID = #{clubId} AND shopStatus != 4 AND shopStatus != 5 AND refundStatus != 2 AND orderTime <![CDATA[ < ]]> NOW()) AS orderTotalAmount,
  1114. cso.clubID,
  1115. co.secondHandOrderFlag,
  1116. co.rebateFlag,
  1117. cso.totalAmount AS payTotalFee,
  1118. ifnull(cso.refundStatus,1) as refundType,
  1119. cso.shopStatus AS STATUS,
  1120. cso.orderTime
  1121. FROM cm_shop_order cso
  1122. LEFT JOIN cm_order co ON cso.orderId = co.orderId
  1123. left join cm_order_product cop on cop.shopOrderId = cso.shopOrderId
  1124. <where>
  1125. cso.clubID = #{clubId} AND cso.shopStatus != 4 AND cso.shopStatus != 5 AND cso.refundStatus != 2 AND cop.productId != 999
  1126. <if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
  1127. AND cso.orderTime <![CDATA[ >= ]]> #{startTime} AND cso.orderTime <![CDATA[ <= ]]> #{endTime}
  1128. </if>
  1129. </where>
  1130. </select>
  1131. <select id="selBehaviorList" resultType="com.caimei365.user.model.vo.BehaviorRecodeVo">
  1132. SELECT
  1133. c.clubID,
  1134. COUNT(cbr.pageLabel) as number,
  1135. cbr.pageLabel,
  1136. cbr.accessDate
  1137. FROM cm_behavior_record cbr LEFT JOIN club c ON cbr.userID = c.userID
  1138. <where>
  1139. cbr.pageType IN (8, 9) AND c.clubID = #{clubId} AND cbr.pageLabel IS NOT NULL AND cbr.pageLabel != ''
  1140. <if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
  1141. AND cbr.accessDate <![CDATA[ >= ]]> #{startTime} AND cbr.accessDate <![CDATA[ <= ]]> #{endTime}
  1142. </if>
  1143. </where>
  1144. GROUP BY cbr.pageLabel
  1145. ORDER BY COUNT(cbr.pageLabel) LIMIT 10
  1146. </select>
  1147. <select id="selRegion" resultType="com.caimei365.user.model.vo.BehaviorRecodeVo">
  1148. SELECT IP as ip,
  1149. accessSource,
  1150. accessTime,
  1151. pageType
  1152. FROM cm_behavior_record_ref
  1153. WHERE IP = #{ip}
  1154. AND accessTime like concat('%', #{accessDate}, '%')
  1155. </select>
  1156. <select id="selRemarksList" resultType="com.caimei365.user.model.vo.CmClubRemarksVo">
  1157. SELECT
  1158. (SELECT COUNT(remarks) FROM cm_club_remarks WHERE clubID = #{clubId}) as numbers,
  1159. clubID,
  1160. COUNT(remarks) as number,
  1161. remarks,
  1162. addTime
  1163. FROM cm_club_remarks
  1164. <where>
  1165. clubID = #{clubId}
  1166. <if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
  1167. AND addTime <![CDATA[ >= ]]> #{startTime} AND addTime <![CDATA[ <= ]]> #{endTime}
  1168. </if>
  1169. </where>
  1170. GROUP BY remarks ORDER BY COUNT(remarks) LIMIT 10
  1171. </select>
  1172. <select id="selBehaviorPageTypeList" resultType="com.caimei365.user.model.vo.BehaviorRecodeVo">
  1173. SELECT
  1174. c.clubID,
  1175. COUNT(cbr.pageType) as numbers,
  1176. cbr.pageLabel,
  1177. cbr.accessDate
  1178. FROM cm_behavior_record cbr
  1179. LEFT JOIN club c ON cbr.userID = c.userID
  1180. <where>
  1181. c.clubID = #{clubId}
  1182. <if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
  1183. AND cbr.accessDate <![CDATA[ >= ]]> #{startTime} AND cbr.accessDate <![CDATA[ <= ]]> #{endTime}
  1184. </if>
  1185. </where>
  1186. GROUP BY cbr.pageType ORDER BY COUNT(cbr.pageType) LIMIT 10
  1187. </select>
  1188. <select id="findBanks" resultType="com.caimei365.user.model.vo.BanksVo">
  1189. SELECT DISTINCT cqi.id,
  1190. bankNumber as quickPayBankNumber,
  1191. bankType,
  1192. cqb.bankName,
  1193. cqi.quickPayBankCode as bankCode,
  1194. bindMobile as quickPayMobile,
  1195. bankUserName as quickPayUserName,
  1196. idCard,
  1197. cqi.bankCvvCode as cvvCode,
  1198. cqi.bankExpireTime as quickPayBankExpireTime
  1199. FROM cm_quickpay_info cqi
  1200. LEFT JOIN cm_quickpay_bankcode cqb ON cqi.quickPayBankCode = cqb.bankCode
  1201. where cqi.userId = #{userId}
  1202. and cqi.delFlag = 0
  1203. </select>
  1204. <select id="selSpLinkMan" resultType="java.lang.String">
  1205. SELECT linkMan FROM serviceprovider WHERE serviceProviderID = #{choseServiceId}
  1206. </select>
  1207. <select id="getSpIdRAND" resultType="java.lang.Integer">
  1208. SELECT sp.serviceProviderID FROM serviceprovider sp
  1209. WHERE sp.organizeID = 0
  1210. and sp.status=90
  1211. and sp.serviceProviderID != 1342 and linkMan not LIKE '%测试%'
  1212. ORDER BY RAND()
  1213. LIMIT 0,1;
  1214. </select>
  1215. <select id="getSpUserId" resultType="java.lang.Integer">
  1216. SELECT sp.userId FROM serviceprovider sp
  1217. WHERE sp.organizeID = 0
  1218. and sp.status=90
  1219. and sp.serviceProviderID=#{spId}
  1220. LIMIT 0,1;
  1221. </select>
  1222. <insert id="inProvider">
  1223. insert into cm_provider_record (spId, clubId, operator, isOneself, createTime)
  1224. values (#{spId}, #{clubId}, #{operator}, #{isOneself}, now())
  1225. </insert>
  1226. </mapper>