ClubMapper.xml 56 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281
  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,
  498. ccr.customerGender, ccr.groupAddition, ccr.customerAge,
  499. (SELECT ADDTIME FROM cm_club_remarks WHERE clubId = c.clubId ORDER BY ADDTIME ASC LIMIT 1) AS firstTime,
  500. (SELECT ADDTIME FROM cm_club_remarks WHERE clubId = c.clubId ORDER BY ADDTIME DESC LIMIT 1) AS recentlyTime
  501. from cm_club_remarks ccr
  502. left join club c on ccr.clubId = c.clubId
  503. where c.userId = #{userId} order by ccr.addTime desc limit 1
  504. </select>
  505. <select id="getPriorKeywordList" resultType="java.util.Map">
  506. select cusf.keyword as label
  507. from cm_prior_keyword cpk
  508. left join cm_user_search_frequency cusf on cpk.searchId = cusf.id
  509. WHERE cpk.delFlag = 0 AND cusf.delStatus = 1
  510. order by cusf.dynamicStatus DESC, cpk.addTime desc
  511. </select>
  512. <select id="findKeywordExist" resultType="java.lang.Integer">
  513. select id
  514. from cm_user_search_frequency
  515. where keyword = #{keyword}
  516. and delstatus = 1
  517. limit 1
  518. </select>
  519. <insert id="insertLabel">
  520. insert into cm_user_search_frequency(fromSearch, serviceProviderId, keyword, frequency, trueStatus, dynamicStatus, addTime)
  521. values (4, #{serviceProviderId}, #{keyword}, 0, #{trueStatus}, #{dynamicStatus}, now())
  522. </insert>
  523. <select id="getAfterSale" resultType="com.caimei365.user.model.vo.AfterSaleVo">
  524. SELECT id,
  525. organizeName,
  526. organizeLinkName,
  527. mobile,
  528. contactNumber,
  529. systemName,
  530. systemImage,
  531. introduction,
  532. afterSale,
  533. shoppingNotes,
  534. updateTime,
  535. addTime,
  536. delFlag
  537. FROM cm_mall_organize
  538. WHERE id = 0
  539. AND delFlag = '0'
  540. </select>
  541. <select id="getUnReadMessageCount" resultType="java.lang.Integer">
  542. SELECT COUNT(*)
  543. FROM message
  544. WHERE toUserID = #{userId}
  545. AND readFlag = '0'
  546. </select>
  547. <select id="getUserCouponCount" resultType="java.lang.Integer">
  548. SELECT COUNT(a.id)
  549. FROM cm_coupon_club a
  550. LEFT JOIN cm_coupon cc ON a.couponId = cc.id
  551. WHERE cc.delFlag = 0
  552. AND a.delFlag = 0
  553. AND a.status = 1
  554. AND cc.status != 2
  555. AND a.userId = #{userId}
  556. AND if(cc.vipFlag = 1
  557. , NOW() BETWEEN cc.startDate
  558. AND cc.endDate
  559. , NOW() <![CDATA[ < ]]> IF(cc.usePeriod IS NULL
  560. , cc.endDate
  561. , DATE_ADD(a.createDate
  562. , INTERVAL cc.usePeriod DAY)))
  563. </select>
  564. <select id="getVisitorList" resultType="com.caimei365.user.model.vo.VisitorRemarkVo">
  565. SELECT questionManId, serviceProviderId, addTime as addDate, questionMan, consultType as consult
  566. FROM cm_visitor_remarks
  567. WHERE serviceProviderId = #{serviceProviderId}
  568. and clubId is null
  569. GROUP BY questionManId
  570. ORDER BY addTime DESC
  571. </select>
  572. <select id="getVisitRemark" resultType="com.caimei365.user.model.vo.VisitorRemarkVo">
  573. select DISTINCT ccr.id as remarksId,
  574. ccr.questionManId,
  575. ccr.remarks,
  576. ccr.questionMan,
  577. ccr.addTime as addDate,
  578. IFNULL(ccr.consultType, '') as consult,
  579. ccr.clubType,
  580. ccr.pinceSensitve,
  581. ccr.satisfied,
  582. ccr.followup,
  583. ccr.extra,
  584. ccr.communicationSituation,
  585. ccr.communicationMethods,
  586. ccr.customerSource,
  587. ccr.customerGender,
  588. ccr.groupAddition,
  589. ccr.customerAge,
  590. ccr.trendsKeyword,
  591. ccr.stateKeyword,
  592. p.`mainImage` AS mainImage,
  593. p.name AS productName,
  594. s.name AS shopName,
  595. cmc.`reportText` as reportText,
  596. cmc.`status` as status,
  597. cmc.`auditText` as auditText,
  598. p.productId as productId,
  599. cmc.ID as reportId
  600. from cm_visitor_remarks ccr
  601. LEFT JOIN club c ON ccr.clubId = c.clubId
  602. LEFT JOIN product p ON p.productID = ccr.productID
  603. LEFT JOIN cm_club_report cmc ON cmc.ID = ccr.reportID
  604. LEFT JOIN shop s ON s.shopID = p.shopID
  605. where ccr.id = #{remarksId}
  606. AND ccr.remarks IS NOT NULL # and cmc.clubId is null
  607. </select>
  608. <select id="getVisitRemarksImageList" resultType="java.lang.String">
  609. select imageUrl
  610. from cm_visitor_remarks_file
  611. where remarksId = #{remarksId}
  612. and fileType = 1
  613. </select>
  614. <select id="getVisitRemarksFileList" resultType="com.caimei365.user.model.vo.RemarksFileVo">
  615. select fileName, ossName
  616. from cm_visitor_remarks_file
  617. where remarksId = #{remarksId}
  618. and fileType = 2
  619. </select>
  620. <select id="findClubName" resultType="java.lang.String">
  621. select name
  622. from club
  623. where clubID = #{clubId}
  624. </select>
  625. <select id="getVisitRecordList" resultType="com.caimei365.user.model.vo.VisitorRemarkVo">
  626. select id as remarksId, questionManId, remarks, addTime as addDate, questionMan
  627. from cm_visitor_remarks
  628. where questionManId = #{questionManId}
  629. AND remarks IS NOT NULL
  630. and clubId is null
  631. ORDER BY ADDTIME DESC
  632. </select>
  633. <select id="findConcactVisit" resultType="com.caimei365.user.model.vo.VisitorRemarkVo">
  634. select id as remarksId,
  635. questionManId,
  636. serviceProviderId,
  637. remarks,
  638. addTime as addDate,
  639. questionMan,
  640. clubId,
  641. consultType as consult,
  642. concactTime,
  643. clubType,
  644. pinceSensitve,
  645. satisfied,
  646. followup,
  647. extra,
  648. productID,
  649. reportID
  650. from cm_visitor_remarks
  651. where questionManId = #{questionManId}
  652. and remarks is not null
  653. </select>
  654. <select id="findQuestionMan" resultType="java.lang.String">
  655. select DISTINCT questionMan
  656. from cm_visitor_remarks
  657. where questionManId = #{questionManId}
  658. AND questionMan IS NOT NULL
  659. </select>
  660. <select id="getRemarksListByKey" resultType="com.caimei365.user.model.vo.RemarksVo">
  661. SELECT DISTINCT
  662. ccr.id AS remarksId, ccr.remarks,ccr.addTime,ccr.questionMan,ccr.serviceProviderId as serviceProviderId, ccr.createServiceProviderId as createServiceProviderId,
  663. csr.leaderId AS leaderId,IFNULL(ccr.consultType,'') as consult, c.Name as clubName,
  664. ccr.clubType AS clubType,ccr.pinceSensitve AS pinceSensitve,ccr.satisfied AS satisfied,ccr.followup AS followup,ccr.extra AS extra,
  665. ccr.communicationSituation, ccr.communicationMethods, ccr.customerSource, ccr.customerGender,
  666. ccr.groupAddition, ccr.customerAge, ccr.trendsKeyword, ccr.stateKeyword,
  667. (SELECT NAME FROM serviceprovider s WHERE s.serviceProviderID= csr.leaderId) AS leaderName,
  668. (SELECT linkMan FROM serviceprovider s WHERE s.serviceProviderID = ccr.createServiceProviderId) as recordName,c.newDeal as newDeal,cmc.status as status
  669. # (SELECT linkMan FROM serviceprovider s WHERE s.serviceProviderID = ccr.oldserviceProviderId) AS oldName
  670. FROM cm_club_remarks ccr
  671. LEFT JOIN serviceprovider s ON ccr.serviceProviderId = s.serviceProviderID
  672. LEFT JOIN club c ON c.clubId=ccr.clubId
  673. LEFT JOIN cm_serviceTeam_group csg ON ccr.createServiceProviderId = csg.serviceId
  674. LEFT JOIN cm_serviceTeam_role csr ON csr.id = csg.teamId
  675. LEFT JOIN cm_club_report cmc ON cmc.ID = ccr.reportID
  676. where
  677. (ccr.serviceProviderId=#{serviceProviderId} or ccr.createServiceProviderId=#{serviceProviderId})
  678. <if test="keyWord != null and keyWord != ''">
  679. AND (ccr.remarks LIKE CONCAT('%', #{keyWord}, '%')
  680. OR c.Name LIKE CONCAT('%', #{keyWord}, '%')
  681. OR ccr.questionMan LIKE CONCAT('%', #{keyWord}, '%')
  682. or c.contractMobile like concat('%', #{keyWord}, '%'))
  683. </if>
  684. <if test="leaderId != null and leaderId>0">
  685. and csr.leaderId = #{leaderId}
  686. </if>
  687. <if test="groupId != null and groupId>0">
  688. and ccr.serviceProviderId = #{groupId}
  689. </if>
  690. <if test="startAddTime !='' and startAddTime != null">
  691. and ccr.addTime <![CDATA[ > ]]> #{startAddTime}
  692. </if>
  693. <if test="endAddTime != '' and endAddTime != null">
  694. and ccr.addTime <![CDATA[ < ]]> #{endAddTime}
  695. </if>
  696. <if test="pinceSensitve != '' and pinceSensitve != null">
  697. and ccr.pinceSensitve LIKE concat('%',#{pinceSensitve},'%')
  698. </if>
  699. <if test="satisfied != '' and satisfied != null">
  700. and ccr.satisfied LIKE concat('%',#{satisfied},'%')
  701. </if>
  702. <if test="status!=null and status!=0">
  703. and cmc.status=#{status}
  704. </if>
  705. <if test="newDeal !=null and newDeal!=0">
  706. and c.newDeal =#{newDeal}
  707. </if>
  708. <if test="followup != '' and followup != null">
  709. and ccr.followup LIKE concat('%',#{followup},'%')
  710. </if>
  711. <if test="con != null and con.size > 0">
  712. and
  713. <foreach collection="con" item="item" index="index" open="(" close=")" separator="OR">
  714. ccr.consultType LIKE CONCAT('%',#{item},'%')
  715. </foreach>
  716. </if>
  717. order by addTime desc
  718. </select>
  719. <select id="getVisitorListByKey" resultType="com.caimei365.user.model.vo.VisitorRemarkVo">
  720. SELECT DISTINCT
  721. ccr.id as remarksId, ccr.questionManId, ccr.remarks, ccr.addTime as addDate,
  722. ccr.questionMan,IFNULL(ccr.consultType,'') as consult, ccr.createServiceProviderId as createServiceProviderId,
  723. ccr.serviceProviderId,ccr.clubType,ccr.pinceSensitve,ccr.satisfied,ccr.followup,ccr.extra,ccr.trendsKeyword, ccr.stateKeyword,
  724. (SELECT linkMan FROM serviceprovider s WHERE s.serviceProviderID = ccr.serviceProviderId) AS recordName,
  725. (select name from serviceprovider s where s.serviceProviderID = csr.leaderId) as leaderName,cmc.status as status
  726. FROM cm_visitor_remarks ccr
  727. left join cm_serviceteam_group csg on csg.serviceId = ccr.serviceProviderID
  728. left join cm_serviceteam_role csr on csr.id = csg.teamId
  729. left join serviceprovider s on ccr.serviceProviderID = s.serviceProviderID
  730. LEFT JOIN cm_club_report cmc ON cmc.Id = ccr.reportID
  731. WHERE ccr.serviceProviderId = #{serviceProviderId}
  732. and ccr.remarks IS NOT NULL
  733. and ccr.clubId is null
  734. <if test="keyWord != null and keyWord != ''">
  735. and (ccr.questionMan LIKE CONCAT('%', #{keyWord}, '%')
  736. or ccr.remarks LIKE CONCAT('%', #{keyWord}, '%'))
  737. </if>
  738. <if test="startAddTime !='' and startAddTime != null">
  739. and ccr.addTime <![CDATA[ >= ]]> #{startAddTime}
  740. </if>
  741. <if test="endAddTime != '' and endAddTime != null">
  742. and ccr.addTime <![CDATA[ <= ]]> #{endAddTime}
  743. </if>
  744. <if test="pinceSensitve != '' and pinceSensitve!=null">
  745. and ccr.pinceSensitve LIKE concat('%',#{pinceSensitve},'%')
  746. </if>
  747. <if test="satisfied != '' and satisfied!=null">
  748. and ccr.satisfied LIKE concat('%',#{satisfied},'%')
  749. </if>
  750. <if test="status!=null and status!=0">
  751. and cmc.status=#{status}
  752. </if>
  753. <if test="followup != '' and followup!=null">
  754. and ccr.followup LIKE concat('%',#{followup},'%')
  755. </if>
  756. <if test="con != null and con.size > 0">
  757. and
  758. <foreach collection="con" item="item" index="index" open="(" close=")" separator="OR">
  759. ccr.consultType LIKE CONCAT('%',#{item},'%')
  760. </foreach>
  761. </if>
  762. ORDER BY ccr.addTime DESC
  763. </select>
  764. <select id="getVisitRecordListByKey" resultType="com.caimei365.user.model.vo.VisitorRemarkVo">
  765. select DISTINCT
  766. ccr.id as remarksId, ccr.questionManId, ccr.remarks, ccr.addTime as addDate,
  767. ccr.questionMan,IFNULL(ccr.consultType,'') as consult,
  768. ccr.serviceProviderId,
  769. (SELECT NAME FROM serviceprovider s WHERE s.serviceProviderID = ccr.serviceProviderId) AS recordName,
  770. (select name from serviceprovider s where s.serviceProviderID = csr.leaderId) as leaderName
  771. from cm_visitor_remarks ccr
  772. left join cm_serviceteam_group csg on csg.serviceId = ccr.serviceProviderID
  773. left join cm_serviceteam_role csr on csr.id = csg.teamId
  774. left join serviceprovider s on ccr.serviceProviderID = s.serviceProviderID
  775. where ccr.remarks IS NOT NULL
  776. and ccr.clubId is null
  777. <if test="keyWord != null and keyWord != ''">
  778. and ccr.questionMan LIKE CONCAT('%', #{keyWord}, '%')
  779. OR ccr.remarks LIKE CONCAT('%', #{keyWord}, '%')
  780. </if>
  781. ORDER BY ccr.ADDTIME DESC
  782. </select>
  783. <select id="findConsult" resultType="com.caimei365.user.model.vo.ConsultVo">
  784. select id, className, status, sortNumber, createdTime
  785. from cm_consulttype
  786. where delflag = 0
  787. and status = 1
  788. ORDER BY sortNumber ASC
  789. </select>
  790. <select id="findAllTeams" resultType="com.caimei365.user.model.vo.TeamLederVo">
  791. select csr.id as teamId,
  792. csr.leaderId,
  793. IF(csm.serviceproviderId IS NULL, 2, 1) as manager,
  794. csr.createdTime,
  795. s.name as leaderName
  796. from cm_serviceteam_role csr
  797. left join serviceprovider s on csr.leaderId = s.serviceProviderID
  798. LEFT JOIN cm_serviceteam_manager csm ON csr.leaderId = csm.serviceproviderId
  799. where csr.delflag = 0
  800. </select>
  801. <select id="findGroups" resultType="com.caimei365.user.model.vo.TeamGroupVo">
  802. select serviceProviderId as groupId, name as groupName
  803. from serviceprovider s
  804. left join cm_serviceteam_group csg on s.serviceProviderID = csg.serviceId
  805. left join cm_serviceteam_role csr on csr.id = csg.teamId
  806. where csr.leaderId = #{leaderId}
  807. </select>
  808. <select id="findConsultById" resultType="com.caimei365.user.model.vo.ConsultVo">
  809. select id, className, status, sortNumber, createdTime
  810. from cm_consulttype
  811. where delflag = 0
  812. and status = 1
  813. and id = #{string}
  814. ORDER BY sortNumber ASC
  815. </select>
  816. <select id="findAllRemarks" resultType="com.caimei365.user.model.vo.RemarksVo">
  817. SELECT DISTINCT
  818. ccr.id AS remarksId, ccr.remarks,ccr.addTime,ccr.questionMan,ccr.serviceProviderId as serviceProviderId, ccr.createServiceProviderId as createServiceProviderId,
  819. csr.leaderId AS leaderId,IFNULL(ccr.consultType,'') as consult, c.Name as clubName,
  820. ccr.clubType AS clubType,ccr.pinceSensitve AS pinceSensitve,ccr.satisfied AS satisfied,ccr.followup AS followup,ccr.extra AS extra,
  821. ccr.communicationSituation, ccr.communicationMethods, ccr.customerSource, ccr.customerGender,
  822. ccr.groupAddition, ccr.customerAge, ccr.trendsKeyword, ccr.stateKeyword,
  823. (SELECT NAME FROM serviceprovider s WHERE s.serviceProviderID= csr.leaderId) AS leaderName,
  824. (SELECT linkMan FROM serviceprovider s WHERE s.serviceProviderID = ccr.createServiceProviderId) AS recordName,c.newDeal as newDeal,cmc.status as status
  825. # (SELECT linkMan FROM serviceprovider s WHERE s.serviceProviderID = ccr.oldserviceProviderId) AS oldName
  826. FROM cm_club_remarks ccr
  827. LEFT JOIN serviceprovider s ON ccr.serviceProviderId = s.serviceProviderID
  828. LEFT JOIN club c ON c.clubId=ccr.clubId
  829. LEFT JOIN cm_serviceTeam_group csg ON ccr.createServiceProviderId = csg.serviceId
  830. LEFT JOIN cm_serviceTeam_role csr ON csr.id = csg.teamId
  831. LEFT JOIN cm_club_report cmc ON cmc.clubId = ccr.clubId
  832. <where>
  833. <if test="keyWord != null and keyWord !=''">
  834. AND (ccr.remarks LIKE concat('%',#{keyWord},'%')
  835. or ccr.questionMan LIKE CONCAT('%', #{keyWord}, '%')
  836. or c.Name LIKE CONCAT('%', #{keyWord}, '%')
  837. or c.contractMobile like concat('%', #{keyWord}, '%'))
  838. </if>
  839. <if test="leaderId != null and leaderId>0">
  840. and csr.leaderId = #{leaderId}
  841. </if>
  842. <if test="status!=null and status!=0">
  843. and cmc.status=#{status}
  844. </if>
  845. <if test="groupId != null and groupId>0">
  846. and ccr.serviceProviderId = #{groupId}
  847. </if>
  848. <if test="startAddTime !='' and startAddTime !=null">
  849. and ccr.addTime <![CDATA[ > ]]> #{startAddTime}
  850. </if>
  851. <if test="endAddTime != '' and endAddTime!=null">
  852. and ccr.addTime <![CDATA[ < ]]> #{endAddTime}
  853. </if>
  854. <if test="pinceSensitve != '' and pinceSensitve!=null">
  855. and ccr.pinceSensitve LIKE concat('%',#{pinceSensitve},'%')
  856. </if>
  857. <if test="satisfied != '' and satisfied!=null">
  858. and ccr.satisfied LIKE concat('%',#{satisfied},'%')
  859. </if>
  860. <if test="followup != '' and followup !=null">
  861. and ccr.followup LIKE concat('%',#{followup},'%')
  862. </if>
  863. <if test="newDeal !=null and newDeal!=0">
  864. and c.newDeal =#{newDeal}
  865. </if>
  866. <if test="con != null and con.size > 0">
  867. and
  868. <foreach collection="con" item="item" index="index" open="(" close=")" separator="OR">
  869. ccr.consultType LIKE CONCAT('%',#{item},'%')
  870. </foreach>
  871. </if>
  872. </where>
  873. ORDER BY ccr.ADDTIME DESC
  874. </select>
  875. <select id="getAllVisitRemark" resultType="com.caimei365.user.model.vo.VisitorRemarkVo">
  876. SELECT DISTINCT
  877. ccr.id AS remarksId, ccr.remarks,ccr.addTime as addDate,ccr.questionMan,IFNULL(ccr.consultType,'') as
  878. consult,ccr.serviceProviderId,ccr.questionManId,ccr.createServiceProviderId as createServiceProviderId,
  879. ccr.clubType AS clubType,ccr.pinceSensitve AS pinceSensitve,ccr.satisfied AS satisfied,ccr.followup AS
  880. followup,ccr.extra AS extra,ccr.trendsKeyword, ccr.stateKeyword,
  881. (SELECT NAME FROM serviceprovider s WHERE s.serviceProviderID = csr.leaderId) AS leaderName,
  882. (SELECT linkMan FROM serviceprovider s WHERE s.serviceProviderID = ccr.serviceProviderId) AS
  883. recordName,cmc.status as status
  884. FROM cm_visitor_remarks ccr
  885. LEFT JOIN serviceprovider s ON ccr.serviceProviderId = s.serviceProviderID
  886. LEFT JOIN cm_serviceTeam_group csg ON ccr.serviceProviderId = csg.serviceId
  887. LEFT JOIN cm_serviceTeam_role csr ON csr.id = csg.teamId
  888. LEFT JOIN cm_club_report cmc ON cmc.Id = ccr.reportID
  889. <where>
  890. and ccr.remarks IS NOT NULL
  891. and ccr.clubId is null
  892. <if test="keyWord != null and keyWord !=''">
  893. AND ccr.remarks LIKE concat('%',#{keyWord},'%')
  894. or ccr.questionMan LIKE CONCAT('%', #{keyWord}, '%')
  895. </if>
  896. <if test="leaderId != null and leaderId > 0">
  897. and csr.leaderId = #{leaderId}
  898. </if>
  899. <if test="groupId != null and groupId > 0">
  900. and ccr.serviceProviderId = #{groupId}
  901. </if>
  902. <if test="startAddTime !='' and startAddTime !=null">
  903. and ccr.addTime <![CDATA[ > ]]> #{startAddTime}
  904. </if>
  905. <if test="endAddTime != '' and endAddTime!=null">
  906. and ccr.addTime <![CDATA[ < ]]> #{endAddTime}
  907. </if>
  908. <if test="pinceSensitve != '' and pinceSensitve!=null">
  909. and ccr.pinceSensitve LIKE concat('%',#{pinceSensitve},'%')
  910. </if>
  911. <if test="satisfied != '' and satisfied!=null">
  912. and ccr.satisfied LIKE concat('%',#{satisfied},'%')
  913. </if>
  914. <if test="followup != '' and followup !=null">
  915. and ccr.followup LIKE concat('%',#{followup},'%')
  916. </if>
  917. <if test="status!=null and status!=0">
  918. and cmc.status=#{status}
  919. </if>
  920. <if test="con != null and con.size > 0">
  921. and
  922. <foreach collection="con" item="item" index="index" open="(" close=")" separator="OR">
  923. ccr.consultType LIKE CONCAT('%',#{item},'%')
  924. </foreach>
  925. </if>
  926. </where>
  927. ORDER BY ccr.addtime DESC
  928. </select>
  929. <select id="findLeaderId" resultType="java.lang.Integer">
  930. SELECT leaderId
  931. FROM cm_serviceteam_role csr
  932. LEFT JOIN serviceprovider s ON s.serviceProviderId = csr.leaderId
  933. WHERE s.serviceProviderID = #{serviceProviderId}
  934. </select>
  935. <select id="getCmRemarksList" resultType="java.util.Map">
  936. SELECT keyword as label
  937. FROM cm_user_search_frequency
  938. WHERE keyword like concat('%', #{keyword}, '%')
  939. and dynamicStatus = #{type}
  940. and delStatus = 1
  941. order by addtime DESC
  942. </select>
  943. <select id="recordClubage" resultType="com.caimei365.user.model.vo.ClubVo">
  944. select c.clubID as clubId,
  945. c.userID as userId,
  946. c.name,
  947. c.sname as shortName,
  948. c.contractMobile,
  949. c.contractEmail,
  950. c.contractPhone,
  951. c.linkMan,
  952. c.provinceID as proviceId,
  953. c.cityID as cityId,
  954. c.townID as townId,
  955. c.address,
  956. c.headpic as shopPhoto,
  957. c.businessLicenseImage as businessLicense,
  958. c.socialCreditCode,
  959. c.firstClubType,
  960. c.secondClubType,
  961. c.department,
  962. c.medicalPracticeLicenseImg as medicalPracticeLicense,
  963. c.mainpro as mainProduct,
  964. c.fax,
  965. c.info as profile,
  966. c.spID as serviceProviderId,
  967. u.ipAddress as ipAddress,
  968. c.addTime,
  969. c.status,
  970. c.lastCheckOrderDate,
  971. c.newDeal as newDeal,
  972. IF(c.spid IS NULL or c.spId = 1342, 0, 1) AS spType,
  973. r.describe,
  974. u.userIdentity as userIdentity
  975. from club c
  976. LEFT JOIN record_link r ON r.`clubId` = c.`clubID`
  977. left join user u on u.clubId = c.clubId
  978. where c.clubID = #{clubId}
  979. ORDER BY r.id DESC
  980. LIMIT 1
  981. </select>
  982. <select id="selAddTime" resultType="java.lang.String">
  983. select addTime
  984. from record_link
  985. where clubId = #{clubId}
  986. order by addTime desc
  987. limit 1
  988. </select>
  989. <select id="serviceProviderNameage" resultType="java.lang.String">
  990. select linkMan
  991. from `serviceprovider`
  992. where serviceProviderID = #{serviceproviderId}
  993. </select>
  994. <select id="findSales" resultType="com.caimei365.user.model.vo.ServiceProviderVo">
  995. select serviceProviderId, linkman as name
  996. from serviceprovider
  997. where status = 90
  998. order by serviceProviderID DESC
  999. </select>
  1000. <select id="findOldSpId" resultType="java.lang.Integer">
  1001. select spID
  1002. from club
  1003. where clubID = #{clubId}
  1004. </select>
  1005. <select id="findOldSpIds" resultType="java.lang.Integer">
  1006. select oldserviceProviderId
  1007. FROM cm_club_remarks
  1008. WHERE clubId = #{clubID}
  1009. AND oldserviceProviderId IS NOT NULL
  1010. </select>
  1011. <select id="findOpenIdBySpId" resultType="java.lang.String">
  1012. SELECT wu.openId
  1013. FROM wechat_user wu
  1014. LEFT JOIN serviceprovider s ON s.unionId = wu.unionId
  1015. WHERE serviceProviderID = #{spId}
  1016. </select>
  1017. <select id="findNewRemark" resultType="com.caimei365.user.model.po.ClubRemarksPo">
  1018. SELECT id as remarksId,
  1019. clubId,
  1020. serviceProviderId,
  1021. consultType as consult,
  1022. remarks,
  1023. addTime,
  1024. questionMan
  1025. FROM cm_club_remarks
  1026. WHERE clubId = #{clubId}
  1027. AND serviceproviderId = #{serviceProviderId}
  1028. AND ADDTIME >
  1029. (SELECT checkTime
  1030. FROM clubchangesprecord c
  1031. WHERE c.clubId = #{clubId}
  1032. AND c.newspId = #{serviceProviderId}
  1033. ORDER BY checkTime DESC
  1034. LIMIT 1)
  1035. </select>
  1036. <select id="findServiceName" resultType="java.lang.String">
  1037. select linkMan
  1038. from serviceprovider
  1039. where serviceProviderID = #{spId}
  1040. </select>
  1041. <select id="findAllotTime" resultType="java.util.Date">
  1042. select checkTime
  1043. from clubchangesprecord
  1044. where clubID = #{clubId}
  1045. and newSpID = #{spId}
  1046. ORDER BY checkTime DESC
  1047. LIMIT 1
  1048. </select>
  1049. <select id="findSubmitTime" resultType="java.util.Date">
  1050. select addTime
  1051. from cm_club_remarks
  1052. where id = #{remarkId}
  1053. </select>
  1054. <select id="findLeaderIdBySp" resultType="java.lang.Integer">
  1055. SELECT leaderId
  1056. FROM cm_serviceteam_role csr
  1057. LEFT JOIN cm_serviceteam_group csg ON csr.id = csg.teamId
  1058. WHERE csg.serviceId = #{spId}
  1059. </select>
  1060. <select id="selTotal" resultType="com.caimei365.user.model.dto.CmPortraitDto">
  1061. 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,
  1062. (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,
  1063. (SELECT COUNT(cbr.recordID) FROM cm_behavior_record cbr LEFT JOIN club c ON cbr.userID = c.userID
  1064. WHERE cbr.pageType IN (8, 9) AND c.clubID = #{clubId} AND cbr.accessDate <![CDATA[ < ]]> now()) AS totalkeywords,
  1065. (SELECT COUNT(remarks) FROM cm_club_remarks WHERE clubID = #{clubId} AND addTime <![CDATA[ < ]]> now()) AS remarksTotal
  1066. </select>
  1067. <select id="accessRecords" resultType="com.caimei365.user.model.vo.RecordVo">
  1068. SELECT accessDate, COUNT(cbr.recordID) AS number, IP AS ip
  1069. FROM cm_behavior_record cbr
  1070. LEFT JOIN club c ON cbr.userID = c.userID
  1071. WHERE cbr.delFlag = 0
  1072. AND c.clubID = #{clubId}
  1073. GROUP BY cbr.IP, cbr.accessDate
  1074. ORDER BY cbr.accessDate DESC
  1075. </select>
  1076. <select id="recordDetail" resultType="com.caimei365.user.model.vo.BehaviorRecodeVo">
  1077. SELECT
  1078. b.recordID,
  1079. b.userID,
  1080. b.pagePath,
  1081. pt.pageType,
  1082. b.pageLabel,
  1083. b.productID,
  1084. b.accessTime,
  1085. b.accessDuration,
  1086. b.accessDate,
  1087. b.referer,
  1088. b.accessClient,
  1089. b.isReckon,
  1090. b.region,
  1091. p.name AS productName,
  1092. p.mainImage AS productImage
  1093. FROM cm_behavior_record b
  1094. LEFT JOIN club c ON b.userID = c.userID
  1095. LEFT JOIN product p ON b.productID = p.productID
  1096. LEFT JOIN cm_page_type pt ON b.pageType = pt.id
  1097. WHERE c.clubID = #{clubId}
  1098. AND b.accessDate = #{accessDate}
  1099. order by b.accessTime desc
  1100. </select>
  1101. <select id="getClubRemarksInfo" resultType="java.lang.String">
  1102. SELECT remarks FROM cm_club_remarks
  1103. WHERE clubId = #{clubId}
  1104. <if test="startTime != null and startTime != ''">
  1105. and addTime <![CDATA[ >= ]]> #{startTime}
  1106. </if>
  1107. <if test="endTime != null and endTime != ''">
  1108. and addTime <![CDATA[ <= ]]> #{endTime}
  1109. </if>
  1110. </select>
  1111. <select id="getClubBehavior" resultType="java.lang.String">
  1112. SELECT cbr.pageLabel FROM cm_behavior_record cbr LEFT JOIN club c ON c.userID = cbr.userId
  1113. WHERE pageType IN (6, 8, 9, 11, 14) AND c.clubId = #{clubId}
  1114. <if test="startTime != null and startTime != ''">
  1115. and cbr.accessTime > #{startTime}
  1116. </if>
  1117. <if test="endTime != null and endTime != ''">
  1118. and cbr.accessTime <![CDATA[ < ]]> #{endTime}
  1119. </if>
  1120. GROUP BY cbr.pageLabel ORDER BY COUNT(cbr.pageLabel) DESC
  1121. </select>
  1122. <select id="selOrderList" resultType="com.caimei365.user.model.po.NewOrderPo">
  1123. SELECT
  1124. (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,
  1125. (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,
  1126. cso.clubID,
  1127. co.secondHandOrderFlag,
  1128. co.rebateFlag,
  1129. cso.totalAmount AS payTotalFee,
  1130. ifnull(cso.refundStatus,1) as refundType,
  1131. cso.shopStatus AS STATUS,
  1132. cso.orderTime
  1133. FROM cm_shop_order cso
  1134. LEFT JOIN cm_order co ON cso.orderId = co.orderId
  1135. left join cm_order_product cop on cop.shopOrderId = cso.shopOrderId
  1136. <where>
  1137. cso.clubID = #{clubId} AND cso.shopStatus != 4 AND cso.shopStatus != 5 AND cso.refundStatus != 2 AND cop.productId != 999
  1138. <if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
  1139. AND cso.orderTime <![CDATA[ >= ]]> #{startTime} AND cso.orderTime <![CDATA[ <= ]]> #{endTime}
  1140. </if>
  1141. </where>
  1142. </select>
  1143. <select id="selBehaviorList" resultType="com.caimei365.user.model.vo.BehaviorRecodeVo">
  1144. SELECT
  1145. c.clubID,
  1146. COUNT(cbr.pageLabel) as number,
  1147. cbr.pageLabel,
  1148. cbr.accessDate
  1149. FROM cm_behavior_record cbr LEFT JOIN club c ON cbr.userID = c.userID
  1150. <where>
  1151. cbr.pageType IN (8, 9) AND c.clubID = #{clubId} AND cbr.pageLabel IS NOT NULL AND cbr.pageLabel != ''
  1152. <if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
  1153. AND cbr.accessDate <![CDATA[ >= ]]> #{startTime} AND cbr.accessDate <![CDATA[ <= ]]> #{endTime}
  1154. </if>
  1155. </where>
  1156. GROUP BY cbr.pageLabel
  1157. ORDER BY COUNT(cbr.pageLabel) LIMIT 10
  1158. </select>
  1159. <select id="selRegion" resultType="com.caimei365.user.model.vo.BehaviorRecodeVo">
  1160. SELECT IP as ip,
  1161. accessSource,
  1162. accessTime,
  1163. pageType
  1164. FROM cm_behavior_record_ref
  1165. <where>
  1166. <if test="type == 0">
  1167. IP = #{ip}
  1168. AND accessTime like concat('%', #{accessDate}, '%')
  1169. </if>
  1170. <if test="type == 1">
  1171. <if test="accessDateList.size()>0">
  1172. and
  1173. <foreach collection="accessDateList" item="accessDate" open="(" separator="or" close=")">
  1174. accessTime like concat('%', #{accessDate}, '%')
  1175. </foreach>
  1176. </if>
  1177. </if>
  1178. </where>
  1179. </select>
  1180. <select id="selRemarksList" resultType="com.caimei365.user.model.vo.CmClubRemarksVo">
  1181. SELECT
  1182. (SELECT COUNT(remarks) FROM cm_club_remarks WHERE clubID = #{clubId}) as numbers,
  1183. clubID,
  1184. COUNT(remarks) as number,
  1185. remarks,
  1186. addTime
  1187. FROM cm_club_remarks
  1188. <where>
  1189. clubID = #{clubId}
  1190. <if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
  1191. AND addTime <![CDATA[ >= ]]> #{startTime} AND addTime <![CDATA[ <= ]]> #{endTime}
  1192. </if>
  1193. </where>
  1194. GROUP BY remarks ORDER BY COUNT(remarks) LIMIT 10
  1195. </select>
  1196. <select id="selBehaviorPageTypeList" resultType="com.caimei365.user.model.vo.BehaviorRecodeVo">
  1197. SELECT
  1198. c.clubID,
  1199. COUNT(cbr.pageType) as numbers,
  1200. cbr.pageLabel,
  1201. cbr.accessDate
  1202. FROM cm_behavior_record cbr
  1203. LEFT JOIN club c ON cbr.userID = c.userID
  1204. <where>
  1205. c.clubID = #{clubId}
  1206. <if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
  1207. AND cbr.accessDate <![CDATA[ >= ]]> #{startTime} AND cbr.accessDate <![CDATA[ <= ]]> #{endTime}
  1208. </if>
  1209. </where>
  1210. GROUP BY cbr.pageType ORDER BY COUNT(cbr.pageType) LIMIT 10
  1211. </select>
  1212. <select id="findBanks" resultType="com.caimei365.user.model.vo.BanksVo">
  1213. SELECT DISTINCT cqi.id,
  1214. bankNumber as quickPayBankNumber,
  1215. bankType,
  1216. cqb.bankName,
  1217. cqi.quickPayBankCode as bankCode,
  1218. bindMobile as quickPayMobile,
  1219. bankUserName as quickPayUserName,
  1220. idCard,
  1221. cqi.bankCvvCode as cvvCode,
  1222. cqi.bankExpireTime as quickPayBankExpireTime
  1223. FROM cm_quickpay_info cqi
  1224. LEFT JOIN cm_quickpay_bankcode cqb ON cqi.quickPayBankCode = cqb.bankCode
  1225. where cqi.userId = #{userId}
  1226. and cqi.delFlag = 0
  1227. </select>
  1228. <select id="selSpLinkMan" resultType="java.lang.String">
  1229. SELECT linkMan FROM serviceprovider WHERE serviceProviderID = #{choseServiceId}
  1230. </select>
  1231. <select id="getSpIdRAND" resultType="java.lang.Integer">
  1232. SELECT sp.serviceProviderID FROM serviceprovider sp
  1233. WHERE sp.organizeID = 0
  1234. and sp.status=90
  1235. and sp.serviceProviderID != 1342 and linkMan not LIKE '%测试%'
  1236. ORDER BY RAND()
  1237. LIMIT 0,1;
  1238. </select>
  1239. <select id="getSpUserId" resultType="java.lang.Integer">
  1240. SELECT sp.userId FROM serviceprovider sp
  1241. WHERE sp.organizeID = 0
  1242. and sp.status=90
  1243. and sp.serviceProviderID=#{spId}
  1244. LIMIT 0,1;
  1245. </select>
  1246. <insert id="inProvider">
  1247. insert into cm_provider_record (spId, clubId, operator, isOneself, createTime)
  1248. values (#{spId}, #{clubId}, #{operator}, #{isOneself}, now())
  1249. </insert>
  1250. </mapper>