fix: while 循环做card_door_authority的补偿机制

This commit is contained in:
caoqianming 2023-05-08 15:51:05 +08:00
parent f59426b426
commit 8d3d1934b7
1 changed files with 21 additions and 16 deletions

View File

@ -156,16 +156,16 @@ class HrmService:
"startDate": startDate,
"endDate": endDate
}
_, res = dhClient.request(**dhapis['card_add'], json=json_data)
dhClient.request(**dhapis['card_add'], json=json_data)
cls.save(ep, data={'dh_face_card': cardNumber,
'dh_face_card_start': startDate, 'dh_face_card_end': endDate})
anum = 0 # 尝试次数以确保卡片生成
while anum < 6:
time.sleep(2)
is_ok, res = dhClient.request(**dhapis['card_detail'], params={'cardNumber': cardNumber}, raise_exception=False)
if is_ok == 'success':
break
anum = anum + 1
# anum = 0 # 尝试次数以确保卡片生成
# while anum < 10:
# time.sleep(2)
# is_ok, res = dhClient.request(**dhapis['card_detail'], params={'cardNumber': cardNumber}, raise_exception=False)
# if is_ok == 'success':
# break
# anum = anum + 1
return cardNumber
@classmethod
@ -192,14 +192,19 @@ class HrmService:
"timeQuantumId": 1,
"cardPrivilegeDetails": details
}
dhClient.request(**dhapis['card_door_authority'], json=json_data)
# if is_ok == 'fail' and '44999999' in res['code']:
# time.sleep(14)
# dhClient.request(**dhapis['card_door_authority'], json=json_data)
# elif is_ok == 'fail':
# raise ParseError(**res)
# elif is_ok == 'error':
# raise APIException(**DH_REQUEST_ERROR)
ind = 0
while ind < 6:
time.sleep(5)
is_ok, res = dhClient.request(**dhapis['card_door_authority'], json=json_data, raise_exception=False)
if is_ok == 'success':
break
elif is_ok == 'fail' and '44999999' in res['code']:
ind = ind + 1
continue
elif is_ok == 'fail':
raise ParseError(**res)
elif is_ok == 'error':
raise APIException(**DH_REQUEST_ERROR)
cls.save(ep, data={'dh_dchannels': dh_dchannels})
return dh_dchannels