123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
- <mapper namespace="com.caimei365.order.mapper.ReceiptMapper">
- <insert id="insertReceipt" keyColumn="id" keyProperty="id" parameterType="com.caimei365.order.model.po.ReceiptPo" useGeneratedKeys="true">
- INSERT INTO cm_discern_receipt(
- payWay,
- payType,
- receiptType,
- receiptStatus,
- smsContent,
- smsMd5Code,
- receiptAmount,
- handlingFee,
- confirmType,
- receiptUserPermissionID,
- confirmUserPermissionID,
- reviewUserPermissionID,
- cancelUserPermissionID,
- noOrderReason,
- reviewReason,
- rebateRemarks,
- cancelReason,
- receiptDate,
- confirmDate,
- reviewDate,
- cancelDate,
- updateDate,
- delFlag
- ) VALUES (
- #{payWay},
- #{payType},
- #{receiptType},
- #{receiptStatus},
- #{smsContent},
- #{smsMd5Code},
- #{receiptAmount},
- #{handlingFee},
- #{confirmType},
- #{receiptUserPermissionId},
- #{confirmUserPermissionId},
- #{reviewUserPermissionId},
- #{cancelUserPermissionId},
- #{noOrderReason},
- #{reviewReason},
- #{rebateRemarks},
- #{cancelReason},
- #{receiptDate},
- #{confirmDate},
- #{reviewDate},
- #{cancelDate},
- #{updateDate},
- #{delFlag}
- )
- </insert>
- <update id="updateReceipt" parameterType="com.caimei365.order.model.po.ReceiptPo">
- update cm_discern_receipt
- <set >
- <if test="payWay != null" >
- payWay = #{payWay},
- </if>
- <if test="payType != null" >
- payType = #{payType},
- </if>
- <if test="receiptType != null" >
- receiptType = #{receiptType},
- </if>
- <if test="receiptStatus != null" >
- receiptStatus = #{receiptStatus},
- </if>
- <if test="smsContent != null" >
- smsContent = #{smsContent},
- </if>
- <if test="smsMd5Code != null" >
- smsMd5Code = #{smsMd5Code},
- </if>
- <if test="orderFlag != null" >
- orderFlag = #{orderFlag},
- </if>
- <if test="receiptAmount != null" >
- receiptAmount = #{receiptAmount},
- </if>
- <if test="handlingFee != null" >
- handlingFee = #{handlingFee},
- </if>
- <if test="confirmType != null" >
- confirmType = #{confirmType},
- </if>
- <if test="confirmUserPermissionId != null" >
- confirmUserPermissionID = #{confirmUserPermissionId},
- </if>
- <if test="reviewUserPermissionId != null" >
- reviewUserPermissionID = #{reviewUserPermissionId},
- </if>
- <if test="cancelUserPermissionId != null" >
- cancelUserPermissionID = #{cancelUserPermissionId},
- </if>
- <if test="noOrderReason != null" >
- noOrderReason = #{noOrderReason},
- </if>
- <if test="reviewReason != null" >
- reviewReason = #{reviewReason},
- </if>
- <if test="cancelReason != null" >
- cancelReason = #{cancelReason},
- </if>
- <if test="receiptDate != null" >
- receiptDate = #{receiptDate},
- </if>
- <if test="confirmDate != null" >
- confirmDate = #{confirmDate},
- </if>
- <if test="reviewDate != null" >
- reviewDate = #{reviewDate},
- </if>
- <if test="cancelDate != null" >
- cancelDate = #{cancelDate},
- </if>
- <if test="updateDate != null" >
- updateDate = #{updateDate},
- </if>
- <if test="delFlag != null" >
- delFlag = #{delFlag},
- </if>
- <if test="rebateRemarks != null" >
- rebateRemarks = #{rebateRemarks},
- </if>
- </set>
- where id = #{id}
- </update>
- <update id="updateOpenidByMobile">
- UPDATE cm_receipt_user SET openid=#{openid},unionId=#{unionId} WHERE mobile = #{mobile}
- </update>
- <update id="deleteReceiptRelation">
- UPDATE cm_receipt_order_relation SET delFlag = '1' WHERE receiptID = #{receiptId}
- </update>
- <select id="getReceiptUserByOpenid" resultType="com.caimei365.order.model.vo.ReceiptUserVo">
- SELECT DISTINCT id, user_type AS userType, name, mobile, openid, unionId, password
- FROM cm_receipt_user
- WHERE openid = #{openid} AND del_flag = 0
- </select>
- <select id="getReceiptUserByMobile" resultType="com.caimei365.order.model.vo.ReceiptUserVo">
- SELECT DISTINCT id, user_type AS userType, name, mobile, openid, unionId, password
- FROM cm_receipt_user
- WHERE mobile = #{mobile} AND del_flag = 0
- </select>
- <select id="getPermissionsByUserId" resultType="java.lang.Integer">
- SELECT permission FROM cm_receipt_user_permission WHERE user_id = #{userId}
- </select>
- <select id="getReceiptType" resultType="com.caimei365.order.model.vo.ReceiptTypeVo">
- SELECT `id`,`type` FROM cm_receipt_type ORDER BY id
- </select>
- <select id="getReceiptTypeById" resultType="com.caimei365.order.model.vo.ReceiptTypeVo">
- SELECT `id`,`type` FROM cm_receipt_type WHERE id = #{id}
- </select>
- <select id="getReceivablesTypeId" resultType="java.lang.Integer">
- SELECT DISTINCT IFNULL(id, 0) FROM cm_receipt_type WHERE type=#{type}
- </select>
- <select id="getPaidAmountByOrderId" resultType="java.lang.Double">
- SELECT IFNULL(SUM(cror.associateAmount), 0)
- FROM cm_receipt_order_relation cror
- LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
- <where>
- <if test="orderId != null and orderId != ''">
- AND cror.orderID = #{orderId} AND cror.relationType = 2
- </if>
- AND cdr.receiptStatus in(2,3)
- AND cdr.payWay != '3'
- AND cdr.delFlag = '0'
- AND cror.delFlag = '0'
- </where>
- </select>
- <select id="getUncheckAmount" resultType="java.lang.Double">
- SELECT IFNULL(SUM(cror.associateAmount), 0)
- FROM cm_receipt_order_relation cror
- LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
- <where>
- <if test="orderId != null and orderId != ''">
- AND cror.orderID = #{orderId} AND cror.relationType = 2
- </if>
- AND cdr.receiptStatus = '2'
- AND cdr.delFlag = '0'
- AND cror.delFlag = '0'
- </where>
- </select>
- <select id="getReturnedAmount" resultType="java.lang.Double">
- SELECT IFNULL(SUM(returnedPurchaseFee), 0) FROM cm_returned_purchase
- <where>
- <if test="orderId != null and orderId != ''">
- AND orderID = #{orderId}
- </if>
- AND status = '2'
- </where>
- </select>
- <select id="getReceiptNumByOrderId" resultType="java.lang.Integer">
- SELECT IFNULL(SUM(a.num),0) FROM cm_logistics_record a
- LEFT JOIN cm_logistics_batch b ON a.logisticsBatchID = b.id
- WHERE b.orderID = #{orderId} AND b.status = '1'
- </select>
- <select id="getReturnAndCancelNum" resultType="java.lang.Integer">
- SELECT IFNULL(SUM(a.actualReturnedNum + a.actualCancelNum),0)
- FROM cm_returned_purchase_product a
- LEFT JOIN cm_returned_purchase b ON a.returnedID = b.id
- WHERE b.orderID = #{orderId} AND b.status = '2' AND b.delFlag = '0'
- </select>
- <select id="getServiceProviderId" resultType="java.lang.Integer">
- SELECT s.serviceProviderID FROM serviceprovider s
- LEFT JOIN USER u ON s.userID = u.userID
- WHERE s.unionId = #{unionId} AND u.validFlag = 1
- LIMIT 1
- </select>
- <select id="getClubUserIdBySpId" resultType="java.lang.Integer">
- SELECT userID FROM club WHERE spID = #{spId}
- </select>
- <select id="getReceiptBySmsMd5Code" resultType="com.caimei365.order.model.vo.ReceiptVo">
- SELECT DISTINCT
- cdr.id,
- cdr.payWay,
- cdr.payType,
- cdr.receiptType,
- cdr.receiptStatus,
- cdr.receiptAmount,
- cdr.smsContent,
- cdr.smsMd5Code,
- cdr.receiptDate,
- cdr.confirmDate,
- cdr.handlingFee,
- cdr.orderFlag,
- cdr.noOrderReason,
- IFNULL((
- SELECT SUM(b.associateAmount) FROM cm_receipt_order_relation b WHERE b.receiptID = cdr.id AND b.delFlag = '0'
- ), 0) AS associateAmount
- FROM cm_discern_receipt cdr
- LEFT JOIN cm_receipt_order_relation cror ON (cror.receiptID = cdr.id AND cror.delFlag = '0')
- WHERE cdr.smsMd5Code = #{smsMd5Code} AND cdr.delFlag = '0'
- </select>
- <select id="getReceiptList" resultType="com.caimei365.order.model.vo.ReceiptVo" parameterType="com.caimei365.order.model.bo.ReceiptParamsBo">
- SELECT DISTINCT
- cdr.id,
- cdr.payWay,
- cdr.payType,
- cdr.receiptType,
- cdr.receiptStatus,
- cdr.receiptAmount,
- cdr.smsContent,
- cdr.smsMd5Code,
- cdr.receiptDate,
- cdr.confirmDate,
- cdr.handlingFee,
- cdr.orderFlag,
- cdr.noOrderReason,
- CASE WHEN cror.relationType = 2 THEN co.organizeID
- WHEN cror.relationType = 1 THEN cso.organizeID
- ELSE '' END AS organizeId,
- CASE WHEN cror.relationType = 2 THEN co.userID
- WHEN cror.relationType = 1 THEN cso.userID
- ELSE '' END AS userId,
- IFNULL((
- SELECT SUM(b.associateAmount) FROM cm_receipt_order_relation b WHERE b.receiptID = cdr.id AND b.delFlag = '0'
- ), 0) AS associateAmount
- FROM cm_discern_receipt cdr
- LEFT JOIN cm_receipt_order_relation cror ON (cror.receiptID = cdr.id AND cror.delFlag = '0')
- LEFT JOIN cm_order co ON (cror.orderID = co.orderID AND cror.relationType = 2)
- LEFT JOIN cm_shop_order cso ON (cror.orderID = cso.shopOrderID AND cror.relationType = 1)
- WHERE cdr.delFlag = '0'
- <if test="id != null and id != ''">
- AND cdr.id = #{id}
- </if>
- <if test="receiptType != null and receiptType != ''">
- AND cdr.receiptType = #{receiptType}
- </if>
- <if test="smsMd5Code != null and smsMd5Code != ''">
- AND cdr.smsMd5Code = #{smsMd5Code}
- </if>
- <if test="startDate != null and startDate != ''">
- AND cdr.receiptDate <![CDATA[ > ]]> #{startDate}
- </if>
- <if test="endDate != null and endDate != ''">
- AND cdr.receiptDate <![CDATA[ < ]]> #{endDate}
- </if>
- <if test="receiptStatusArr != null and receiptStatusArr != ''">
- AND cdr.receiptStatus in
- <foreach collection="receiptStatusArr" open="(" close=")" separator="," item="val">
- #{val}
- </foreach>
- </if>
- <if test="userIds != null and userIds.size() > 0 and receiptStatus != 1">
- AND ((co.userID IN
- <foreach collection="userIds" open="(" close=")" separator="," item="val">
- #{val}
- </foreach>
- AND cror.relationType = 2 )
- OR (cso.userID IN
- <foreach collection="userIds" open="(" close=")" separator="," item="val">
- #{val}
- </foreach>
- AND cror.relationType = 1)
- OR cror.orderID IS NULL)
- </if>
- ORDER BY cdr.receiptDate desc
- </select>
- <select id="getReceiptDetail" resultType="com.caimei365.order.model.vo.ReceiptVo">
- SELECT DISTINCT
- cdr.id,
- cdr.payWay,
- cdr.payType,
- cdr.receiptType,
- cdr.receiptStatus,
- cdr.receiptAmount,
- cdr.smsContent,
- cdr.smsMd5Code,
- cdr.receiptDate,
- cdr.confirmDate,
- cdr.handlingFee,
- cdr.orderFlag,
- cdr.noOrderReason,
- cru.name AS confirmUserName,
- su.fullName AS cancelUserName,
- CASE WHEN cror.relationType = 2 THEN co.organizeID
- WHEN cror.relationType = 1 THEN cso.organizeID
- ELSE '' END AS organizeId,
- CASE WHEN cror.relationType = 2 THEN co.userID
- WHEN cror.relationType = 1 THEN cso.userID
- ELSE '' END AS userId,
- IFNULL((
- SELECT SUM(b.associateAmount) FROM cm_receipt_order_relation b WHERE b.receiptID = cdr.id AND b.delFlag = '0'
- ), 0) AS associateAmount
- FROM cm_discern_receipt cdr
- LEFT JOIN cm_receipt_order_relation cror ON (cror.receiptID = cdr.id AND cror.delFlag = '0')
- LEFT JOIN cm_receipt_user cru ON cru.id = cdr.confirmUserPermissionID
- LEFT JOIN system_user su ON su.id = cdr.cancelUserPermissionID
- LEFT JOIN cm_order co ON (cror.orderID = co.orderID AND cror.relationType = 2)
- LEFT JOIN cm_shop_order cso ON (cror.orderID = cso.shopOrderID AND cror.relationType = 1)
- WHERE cdr.delFlag = '0' AND cdr.id = #{id}
- </select>
- <select id="getReceiptOrders" resultType="com.caimei365.order.model.vo.OrderVo">
- SELECT
- IFNULL(o.orderSeen,0) AS orderSeen,
- o.orderID AS orderId,
- o.shopOrderIds,
- o.orderSource,
- o.orderNo,
- o.userID AS userId,
- o.clubID AS clubId,
- o.buyUserID AS buyUserId,
- o.orderTime AS orderTime,
- o.updateDate AS updateDate,
- o.delFlag,
- o.userBeans,
- o.orderType,
- o.orderSubmitType,
- o.confirmFlag,
- o.onlinePayFlag,
- o.splitFlag,
- o.payFlag,
- o.receiptStatus,
- o.payStatus,
- o.zeroCostFlag,
- o.sendOutStatus,
- o.refundType,
- o.affirmPaymentFlag,
- o.productCount,
- o.presentCount,
- o.promotionalGiftsCount,
- o.hasActProduct,
- o.promotionFullReduction,
- o.svipFullReduction,
- o.secondHandOrderFlag,
- o.invoiceFlag,
- o.freePostFlag AS postageFlag,
- o.freight AS postage,
- o.productTotalFee,
- o.orderTotalFee,
- o.payTotalFee,
- o.payableAmount,
- o.balancePayFee,
- o.discountFee,
- o.couponAmount,
- o.status,
- o.confirmTime,
- o.payTime,
- o.rebateFlag,
- o.clauseID AS clauseId,
- o.clauseName,
- IFNULL(u.userName,'') AS userName
- FROM cm_order o
- INNER JOIN cm_receipt_order_relation cror ON o.orderID = cror.orderID
- INNER JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
- LEFT JOIN USER u ON o.userID = u.userID
- WHERE cdr.id = #{receiptId}
- AND o.delFlag = '0'
- AND cror.delFlag = '0'
- AND cdr.delFlag = '0'
- ORDER BY o.orderTime DESC
- </select>
- <select id="getOrderListByParams" resultType="com.caimei365.order.model.vo.OrderVo">
- SELECT DISTINCT
- IFNULL(o.orderSeen,0) AS orderSeen,
- o.orderID AS orderId,
- o.shopOrderIds,
- o.orderSource,
- o.orderNo,
- o.userID AS userId,
- o.clubID AS clubId,
- o.buyUserID AS buyUserId,
- o.orderTime AS orderTime,
- o.updateDate AS updateDate,
- o.delFlag,
- o.userBeans,
- o.orderType,
- o.orderSubmitType,
- o.confirmFlag,
- o.onlinePayFlag,
- o.splitFlag,
- o.payFlag,
- o.receiptStatus,
- o.payStatus,
- o.zeroCostFlag,
- o.sendOutStatus,
- o.refundType,
- o.affirmPaymentFlag,
- o.productCount,
- o.presentCount,
- o.promotionalGiftsCount,
- o.hasActProduct,
- o.promotionFullReduction,
- o.svipFullReduction,
- o.secondHandOrderFlag,
- o.invoiceFlag,
- o.freePostFlag AS postageFlag,
- o.freight AS postage,
- o.productTotalFee,
- o.orderTotalFee,
- o.payTotalFee,
- o.payableAmount,
- o.balancePayFee,
- o.discountFee,
- o.couponAmount,
- o.status,
- o.confirmTime,
- o.payTime,
- o.rebateFlag,
- o.clauseID AS clauseId,
- o.clauseName,
- <if test="organizeID == 0 or organizeID == null">
- IFNULL(u.userName, u.name) AS userName,
- </if>
- <if test="organizeID > 0">
- u.name AS "userName",
- IFNULL(u.name, u.userName) AS userName,
- </if>
- '0' AS haveReturning,
- '0' AS haveReceipting
- FROM cm_order o
- LEFT JOIN user u ON o.userID = u.userID
- LEFT JOIN cm_order_product cop ON o.orderID = cop.orderID
- <where>
- <if test="excludeOrderId != null and excludeOrderId != ''">
- AND o.orderID != #{excludeOrderId}
- </if>
- <if test="orderId != null and orderId != ''">
- AND o.orderID = #{orderId}
- </if>
- AND o.delFlag = '0'
- AND o.organizeID = #{organizeId}
- AND o.receiptStatus IN
- <foreach collection="receiptStatusArr" open="(" close=")" item="receiptStatus" separator=",">
- #{receiptStatus}
- </foreach>
- AND o.status IN
- <foreach collection="orderStatusList" open="(" close=")" item="status" separator=",">
- #{status}
- </foreach>
- <if test="userIds != null and userIds.size() > 0">
- AND o.userID IN
- <foreach collection="userIds" open="(" close=")" separator="," item="val">
- #{val}
- </foreach>
- </if>
- <if test="userName != null and userName != ''">
- AND (u.userName LIKE CONCAT('%',#{userName},'%') OR u.name LIKE CONCAT('%',#{userName},'%'))
- </if>
- AND o.rebateFlag = 0
- <if test="orderType == null or orderType == 0">
- AND cop.productID NOT IN(6060, 6061, 6062, 6063, 6064,6065, 6066, 6067, 6068, 6069)
- </if>
- <if test="orderType != null and orderType == 1">
- AND cop.productID IN(6060, 6061, 6062, 6063, 6064,6065, 6066, 6067, 6068, 6069)
- </if>
- </where>
- <if test="orderId != null and orderId != ''">
- ORDER BY (CASE WHEN o.orderID=#{orderId} THEN 1 ELSE 2 END),o.orderTime DESC
- </if>
- <if test="orderId == null or orderId == ''">
- ORDER BY o.orderTime DESC
- </if>
- </select>
- <select id="getOrderListByOrderIds" resultType="com.caimei365.order.model.vo.OrderVo">
- SELECT DISTINCT
- IFNULL(o.orderSeen,0) AS orderSeen,
- o.orderID AS orderId,
- o.shopOrderIds,
- o.orderSource,
- o.orderNo,
- o.userID AS userId,
- o.clubID AS clubId,
- o.buyUserID AS buyUserId,
- o.orderTime AS orderTime,
- o.updateDate AS updateDate,
- o.delFlag,
- o.userBeans,
- o.orderType,
- o.orderSubmitType,
- o.confirmFlag,
- o.onlinePayFlag,
- o.splitFlag,
- o.payFlag,
- o.receiptStatus,
- o.payStatus,
- o.zeroCostFlag,
- o.sendOutStatus,
- o.refundType,
- o.affirmPaymentFlag,
- o.productCount,
- o.presentCount,
- o.promotionalGiftsCount,
- o.hasActProduct,
- o.promotionFullReduction,
- o.svipFullReduction,
- o.secondHandOrderFlag,
- o.invoiceFlag,
- o.freePostFlag AS postageFlag,
- o.freight AS postage,
- o.productTotalFee,
- o.orderTotalFee,
- o.payTotalFee,
- o.payableAmount,
- o.balancePayFee,
- o.discountFee,
- o.couponAmount,
- o.status,
- o.confirmTime,
- o.payTime,
- o.rebateFlag,
- o.clauseID AS clauseId,
- o.clauseName
- FROM cm_order o
- WHERE o.delFlag = '0' AND o.orderID IN
- <foreach collection="orderIdS" open="(" close=")" separator="," item="orderId">
- #{orderId}
- </foreach>
- order by o.payableAmount, o.orderID
- </select>
- <select id="countHaveReturning" resultType="java.lang.Integer">
- SELECT IFNULL(COUNT(id), 0) FROM cm_returned_purchase WHERE orderID = #{orderID} AND status = 1 AND delFlag = 0
- </select>
- <select id="countHaveReceipting" resultType="java.lang.Integer">
- SELECT IFNULL(COUNT(cror.id), 0) FROM cm_receipt_order_relation cror
- INNER JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
- WHERE cror.orderID = #{orderID} AND cror.delFlag = 0 AND cdr.delFlag = 0 AND cdr.receiptStatus = 2
- </select>
- <select id="getOnlineReceiptId" resultType="java.lang.Integer">
- SELECT
- cdr.id
- FROM cm_receipt_order_relation cror
- LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
- WHERE cror.orderID = #{orderId}
- AND cror.relationType = '2'
- AND cror.delFlag = '0'
- AND cdr.delFlag = '0'
- AND cdr.receiptStatus = '3'
- AND cdr.payWay = '1'
- LIMIT 1
- </select>
- <select id="getRefundFeeByOrderId" resultType="com.caimei365.order.model.vo.ReturnedPurchaseVo">
- SELECT
- id,
- returnedPurchaseFee,
- refundFee
- FROM cm_returned_purchase
- WHERE orderID = #{orderId} AND STATUS = '2'
- </select>
- <select id="getShopOrderListByReceiptId" resultType="com.caimei365.order.model.vo.ShopOrderVo">
- SELECT DISTINCT
- cso.shopOrderId AS shopOrderId,
- cso.shopOrderNo,
- cso.orderID AS orderId,
- cso.orderNo,
- cso.shopID AS shopId,
- cso.note,
- cso.userID AS userId,
- cso.clubID AS clubId,
- cso.spID AS spId,
- cso.orderPromotionsId,
- cso.promotionFullReduction,
- cso.brokerage,
- cso.canRefundAmount,
- cso.itemCount,
- cso.totalAmount,
- cso.productAmount,
- cso.needPayAmount,
- cso.shopProductAmount,
- cso.shopPostFee,
- cso.shopTaxFee,
- cso.shouldPayShopAmount,
- cso.payedShopAmount,
- cso.orderTime,
- cso.orderSubmitType,
- cso.payStatus,
- cso.sendOutStatus,
- cso.splitFlag,
- s.name AS shopName
- FROM cm_receipt_order_relation cror
- LEFT JOIN cm_shop_order cso ON cso.shopOrderID = cror.orderID
- LEFT JOIN shop s ON s.shopID = cso.shopID
- WHERE cror.delFlag = '0' AND cror.relationType = '1' AND cror.receiptID = #{receiptId}
- </select>
- <select id="getRefundShopOrders" resultType="com.caimei365.order.model.vo.ShopOrderVo">
- SELECT DISTINCT
- cso.shopOrderId AS shopOrderId,
- cso.shopOrderNo,
- cso.orderID AS orderId,
- cso.orderNo,
- cso.shopID AS shopId,
- cso.note,
- cso.userID AS userId,
- cso.clubID AS clubId,
- cso.spID AS spId,
- cso.orderPromotionsId,
- cso.promotionFullReduction,
- cso.brokerage,
- cso.canRefundAmount,
- cso.itemCount,
- cso.totalAmount,
- cso.productAmount,
- cso.needPayAmount,
- cso.shopProductAmount,
- cso.shopPostFee,
- cso.shopTaxFee,
- cso.shouldPayShopAmount,
- cso.payedShopAmount,
- cso.orderTime,
- cso.orderSubmitType,
- cso.payStatus,
- cso.sendOutStatus,
- cso.splitFlag,
- s.name AS shopName,
- IFNULL((SELECT SUM(refundAmount) FROM cm_refund_shop_record WHERE shopOrderID = cso.shopOrderID AND delFlag = 0), 0) AS shopRefundAmount
- FROM cm_shop_order cso
- LEFT JOIN shop s ON s.shopID = cso.shopID
- LEFT JOIN cm_receipt_order_relation cror ON cso.shopOrderID = cror.orderID AND cror.relationType = 1
- LEFT JOIN cm_discern_receipt cdr ON cdr.id = cror.receiptID AND cdr.receiptType = 5 AND cdr.receiptStatus = 2
- LEFT JOIN user u ON u.userID = cso.userID
- WHERE cso.delFlag = 0
- AND (cror.delFlag = 0 OR cror.id IS NULL)
- <if test="shopName != null">
- AND cso.orderID = #{orderId}
- </if>
- <if test="shopName != null and shopName != ''">
- AND s.name LIKE CONCAT('%',#{shopName},'%')
- </if>
- <if test="userName != null and userName != ''">
- AND u.userName LIKE CONCAT('%',#{userName},'%')
- </if>
- <if test="confirmedType == 2">
- AND cdr.receiptStatus = 2
- </if>
- GROUP BY cso.shopOrderID
- <if test="confirmedType != 2">
- HAVING IFNULL(cso.payedShopAmount, 0) > IFNULL((SELECT SUM(refundAmount) FROM cm_refund_shop_record WHERE shopOrderID = cso.shopOrderID AND delFlag = 0), 0)
- </if>
- ORDER BY cso.orderTime DESC
- </select>
- <select id="countAllPayAssociateAmount" resultType="java.lang.Double">
- SELECT IFNULL(SUM(cror.associateAmount), 0) FROM cm_receipt_order_relation cror
- LEFT JOIN cm_discern_receipt cdr on cror.receiptID = cdr.id
- WHERE cror.delFlag = '0' AND cdr.delFlag = '0' AND cdr.payWay != '3' AND cdr.receiptStatus in(2,3)
- <if test="orderID != null and orderID != ''">
- AND cror.orderID = #{orderId} AND cror.relationType = 2
- </if>
- </select>
- <select id="countNeedPayAmount" resultType="java.lang.Double">
- SELECT SUM(cso.needPayAmount) FROM cm_receipt_order_relation cror
- LEFT JOIN cm_discern_receipt cdr ON cdr.id = cror.receiptID
- LEFT JOIN cm_shop_order cso ON cso.shopOrderID = cror.orderID
- WHERE cror.delFlag = '0' AND cror.relationType = '1' AND cdr.receiptType = 3
- AND cdr.delFlag = '0' AND cdr.receiptStatus = '2'
- AND cror.orderID IN (SELECT shopOrderID FROM cm_shop_order cso1 WHERE cso1.orderID = #{orderId})
- </select>
- </mapper>
|