123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881 |
- <?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>
- <update id="updateShopOrderPayStatus">
- UPDATE cm_shop_order SET payStatus = #{payStatus} WHERE shopOrderID = #{shopOrderId}
- </update>
- <update id="updateShopRebateAmount">
- UPDATE shop s SET s.rebateAmount = (IFNULL(s.rebateAmount, 0) + #{amount}), s.ableRebateAmount = (IFNULL(s.ableRebateAmount, 0) + #{amount})
- WHERE s.shopID = #{shopId}
- </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="getReceiptUserNameById" resultType="java.lang.String">
- SELECT DISTINCT name FROM cm_receipt_user WHERE id = #{id}
- </select>
- <select id="getPermissionsByUserId" resultType="java.lang.Integer">
- SELECT permission_id 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="getReceiptTypeStrById" resultType="java.lang.String">
- SELECT `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,
- cdr.reviewReason,
- 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,
- cdr.reviewReason,
- 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 cdr.receiptStatus in
- <foreach collection="receiptStatusArr" open="(" close=")" separator="," item="val">
- #{val}
- </foreach>
- </if>
- <if test="userIds != null and userIds.size() > 0">
- 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.updateDate 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.reviewDate,
- cdr.cancelDate,
- cdr.handlingFee,
- cdr.orderFlag,
- cdr.noOrderReason,
- cdr.cancelReason,
- cdr.confirmType,
- cdr.reviewReason,
- receiptUserPermissionID AS receiptUserPermissionId,
- confirmUserPermissionID AS confirmUserPermissionId,
- reviewUserPermissionID AS reviewUserPermissionId,
- cancelUserPermissionID AS cancelUserPermissionId,
- 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' 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.organizeID AS organizeId,
- 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.organizeID AS organizeId,
- 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">
- 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.organizeID AS organizeId,
- 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,
- cso.shopOtherFee,
- 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,
- cso.shopOtherFee,
- 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="getRebateShopOrders" 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,
- cso.shopOtherFee,
- s.name AS shopName,
- IF((SELECT (crpp.id) FROM cm_returned_purchase_product crpp LEFT JOIN cm_returned_purchase crp ON crp.id = crpp.returnedID
- WHERE crpp.shopOrderID = cso.shopOrderID AND crp.status = '1' AND crp.delFlag = 0 LIMIT 1) > 0, 1, 0) AS haveReturning
- FROM cm_shop_order cso
- LEFT JOIN shop s ON s.shopID = cso.shopID
- LEFT JOIN cm_order co ON co.orderID = cso.orderID
- <where>
- <if test="shopName != null and shopName != ''">
- AND s.name LIKE CONCAT('%', #{shopName}, '%')
- </if>
- AND cso.delFlag = '0'
- AND co.delFlag = '0'
- AND cso.shopOrderID NOT IN (
- SELECT DISTINCT cror.orderID FROM cm_receipt_order_relation cror LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
- WHERE cror.delFlag = '0' AND cror.relationType = '1' AND cdr.receiptStatus = '2' AND cror.orderID IS NOT NULL
- )
- AND cso.orderID NOT IN (
- SELECT DISTINCT cror.orderID FROM cm_receipt_order_relation cror
- WHERE cror.delFlag = '0' AND cror.relationType = '2' AND cror.orderID IS NOT NULL
- )
- AND co.receiptStatus != '3'
- AND co.rebateFlag = 1
- </where>
- ORDER BY cso.shopOrderID DESC
- </select>
- <select id="getShopOrderById" resultType="com.caimei365.order.model.vo.ShopOrderVo">
- SELECT
- shopOrderID AS shopOrderId,
- shopOrderNo,
- orderID AS orderId,
- orderNo,
- shopID AS shopId,
- note,
- userID AS userId,
- clubID AS clubId,
- spID AS spId,
- orderPromotionsId,
- promotionFullReduction,
- brokerage,
- canRefundAmount,
- itemCount,
- totalAmount,
- productAmount,
- needPayAmount,
- shopProductAmount,
- shopPostFee,
- shopTaxFee,
- shouldPayShopAmount,
- payedShopAmount,
- outStoreNum,
- IFNULL(presentNum,0) AS presentNum,
- orderTime,
- orderSubmitType,
- payStatus,
- sendOutStatus,
- splitFlag
- FROM cm_shop_order
- WHERE shopOrderID = #{shopOrderId} AND delFlag = '0'
- </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 IFNULL(SUM(cso.needPayAmount), 0) 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>
- <select id="getRebatePayTypeList" resultType="java.lang.Integer">
- SELECT cdr.payType
- FROM cm_receipt_order_relation cror
- LEFT JOIN cm_discern_receipt cdr ON cdr.id = cror.receiptID
- WHERE cror.relationType = '1' AND cror.delFlag = '0'
- AND cror.orderID = #{shopOrderId} and cdr.receiptType = '3'
- </select>
- <select id="getOpenidListByPermission" resultType="java.lang.String">
- SELECT DISTINCT cru.openid FROM cm_receipt_user cru
- LEFT JOIN cm_receipt_user_permission crup ON crup.user_id = cru.id
- WHERE crup.permission_id IN
- <foreach collection="permissions" open="(" close=")" item="permission" separator=",">
- #{permission}
- </foreach>
- AND cru.del_flag = 0
- </select>
- <select id="countAssociateAmountById" resultType="java.lang.Double">
- SELECT IFNULL(SUM(associateAmount), 0) FROM cm_receipt_order_relation WHERE receiptID = #{receiptId}
- </select>
- <select id="getRefundShopAmount" resultType="java.lang.Double">
- SELECT IFNULL(SUM(refundAmount), 0) FROM cm_refund_shop_record WHERE shopOrderID = #{shopOrderId} AND delFlag = 0
- </select>
- <select id="getShopIdList" resultType="java.lang.Integer">
- SELECT DISTINCT shopID FROM cm_shop_order WHERE shopOrderID IN
- <foreach collection="shopOrderIdArr" open="(" close=")" item="shopOrderId" separator=",">
- #{shopOrderId}
- </foreach>
- </select>
- <select id="getSubShopOrderList" resultType="java.lang.Integer">
- SELECT cso2.shopOrderID FROM cm_shop_order cso1
- LEFT JOIN cm_order co ON co.orderID = cso1.orderID
- LEFT JOIN cm_shop_order cso2 ON cso2.orderID = co.orderID
- WHERE cso1.shopOrderID = #{shopOrderId}
- </select>
- <select id="getSubShopOrderRebate" resultType="java.lang.Integer">
- SELECT cror.orderID FROM cm_receipt_order_relation cror
- WHERE cror.delFlag = '0' AND cror.relationType = '1' AND cror.orderID IN
- <foreach collection="shopOrderIdList" open="(" close=")" item="shopOrderId" separator=",">
- #{shopOrderId}
- </foreach>
- AND cror.orderID IS NOT NULL
- </select>
- <insert id="insertRefundShop" keyColumn="id" keyProperty="id" parameterType="com.caimei365.order.model.po.RefundShopPo" useGeneratedKeys="true">
- INSERT INTO cm_refund_shop(shopID, operator, operatTime, refundAmount, refundType, remark, refundWay, refundBalanceAmount)
- VALUES (#{shopId}, #{operator}, #{operateTime}, #{refundAmount}, #{refundType}, #{remark}, #{refundWay}, #{refundBalanceAmount})
- </insert>
- <insert id="insertRefundShopRecord" keyColumn="id" keyProperty="id" parameterType="com.caimei365.order.model.po.RefundShopRecordPo" useGeneratedKeys="true">
- INSERT INTO cm_refund_shop_record(shopID, shopOrderID, shopOrderNo, refundAmount, refundType, refundTime, refundShopID)
- VALUES (#{shopId}, #{shopOrderId}, #{shopOrderNo}, #{refundAmount}, #{refundType}, #{refundTime}, #{refundShopId})
- </insert>
- <insert id="insertRebateRecord" keyColumn="id" keyProperty="id" parameterType="com.caimei365.order.model.po.RebateRecordPo" useGeneratedKeys="true">
- INSERT INTO cm_rebate_record(type, shopId, receiptID, shopOrderId, rebateAmount, operatTime)
- VALUES (#{type}, #{shopId}, #{receiptId}, #{shopOrderId}, #{rebateAmount}, #{operateTime})
- </insert>
- <select id="getOrderReceiptRelationList" resultType="com.caimei365.order.model.po.OrderReceiptRelationPo">
- SELECT
- cror.id,
- cror.relationType,
- cror.receiptId,
- cror.associateAmount,
- cror.orderId,
- cror.delFlag,
- cror.mbOrderId,
- cror.orderRequestNo,
- cror.splitStatus
- FROM cm_receipt_order_relation cror
- WHERE cror.receiptID = #{receiptId}
- ORDER BY cror.id DESC
- </select>
- <select id="getPendingAuditCount" resultType="java.lang.Integer">
- SELECT COUNT(*) 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 IN (2,4)
- </select>
- </mapper>
|