update real_goods_interest_user
set interest_status = 'hasPayment'
where id in (select id
from (select distinct ru.id
from `real_goods_interest_user` ru
left join `order_don` od on od.user_id = ru.user_id and od.goods_id = ru.goods_id
where od.status not in ('close', 'noPayment')
and ru.interest_status != 'hasPayment') s)
update real_goods_interest_user ru
set ru.pay_time= (select if(pay_time is null,created_time,pay_time) from `order_don` od where od.user_id = ru.user_id and od.goods_id = ru.goods_id and od.status not in ('close','noPayment') order by money desc limit 1),
ru.sku_id = (select sku_id from `order_don` od where od.user_id = ru.user_id and od.goods_id = ru.goods_id and od.status not in ('close','noPayment') order by money desc limit 1)
where interest_status = 'hasPayment'
and pay_time is null
SELECT o.order_no, o.real_name ,o.price,o.phone,o.source,o.pay_time ,u1.nickname as sharedName,u2.nickname as nickName
from order_don o LEFT JOIN user u1 on o.shared_id = u1.id
LEFT JOIN user u2 on o.user_id = u2.id
where o.promotion_id = #{promotionId,jdbcType=BIGINT}
and o.status = 'hasPayment'
and o.pay_time >= #{start,jdbcType=VARCHAR}
and #{end,jdbcType=VARCHAR} >= o.pay_time
select id,sku_id,user_id,money,is_distribute,`type` from `order_don`
where sku_id in
#{item}
and status not in
#{item}
and created_time between #{yesZeroDate} and #{thisZeroDate}
select s.*
from (select od.id as orderId,
od.user_id,
gd.id as goods_id,
od.sku_id,
od.money,
concat(od.user_id, gd.id) as groupBy,
od.created_time as orderCreatedTime
from `order_don` od
left join `goods_don` gd on gd.id = od.goods_id
left join `real_goods_interest_user` ru on ru.user_id = od.user_id
and ru.goods_id = od.goods_id
where gd.type = 2
and od.status = 'close'
and ru.id is null
group by od.id, od.user_id, gd.id, od.sku_id, od.money, od.created_time) s
where not EXISTS(
select id from `order_don` where user_id = s.user_id and goods_id = s.goods_id and status !='close')
select min(curdate) as firstDate,
max(curdate) as lastDate
from (select cast(sum(od.money)/100 as decimal(10,2)) as curdateMoney,
date_format(od.created_time,'%Y-%m-%d') curdate from order_don od
where od.status not in ('noPayment','close','refund')
group by od.goods_id,date_format(od.created_time,'%Y-%m-%d'))s
where 1 = 1
and curdate >= #{first}
and curdate < #{end}
select min(curdate) as firstDate,
max(curdate) as lastDate
from (select date_format(od.created_time,'%Y-%m-%d') curdate,
count(od.id) curdateOrderCount
from distribute_waiting_send_points dw
left join order_don od on od.id = dw.order_id
where dw.shared_id = #{userId}
and od.is_distribute is true
and dw.send_status not in ('not_exist', 'close')
group by od.goods_id, date_format(od.created_time, '%Y-%m-%d'))s
where 1 = 1
and curdate >= #{first}
and curdate < #{end}
select min(curdate) as firstDate,
max(curdate) as lastDate
from (select cast(sum(od.money)/100 as decimal(10,2)) as curdateMoney,
date_format(od.created_time,'%Y-%m-%d') curdate from order_don od
where od.status not in ('noPayment','close','refund')
group by date_format(od.created_time,'%Y-%m-%d'))s
where 1 = 1
and curdate >= #{first}
and curdate < #{end}
select count(distinct user_id) from order_don where ds_popularize_id = #{dsPopularizeId}
and status not in
#{item}
select *
from (select count(*) as orderCount, ifnull(sum(money),0) as orderMoney
from order_don
where popularize_id = #{popularizeId}
and created_time >= #{startTime}
and created_time < #{endTime}
and status not in ('close', 'noPayment')) s1
,
(select count(*) as refundCount, ifnull(sum(money),0) as refundMoney
from order_don
where popularize_id = #{popularizeId}
and created_time >= #{startTime}
and created_time < #{endTime}
and status = 'refund')
s2
select cast(ifnull((sum(money),0) - ifnull(sum(refund_money),0))/100 as decimal(10,2)) from `order_don` where sku_id in
#{item}
and status not in ('close','noPayment') and created_time between #{startDate} and #{endDate}
select cast((ifnull(sum(money),0) - ifnull(sum(refund_money),0))/100 as decimal(10,2)) from `order_don` where sku_id in
#{item}
and status not in ('close','noPayment') and is_distribute = 1
and created_time between #{startDate} and #{endDate}
select count(id) as orderNum,
ifnull(sum(money),0) as money
from order_don where goods_id in (select id from `goods_don` where type = #{type})
and status not in
#{item}
and created_time >= #{startDate}
and created_time < #{endDate}
select count(*) as numOfDsOrder,
ifnull(sum(money),0) as dsMoney
from `order_don` where yhs_id > 0 and status not in ('close','noPayment','refund')
and created_time >= #{startDate}
and created_time < #{endDate}