卡单次金额上限
diff --git a/supwisdom/sp_consume.c b/supwisdom/sp_consume.c
index da6ab83..5d28351 100644
--- a/supwisdom/sp_consume.c
+++ b/supwisdom/sp_consume.c
@@ -241,6 +241,7 @@
uint16 ret;
sp_transdtl_t record;
MEMCLEAR(&record, sizeof(record));
+ MEMCLEAR(card,sizeof(sp_card_t));
card->cardtype = pos->cardState.tag_type;
MEMCPY(card->cardphyid, pos->cardState.snr, 4);
ret = sp_card_read(card);
@@ -448,7 +449,12 @@
}
if(pos->purchase.paid_num > card->waterlimit)
{
- disp_hint_info_two(pos,"Í£Ö¹³öË®","ÒÑ´ïµ¥´Î³öË®ÉÏÏÞ",DELAY_TIME2s);
+ disp_hint_info_two(pos, "Í£Ö¹³öË®","ÒÑ´ïµ¥´Î³öË®ÉÏÏÞ", DELAY_TIME2s);
+ cardWorkState->current_state = CARDWORKSTATUS_STOPPING;
+ }
+ else if(pos->purchase.paid_sum > card->amountlimit)
+ {
+ disp_hint_info_two(pos, "Í£Ö¹³öË®","ÒÑ´ïµ¥´Î½ð¶îÉÏÏÞ", DELAY_TIME2s);
cardWorkState->current_state = CARDWORKSTATUS_STOPPING;
}
cardWorkState->pause_tick = timer_get_ticker();
@@ -640,6 +646,7 @@
break;
}
disp_hint_info_two(pos, "ÇëÇó¶þάÂë","ÇëÉÔµÈ...",0);
+ MEMCLEAR(&CARD,sizeof(sp_card_t));
ret = sp_qrcode_init(pos, &CARD);
if(ret)
{
@@ -704,11 +711,16 @@
cardWorkState->current_state = CARDWORKSTATUS_ERROR;
break;
}
- if(pos->purchase.paid_num > CARD.waterlimit)
+ if(pos->purchase.paid_num >CARD.waterlimit)
{
disp_hint_info_two(pos, "Í£Ö¹³öË®","ÒÑ´ïµ¥´Î³öË®ÉÏÏÞ", DELAY_TIME2s);
cardWorkState->current_state = CARDWORKSTATUS_STOPPING;
}
+ else if(pos->purchase.paid_sum > CARD.amountlimit)
+ {
+ disp_hint_info_two(pos, "Í£Ö¹³öË®","ÒÑ´ïµ¥´Î½ð¶îÉÏÏÞ", DELAY_TIME2s);
+ cardWorkState->current_state = CARDWORKSTATUS_STOPPING;
+ }
cardWorkState->last_state = cardWorkState->current_state;
cardWorkState->pause_tick = sp_get_ticker();
break;