SELECT shop_id as shopId,
sum(real_pay_amount) as payAmount,
count(0) as payCount
from order_master_v2
where order_status = 4 and order_type != '3'
and org_id = #{orgId}
and shop_id = #{shopId}
and created_at >= #{createBegin}
and created_at <= #{createEnd}
GROUP BY shop_id
ORDER BY shop_id asc
SELECT distinct pay_type as payType
from trade_mch_pay_channel
where org_id = #{orgId}
SELECT
paid.shop_id AS shopId,
IFNULL( payAmount, 0 )AS payAmount,
IFNULL( discountAmount, 0 )AS discountAmount,
IFNULL( payCount, 0 )AS payCount,
IFNULL( refundAmount, 0 )AS refundAmount,
IFNULL( refundCount, 0 )AS refundCount,
IFNULL( ( IFNULL(payAmount,0) - IFNULL(refundAmount,0) ), 0 ) AS amount
FROM
(
SELECT
IFNULL( SUM( pay_order_v2.pay_amount ) / 100, 0 ) AS payAmount,
COUNT( 0 ) AS payCount,
0 AS discountAmount,
shop_id
FROM
order_master_v2
LEFT JOIN pay_order_v2 ON pay_order_v2.m_order_number = order_master_v2.order_number
WHERE order_master_v2.order_type != '3' AND pay_order_v2.pay_type NOT IN ('29','30')
AND order_master_v2.org_id = #{orgId}
AND order_master_v2.shop_id = #{shopId}
AND pay_order_v2.created_at >= #{createBegin}
AND pay_order_v2.created_at <= #{createEnd}
AND pay_order_v2.pay_type IN
#{payTypeItem}
AND ( pay_order_v2.pay_status = 2 OR pay_order_v2.pay_status = 5 OR pay_order_v2.pay_status = 4 )
GROUP BY
shop_id
) AS paid
LEFT JOIN (
SELECT
IFNULL( SUM( refunded_amount ) / 100, 0 ) refundAmount,
COUNT( 0 ) refundCount,
shop_id
FROM
order_master_v2
LEFT JOIN pay_refund_order_v2 ON pay_refund_order_v2.m_order_number = order_master_v2.order_number
WHERE order_master_v2.order_type != '3' AND pay_refund_order_v2.pay_type NOT IN ('29','30')
AND order_master_v2.org_id = #{orgId}
AND order_master_v2.shop_id = #{shopId}
AND pay_refund_order_v2.created_at >= #{createBegin}
AND pay_refund_order_v2.created_at <= #{createEnd}
AND pay_refund_order_v2.pay_type IN
#{payTypeItem}
AND pay_refund_order_v2.refund_status = 2
GROUP BY
shop_id
) AS refund
ON refund.shop_id = paid.shop_id
select sum(_temp.payAmount) as payAmount, sum(_temp.payCount) as payCount,sum(_temp.refundAmount) as refundAmount,
sum(_temp.refundCount) as refundCount
from ( ) as _temp
SELECT
pay_type_dict_v2.pay_type AS payType,
ifnull( payAmount, 0 )AS payAmount,
ifnull( discountAmount, 0 )AS discountAmount,
ifnull( payCount, 0 )AS payCount,
ifnull( refundAmount, 0 )AS refundAmount,
ifnull( refundCount, 0 )AS refundCount,
ifnull( ( ifnull(payAmount,0) - ifnull(refundAmount,0) ), 0 ) AS amount
FROM
pay_type_dict_v2
LEFT JOIN (
SELECT
ifnull( sum( pay_order_v2.pay_amount ) / 100, 0 ) AS payAmount,
count( 0 ) AS payCount,
0 AS discountAmount,
pay_type AS payType
FROM
pay_order_v2
LEFT JOIN order_master_v2 ON pay_order_v2.m_order_number = order_master_v2.order_number
where order_master_v2.order_type != '3' and pay_order_v2.pay_type not in ('29','30')
and order_master_v2.org_id = #{orgId}
and order_master_v2.shop_id = #{shopId}
and pay_order_v2.created_at >= #{createBegin}
and pay_order_v2.created_at <= #{createEnd}
and pay_order_v2.pay_type in
#{payTypeItem}
AND ( pay_order_v2.pay_status = 2 OR pay_order_v2.pay_status = 5 OR pay_order_v2.pay_status = 4 )
GROUP BY
pay_type
) AS paid ON pay_type_dict_v2.pay_type = paid.payType
LEFT JOIN (
SELECT
ifnull( sum( refunded_amount ) / 100, 0 ) refundAmount,
count( 0 ) refundCount,
pay_type AS payType
FROM
pay_refund_order_v2 AS pay_order_v2
LEFT JOIN order_master_v2 ON pay_order_v2.m_order_number = order_master_v2.order_number
where order_master_v2.order_type != '3' and pay_order_v2.pay_type not in ('29','30')
and order_master_v2.org_id = #{orgId}
and order_master_v2.shop_id = #{shopId}
and pay_order_v2.created_at >= #{createBegin}
and pay_order_v2.created_at <= #{createEnd}
and pay_order_v2.pay_type in
#{payTypeItem}
AND refund_status = 2
GROUP BY
pay_type
) AS refund ON pay_type_dict_v2.pay_type = refund.payType
where pay_type_dict_v2.pay_type not in ('29','30')
and pay_type_dict_v2.pay_type in
#{payTypeItem}
select sum(_temp.payAmount) as payAmount, sum(_temp.payCount) as payCount,sum(_temp.refundAmount) as refundAmount,
sum(_temp.refundCount) as refundCount
from
(
SELECT
pay_type_dict_v2.pay_type AS payType,
ifnull( payAmount, 0 )AS payAmount,
ifnull( discountAmount, 0 )AS discountAmount,
ifnull( payCount, 0 )AS payCount,
ifnull( refundAmount, 0 )AS refundAmount,
ifnull( refundCount, 0 )AS refundCount,
ifnull( ( ifnull(payAmount,0) - ifnull(refundAmount,0) ), 0 ) AS amount
FROM
pay_type_dict_v2
LEFT JOIN (
SELECT
ifnull( sum( pay_order_v2.pay_amount ) / 100, 0 ) AS payAmount,
count( 0 ) AS payCount,
0 AS discountAmount,
pay_type AS payType
FROM
pay_order_v2
LEFT JOIN order_master_v2 ON pay_order_v2.m_order_number = order_master_v2.order_number
where order_master_v2.order_type != '3' and pay_order_v2.pay_type not in ('29','30')
and order_master_v2.org_id = #{orgId}
and order_master_v2.shop_id = #{shopId}
and pay_order_v2.created_at >= #{createBegin}
and pay_order_v2.created_at <= #{createEnd}
and pay_order_v2.pay_type in
#{payTypeItem}
AND ( pay_order_v2.pay_status = 2 OR pay_order_v2.pay_status = 5 OR pay_order_v2.pay_status = 4 )
GROUP BY
pay_type
) AS paid ON pay_type_dict_v2.pay_type = paid.payType
LEFT JOIN (
SELECT
ifnull( sum( refunded_amount ) / 100, 0 ) refundAmount,
count( 0 ) refundCount,
pay_type AS payType
FROM
pay_refund_order_v2 AS pay_order_v2
LEFT JOIN order_master_v2 ON pay_order_v2.m_order_number = order_master_v2.order_number
where order_master_v2.order_type != '3' and pay_order_v2.pay_type not in ('29','30')
and order_master_v2.org_id = #{orgId}
and order_master_v2.shop_id = #{shopId}
and pay_order_v2.created_at >= #{createBegin}
and pay_order_v2.created_at <= #{createEnd}
and pay_order_v2.pay_type in
#{payTypeItem}
AND refund_status = 2
GROUP BY
pay_type
) AS refund ON pay_type_dict_v2.pay_type = refund.payType
where pay_type_dict_v2.pay_type not in ('29','30')
and pay_type_dict_v2.pay_type in
#{payTypeItem}
) as _temp
select id,name from `shop` where status = 1
and org = #{orgId}
order by name asc
select pay_type,name from `trade_pay_type_dict`
SELECT o.id,o.shop_id as shopId,o.paid_time AS paidTime,o.order_number AS orderNumber,o.serial_no AS serialNo,
o.order_amount/100 AS orderAmount,
sum( IF ( p.pay_type = 29, pay_amount, 0 ) )/100 AS discountAmount,
o.real_pay_amount / 100 AS realPayAmount,
o.order_status AS orderStatus,
p.pay_type as payType
FROM
order_master_v2 AS o
LEFT JOIN pay_order_v2 AS p ON o.order_number = p.m_order_number
where 1=1
and o.org_id = #{orgId}
and o.shop_id = #{shopId}
and o.created_at >= #{createBegin}
and o.created_at <= #{createEnd}
GROUP BY
o.order_number
ORDER BY o.created_at desc
select id,order_number as orderNumber,org_id as orgId,shop_id as shopId,buyer_id as buyerId,serial_no as serialNo,device_name as deviceName,
customer_number as customerNumber,seq_no as seqNo,(ifnull( order_amount, 0 )/100) AS orderAmount,(ifnull( real_pay_amount, 0 )/100) AS realPayAmount,
order_amount_unit as orderAmountUnit,paid_time as paidTime,refund_time as refundTime,order_status as orderStatus
from order_master_v2 where id=#{id}
update order_master_v2 set order_status=#{payStatus} where order_number=#{orderNumber}
select * from pay_order_v2 where m_order_number=#{orderNumber} and pay_status = #{payStatus}
insert into pay_order_v2(m_order_number,trade_id,device_id,device_name,description,pay_type,pay_type_name,pay_amount,refunded_amount,
time_expire,pay_status,pay_time,version,trade_type,created_at,created_by,updated_by,updated_at)
values (#{orderNumber},#{tradeId},#{deviceId},#{deviceName},#{description},#{payType},#{payTypeName},#{realPayAmount},#{refundAmount},
now(),#{payStatus},now(),1,"NATIVE",now(),"system","system",now())
select serial_no as serialNo,alias from device where status = 0 and organization_id = #{organizationId} and store_id = #{shopId}
SELECT us.`shop`,ui.id,ui.`username`,ui.`nickname` FROM user_info ui LEFT JOIN user_shop us ON ui.id = us.`usr`
WHERE ui.org = #{orgId} AND ui.activated = TRUE AND ui.username = #{username}
select * from
(select org_id, shop_id, username, serial_no,
min(case when status=1 then created_at else '3109-12-30 23:59:59' end) as loginTime,
max(case when status=2 and is_shift=1 then created_at else 0 end) as shiftTime
from user_login_record
where org_id = #{orgId} and created_at > #{createBegin} and created_at <= #{createEnd}
and username = #{customerNumber}
and shop_id = #{shopId}
GROUP BY username) as a
where shiftTime > 0
SELECT
po.createdBy,
sum( IF ( po.payType = 6, po.paidAmount, 0 ) ) AS "6payType",
sum( IF ( po.payType = 24, po.paidAmount, 0 ) ) AS "24payType",
sum( IF ( po.payType = 31, po.paidAmount, 0 ) ) AS "31payType",
sum( IF ( po.payType = 32, po.paidAmount, 0 ) ) AS "32payType",
sum( IF ( po.payType = 6, IFNULL(ro.refundAmount,0), 0 ) ) AS "6payTypeRefund",
sum( IF ( po.payType = 24, IFNULL(ro.refundAmount,0), 0 ) ) AS "24payTypeRefund",
sum( IF ( po.payType = 31, IFNULL(ro.refundAmount,0), 0 ) ) AS "31payTypeRefund",
sum( IF ( po.payType = 32, IFNULL(ro.refundAmount,0), 0 ) ) AS "32payTypeRefund",
sum( IF ( po.createdHour > 12, po.paidAmount - IFNULL(ro.refundAmount,0), 0 ) ) AS pmPaidAmount,
sum( IF ( 12 >= po.createdHour, po.paidAmount - IFNULL(ro.refundAmount, 0),0 ) ) AS amPaidAmount,
sum( po.paidAmount - IFNULL(ro.refundAmount, 0) ) AS paidAmount
FROM
(
SELECT
o.created_by AS createdBy,
o.order_number AS orderNumber,
p.pay_type AS payType,
p.pay_type_name AS payTypeName,
sum( IFNULL( pay_amount, 0 ) ) / 100 AS paidAmount,
HOUR ( o.created_at ) AS createdHour
FROM
pay_order_v2 AS p
LEFT JOIN order_master_v2 AS o ON p.m_order_number = o.order_number
where order_master_v2.org_id = #{orgId}
and order_master_v2.shop_id = #{shopId}
and pay_order_v2.created_at >= #{createBegin}
and pay_order_v2.created_at <= #{createEnd}
and pay_order_v2.created_by = #{createBy}
AND ( p.pay_status = 2 OR p.pay_status = 5 OR p.pay_status = 4 )
AND p.pay_type != 29
AND p.pay_type != 30
GROUP BY
o.order_number,
p.pay_type
) AS po
LEFT JOIN (
SELECT
o.order_number AS orderNumber,
r.pay_type AS payType,
sum( IFNULL( r.refunded_amount, 0 ) ) / 100 AS refundAmount
FROM
pay_refund_order_v2 AS r
LEFT JOIN order_master_v2 AS o ON r.m_order_number = o.order_number
where order_master_v2.org_id = #{orgId}
and order_master_v2.shop_id = #{shopId}
and pay_order_v2.created_at >= #{createBegin}
and pay_order_v2.created_at <= #{createEnd}
and pay_order_v2.created_by = #{createBy}
AND ( r.refund_status = 2 )
AND r.pay_type != 29
AND r.pay_type != 30
GROUP BY
o.order_number,
r.pay_type
) AS ro ON ro.orderNumber = po.orderNumber and po.payType=ro.payType
GROUP BY
createdBy