|
@@ -309,6 +309,72 @@ class GetSIMInfo(object):
|
|
|
data = {'code': 99999, 'msg': '接口调用异常异常'}
|
|
data = {'code': 99999, 'msg': '接口调用异常异常'}
|
|
|
return data
|
|
return data
|
|
|
|
|
|
|
|
|
|
+ def xj_sim_info(self):
|
|
|
|
|
+ # 信金
|
|
|
|
|
+ xj_userid = 137
|
|
|
|
|
+ xj_now = int(time.time())
|
|
|
|
|
+ xj_apikey = "2ae46f82215a187ba22656db9a9848d8"
|
|
|
|
|
+ xj_params = f"userId={xj_userid}&apikey={xj_apikey}×={xj_now}"
|
|
|
|
|
+ md5 = hashlib.md5()
|
|
|
|
|
+ md5.update(xj_params.encode('utf-8'))
|
|
|
|
|
+ xj_sign = (md5.hexdigest()).upper()
|
|
|
|
|
+ url = f"http://hywx.xjict.com:32040/api/v1/getChaxun?userId={xj_userid}&cardno={self.iccid}×={xj_now}&sign={xj_sign}"
|
|
|
|
|
+ xj_ret = requests.get(
|
|
|
|
|
+ url,
|
|
|
|
|
+ timeout=(10,30)
|
|
|
|
|
+ )
|
|
|
|
|
+ xj_response = json.loads(xj_ret.text)
|
|
|
|
|
+ xj_code = xj_response.get("code")
|
|
|
|
|
+ if xj_code == 0:
|
|
|
|
|
+ xj_st_dict = {
|
|
|
|
|
+ "0":"未知",
|
|
|
|
|
+ "00":"正常",
|
|
|
|
|
+ "01":"单向停机",
|
|
|
|
|
+ "02":"停机",
|
|
|
|
|
+ "03":"预销号",
|
|
|
|
|
+ "04":"销号/拆机",
|
|
|
|
|
+ "05":"过户",
|
|
|
|
|
+ "06":"休眠",
|
|
|
|
|
+ "07":"待激",
|
|
|
|
|
+ "08":"已停用",
|
|
|
|
|
+ "09":"库存",
|
|
|
|
|
+ "10":"已失效",
|
|
|
|
|
+ "11":"违章停机",
|
|
|
|
|
+ "12":"挂失",
|
|
|
|
|
+ "13":"用户报停",
|
|
|
|
|
+ "14":"测试",
|
|
|
|
|
+ "99":"不存在"
|
|
|
|
|
+ }
|
|
|
|
|
+ xj_data = xj_response.get("data")
|
|
|
|
|
+ autoname = xj_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 {
|
|
|
|
|
+ "created_at": xj_data.get("shouchong_time"),
|
|
|
|
|
+ "status": xj_st_dict.get(xj_data.get("state")),
|
|
|
|
|
+ "total": nub,
|
|
|
|
|
+ "used": int(xj_data.get("used")/1024) if xj_data.get("used") else 0,
|
|
|
|
|
+ "expire": xj_data.get("expired_at"),
|
|
|
|
|
+ "iccid": self.iccid,
|
|
|
|
|
+ "package": autoname,
|
|
|
|
|
+ "company": "信金",
|
|
|
|
|
+ "code": False
|
|
|
|
|
+ }
|
|
|
|
|
+ else:
|
|
|
|
|
+ return {}
|
|
|
|
|
+
|
|
|
def get_sim_info(self):
|
|
def get_sim_info(self):
|
|
|
hz_data = self.hz_sim_info()
|
|
hz_data = self.hz_sim_info()
|
|
|
if hz_data["code"] == 0: # 合宙
|
|
if hz_data["code"] == 0: # 合宙
|
|
@@ -348,11 +414,36 @@ class GetSIMInfo(object):
|
|
|
data_balance = "未激活"
|
|
data_balance = "未激活"
|
|
|
expiry_date = "未激活"
|
|
expiry_date = "未激活"
|
|
|
else:
|
|
else:
|
|
|
- sim_operators = 3
|
|
|
|
|
- account_status = "未知"
|
|
|
|
|
- active_date = "未知"
|
|
|
|
|
- data_plan = "未知"
|
|
|
|
|
- data_usage = "未知"
|
|
|
|
|
- data_balance = "未知"
|
|
|
|
|
- expiry_date = "未知"
|
|
|
|
|
|
|
+ try:
|
|
|
|
|
+ # 增加信金厂商
|
|
|
|
|
+ xj_data = self.xj_sim_info()
|
|
|
|
|
+ if xj_data:
|
|
|
|
|
+ sim_operators = 4
|
|
|
|
|
+ account_status = xj_data.get("status")
|
|
|
|
|
+ active_date = xj_data.get("created_at")
|
|
|
|
|
+ data_plan = str(xj_data.get("total")) + "M"
|
|
|
|
|
+ data_usage = str(xj_data.get("used")) + "M"
|
|
|
|
|
+ data_balance = str(xj_data.get("total") - xj_data.get("used")) + "M"
|
|
|
|
|
+ expiry_date = xj_data.get("expire")
|
|
|
|
|
+ else:
|
|
|
|
|
+ sim_operators = 3
|
|
|
|
|
+ account_status = "未知"
|
|
|
|
|
+ active_date = "未知"
|
|
|
|
|
+ data_plan = "未知"
|
|
|
|
|
+ data_usage = "未知"
|
|
|
|
|
+ data_balance = "未知"
|
|
|
|
|
+ expiry_date = "未知"
|
|
|
|
|
+ except Exception as e:
|
|
|
|
|
+ sim_operators = 3
|
|
|
|
|
+ account_status = "未知"
|
|
|
|
|
+ active_date = "未知"
|
|
|
|
|
+ data_plan = "未知"
|
|
|
|
|
+ data_usage = "未知"
|
|
|
|
|
+ data_balance = "未知"
|
|
|
|
|
+ expiry_date = "未知"
|
|
|
return sim_operators,account_status,active_date,data_plan,data_usage,data_balance,expiry_date
|
|
return sim_operators,account_status,active_date,data_plan,data_usage,data_balance,expiry_date
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+if __name__ == "__main__":
|
|
|
|
|
+ sim_operators,account_status,active_date,data_plan,data_usage,data_balance,expiry_date = GetSIMInfo("898604F81623D0432214").get_sim_info()
|
|
|
|
|
+ print(sim_operators,account_status,active_date,data_plan,data_usage,data_balance,expiry_date)
|