diff --git a/apps/hrm/services.py b/apps/hrm/services.py index 5658281a..ea7e75db 100755 --- a/apps/hrm/services.py +++ b/apps/hrm/services.py @@ -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