消费金额按厘计算
diff --git a/supwisdom/sp_communicate.c b/supwisdom/sp_communicate.c
index fab5b44..3ea33cf 100644
--- a/supwisdom/sp_communicate.c
+++ b/supwisdom/sp_communicate.c
@@ -144,7 +144,7 @@
}
else if(IS_KEY(PK_INT_AMOUNT_LIMIT,field.key))
{
- card->amountlimit = (uint32)field.val.intval;
+ card->amountlimit = (uint32)field.val.intval*10;
}
}
//disp_hint_info(pos,"Éí·ÝÈÏÖ¤³É¹¦",DELAY_TIME1s);
@@ -167,7 +167,7 @@
cw_pack_map_size(&pack,4);
sp_pack_put_bin(&pack, PK_BIN_CARDPHYID, card->cardphyid, 4);
- sp_pack_put_bin(&pack, PK_BIN_CITIZEN_CARDNO, card->citizen_cardno+8, 4);
+ sp_pack_put_bin(&pack, PK_BIN_CITIZEN_CARDNO, card->citizen_cardno, 4);
sp_pack_put_bin(&pack, PK_BIN_DEVPHYID, pos->devphyid, 4);
sp_pack_put_bin(&pack, PK_BIN_DEVTIME, ctime, 6);
@@ -360,7 +360,7 @@
}
else if(IS_KEY(PK_INT_PAYAMT, field.key))
{
- card->qrcode.paidAmount = (uint8)field.val.intval;
+ card->qrcode.paidAmount = (uint32)field.val.intval;
}
else if(IS_KEY(PK_INT_FEEAMOUNT,field.key))
{
@@ -384,7 +384,7 @@
}
else if(IS_KEY(PK_INT_AMOUNT_LIMIT,field.key))
{
- card->amountlimit = (uint16)field.val.intval;
+ card->amountlimit = (uint32)field.val.intval*10;
}
}
return resp.retcode;
@@ -417,10 +417,12 @@
cw_pack_context pack;
sp_protocol_request_t req;
+ pos->heartbeat.heart_status = HEART_SEND;
+
transdtl_account_cobilLno = transdtl->cobillno;
sp_protocol_req_init(&req, SP_CMD_TRANSDTL_ACCOUNT);
sp_pack_init(&pack,req.data,sizeof(req.data));
- cw_pack_map_size(&pack,10);
+ cw_pack_map_size(&pack,11);
sp_pack_put_bin(&pack, PK_BIN_DEVPHYID, transdtl->devphyid,4);
sp_pack_put_bin(&pack, PK_BIN_TRANSDATE, transdtl->transdate,3);
@@ -428,6 +430,7 @@
sp_pack_put_int(&pack, PK_INT_COBILLNO, transdtl->cobillno);
sp_pack_put_bin(&pack, PK_BIN_CARDPHYID, transdtl->cardphyid,
sizeof(transdtl->cardphyid));
+ sp_pack_put_bin(&pack, PK_BIN_CITIZEN_CARDNO, transdtl->cardno, 4);
sp_pack_put_int(&pack, PK_INT_TRANSWAY, transdtl->transway);
sp_pack_put_int(&pack, PK_INT_AMOUNT, transdtl->amount);
sp_pack_put_int(&pack, PK_INT_PAYAMT, transdtl->paidAmount);
@@ -447,29 +450,30 @@
cw_unpack_context unpack;
unpack_field_t field;
- if(!resp->retcode)
+ if(resp->retcode)
{
- sp_unpack_init(&unpack, resp->data, resp->datalen);
- size = sp_unpack_map_size(&unpack);
- while(size-- > 0)
+ return resp->retcode;
+ }
+ pos->heartbeat.heart_status = HEART_RECV;
+ sp_unpack_init(&unpack, resp->data, resp->datalen);
+ size = sp_unpack_map_size(&unpack);
+ while(size-- > 0)
+ {
+ sp_unpack_value(&unpack,&field);
+ if(IS_KEY(PK_INT_COBILLNO,field.key))
{
- sp_unpack_value(&unpack,&field);
- if(IS_KEY(PK_INT_COBILLNO,field.key))
+ if(field.val.intval == transdtl_account_cobilLno)
{
- if(field.val.intval == transdtl_account_cobilLno)
+ pos->unconfirm_transdtl.transaddr+= sizeof(sp_transdtl_t);
+ if(ADDR_TRANSDTL_END <= pos->unconfirm_transdtl.transaddr)
{
- pos->unconfirm_transdtl.transaddr+= sizeof(sp_transdtl_t);
- if(ADDR_TRANSDTL_END <= pos->unconfirm_transdtl.transaddr)
- {
- pos->unconfirm_transdtl.transaddr= ADDR_TRANSDTL_BEGIN;
- }
- return sp_write_unconfirm_record(pos);
+ pos->unconfirm_transdtl.transaddr= ADDR_TRANSDTL_BEGIN;
}
+ return sp_write_unconfirm_record(pos);
}
}
}
return resp->retcode;
-
}
static uint8 sp_confirm_heartbeat(sp_protocol_response_t* resp, sp_pos_t* pos)