ReceiptMapper.xml 44 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126
  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.order.mapper.ReceiptMapper">
  4. <insert id="insertReceipt" keyColumn="id" keyProperty="id" parameterType="com.caimei365.order.model.po.ReceiptPo"
  5. useGeneratedKeys="true">
  6. INSERT INTO cm_discern_receipt(payWay,
  7. payType,
  8. receiptType,
  9. receiptStatus,
  10. smsContent,
  11. smsMd5Code,
  12. receiptAmount,
  13. handlingFee,
  14. confirmType,
  15. receiptUserPermissionID,
  16. confirmUserPermissionID,
  17. reviewUserPermissionID,
  18. cancelUserPermissionID,
  19. noOrderReason,
  20. reviewReason,
  21. rebateRemarks,
  22. cancelReason,
  23. receiptDate,
  24. confirmDate,
  25. reviewDate,
  26. cancelDate,
  27. updateDate,
  28. delFlag)
  29. VALUES (#{payWay},
  30. #{payType},
  31. #{receiptType},
  32. #{receiptStatus},
  33. #{smsContent},
  34. #{smsMd5Code},
  35. #{receiptAmount},
  36. #{handlingFee},
  37. #{confirmType},
  38. #{receiptUserPermissionId},
  39. #{confirmUserPermissionId},
  40. #{reviewUserPermissionId},
  41. #{cancelUserPermissionId},
  42. #{noOrderReason},
  43. #{reviewReason},
  44. #{rebateRemarks},
  45. #{cancelReason},
  46. #{receiptDate},
  47. #{confirmDate},
  48. #{reviewDate},
  49. #{cancelDate},
  50. #{updateDate},
  51. #{delFlag})
  52. </insert>
  53. <update id="updateReceipt" parameterType="com.caimei365.order.model.po.ReceiptPo">
  54. update cm_discern_receipt
  55. <set>
  56. <if test="shopName != null">
  57. shopName=#{shopName},
  58. </if>
  59. <if test="shopId !=null">
  60. shopID=#{shopId},
  61. </if>
  62. <if test="shopOrderId !=null">
  63. shopOrderID=#{shopOrderId},
  64. </if>
  65. <if test="newReceiptType != null">
  66. newReceiptType = #{newReceiptType},
  67. </if>
  68. <if test="payWay != null">
  69. payWay = #{payWay},
  70. </if>
  71. <if test="payType != null">
  72. payType = #{payType},
  73. </if>
  74. <if test="receiptType != null">
  75. receiptType = #{receiptType},
  76. </if>
  77. <if test="receiptStatus != null">
  78. receiptStatus = #{receiptStatus},
  79. </if>
  80. <if test="smsContent != null">
  81. smsContent = #{smsContent},
  82. </if>
  83. <if test="smsMd5Code != null">
  84. smsMd5Code = #{smsMd5Code},
  85. </if>
  86. <if test="orderFlag != null">
  87. orderFlag = #{orderFlag},
  88. </if>
  89. <if test="receiptAmount != null">
  90. receiptAmount = #{receiptAmount},
  91. </if>
  92. <if test="handlingFee != null">
  93. handlingFee = #{handlingFee},
  94. </if>
  95. <if test="confirmType != null">
  96. confirmType = #{confirmType},
  97. </if>
  98. <if test="confirmUserPermissionId != null">
  99. confirmUserPermissionID = #{confirmUserPermissionId},
  100. </if>
  101. <if test="reviewUserPermissionId != null">
  102. reviewUserPermissionID = #{reviewUserPermissionId},
  103. </if>
  104. <if test="cancelUserPermissionId != null">
  105. cancelUserPermissionID = #{cancelUserPermissionId},
  106. </if>
  107. <if test="noOrderReason != null">
  108. noOrderReason = #{noOrderReason},
  109. </if>
  110. <if test="reviewReason != null">
  111. reviewReason = #{reviewReason},
  112. </if>
  113. <if test="cancelReason != null">
  114. cancelReason = #{cancelReason},
  115. </if>
  116. <if test="receiptDate != null">
  117. receiptDate = #{receiptDate},
  118. </if>
  119. <if test="confirmDate != null">
  120. confirmDate = #{confirmDate},
  121. </if>
  122. <if test="reviewDate != null">
  123. reviewDate = #{reviewDate},
  124. </if>
  125. <if test="cancelDate != null">
  126. cancelDate = #{cancelDate},
  127. </if>
  128. <if test="updateDate != null">
  129. updateDate = #{updateDate},
  130. </if>
  131. <if test="delFlag != null">
  132. delFlag = #{delFlag},
  133. </if>
  134. <if test="rebateRemarks != null">
  135. rebateRemarks = #{rebateRemarks},
  136. </if>
  137. </set>
  138. where id = #{id}
  139. </update>
  140. <update id="updateOpenidByMobile">
  141. UPDATE cm_receipt_user
  142. SET openid=#{openid},
  143. unionId=#{unionId}
  144. WHERE mobile = #{mobile}
  145. </update>
  146. <update id="deleteReceiptRelation">
  147. UPDATE cm_receipt_order_relation
  148. SET delFlag = '1'
  149. WHERE receiptID = #{receiptId}
  150. </update>
  151. <update id="updateShopOrderPayStatus">
  152. UPDATE cm_shop_order
  153. SET payStatus = #{payStatus}
  154. WHERE shopOrderID = #{shopOrderId}
  155. </update>
  156. <update id="updateShopRebateAmount">
  157. UPDATE shop s
  158. SET s.rebateAmount = (IFNULL(s.rebateAmount, 0) + #{amount}),
  159. s.ableRebateAmount = (IFNULL(s.ableRebateAmount, 0) + #{amount})
  160. WHERE s.shopID = #{shopId}
  161. </update>
  162. <select id="getReceiptUserByOpenid" resultType="com.caimei365.order.model.vo.ReceiptUserVo">
  163. SELECT DISTINCT id, user_type AS userType, name, mobile, openid, unionId, password
  164. FROM cm_receipt_user
  165. WHERE openid = #{openid}
  166. AND del_flag = 0
  167. </select>
  168. <select id="getReceiptUserByMobile" resultType="com.caimei365.order.model.vo.ReceiptUserVo">
  169. SELECT DISTINCT id, user_type AS userType, name, mobile, openid, unionId, password
  170. FROM cm_receipt_user
  171. WHERE mobile = #{mobile}
  172. AND del_flag = 0
  173. </select>
  174. <select id="getReceiptUserNameById" resultType="java.lang.String">
  175. SELECT DISTINCT name
  176. FROM cm_receipt_user
  177. WHERE id = #{id}
  178. </select>
  179. <select id="getPermissionsByUserId" resultType="java.lang.Integer">
  180. SELECT permission_id
  181. FROM cm_receipt_user_permission
  182. WHERE user_id = #{userId}
  183. </select>
  184. <select id="getReceiptType" resultType="com.caimei365.order.model.vo.ReceiptTypeVo">
  185. SELECT `id`, `type`
  186. FROM cm_receipt_type
  187. ORDER BY id
  188. </select>
  189. <select id="getReceiptTypeById" resultType="com.caimei365.order.model.vo.ReceiptTypeVo">
  190. SELECT `id`, `type`
  191. FROM cm_receipt_type
  192. WHERE id = #{id}
  193. </select>
  194. <select id="getReceiptTypeStrById" resultType="java.lang.String">
  195. SELECT `type`
  196. FROM cm_receipt_type
  197. WHERE id = #{id}
  198. </select>
  199. <select id="getReceivablesTypeId" resultType="java.lang.Integer">
  200. SELECT DISTINCT IFNULL(id, 0)
  201. FROM cm_receipt_type
  202. WHERE type = #{type}
  203. </select>
  204. <select id="getPaidAmountByOrderId" resultType="java.lang.Double">
  205. SELECT IFNULL(SUM(cror.associateAmount), 0)
  206. FROM cm_receipt_order_relation cror
  207. LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
  208. <where>
  209. <if test="orderId != null and orderId != ''">
  210. AND cror.orderID = #{orderId} AND cror.relationType = 2
  211. </if>
  212. AND cdr.receiptStatus in(2,3)
  213. AND cdr.payWay != '3'
  214. AND cdr.delFlag = '0'
  215. AND cror.delFlag = '0'
  216. </where>
  217. </select>
  218. <select id="getUncheckAmount" resultType="java.lang.Double">
  219. SELECT IFNULL(SUM(cror.associateAmount), 0)
  220. FROM cm_receipt_order_relation cror
  221. LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
  222. <where>
  223. <if test="orderId != null and orderId != ''">
  224. AND cror.orderID = #{orderId} AND cror.relationType = 2
  225. </if>
  226. AND cdr.receiptStatus = '2'
  227. AND cdr.delFlag = '0'
  228. AND cror.delFlag = '0'
  229. </where>
  230. </select>
  231. <select id="getReturnedAmount" resultType="java.lang.Double">
  232. SELECT IFNULL(SUM(returnedPurchaseFee), 0) FROM cm_returned_purchase
  233. <where>
  234. <if test="orderId != null and orderId != ''">
  235. AND orderID = #{orderId}
  236. </if>
  237. AND status = '2'
  238. </where>
  239. </select>
  240. <select id="getReceiptNumByOrderId" resultType="java.lang.Integer">
  241. SELECT IFNULL(SUM(a.num), 0)
  242. FROM cm_logistics_record a
  243. LEFT JOIN cm_logistics_batch b ON a.logisticsBatchID = b.id
  244. WHERE b.orderID = #{orderId}
  245. AND b.status = '1'
  246. </select>
  247. <select id="getReturnAndCancelNum" resultType="java.lang.Integer">
  248. SELECT IFNULL(SUM(a.actualReturnedNum + a.actualCancelNum), 0)
  249. FROM cm_returned_purchase_product a
  250. LEFT JOIN cm_returned_purchase b ON a.returnedID = b.id
  251. WHERE b.orderID = #{orderId}
  252. AND b.status = '2'
  253. AND b.delFlag = '0'
  254. </select>
  255. <select id="getServiceProviderId" resultType="java.lang.Integer">
  256. SELECT s.serviceProviderID
  257. FROM serviceprovider s
  258. LEFT JOIN USER u ON s.userID = u.userID
  259. WHERE s.unionId = #{unionId}
  260. AND u.validFlag = 1
  261. LIMIT 1
  262. </select>
  263. <select id="getClubUserIdBySpId" resultType="java.lang.Integer">
  264. SELECT userID
  265. FROM club
  266. WHERE spID = #{spId}
  267. </select>
  268. <select id="getReceiptBySmsMd5Code" resultType="com.caimei365.order.model.vo.ReceiptVo">
  269. SELECT DISTINCT cdr.id,
  270. cdr.payWay,
  271. cdr.payType,
  272. cdr.receiptType,
  273. cdr.receiptStatus,
  274. cdr.receiptAmount,
  275. cdr.smsContent,
  276. cdr.smsMd5Code,
  277. cdr.receiptDate,
  278. cdr.confirmDate,
  279. cdr.handlingFee,
  280. cdr.orderFlag,
  281. cdr.noOrderReason,
  282. cdr.reviewReason,
  283. IFNULL((
  284. SELECT SUM(b.associateAmount)
  285. FROM cm_receipt_order_relation b
  286. WHERE b.receiptID = cdr.id
  287. AND b.delFlag = '0'
  288. ), 0) AS associateAmount
  289. FROM cm_discern_receipt cdr
  290. LEFT JOIN cm_receipt_order_relation cror ON (cror.receiptID = cdr.id AND cror.delFlag = '0')
  291. WHERE cdr.smsMd5Code = #{smsMd5Code}
  292. AND cdr.delFlag = '0'
  293. </select>
  294. <select id="getReceiptList" resultType="com.caimei365.order.model.vo.ReceiptVo"
  295. parameterType="com.caimei365.order.model.bo.ReceiptParamsBo">
  296. SELECT DISTINCT
  297. cdr.id,
  298. cdr.payWay,
  299. cdr.payType,
  300. cdr.receiptType,
  301. cdr.receiptStatus,
  302. cdr.receiptAmount,
  303. cdr.smsContent,
  304. cdr.smsMd5Code,
  305. cdr.receiptDate,
  306. cdr.confirmDate,
  307. cdr.handlingFee,
  308. cdr.orderFlag,
  309. cdr.noOrderReason,
  310. cdr.reviewReason,
  311. cdr.newReceiptType,
  312. ifnull(coo.secondHandOrderFlag,0) as secondHandOrderFlag,
  313. CASE WHEN cror.relationType = 2 THEN co.organizeID
  314. WHEN cror.relationType = 1 THEN cso.organizeID
  315. ELSE '' END AS organizeId,
  316. CASE WHEN cror.relationType = 2 THEN co.userID
  317. WHEN cror.relationType = 1 THEN cso.userID
  318. ELSE '' END AS userId,
  319. IFNULL((
  320. SELECT SUM(b.associateAmount) FROM cm_receipt_order_relation b WHERE b.receiptID = cdr.id AND b.delFlag = '0'
  321. ), 0) AS associateAmount
  322. FROM cm_discern_receipt cdr
  323. LEFT JOIN cm_receipt_order_relation cror ON (cror.receiptID = cdr.id AND cror.delFlag = '0')
  324. LEFT JOIN cm_order co ON (cror.orderID = co.orderID AND cror.relationType = 2)
  325. LEFT JOIN cm_shop_order cso ON (cror.orderID = cso.shopOrderID AND cror.relationType = 1)
  326. LEFT JOIN cm_order coo ON coo.orderId=cso.orderId
  327. WHERE cdr.delFlag = '0'
  328. <if test="id != null and id != ''">
  329. AND cdr.id = #{id}
  330. </if>
  331. <if test="receiptType != null and receiptType != ''">
  332. AND cdr.receiptType = #{receiptType}
  333. </if>
  334. <if test="smsMd5Code != null and smsMd5Code != ''">
  335. AND cdr.smsMd5Code = #{smsMd5Code}
  336. </if>
  337. <if test="startDate != null and startDate != ''">
  338. AND cdr.receiptDate <![CDATA[ > ]]> #{startDate}
  339. </if>
  340. <if test="endDate != null and endDate != ''">
  341. AND cdr.receiptDate <![CDATA[ < ]]> #{endDate}
  342. </if>
  343. <if test="newReceiptType !=null and newReceiptType !=''">
  344. and cdr.newReceiptType=#{newReceiptType}
  345. </if>
  346. <if test="receiptStatusArr != null">
  347. AND cdr.receiptStatus in
  348. <foreach collection="receiptStatusArr" open="(" close=")" separator="," item="val">
  349. #{val}
  350. </foreach>
  351. </if>
  352. <if test="userIds != null and userIds.size() > 0">
  353. AND ((co.userID IN
  354. <foreach collection="userIds" open="(" close=")" separator="," item="val">
  355. #{val}
  356. </foreach>
  357. AND cror.relationType = 2 )
  358. OR (cso.userID IN
  359. <foreach collection="userIds" open="(" close=")" separator="," item="val">
  360. #{val}
  361. </foreach>
  362. AND cror.relationType = 1)
  363. OR cror.orderID IS NULL)
  364. </if>
  365. ORDER BY cdr.updateDate desc
  366. </select>
  367. <select id="getReceiptDetail" resultType="com.caimei365.order.model.vo.ReceiptVo">
  368. SELECT DISTINCT cdr.id,
  369. cdr.payWay,
  370. cdr.payType,
  371. cdr.receiptType,
  372. cdr.receiptStatus,
  373. cdr.receiptAmount,
  374. cdr.smsContent,
  375. cdr.smsMd5Code,
  376. cdr.receiptDate,
  377. cdr.confirmDate,
  378. cdr.reviewDate,
  379. cdr.cancelDate,
  380. cdr.handlingFee,
  381. cdr.orderFlag,
  382. cdr.noOrderReason,
  383. cdr.cancelReason,
  384. cdr.confirmType,
  385. cdr.reviewReason,
  386. IFNULL(cdr.newReceiptType, 2) AS newReceiptType,
  387. cdr.shopName,
  388. receiptUserPermissionID AS receiptUserPermissionId,
  389. confirmUserPermissionID AS confirmUserPermissionId,
  390. reviewUserPermissionID AS reviewUserPermissionId,
  391. cancelUserPermissionID AS cancelUserPermissionId,
  392. CASE
  393. WHEN cror.relationType = 2 THEN co.organizeID
  394. WHEN cror.relationType = 1 THEN cso.organizeID
  395. ELSE '' END AS organizeId,
  396. CASE
  397. WHEN cror.relationType = 2 THEN co.userID
  398. WHEN cror.relationType = 1 THEN cso.userID
  399. ELSE '' END AS userId,
  400. IFNULL((
  401. SELECT SUM(b.associateAmount)
  402. FROM cm_receipt_order_relation b
  403. WHERE b.receiptID = cdr.id
  404. AND b.delFlag = '0'
  405. ), 0) AS associateAmount
  406. FROM cm_discern_receipt cdr
  407. LEFT JOIN cm_receipt_order_relation cror ON (cror.receiptID = cdr.id AND cror.delFlag = '0')
  408. LEFT JOIN cm_order co ON (cror.orderID = co.orderID AND cror.relationType = 2)
  409. LEFT JOIN cm_shop_order cso ON (cror.orderID = cso.shopOrderID AND cror.relationType = 1)
  410. -- AND cror.relationType = 1
  411. WHERE cdr.delFlag = '0'
  412. AND cdr.id = #{id}
  413. </select>
  414. <select id="getReceiptOrders" resultType="com.caimei365.order.model.vo.OrderVo">
  415. SELECT IFNULL(o.orderSeen, 0) AS orderSeen,
  416. o.orderID AS orderId,
  417. o.shopOrderIds,
  418. o.orderSource,
  419. o.orderNo,
  420. o.userID AS userId,
  421. o.clubID AS clubId,
  422. o.organizeID AS organizeId,
  423. o.buyUserID AS buyUserId,
  424. o.orderTime AS orderTime,
  425. o.updateDate AS updateDate,
  426. o.delFlag,
  427. o.userBeans,
  428. o.orderType,
  429. o.orderSubmitType,
  430. o.confirmFlag,
  431. o.onlinePayFlag,
  432. o.splitFlag,
  433. o.payFlag,
  434. o.receiptStatus,
  435. o.payStatus,
  436. o.zeroCostFlag,
  437. o.sendOutStatus,
  438. o.refundType,
  439. o.affirmPaymentFlag,
  440. o.productCount,
  441. o.presentCount,
  442. o.promotionalGiftsCount,
  443. o.hasActProduct,
  444. o.promotionFullReduction,
  445. o.svipFullReduction,
  446. o.secondHandOrderFlag,
  447. o.invoiceFlag,
  448. o.freePostFlag AS postageFlag,
  449. o.freight AS postage,
  450. o.productTotalFee,
  451. o.orderTotalFee,
  452. o.payTotalFee,
  453. o.payableAmount,
  454. o.balancePayFee,
  455. o.discountFee,
  456. o.couponAmount,
  457. o.status,
  458. o.confirmTime,
  459. o.payTime,
  460. o.rebateFlag,
  461. o.clauseID AS clauseId,
  462. o.clauseName,
  463. IFNULL(u.userName, '') AS userName
  464. FROM cm_order o
  465. INNER JOIN cm_receipt_order_relation cror ON o.orderID = cror.orderID
  466. INNER JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
  467. LEFT JOIN USER u ON o.userID = u.userID
  468. WHERE cdr.id = #{receiptId}
  469. AND o.delFlag = '0'
  470. AND cror.delFlag = '0'
  471. AND cdr.delFlag = '0'
  472. ORDER BY o.orderTime DESC
  473. </select>
  474. <select id="getReceiptOrderlist" resultType="com.caimei365.order.model.vo.OrderVo">
  475. SELECT IFNULL(o.orderSeen, 0) AS orderSeen,
  476. o.orderID AS orderId,
  477. o.shopOrderIds,
  478. o.orderSource,
  479. o.orderNo,
  480. o.userID AS userId,
  481. o.clubID AS clubId,
  482. o.organizeID AS organizeId,
  483. o.buyUserID AS buyUserId,
  484. o.orderTime AS orderTime,
  485. o.updateDate AS updateDate,
  486. o.delFlag,
  487. o.userBeans,
  488. o.orderType,
  489. o.orderSubmitType,
  490. o.confirmFlag,
  491. o.onlinePayFlag,
  492. o.splitFlag,
  493. o.payFlag,
  494. o.receiptStatus,
  495. o.payStatus,
  496. o.zeroCostFlag,
  497. o.sendOutStatus,
  498. o.refundType,
  499. o.affirmPaymentFlag,
  500. o.productCount,
  501. o.presentCount,
  502. o.promotionalGiftsCount,
  503. o.hasActProduct,
  504. o.promotionFullReduction,
  505. o.svipFullReduction,
  506. o.secondHandOrderFlag,
  507. o.invoiceFlag,
  508. o.freePostFlag AS postageFlag,
  509. o.freight AS postage,
  510. o.productTotalFee,
  511. o.orderTotalFee,
  512. o.payTotalFee,
  513. o.payableAmount,
  514. o.balancePayFee,
  515. o.discountFee,
  516. o.couponAmount,
  517. o.status,
  518. o.confirmTime,
  519. o.payTime,
  520. o.rebateFlag,
  521. o.clauseID AS clauseId,
  522. o.clauseName,
  523. IFNULL(u.userName, '') AS userName,
  524. cdr.newReceiptType,
  525. cdr.shopName
  526. FROM cm_shop_order cms
  527. INNER JOIN cm_order o ON cms.orderID = o.orderID
  528. INNER JOIN cm_discern_receipt cdr ON cms.shopOrderID = cdr.shopOrderID
  529. LEFT JOIN USER u ON o.userID = u.userID
  530. LEFT JOIN shop s ON s.shopID = cms.shopID
  531. WHERE cdr.id = #{receiptId}
  532. AND o.delFlag = '0'
  533. AND cms.delFlag = '0'
  534. AND cdr.delFlag = '0'
  535. ORDER BY o.orderTime DESC
  536. </select>
  537. <select id="getReceiptOrderlists" resultType="com.caimei365.order.model.vo.OrderVo">
  538. SELECT cdr.newReceiptType,
  539. cdr.shopName
  540. FROM cm_discern_receipt cdr
  541. LEFT JOIN shop s ON s.shopID = cdr.shopID
  542. WHERE cdr.id = #{receiptId}
  543. AND cdr.delFlag = '0'
  544. </select>
  545. <select id="getOrderListByParams" resultType="com.caimei365.order.model.vo.OrderVo">
  546. SELECT DISTINCT
  547. IFNULL(o.orderSeen,0) AS orderSeen,
  548. o.orderID AS orderId,
  549. o.shopOrderIds,
  550. o.orderSource,
  551. o.orderNo,
  552. o.userID AS userId,
  553. o.clubID AS clubId,
  554. o.organizeID AS organizeId,
  555. o.buyUserID AS buyUserId,
  556. o.orderTime AS orderTime,
  557. o.updateDate AS updateDate,
  558. o.delFlag,
  559. o.userBeans,
  560. o.orderType,
  561. o.orderSubmitType,
  562. o.confirmFlag,
  563. o.onlinePayFlag,
  564. o.splitFlag,
  565. o.payFlag,
  566. o.receiptStatus,
  567. o.payStatus,
  568. o.zeroCostFlag,
  569. o.sendOutStatus,
  570. o.refundType,
  571. o.affirmPaymentFlag,
  572. o.productCount,
  573. o.presentCount,
  574. o.promotionalGiftsCount,
  575. o.hasActProduct,
  576. o.promotionFullReduction,
  577. o.svipFullReduction,
  578. o.secondHandOrderFlag,
  579. o.invoiceFlag,
  580. o.freePostFlag AS postageFlag,
  581. o.freight AS postage,
  582. o.productTotalFee,
  583. o.orderTotalFee,
  584. o.payTotalFee,
  585. o.payableAmount,
  586. o.balancePayFee,
  587. o.discountFee,
  588. o.couponAmount,
  589. o.status,
  590. o.confirmTime,
  591. o.payTime,
  592. o.rebateFlag,
  593. o.clauseID AS clauseId,
  594. o.clauseName,
  595. <if test="organizeId == 0 or organizeId == null">
  596. IFNULL(u.userName, u.name) AS userName,
  597. </if>
  598. <if test="organizeId > 0">
  599. IFNULL(u.name, u.userName) AS userName,
  600. </if>
  601. '0' AS haveReturning,
  602. '0' AS haveReceipting
  603. FROM cm_order o
  604. LEFT JOIN user u ON o.userID = u.userID
  605. LEFT JOIN cm_order_product cop ON o.orderID = cop.orderID
  606. <where>
  607. <if test="excludeOrderId != null">
  608. AND o.orderID != #{excludeOrderId}
  609. </if>
  610. <if test="orderId != null">
  611. AND o.orderID = #{orderId}
  612. </if>
  613. AND o.delFlag = '0'
  614. AND o.organizeID = #{organizeId}
  615. AND o.receiptStatus IN
  616. <foreach collection="receiptStatusArr" open="(" close=")" item="receiptStatus" separator=",">
  617. #{receiptStatus}
  618. </foreach>
  619. AND o.status IN
  620. <foreach collection="orderStatusList" open="(" close=")" item="status" separator=",">
  621. #{status}
  622. </foreach>
  623. <if test="userIds != null and userIds.size() > 0">
  624. AND o.userID IN
  625. <foreach collection="userIds" open="(" close=")" separator="," item="val">
  626. #{val}
  627. </foreach>
  628. </if>
  629. <if test="userName != null and userName != ''">
  630. AND (u.userName LIKE CONCAT('%',#{userName},'%') OR u.name LIKE CONCAT('%',#{userName},'%'))
  631. </if>
  632. #不显示返佣,普通订单含返佣服务费显示
  633. AND o.rebateFlag != 1
  634. <if test="orderType == null or orderType == 0">
  635. AND cop.productID NOT IN(6060, 6061, 6062, 6063, 6064,6065, 6066, 6067, 6068, 6069)
  636. </if>
  637. <if test="orderType != null and orderType == 1">
  638. AND cop.productID IN(6060, 6061, 6062, 6063, 6064,6065, 6066, 6067, 6068, 6069)
  639. </if>
  640. </where>
  641. <if test="orderId != null and orderId != ''">
  642. ORDER BY (CASE WHEN o.orderID=#{orderId} THEN 1 ELSE 2 END),o.orderTime DESC
  643. </if>
  644. <if test="orderId == null or orderId == ''">
  645. ORDER BY o.orderTime DESC
  646. </if>
  647. </select>
  648. <select id="getOrderListByOrderIds" resultType="com.caimei365.order.model.vo.OrderVo">
  649. SELECT DISTINCT
  650. IFNULL(o.orderSeen,0) AS orderSeen,
  651. o.orderID AS orderId,
  652. o.shopOrderIds,
  653. o.orderSource,
  654. o.orderNo,
  655. o.userID AS userId,
  656. o.clubID AS clubId,
  657. o.organizeID AS organizeId,
  658. o.buyUserID AS buyUserId,
  659. o.orderTime AS orderTime,
  660. o.updateDate AS updateDate,
  661. o.delFlag,
  662. o.userBeans,
  663. o.orderType,
  664. o.orderSubmitType,
  665. o.confirmFlag,
  666. o.onlinePayFlag,
  667. o.splitFlag,
  668. o.payFlag,
  669. o.receiptStatus,
  670. o.payStatus,
  671. o.zeroCostFlag,
  672. o.sendOutStatus,
  673. o.refundType,
  674. o.affirmPaymentFlag,
  675. o.productCount,
  676. o.presentCount,
  677. o.promotionalGiftsCount,
  678. o.hasActProduct,
  679. o.promotionFullReduction,
  680. o.svipFullReduction,
  681. o.secondHandOrderFlag,
  682. o.invoiceFlag,
  683. o.freePostFlag AS postageFlag,
  684. o.freight AS postage,
  685. o.productTotalFee,
  686. o.orderTotalFee,
  687. o.payTotalFee,
  688. o.payableAmount,
  689. o.balancePayFee,
  690. o.discountFee,
  691. o.couponAmount,
  692. o.status,
  693. o.confirmTime,
  694. o.payTime,
  695. o.rebateFlag,
  696. o.clauseID AS clauseId,
  697. o.clauseName
  698. FROM cm_order o
  699. WHERE o.delFlag = '0' AND o.orderID IN
  700. <foreach collection="orderIdS" open="(" close=")" separator="," item="orderId">
  701. #{orderId}
  702. </foreach>
  703. order by o.payableAmount, o.orderID
  704. </select>
  705. <select id="countHaveReturning" resultType="java.lang.Integer">
  706. SELECT IFNULL(COUNT(id), 0)
  707. FROM cm_returned_purchase
  708. WHERE orderID = #{orderID}
  709. AND status = 1
  710. AND delFlag = 0
  711. </select>
  712. <select id="countHaveReceipting" resultType="java.lang.Integer">
  713. SELECT IFNULL(COUNT(cror.id), 0)
  714. FROM cm_receipt_order_relation cror
  715. INNER JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
  716. WHERE cror.orderID = #{orderID}
  717. AND cror.delFlag = 0
  718. AND cdr.delFlag = 0
  719. AND cdr.receiptStatus = 2
  720. </select>
  721. <select id="getOnlineReceiptId" resultType="java.lang.Integer">
  722. SELECT cdr.id
  723. FROM cm_receipt_order_relation cror
  724. LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
  725. WHERE cror.orderID = #{orderId}
  726. AND cror.relationType = '2'
  727. AND cror.delFlag = '0'
  728. AND cdr.delFlag = '0'
  729. AND cdr.receiptStatus = '3'
  730. AND cdr.payWay = '1'
  731. LIMIT 1
  732. </select>
  733. <select id="getRefundFeeByOrderId" resultType="com.caimei365.order.model.vo.ReturnedPurchaseVo">
  734. SELECT id,
  735. returnedPurchaseFee,
  736. refundFee
  737. FROM cm_returned_purchase
  738. WHERE orderID = #{orderId}
  739. AND STATUS = '2'
  740. </select>
  741. <select id="getShopOrderListByReceiptId" resultType="com.caimei365.order.model.vo.ShopOrderVo">
  742. SELECT DISTINCT cso.shopOrderId AS shopOrderId,
  743. cso.shopOrderNo,
  744. cso.orderID AS orderId,
  745. cso.orderNo,
  746. cso.shopID AS shopId,
  747. cso.note,
  748. cso.userID AS userId,
  749. cso.clubID AS clubId,
  750. cso.spID AS spId,
  751. cso.orderPromotionsId,
  752. cso.promotionFullReduction,
  753. cso.brokerage,
  754. cso.canRefundAmount,
  755. cso.itemCount,
  756. cso.totalAmount,
  757. cso.productAmount,
  758. cso.needPayAmount,
  759. cso.shopProductAmount,
  760. cso.shopPostFee,
  761. cso.shopTaxFee,
  762. cso.shouldPayShopAmount,
  763. cso.payedShopAmount,
  764. cso.orderTime,
  765. cso.orderSubmitType,
  766. cso.payStatus,
  767. cso.sendOutStatus,
  768. cso.splitFlag,
  769. cso.shopOtherFee,
  770. s.name AS shopName,
  771. ifnull(co.secondHandOrderFlag, 0) as secondHandOrderFlag,
  772. IFNULL((SELECT SUM(refundAmount)
  773. FROM cm_refund_shop_record
  774. WHERE shopOrderID = cso.shopOrderID
  775. AND delFlag = 0), 0) AS shopRefundAmount
  776. FROM cm_receipt_order_relation cror
  777. LEFT JOIN cm_shop_order cso ON cso.shopOrderID = cror.orderID
  778. LEFT JOIN shop s ON s.shopID = cso.shopID
  779. LEFT JOIN cm_order co on co.orderID = cso.orderID
  780. WHERE cror.delFlag = '0'
  781. AND cror.relationType = '1'
  782. AND cror.receiptID = #{receiptId}
  783. </select>
  784. <select id="getRefundShopOrders" resultType="com.caimei365.order.model.vo.ShopOrderVo">
  785. SELECT DISTINCT
  786. cso.shopOrderId AS shopOrderId,
  787. cso.shopOrderNo,
  788. cso.orderID AS orderId,
  789. cso.orderNo,
  790. cso.shopID AS shopId,
  791. cso.note,
  792. cso.userID AS userId,
  793. cso.clubID AS clubId,
  794. cso.spID AS spId,
  795. cso.orderPromotionsId,
  796. cso.promotionFullReduction,
  797. cso.brokerage,
  798. cso.canRefundAmount,
  799. cso.itemCount,
  800. cso.totalAmount,
  801. cso.productAmount,
  802. cso.needPayAmount,
  803. cso.shopProductAmount,
  804. cso.shopPostFee,
  805. cso.shopTaxFee,
  806. cso.shouldPayShopAmount,
  807. cso.payedShopAmount,
  808. cso.orderTime,
  809. cso.orderSubmitType,
  810. cso.payStatus,
  811. cso.sendOutStatus,
  812. cso.splitFlag,
  813. cso.shopOtherFee,
  814. s.name AS shopName,
  815. IFNULL((SELECT SUM(refundAmount) FROM cm_refund_shop_record WHERE shopOrderID = cso.shopOrderID AND delFlag =
  816. 0), 0) AS shopRefundAmount
  817. FROM cm_shop_order cso
  818. LEFT JOIN shop s ON s.shopID = cso.shopID
  819. LEFT JOIN cm_receipt_order_relation cror ON cso.shopOrderID = cror.orderID AND cror.relationType = 1
  820. LEFT JOIN cm_discern_receipt cdr ON cdr.id = cror.receiptID AND cdr.receiptType = 5 AND cdr.receiptStatus = 2
  821. LEFT JOIN user u ON u.userID = cso.userID
  822. WHERE cso.delFlag = 0
  823. AND (cror.delFlag = 0 OR cror.id IS NULL)
  824. <if test="orderId != null">
  825. AND cso.orderID = #{orderId}
  826. </if>
  827. <if test="shopName != null and shopName != ''">
  828. AND s.name LIKE CONCAT('%',#{shopName},'%')
  829. </if>
  830. <if test="userName != null and userName != ''">
  831. AND (u.userName LIKE CONCAT('%',#{userName},'%') OR u.name LIKE CONCAT('%',#{userName},'%') OR s.name LIKE
  832. CONCAT('%',#{userName},'%'))
  833. </if>
  834. <if test="confirmedType == 2">
  835. AND cdr.receiptStatus = 2
  836. </if>
  837. GROUP BY cso.shopOrderID
  838. <if test="confirmedType != 2">
  839. HAVING IFNULL(cso.payedShopAmount, 0) > IFNULL((SELECT SUM(refundAmount) FROM cm_refund_shop_record WHERE
  840. shopOrderID = cso.shopOrderID AND delFlag = 0), 0)
  841. </if>
  842. ORDER BY cso.orderTime DESC
  843. </select>
  844. <select id="getRebateShopOrders" resultType="com.caimei365.order.model.vo.ShopOrderVo">
  845. SELECT DISTINCT
  846. cso.shopOrderId AS shopOrderId,
  847. cso.shopOrderNo,
  848. cso.orderID AS orderId,
  849. cso.orderNo,
  850. cso.shopID AS shopId,
  851. cso.note,
  852. cso.userID AS userId,
  853. cso.clubID AS clubId,
  854. cso.spID AS spId,
  855. cso.orderPromotionsId,
  856. cso.promotionFullReduction,
  857. cso.brokerage,
  858. cso.canRefundAmount,
  859. cso.itemCount,
  860. cso.totalAmount,
  861. cso.productAmount,
  862. cso.needPayAmount,
  863. cso.shopProductAmount,
  864. cso.shopPostFee,
  865. cso.shopTaxFee,
  866. cso.shouldPayShopAmount,
  867. cso.payedShopAmount,
  868. cso.orderTime,
  869. cso.orderSubmitType,
  870. cso.payStatus,
  871. cso.sendOutStatus,
  872. cso.splitFlag,
  873. cso.shopOtherFee,
  874. s.name AS shopName,
  875. ifnull(co.secondHandOrderFlag,0) as secondHandOrderFlag,
  876. IF((SELECT (crpp.id) FROM cm_returned_purchase_product crpp LEFT JOIN cm_returned_purchase crp ON crp.id =
  877. crpp.returnedID
  878. WHERE crpp.shopOrderID = cso.shopOrderID AND crp.status = '1' AND crp.delFlag = 0 LIMIT 1) > 0, 1, 0) AS
  879. haveReturning
  880. FROM cm_shop_order cso
  881. LEFT JOIN shop s ON s.shopID = cso.shopID
  882. LEFT JOIN cm_order co ON co.orderID = cso.orderID
  883. <where>
  884. <if test="shopName != null and shopName != ''">
  885. AND s.name LIKE CONCAT('%', #{shopName}, '%')
  886. </if>
  887. AND cso.delFlag = '0'
  888. AND co.delFlag = '0'
  889. AND cso.shopOrderID NOT IN (
  890. SELECT DISTINCT cror.orderID FROM cm_receipt_order_relation cror LEFT JOIN cm_discern_receipt cdr ON
  891. cror.receiptID = cdr.id
  892. WHERE cror.delFlag = '0' AND cror.relationType = '1' AND cdr.receiptStatus = '2' AND cror.orderID IS NOT
  893. NULL
  894. )
  895. AND cso.orderID NOT IN (
  896. SELECT DISTINCT cror.orderID FROM cm_receipt_order_relation cror
  897. WHERE cror.delFlag = '0' AND cror.relationType = '2' AND cror.orderID IS NOT NULL
  898. )
  899. AND co.status != '0'
  900. AND co.receiptStatus != '3'
  901. AND co.rebateFlag = 1
  902. </where>
  903. ORDER BY cso.shopOrderID DESC
  904. </select>
  905. <select id="getShopOrderById" resultType="com.caimei365.order.model.vo.ShopOrderVo">
  906. SELECT shopOrderID AS shopOrderId,
  907. shopOrderNo,
  908. orderID AS orderId,
  909. orderNo,
  910. shopID AS shopId,
  911. note,
  912. userID AS userId,
  913. clubID AS clubId,
  914. spID AS spId,
  915. orderPromotionsId,
  916. promotionFullReduction,
  917. brokerage,
  918. canRefundAmount,
  919. itemCount,
  920. totalAmount,
  921. productAmount,
  922. needPayAmount,
  923. shopProductAmount,
  924. shopPostFee,
  925. shopTaxFee,
  926. shouldPayShopAmount,
  927. payedShopAmount,
  928. outStoreNum,
  929. IFNULL(presentNum, 0) AS presentNum,
  930. orderTime,
  931. orderSubmitType,
  932. payStatus,
  933. sendOutStatus,
  934. splitFlag
  935. FROM cm_shop_order
  936. WHERE shopOrderID = #{shopOrderId}
  937. AND delFlag = '0'
  938. </select>
  939. <select id="countAllPayAssociateAmount" resultType="java.lang.Double">
  940. SELECT IFNULL(SUM(cror.associateAmount), 0) FROM cm_receipt_order_relation cror
  941. LEFT JOIN cm_discern_receipt cdr on cror.receiptID = cdr.id
  942. WHERE cror.delFlag = '0' AND cdr.delFlag = '0' AND cdr.payWay != '3' AND cdr.receiptStatus in(2,3)
  943. <if test="orderID != null and orderID != ''">
  944. AND cror.orderID = #{orderId} AND cror.relationType = 2
  945. </if>
  946. </select>
  947. <select id="countNeedPayAmount" resultType="java.lang.Double">
  948. SELECT IFNULL(SUM(cso.needPayAmount), 0)
  949. FROM cm_receipt_order_relation cror
  950. LEFT JOIN cm_discern_receipt cdr ON cdr.id = cror.receiptID
  951. LEFT JOIN cm_shop_order cso ON cso.shopOrderID = cror.orderID
  952. WHERE cror.delFlag = '0'
  953. AND cror.relationType = '1'
  954. AND cdr.receiptType = 3
  955. AND cdr.delFlag = '0'
  956. AND cdr.receiptStatus = '2'
  957. AND cror.orderID IN (SELECT shopOrderID FROM cm_shop_order cso1 WHERE cso1.orderID = #{orderId})
  958. </select>
  959. <select id="getRebatePayTypeList" resultType="java.lang.Integer">
  960. SELECT cdr.payType
  961. FROM cm_receipt_order_relation cror
  962. LEFT JOIN cm_discern_receipt cdr ON cdr.id = cror.receiptID
  963. WHERE cror.relationType = '1'
  964. AND cror.delFlag = '0'
  965. AND cror.orderID = #{shopOrderId}
  966. and cdr.receiptType = '3'
  967. </select>
  968. <select id="getOpenidListByPermission" resultType="java.lang.String">
  969. SELECT DISTINCT wu.openid FROM wechat_user wu
  970. LEFT JOIN cm_receipt_user cru ON wu.unionId = cru.unionId
  971. LEFT JOIN cm_receipt_user_permission crup ON crup.user_id = cru.id
  972. WHERE crup.permission_id IN
  973. <foreach collection="permissions" open="(" close=")" item="permission" separator=",">
  974. #{permission}
  975. </foreach>
  976. AND cru.del_flag = 0
  977. </select>
  978. <select id="countAssociateAmountById" resultType="java.lang.Double">
  979. SELECT IFNULL(SUM(associateAmount), 0)
  980. FROM cm_receipt_order_relation
  981. WHERE receiptID = #{receiptId}
  982. </select>
  983. <select id="getRefundShopAmount" resultType="java.lang.Double">
  984. SELECT IFNULL(SUM(refundAmount), 0)
  985. FROM cm_refund_shop_record
  986. WHERE shopOrderID = #{shopOrderId}
  987. AND delFlag = 0
  988. </select>
  989. <select id="getShopIdByShopOrderId" resultType="java.lang.Integer">
  990. SELECT DISTINCT shopID
  991. FROM cm_shop_order
  992. WHERE shopOrderID = #{shopOrderId}
  993. </select>
  994. <select id="getSubShopOrderList" resultType="java.lang.Integer">
  995. SELECT cso2.shopOrderID
  996. FROM cm_shop_order cso1
  997. LEFT JOIN cm_order co ON co.orderID = cso1.orderID
  998. LEFT JOIN cm_shop_order cso2 ON cso2.orderID = co.orderID
  999. WHERE cso1.shopOrderID = #{shopOrderId}
  1000. </select>
  1001. <select id="getSubShopOrderRebate" resultType="java.lang.Integer">
  1002. SELECT cror.orderID FROM cm_receipt_order_relation cror
  1003. WHERE cror.delFlag = '0' AND cror.relationType = '1' AND cror.orderID IN
  1004. <foreach collection="shopOrderIdList" open="(" close=")" item="shopOrderId" separator=",">
  1005. #{shopOrderId}
  1006. </foreach>
  1007. AND cror.orderID IS NOT NULL
  1008. </select>
  1009. <insert id="insertRefundShop" keyColumn="id" keyProperty="id"
  1010. parameterType="com.caimei365.order.model.po.RefundShopPo" useGeneratedKeys="true">
  1011. INSERT INTO cm_refund_shop(shopID, operator, operatTime, refundAmount, refundType, remark, refundWay,
  1012. refundBalanceAmount)
  1013. VALUES (#{shopId}, #{operator}, #{operateTime}, #{refundAmount}, #{refundType}, #{remark}, #{refundWay},
  1014. #{refundBalanceAmount})
  1015. </insert>
  1016. <insert id="insertRefundShopRecord" keyColumn="id" keyProperty="id"
  1017. parameterType="com.caimei365.order.model.po.RefundShopRecordPo" useGeneratedKeys="true">
  1018. INSERT INTO cm_refund_shop_record(shopID, shopOrderID, shopOrderNo, refundAmount, refundType, refundTime,
  1019. refundShopID)
  1020. VALUES (#{shopId}, #{shopOrderId}, #{shopOrderNo}, #{refundAmount}, #{refundType}, #{refundTime},
  1021. #{refundShopId})
  1022. </insert>
  1023. <insert id="insertRebateRecord" keyColumn="id" keyProperty="id"
  1024. parameterType="com.caimei365.order.model.po.RebateRecordPo" useGeneratedKeys="true">
  1025. INSERT INTO cm_rebate_record(type, shopId, receiptID, shopOrderId, rebateAmount, operatTime)
  1026. VALUES (#{type}, #{shopId}, #{receiptId}, #{shopOrderId}, #{rebateAmount}, #{operateTime})
  1027. </insert>
  1028. <select id="getOrderReceiptRelationList" resultType="com.caimei365.order.model.po.OrderReceiptRelationPo">
  1029. SELECT cror.id,
  1030. cror.relationType,
  1031. cror.receiptId,
  1032. cror.associateAmount,
  1033. cror.orderId,
  1034. cror.delFlag,
  1035. cror.mbOrderId,
  1036. cror.orderRequestNo,
  1037. cror.splitStatus
  1038. FROM cm_receipt_order_relation cror
  1039. WHERE cror.receiptID = #{receiptId}
  1040. and cror.delflag = 0
  1041. ORDER BY cror.id DESC
  1042. </select>
  1043. <select id="getPendingAuditCount" resultType="java.lang.Integer">
  1044. SELECT COUNT(*)
  1045. FROM cm_receipt_order_relation cror
  1046. LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
  1047. WHERE cror.orderID = #{orderId}
  1048. AND cror.relationType = '2'
  1049. AND cror.delFlag = '0'
  1050. AND cdr.delFlag = '0'
  1051. AND cdr.receiptStatus IN (2, 4)
  1052. </select>
  1053. <select id="ReceiptDetailVo" resultType="com.caimei365.order.model.vo.ShopOrderVo">
  1054. SELECT shopId,name AS shopName,linkMan,contractMobile FROM shop
  1055. <where>
  1056. <if test="keyWord!=null and keyWord!=''">
  1057. AND (name LIKE concat('%',#{keyWord},'%')
  1058. or linkMan LIKE CONCAT('%', #{keyWord}, '%'))
  1059. </if>
  1060. AND status = 90
  1061. </where>
  1062. </select>
  1063. <select id="ReceiptDetail" resultType="com.caimei365.order.model.vo.ShopOrderVo">
  1064. SELECT DISTINCT
  1065. cms.orderID,
  1066. cms.shopOrderID,
  1067. cms.shopOrderNo,
  1068. s.name AS shopName,
  1069. cms.productAmount,
  1070. cmo.orderNo,
  1071. u.userName,
  1072. cmo.confirmTime,
  1073. cms.receiptAmount,
  1074. cms.needPayAmount,
  1075. cms.payedShopAmount,
  1076. cmo.rebateFee
  1077. FROM cm_shop_order cms
  1078. LEFT JOIN shop s ON s.shopID = cms.shopID
  1079. LEFT JOIN cm_order cmo ON cmo.orderID = cms.orderID
  1080. LEFT JOIN `user` u ON u.userID = cms.userID
  1081. LEFT JOIN cm_discern_receipt csp ON csp.shopOrderID = cms.shopOrderID
  1082. <where>
  1083. <if test="keyWord !=null and keyWord !=''">
  1084. AND (s.name LIKE concat('%',#{keyWord},'%') or cmo.orderId=#{keyWord})
  1085. </if>
  1086. AND cms.payStatus=3
  1087. AND cmo.receiptStatus = 3
  1088. AND cmo.confirmTime >= '2021-09-01 00:01:00'
  1089. AND cmo.rebateFlag != 1
  1090. AND cms.shopId != 998
  1091. AND csp.newReceiptType is null
  1092. ORDER BY orderId DESC
  1093. </where>
  1094. </select>
  1095. <select id="ReceiptDetails" resultType="com.caimei365.order.model.vo.ShopOrderVo">
  1096. SELECT authUserId AS shopId,name AS shopName,linkMan,mobile as contractMobile FROM cm_brand_auth_user
  1097. <where>
  1098. <if test="keyWord!=null and keyWord !=''">
  1099. AND name LIKE concat('%',#{keyWord},'%')
  1100. or linkMan LIKE CONCAT('%', #{keyWord}, '%')
  1101. AND userIdentity = 2 AND status=1
  1102. </if>
  1103. AND userIdentity = 2 AND status=1
  1104. </where>
  1105. </select>
  1106. <select id="getTeamClubUserIdBySpId" resultType="java.lang.Integer">
  1107. SELECT userID
  1108. FROM club
  1109. WHERE spID IN (SELECT serviceId
  1110. FROM cm_serviceteam_group
  1111. WHERE teamId = (SELECT teamId FROM cm_serviceteam_group WHERE serviceId = #{spId}))
  1112. </select>
  1113. </mapper>