一、实现思路
这里用两个表,一个表放原始数据,另外一个表存放比较过后存在不同的数据:如下图
实现的具体代码如下
local rsultTab = {}
local conditon = {}
local subcondition = {}
conditon.payer_card_no = aes.encryptData(globaltab.req8583tab[2])
subcondition = {}
subcondition["$in"] = {"120", "131"}
conditon.pb_trans_type = subcondition
subcondition = {}
subcondition["$in"] = {"0000", "8999"}
conditon.bank_resp_code = subcondition
conditon.ybs_mer_code = globaltab.reqpbtab["tfmccode"]
rsultTab = {"pb_trans_type", "conv_amt", "teacct"}
local res , _err = _M.queryFlow(mf, rsultTab, conditon)
if res.rowscnt == 0 then
log(m_uuid,"NO_DATA_FOUND")
return true
end
local cnt = 0
local octcardtab = {}
local flag = 0
octcardtab[1] = aes.encryptData(globaltab.req8583tab[59])
local i, j
for i=1, res.rowscnt do
for j=1, #octcardtab do
if octcardtab[j] == res.rows[i].teacct then
--if exist
flag = 1
break
end
end
if flag == 0 then
log(m_uuid, "======================" .. i )
octcardtab[#octcardtab+1] = res.rows[i].teacct
end
flag = 0
end
for k, v in pairs(octcardtab) do
log(m_uuid, k .. "=" .. v)
end
--判断是否每天超过5张不同的八达通卡
if #octcardtab > 5 then
return nil
end