From 99f77afaaee87c3b9d7a5e48862908b72a947f7b Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期五, 17 一月 2025 08:59:55 +0800
Subject: [PATCH] fix:修改密码
---
src/main/resources/mapper/payment/OrderMapper.xml | 400 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 374 insertions(+), 26 deletions(-)
diff --git a/src/main/resources/mapper/payment/OrderMapper.xml b/src/main/resources/mapper/payment/OrderMapper.xml
index 18894dc..2a87af2 100644
--- a/src/main/resources/mapper/payment/OrderMapper.xml
+++ b/src/main/resources/mapper/payment/OrderMapper.xml
@@ -7,6 +7,7 @@
where status_backend = 'SEND' and partner_id is not null
</update>
+
<select id="getPartnerOrderReceive" resultType="com.mzl.flower.entity.payment.Order">
select * from t_order t where status_backend = 'SEND' and partner_id is not null
</select>
@@ -14,6 +15,7 @@
<select id="getOrderStatusCount" resultType="com.mzl.flower.dto.response.payment.OrderStatusCountDTO">
SELECT q.status_backend value, count(1) orderCount
FROM t_order q
+ left join t_user u on q.create_by = u.id
WHERE q.deleted = 0
<if test="condition.orderNo != null and condition.orderNo != ''">
AND q.order_no LIKE concat('%', #{condition.orderNo},'%')
@@ -35,17 +37,23 @@
<if test="condition.statusBackend != null and condition.statusBackend != ''">
AND q.status_backend = #{condition.statusBackend}
</if>
- <if test="condition.startDate != null">
- AND q.payment_time >= #{condition.startDate}
- </if>
- <if test="condition.endDate != null">
- AND q.payment_time <= #{condition.endDate}
- </if>
+<!-- <if test="condition.startDate != null">-->
+<!-- AND q.payment_time >= #{condition.startDate}-->
+<!-- </if>-->
+<!-- <if test="condition.endDate != null">-->
+<!-- AND q.payment_time <= #{condition.endDate}-->
+<!-- </if>-->
+<!-- <if test="condition.createStartDate != null">-->
+<!-- AND q.create_time >= #{condition.createStartDate}-->
+<!-- </if>-->
+<!-- <if test="condition.createEndDate != null">-->
+<!-- AND q.create_time <= #{condition.createEndDate}-->
+<!-- </if>-->
<if test="condition.createStartDate != null">
- AND q.create_time >= #{condition.createStartDate}
+ AND q.payment_time >= #{condition.createStartDate}
</if>
<if test="condition.createEndDate != null">
- AND q.create_time <= #{condition.createEndDate}
+ AND q.payment_time < #{condition.createEndDate}
</if>
<if test="condition.partnerId != null">
AND q.partner_id = #{condition.partnerId}
@@ -57,9 +65,10 @@
AND exists(
select 1 from t_order_item oi
where oi.order_id = q.id
- and oi.status = 'reduce'
+ and (oi.status = 'reduce' or oi.status = 'abnormal')
)
and q.transfer_id is null
+ and q.status in ('COLLECTION', 'SEND','RECEIVE')
</if>
<if test="condition.billId != null and condition.billId != ''">
AND q.bill_id = #{condition.billId}
@@ -70,6 +79,22 @@
where oi.order_id = q.id
and oi.flower_name LIKE concat('%', #{condition.flowerName},'%')
)
+ </if>
+
+ <if test="condition.warehouseLocationCode != null and condition.warehouseLocationCode != ''">
+ AND q.warehouse_location_code LIKE concat('%', #{condition.warehouseLocationCode},'%')
+ </if>
+ <if test="condition.createName != null and condition.createName != ''">
+ AND u.nick_name LIKE concat('%', #{condition.createName},'%')
+ </if>
+ <if test="condition.province != null and condition.province != ''">
+ AND q.customer_province LIKE concat('%', #{condition.province},'%')
+ </if>
+ <if test="condition.city != null and condition.city != ''">
+ AND q.customer_city LIKE concat('%', #{condition.city},'%')
+ </if>
+ <if test="condition.region != null and condition.region != ''">
+ AND q.customer_region LIKE concat('%', #{condition.region},'%')
</if>
GROUP BY q.status_backend
</select>
@@ -86,6 +111,15 @@
WHERE q.deleted = 0
<if test="condition.orderNo != null and condition.orderNo != ''">
AND q.order_no LIKE concat('%', #{condition.orderNo},'%')
+ </if>
+ <if test="condition.province != null and condition.province != ''">
+ AND q.customer_province LIKE concat('%', #{condition.province},'%')
+ </if>
+ <if test="condition.city != null and condition.city != ''">
+ AND q.customer_city LIKE concat('%', #{condition.city},'%')
+ </if>
+ <if test="condition.region != null and condition.region != ''">
+ AND q.customer_region LIKE concat('%', #{condition.region},'%')
</if>
<if test="condition.customerAddress != null and condition.customerAddress != ''">
AND q.customer_address LIKE concat('%', #{condition.customerAddress},'%')
@@ -108,17 +142,24 @@
<if test="condition.statusBackend != null and condition.statusBackend != ''">
AND q.status_backend = #{condition.statusBackend}
</if>
- <if test="condition.startDate != null">
- AND q.payment_time >= #{condition.startDate}
- </if>
- <if test="condition.endDate != null">
- AND q.payment_time <= #{condition.endDate}
- </if>
+<!-- <if test="condition.startDate != null">-->
+<!-- AND q.payment_time >= #{condition.startDate}-->
+<!-- </if>-->
+<!-- <if test="condition.endDate != null">-->
+<!-- AND q.payment_time <= #{condition.endDate}-->
+<!-- </if>-->
+<!-- <if test="condition.createStartDate != null">-->
+<!-- AND q.create_time >= #{condition.createStartDate}-->
+<!-- </if>-->
+<!-- <if test="condition.createEndDate != null">-->
+<!-- AND q.create_time <= #{condition.createEndDate}-->
+<!-- </if>-->
+ <!-- 修改查询日期对应的的创建时间为支付时间 2024-10-12-->
<if test="condition.createStartDate != null">
- AND q.create_time >= #{condition.createStartDate}
+ AND q.payment_time >= #{condition.createStartDate}
</if>
<if test="condition.createEndDate != null">
- AND q.create_time <= #{condition.createEndDate}
+ AND q.payment_time < #{condition.createEndDate}
</if>
<if test="condition.partnerId != null">
AND q.partner_id = #{condition.partnerId}
@@ -133,7 +174,7 @@
and (oi.status = 'reduce' or oi.status = 'abnormal')
)
and q.transfer_id is null
- and q.status in ('COLLECTION', 'SEND')
+ and q.status in ('COLLECTION', 'SEND','RECEIVE')
</if>
<if test="condition.billId != null and condition.billId != ''">
AND q.bill_id = #{condition.billId}
@@ -143,6 +184,39 @@
select 1 from t_order_item oi
where oi.order_id = q.id
and oi.flower_name LIKE concat('%', #{condition.flowerName},'%')
+ )
+ </if>
+ <if test="condition.warehouseLocationCode != null and condition.warehouseLocationCode != ''">
+ AND q.warehouse_location_code LIKE concat('%', #{condition.warehouseLocationCode},'%')
+ </if>
+ <if test="condition.createName != null and condition.createName != ''">
+ AND u.nick_name LIKE concat('%', #{condition.createName},'%')
+ </if>
+
+ <if test="condition.abnormalOrderStatus != null and condition.abnormalOrderStatus != '' and condition.abnormalOrderStatus == 'UN_PROCESSED'">
+ AND q.id in (
+ select oi.order_id
+ from t_order_item oi
+ left join t_order o
+ on oi.order_id=o.id
+ where oi.status in ('abnormal','reduce','lack','back')
+ and o.transfer_id is null
+ and o.status in ('COLLECTION','SEND','RECEIVE')
+ )
+ </if>
+
+ <if test="condition.abnormalOrderStatus != null and condition.abnormalOrderStatus != '' and condition.abnormalOrderStatus == 'PROCESSED'">
+ AND q.id in (
+ select order_id from t_order_item oi where oi.status in ('abnormal','reduce','lack','back')
+ )
+ and q.id not in(
+ select oi.order_id
+ from t_order_item oi
+ left join t_order o
+ on oi.order_id=o.id
+ where oi.status in ('abnormal','reduce','lack','back')
+ and o.transfer_id is null
+ and o.status in ('COLLECTION','SEND','RECEIVE')
)
</if>
@@ -173,18 +247,18 @@
<if test="condition.statusBackend != null and condition.statusBackend != ''">
AND q.status_backend = #{condition.statusBackend}
</if>
- <if test="condition.startDate != null">
- AND q.payment_time >= #{condition.startDate}
- </if>
- <if test="condition.endDate != null">
- AND q.payment_time <= #{condition.endDate}
- </if>
<if test="condition.createStartDate != null">
- AND q.create_time >= #{condition.createStartDate}
+ AND q.payment_time >= #{condition.createStartDate}
</if>
<if test="condition.createEndDate != null">
- AND q.create_time <= #{condition.createEndDate}
+ AND q.payment_time < #{condition.createEndDate}
</if>
+<!-- <if test="condition.createStartDate != null">-->
+<!-- AND q.create_time >= #{condition.createStartDate}-->
+<!-- </if>-->
+<!-- <if test="condition.createEndDate != null">-->
+<!-- AND q.create_time <= #{condition.createEndDate}-->
+<!-- </if>-->
<if test="condition.partnerId != null">
AND q.partner_id = #{condition.partnerId}
</if>
@@ -272,4 +346,278 @@
AND oi.flower_id=#{flowerId}
AND o.payment_time BETWEEN #{startTime} AND #{endTime}
</select>
+
+ <select id="selectOrderExportList" resultType="com.mzl.flower.dto.response.payment.OrderListExportDTO">
+ SELECT q.order_no,q.create_time,q.customer,q.customer_tel,q.total_amount,q.status_backend,q.partner_name,q.warehouse_location_code,q.remarks,q.logistics_company_code,
+ u.nick_name createName ,
+ code.label as statusBackendStr,
+ code2.label as specialNeedsStr,
+ CONCAT(q.customer_province, q.customer_city,q.customer_region,q.customer_address) AS customerAddress,
+ (select Sum(COALESCE(oi.num, 0) * COALESCE(oi.supplier_price, 0))
+ from t_order_item oi where order_id = q.id) supplierAmount,
+ (select Sum(oi.num) from t_order_item oi where order_id = q.id) saleNum
+ FROM t_order q
+ left join t_user u on q.create_by = u.id
+ LEFT JOIN (SELECT ct.label, ct.value from t_code_value ct where type_code = 'ORDER_STATUS_BACKEND') code ON q.status_backend = code.value
+ LEFT JOIN (SELECT ct.label, ct.value from t_code_value ct where type_code = 'SPEC_REQ') code2 ON q.special_needs = code2.value
+ WHERE q.deleted = 0
+ <if test="condition.orderNo != null and condition.orderNo != ''">
+ AND q.order_no LIKE concat('%', #{condition.orderNo},'%')
+ </if>
+ <if test="condition.customerAddress != null and condition.customerAddress != ''">
+ AND q.customer_address LIKE concat('%', #{condition.customerAddress},'%')
+ </if>
+ <if test="condition.address != null and condition.address != ''">
+ AND CONCAT(q.customer_province, q.customer_city, q.customer_region, q.customer_address) LIKE concat('%',
+ #{condition.address},'%')
+ </if>
+ <if test="condition.customer != null and condition.customer != ''">
+ AND (q.customer LIKE concat('%', #{condition.customer},'%')
+ or q.customer_tel LIKE concat('%', #{condition.customer},'%')
+ )
+ </if>
+ <if test="condition.createBy != null and condition.createBy != ''">
+ AND q.create_by = #{condition.createBy}
+ </if>
+ <if test="condition.status != null and condition.status != ''">
+ AND q.status = #{condition.status}
+ </if>
+ <if test="condition.statusBackend != null and condition.statusBackend != ''">
+ AND q.status_backend = #{condition.statusBackend}
+ </if>
+ <if test="condition.startDate != null">
+ AND q.payment_time >= #{condition.startDate}
+ </if>
+ <if test="condition.endDate != null">
+ AND q.payment_time < #{condition.endDate}
+ </if>
+ <if test="condition.createStartDate != null">
+ AND q.create_time >= #{condition.createStartDate}
+ </if>
+ <if test="condition.createEndDate != null">
+ AND q.create_time <= #{condition.createEndDate}
+ </if>
+ <if test="condition.partnerId != null">
+ AND q.partner_id = #{condition.partnerId}
+ </if>
+ <if test="condition.partnerName != null and condition.partnerName != ''">
+ AND q.partner_name LIKE concat('%', #{condition.partnerName},'%')
+ </if>
+ <if test="condition.levelDown != null and condition.levelDown != ''">
+ AND exists(
+ select 1 from t_order_item oi
+ where oi.order_id = q.id
+ and (oi.status = 'reduce' or oi.status = 'abnormal')
+ )
+ and q.transfer_id is null
+ and q.status in ('COLLECTION', 'SEND','RECEIVE')
+ </if>
+ <if test="condition.billId != null and condition.billId != ''">
+ AND q.bill_id = #{condition.billId}
+ </if>
+ <if test="condition.flowerName != null and condition.flowerName != ''">
+ AND exists(
+ select 1 from t_order_item oi
+ where oi.order_id = q.id
+ and oi.flower_name LIKE concat('%', #{condition.flowerName},'%')
+ )
+ </if>
+ <if test="condition.warehouseLocationCode != null and condition.warehouseLocationCode != ''">
+ AND q.warehouse_location_code LIKE concat('%', #{condition.warehouseLocationCode},'%')
+ </if>
+ ORDER BY q.create_time desc, q.payment_time desc
+ </select>
+
+ <select id="getOrderSaleAmount" resultType="java.math.BigDecimal">
+ SELECT sum(o.payment_amount)
+ FROM t_order o
+ WHERE o.deleted=0
+ and o.status_backend not in ('PENDING','CANCEL','REFUND')
+ <if test="startTime != null">
+ and o.create_time > #{startTime}
+ </if>
+ <if test="endTime != null">
+ and o.create_time <= #{endTime}
+ </if>
+ </select>
+
+<!-- 获取所有的订单数据,以及时间数据-->
+ <select id="selectAllDateList" resultType="com.mzl.flower.entity.payment.Order">
+ SELECT t.id,t.payment_time,
+ CASE
+ WHEN t.payment_time > DATE(t.payment_time) + INTERVAL 17 HOUR THEN DATE(t.payment_time) + INTERVAL 1 DAY
+ ELSE DATE(t.payment_time)
+ END AS payment_date,
+ t.create_time,
+ CASE
+ WHEN t.create_time > DATE(t.create_time) + INTERVAL 17 HOUR THEN DATE(t.create_time) + INTERVAL 1 DAY
+ ELSE DATE(t.create_time)
+ END AS create_date
+ FROM t_order t
+ order by t.create_time desc
+ </select>
+ <select id="getAbnormalOrderStatusCount"
+ resultType="com.mzl.flower.dto.response.payment.OrderStatusCountDTO">
+ SELECT 'UN_PROCESSED' as value, count(1) orderCount
+ FROM t_order q
+ left join t_user u on q.create_by = u.id
+ WHERE q.deleted = 0
+ <include refid="getAbnormalOrderStatusCount_condition"></include>
+
+ AND q.id in (
+ select oi.order_id
+ from t_order_item oi
+ left join t_order o
+ on oi.order_id=o.id
+ where oi.status in ('abnormal','reduce','lack','back')
+ and o.transfer_id is null
+ and o.status in ('COLLECTION','SEND','RECEIVE')
+ )
+
+ union
+
+ SELECT 'PROCESSED' as value, count(1) orderCount
+ FROM t_order q
+ left join t_user u on q.create_by = u.id
+ WHERE q.deleted = 0
+ <include refid="getAbnormalOrderStatusCount_condition"></include>
+ AND q.id in (
+ select order_id from t_order_item oi where oi.status in ('abnormal','reduce','lack','back')
+ )
+ and q.id not in(
+ select oi.order_id
+ from t_order_item oi
+ left join t_order o
+ on oi.order_id=o.id
+ where oi.status in ('abnormal','reduce','lack','back')
+ and o.transfer_id is null
+ and o.status in ('COLLECTION','SEND','RECEIVE')
+ )
+
+ </select>
+
+ <select id="getAbnormalOrderStatusCount2"
+ resultType="com.mzl.flower.dto.response.payment.OrderStatusCountDTO">
+ SELECT 'UN_PROCESSED' as value, count(1) orderCount
+ FROM t_order q
+ left join t_user u on q.create_by = u.id
+ WHERE q.deleted = 0
+ <include refid="getAbnormalOrderStatusCount_condition"></include>
+
+ AND exists(
+ select 1 from t_order_item oi
+ where oi.order_id = q.id
+ and oi.status in ('abnormal','reduce','lack','back')
+ )
+ and q.transfer_id is null
+ and q.status in ('COLLECTION', 'SEND','RECEIVE')
+
+ union
+
+ SELECT 'PROCESSED' as value, count(1) orderCount
+ FROM t_order q
+ left join t_user u on q.create_by = u.id
+ WHERE q.deleted = 0
+ <include refid="getAbnormalOrderStatusCount_condition"></include>
+ AND exists(
+ select 1 from t_order_item oi
+ where oi.order_id = q.id
+ and oi.status in ('abnormal','reduce','lack','back')
+ )
+ AND not exists(
+ select 1 from t_order_item oi
+ where oi.order_id = q.id
+ and oi.status in ('abnormal','reduce','lack','back')
+ and q.transfer_id is null
+ and q.status in ('COLLECTION', 'SEND','RECEIVE')
+ )
+
+ </select>
+
+ <sql id="getAbnormalOrderStatusCount_condition">
+ <if test="condition.orderNo != null and condition.orderNo != ''">
+ AND q.order_no LIKE concat('%', #{condition.orderNo},'%')
+ </if>
+ <if test="condition.customerAddress != null and condition.customerAddress != ''">
+ AND q.customer_address LIKE concat('%', #{condition.customerAddress},'%')
+ </if>
+ <if test="condition.customer != null and condition.customer != ''">
+ AND (q.customer LIKE concat('%', #{condition.customer},'%')
+ or q.customer_tel LIKE concat('%', #{condition.customer},'%')
+ )
+ </if>
+ <if test="condition.createBy != null and condition.createBy != ''">
+ AND q.create_by = #{condition.createBy}
+ </if>
+ <if test="condition.status != null and condition.status != ''">
+ AND q.status = #{condition.status}
+ </if>
+ <if test="condition.statusBackend != null and condition.statusBackend != ''">
+ AND q.status_backend = #{condition.statusBackend}
+ </if>
+ <!-- <if test="condition.startDate != null">-->
+ <!-- AND q.payment_time >= #{condition.startDate}-->
+ <!-- </if>-->
+ <!-- <if test="condition.endDate != null">-->
+ <!-- AND q.payment_time <= #{condition.endDate}-->
+ <!-- </if>-->
+ <!-- <if test="condition.createStartDate != null">-->
+ <!-- AND q.create_time >= #{condition.createStartDate}-->
+ <!-- </if>-->
+ <!-- <if test="condition.createEndDate != null">-->
+ <!-- AND q.create_time <= #{condition.createEndDate}-->
+ <!-- </if>-->
+ <if test="condition.createStartDate != null">
+ AND q.payment_time >= #{condition.createStartDate}
+ </if>
+ <if test="condition.createEndDate != null">
+ AND q.payment_time < #{condition.createEndDate}
+ </if>
+ <if test="condition.partnerId != null">
+ AND q.partner_id = #{condition.partnerId}
+ </if>
+ <if test="condition.partnerName != null and condition.partnerName != ''">
+ AND q.partner_name LIKE concat('%', #{condition.partnerName},'%')
+ </if>
+<!-- <if test="condition.levelDown != null and condition.levelDown != ''">-->
+<!-- AND exists(-->
+<!-- select 1 from t_order_item oi-->
+<!-- where oi.order_id = q.id-->
+<!-- and (oi.status = 'reduce' or oi.status = 'abnormal')-->
+<!-- )-->
+<!-- and q.transfer_id is null-->
+<!-- and q.status in ('COLLECTION', 'SEND','RECEIVE')-->
+<!-- </if>-->
+ <if test="condition.billId != null and condition.billId != ''">
+ AND q.bill_id = #{condition.billId}
+ </if>
+ <if test="condition.flowerName != null and condition.flowerName != ''">
+ AND exists(
+ select 1 from t_order_item oi
+ where oi.order_id = q.id
+ and oi.flower_name LIKE concat('%', #{condition.flowerName},'%')
+ )
+ </if>
+
+ <if test="condition.warehouseLocationCode != null and condition.warehouseLocationCode != ''">
+ AND q.warehouse_location_code LIKE concat('%', #{condition.warehouseLocationCode},'%')
+ </if>
+ <if test="condition.createName != null and condition.createName != ''">
+ AND u.nick_name LIKE concat('%', #{condition.createName},'%')
+ </if>
+ <if test="condition.province != null and condition.province != ''">
+ AND q.customer_province LIKE concat('%', #{condition.province},'%')
+ </if>
+ <if test="condition.city != null and condition.city != ''">
+ AND q.customer_city LIKE concat('%', #{condition.city},'%')
+ </if>
+ <if test="condition.region != null and condition.region != ''">
+ AND q.customer_region LIKE concat('%', #{condition.region},'%')
+ </if>
+ </sql>
+
+
+ <update id="updatePaymentCreateDate">
+ update t_order set payment_date_sta=#{order.paymentDate}, create_date_sta=#{order.createDate} where id=#{order.id}
+ </update>
</mapper>
\ No newline at end of file
--
Gitblit v1.9.3