ReceiptMapper.xml 45 KB

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