|
|
@@ -375,6 +375,74 @@ class GetSIMInfo(object):
|
|
|
else:
|
|
|
return {}
|
|
|
|
|
|
+ def yuanzi(self):
|
|
|
+ yn_userid = 145
|
|
|
+ yn_now = int(time.time())
|
|
|
+ yn_apikey = "a55fa93a940a399a78a18f1cb17f0af3"
|
|
|
+ yn_params = f"userId={yn_userid}&apikey={yn_apikey}×={yn_now}"
|
|
|
+ md5 = hashlib.md5()
|
|
|
+ md5.update(yn_params.encode('utf-8'))
|
|
|
+ yn_sign = (md5.hexdigest()).upper()
|
|
|
+ url = f"http://www.yuanzizhineng.com:32040/api/v1/getChaxun?userId={yn_userid}&cardno={self.iccid}×={yn_now}&sign={yn_sign}"
|
|
|
+ try:
|
|
|
+ yn_ret = requests.get(
|
|
|
+ url,
|
|
|
+ timeout=(10,30)
|
|
|
+ )
|
|
|
+ yn_response = json.loads(yn_ret.text)
|
|
|
+ yn_code = yn_response.get("code")
|
|
|
+ except Exception as e:
|
|
|
+ yn_code = 1
|
|
|
+ if yn_code == 0:
|
|
|
+ yn_st_dict = {
|
|
|
+ "0":"未知",
|
|
|
+ "00":"正常",
|
|
|
+ "01":"单向停机",
|
|
|
+ "02":"停机",
|
|
|
+ "03":"预销号",
|
|
|
+ "04":"销号/拆机",
|
|
|
+ "05":"过户",
|
|
|
+ "06":"休眠",
|
|
|
+ "07":"待激",
|
|
|
+ "08":"已停用",
|
|
|
+ "09":"库存",
|
|
|
+ "10":"已失效",
|
|
|
+ "11":"违章停机",
|
|
|
+ "12":"挂失",
|
|
|
+ "13":"用户报停",
|
|
|
+ "14":"测试",
|
|
|
+ "99":"不存在"
|
|
|
+ }
|
|
|
+ try:
|
|
|
+ yn_data = yn_response.get("data")
|
|
|
+ autoname = yn_data.get("autoname")
|
|
|
+ nub = None
|
|
|
+ nub = 0
|
|
|
+ if "M" in autoname:
|
|
|
+ nubs = autoname.split("M")
|
|
|
+ if nubs:
|
|
|
+ nub = nubs[0]
|
|
|
+ if nub and nub.isdigit():
|
|
|
+ nub = int(nub)
|
|
|
+ if "G" in autoname:
|
|
|
+ nubs = autoname.split("G")
|
|
|
+ if nubs:
|
|
|
+ nub = nubs[0]
|
|
|
+ if nub and nub.isdigit():
|
|
|
+ nub = int(nub) * 1024
|
|
|
+ return {
|
|
|
+ "status": yn_st_dict.get(yn_data.get("state")),
|
|
|
+ "total": nub,
|
|
|
+ "used": int(yn_data.get("used")/1024) if yn_data.get("used") else 0,
|
|
|
+ "expire": yn_data.get("expired_at"),
|
|
|
+ "iccid": self.iccid,
|
|
|
+ "package": autoname,
|
|
|
+ "company": "元字智能",
|
|
|
+ "code": False
|
|
|
+ }
|
|
|
+ except Exception as e:
|
|
|
+ return []
|
|
|
+
|
|
|
def get_sim_info(self):
|
|
|
hz_data = self.hz_sim_info()
|
|
|
if hz_data["code"] == 0: # 合宙
|
|
|
@@ -426,13 +494,14 @@ class GetSIMInfo(object):
|
|
|
data_balance = str(xj_data.get("total") - xj_data.get("used")) + "M"
|
|
|
expiry_date = xj_data.get("expire")
|
|
|
else:
|
|
|
- sim_operators = 3
|
|
|
- account_status = "未知"
|
|
|
+ yuanzi_data = self.yuanzi()
|
|
|
+ sim_operators = 5
|
|
|
+ account_status = yuanzi_data.get("status")
|
|
|
active_date = "未知"
|
|
|
- data_plan = "未知"
|
|
|
- data_usage = "未知"
|
|
|
- data_balance = "未知"
|
|
|
- expiry_date = "未知"
|
|
|
+ data_plan = yuanzi_data.get("total")
|
|
|
+ data_usage = yuanzi_data.get("used")
|
|
|
+ data_balance = str(yuanzi_data.get("total") - yuanzi_data.get("used")) + "M"
|
|
|
+ expiry_date = yuanzi_data.get("expire")
|
|
|
except Exception as e:
|
|
|
sim_operators = 3
|
|
|
account_status = "未知"
|
|
|
@@ -441,6 +510,7 @@ class GetSIMInfo(object):
|
|
|
data_usage = "未知"
|
|
|
data_balance = "未知"
|
|
|
expiry_date = "未知"
|
|
|
+
|
|
|
return sim_operators,account_status,active_date,data_plan,data_usage,data_balance,expiry_date
|
|
|
|
|
|
|