add ticket usage count increment trigger, add log, fix card flag update query, fix customer card move update

This commit is contained in:
2016-03-20 15:36:05 +01:00
parent 1d5a5be5bf
commit 7db129de92
18 changed files with 846 additions and 25 deletions

View File

@@ -37,22 +37,31 @@ class Ticket extends \common\models\BaseFitnessActiveRecord
const STATUS_INACTIVE = 20;
public static $SQL_UPDATE = "UPDATE card as c1
left JOIN ( select distinct ticket.id_card as id_card ,ticket.id_ticket as id_ticket from ticket
left JOIN ( select ticket.id_card as id_card , max(ticket.id_ticket) as id_ticket
from ticket
where ticket.start <= CURDATE()
and ticket.end >= curdate() and ticket.status = 10
and ticket.usage_count < ticket.max_usage_count
order by id_ticket desc limit 1 ) as t
and ticket.end >= curdate()
and ticket.status = 10
and ticket.usage_count < ticket.max_usage_count
group by id_card
order by id_card desc
) as t
on t.id_card = c1.id_card
SET c1.flag = case when t.id_card is null then ( c1.flag | 1 << 0 ) else ( c1.flag & ~(1 << 0) ) end
, c1.id_ticket_current = case when t.id_ticket is null then null else t.id_ticket end
WHERE c1.type <> 50";
public static $SQL_UPDATE_CARD = "UPDATE card as c1
left JOIN ( select distinct ticket.id_card as id_card ,ticket.id_ticket as id_ticket from ticket
left JOIN ( select ticket.id_card as id_card , max(ticket.id_ticket) as id_ticket
from ticket
where ticket.start <= CURDATE()
and ticket.end >= curdate() and ticket.status = 10
and ticket.end >= curdate()
and ticket.status = 10
and ticket.usage_count < ticket.max_usage_count
order by id_ticket desc limit 1 ) as t
and ticket.id_card = :id
group by id_card
order by id_card desc
) as t
on t.id_card = c1.id_card
SET c1.flag = case when t.id_card is null then ( c1.flag | 1 << 0 ) else ( c1.flag & ~(1 << 0) ) end
, c1.id_ticket_current = case when t.id_ticket is null then null else t.id_ticket end