ClubMapper.xml 59 KB

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