|
@@ -56,7 +56,7 @@ class UnicomComboView(View):
|
|
|
return self.device_status_change_push(request_dict, request)
|
|
|
elif operation == 'device-bind': # 服务器保存设备的ICCID
|
|
|
return self.device_add(request_dict, response)
|
|
|
- elif operation == 'device-status': # PC调用解绑SIM卡用户
|
|
|
+ elif operation == 'device-status': # PC调用解绑SIM卡用户,清除套餐数据
|
|
|
return self.update_device_status(request_dict, response)
|
|
|
elif operation == 'update-card': # 更新SIM类型
|
|
|
return self.update_device_card_type(request_dict, response)
|
|
@@ -180,8 +180,11 @@ class UnicomComboView(View):
|
|
|
'unify_combo_id': str(combo_info_vo['id']), 'order_type': 2,
|
|
|
'store_meal_name': combo_info_vo['combo_name']
|
|
|
}
|
|
|
- Order_Model.objects.create(**order_dict)
|
|
|
- combo_order_qs.update(order_id=order_id)
|
|
|
+ order_qs = Order_Model.objects.filter(UID=uid, userID=user_id, order_type=2,
|
|
|
+ unify_combo_id=str(combo_info_vo['id']))
|
|
|
+ if not order_qs.exists():
|
|
|
+ Order_Model.objects.create(**order_dict)
|
|
|
+ combo_order_qs.update(order_id=order_id)
|
|
|
UnicomDeviceInfo.objects.filter(iccid=icc_id).update(user_id=user_id, updated_time=n_time)
|
|
|
return True
|
|
|
except Exception as e:
|
|
@@ -239,19 +242,15 @@ class UnicomComboView(View):
|
|
|
@classmethod
|
|
|
def update_device_status(cls, request_dict, response):
|
|
|
"""
|
|
|
- 修改绑定设备状态,如产生免费套餐用量则删除
|
|
|
- @param request_dict:
|
|
|
- @param response:
|
|
|
- @return:
|
|
|
+ 重置SIM卡绑定状态修改为测试完成,以及重置流量,删除订单信息、删除系统消息
|
|
|
"""
|
|
|
logger = logging.getLogger('info')
|
|
|
-
|
|
|
serial_no = request_dict.get('serialNo', None)
|
|
|
time_stamp = request_dict.get('timeStamp', None)
|
|
|
sign = request_dict.get('sign', None)
|
|
|
if not all([serial_no, sign, time_stamp]):
|
|
|
return response.json(444)
|
|
|
- logger.info('PC工具进入重置ICCID{}'.format(serial_no))
|
|
|
+ logger.info('PC工具进入重置SIM卡{}'.format(serial_no))
|
|
|
try:
|
|
|
if not CommonService.check_time_stamp_token(sign, time_stamp):
|
|
|
return response.json(13)
|
|
@@ -259,7 +258,7 @@ class UnicomComboView(View):
|
|
|
redis = RedisObject()
|
|
|
with transaction.atomic():
|
|
|
device_info_qs = UnicomDeviceInfo.objects.filter(serial_no=serial_no)
|
|
|
- if device_info_qs.exists():
|
|
|
+ if device_info_qs.exists(): # 首先查询SIM卡绑定信息是否存在
|
|
|
iccid = device_info_qs.first().iccid
|
|
|
if device_info_qs.first().card_type == 1:
|
|
|
cls.reset_telecom_user(serial_no)
|
|
@@ -267,19 +266,25 @@ class UnicomComboView(View):
|
|
|
return response.json(0)
|
|
|
key = 'ASJ:UNICOM:RESET:{}'.format(serial_no)
|
|
|
flow_push_qs = UnicomFlowPush.objects.filter(serial_no=serial_no)
|
|
|
- if flow_push_qs.exists():
|
|
|
+ if flow_push_qs.exists(): # 删除流量预警推送
|
|
|
flow_push_qs.delete()
|
|
|
sys_msg_qs = SysMsgModel.objects.filter(uid=serial_no)
|
|
|
- if sys_msg_qs.exists():
|
|
|
+ if sys_msg_qs.exists(): # 删除有关系统消息数据
|
|
|
sys_msg_qs.delete()
|
|
|
device_info_qs.update(status=1, updated_time=now_time, user_id='')
|
|
|
combo_order_qs = UnicomComboOrderInfo.objects.filter(iccid=iccid)
|
|
|
+ order_list = []
|
|
|
if combo_order_qs.exists():
|
|
|
+ for item in combo_order_qs:
|
|
|
+ if item.order_id:
|
|
|
+ order_list.append(item)
|
|
|
combo_order_qs.delete()
|
|
|
combo_experience_history_qs = UnicomComboExperienceHistory.objects.filter(iccid=iccid)
|
|
|
if combo_experience_history_qs.exists():
|
|
|
combo_experience_history_qs.delete()
|
|
|
- redis.set_data(key, iccid, 60 * 30)
|
|
|
+ # 删除4G套餐订单
|
|
|
+ Order_Model.objects.filter(orderID__in=order_list).delete()
|
|
|
+ redis.set_data(key, iccid, 60 * 30) # 缓存当前SIM卡,记录为半个小时内无法赠送免费流量套餐。
|
|
|
UnicomObjeect().change_device_to_activate(iccid)
|
|
|
return response.json(0)
|
|
|
except Exception as e:
|