HikAddcard.py 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. import requests
  2. import json
  3. import datetime
  4. import random
  5. from Utils.HikAccessToken import hik_access_token
  6. def datetime_now():
  7. datetimenow = datetime.datetime.now().strftime("%Y%m%d%H%M%S")
  8. return datetimenow
  9. def getcardNo():
  10. all_chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
  11. captcha = ''
  12. for _ in range(15):
  13. a = random.choice(all_chars)
  14. captcha += a # 连接字符串
  15. return captcha
  16. def hik_getcard(jobids):
  17. card_lists = []
  18. for i in jobids:
  19. if i is not None:
  20. card = {
  21. "cardNo": getcardNo(),
  22. "cardType": "normalCard",
  23. "employeeNo": i
  24. }
  25. card_lists.append(card)
  26. return card_lists
  27. def hik_addcard(hik_accesstoken,jobids):
  28. headers = {"content-type": "application/json"}
  29. data = {
  30. "cards": hik_getcard(jobids)
  31. }
  32. print(data)
  33. response = requests.post(
  34. url="https://api2.hik-cloud.com/api/v1/open/basic/cards/batchCreate?access_token=%s" % hik_accesstoken,
  35. headers=headers,
  36. data=json.dumps(data)
  37. )
  38. print(response.json())
  39. if response.json()["code"] == 200:
  40. print("%s,创建卡片成功"%(datetime_now()))
  41. else:
  42. print(datetime_now(),response.json()["message"])
  43. # return response.text
  44. if __name__ == '__main__':
  45. with open("../config.json") as f:
  46. data = json.load(f)
  47. appkey = data["appkey"]
  48. appsecret = data["appsecret"]
  49. client_id = data["client_id"]
  50. client_secret = data["client_secret"]
  51. groupId = data["groupId"]
  52. sleeptime = data["sleeptime"]
  53. # 获取Hik token
  54. hik_accesstoken = hik_access_token(client_id, client_secret)
  55. print(hik_accesstoken)
  56. diff_value = ["2900",
  57. "2810",
  58. "2820",
  59. "2967",
  60. "2988",
  61. "2999",
  62. "2832",
  63. "3014",
  64. "2819",
  65. "2899",
  66. "2812",
  67. "2966",
  68. "2884",
  69. "2997",
  70. "2975",
  71. "2813",
  72. "2892",
  73. "2865",
  74. "2906",
  75. "2983",
  76. "2823",
  77. "3082",
  78. "2989",
  79. "2881",
  80. "3043",
  81. "2879",
  82. "2888",
  83. "2954",
  84. "2811",
  85. "3034",
  86. "2902",
  87. "2863",
  88. "2821",
  89. "3024",
  90. "2974",
  91. "2816",
  92. "2903",
  93. "2973",
  94. "3015",
  95. "3078",
  96. "2993",
  97. "2862",
  98. "2860",
  99. "2893"
  100. ]
  101. hik_addcard(hik_accesstoken, list(diff_value))