|
@@ -6,7 +6,7 @@
|
|
|
# @Software: PyCharm
|
|
|
import time
|
|
|
|
|
|
-from django.db import transaction
|
|
|
+from django.db import transaction, connection
|
|
|
from django.views.generic.base import View
|
|
|
|
|
|
from Controller.UnicomCombo.UnicomComboController import UnicomComboView
|
|
@@ -56,6 +56,10 @@ class UnicomManageControllerView(View):
|
|
|
# 充值流量
|
|
|
elif operation == 'getFlowPackages':
|
|
|
return self.get_flow_packages(request_dict, response)
|
|
|
+ elif operation == 'query-order':
|
|
|
+ return self.query_4G_user_order(request_dict, response)
|
|
|
+ else:
|
|
|
+ return response.json(0)
|
|
|
|
|
|
def get_user_info(self, request_dict, response):
|
|
|
"""
|
|
@@ -217,6 +221,69 @@ class UnicomManageControllerView(View):
|
|
|
print(e)
|
|
|
return response.json(500, repr(e))
|
|
|
|
|
|
+ @staticmethod
|
|
|
+ def query_sql_4g():
|
|
|
+ """
|
|
|
+ 4G关联查询SQL
|
|
|
+ @return: str
|
|
|
+ """
|
|
|
+ sql = 'SELECT '
|
|
|
+ sql += 'du.username,du.phone,o.UID as uid,o.`status`,udi.serial_no as serialNo,o.orderID,o.`desc`, '
|
|
|
+ sql += 'o.price,uo.next_month_activate as nextActivate,uo.iccid,uo.`status` as useStatus, '
|
|
|
+ sql += 'uo.updated_time as upTime, uo.activation_time as acTime,uo.expire_time as epTime '
|
|
|
+ sql += 'FROM orders o '
|
|
|
+ sql += 'LEFT JOIN unicom_combo_order_info uo ON o.orderID = uo.order_id '
|
|
|
+ sql += 'INNER JOIN device_user du ON du.userID = o.userID_id '
|
|
|
+ sql += 'INNER JOIN unicom_device_info udi ON udi.iccid = uo.iccid '
|
|
|
+ return sql
|
|
|
+
|
|
|
+ @staticmethod
|
|
|
+ def query_4G_user_order(request_dict, response):
|
|
|
+ """
|
|
|
+ 查询4G用户订单
|
|
|
+ """
|
|
|
+ try:
|
|
|
+ page = int(request_dict.get('pageNo', 1))
|
|
|
+ size = int(request_dict.get('pageSize', 10))
|
|
|
+ user_name = request_dict.get('userName', None)
|
|
|
+ uid = request_dict.get('uid', None)
|
|
|
+ serial_no = request_dict.get('serialNo', None)
|
|
|
+ combo_use_type = request_dict.get('comboUseType', None)
|
|
|
+ cursor = connection.cursor()
|
|
|
+ sql = UnicomManageControllerView.query_sql_4g()
|
|
|
+ sql += 'WHERE o.order_type = %s '
|
|
|
+ param_list = [2]
|
|
|
+ if user_name:
|
|
|
+ sql += "and du.username LIKE '%%s%' "
|
|
|
+ param_list.append(user_name)
|
|
|
+ if uid:
|
|
|
+ sql += "and o.UID LIKE '%%s%' "
|
|
|
+ param_list.append(uid)
|
|
|
+ if uid:
|
|
|
+ sql += "and udi.serial_no LIKE '%%s%' "
|
|
|
+ param_list.append(serial_no)
|
|
|
+ if combo_use_type:
|
|
|
+ sql += 'and uo.status = %s '
|
|
|
+ param_list.append(int(combo_use_type))
|
|
|
+ cursor.execute(sql, param_list)
|
|
|
+ total = len(cursor.fetchall())
|
|
|
+ param_list.append((page - 1) * size)
|
|
|
+ param_list.append(size, )
|
|
|
+ sql += 'order by o.addTime DESC LIMIT %s,%s '
|
|
|
+ cursor.execute(sql, param_list)
|
|
|
+ data_obj = cursor.fetchall()
|
|
|
+ cursor.close() # 执行完,关闭
|
|
|
+ connection.close()
|
|
|
+ result_list = []
|
|
|
+ col_names = [desc[0] for desc in cursor.description]
|
|
|
+ for item in data_obj:
|
|
|
+ order_dict = dict(zip(col_names, item))
|
|
|
+ result_list.append(order_dict)
|
|
|
+ return response.json(0, {'orderList': result_list, 'total': total})
|
|
|
+ except Exception as e:
|
|
|
+ meg = '异常详情,errLine:{}, errMsg:{}'.format(e.__traceback__.tb_lineno, repr(e))
|
|
|
+ return response.json(500, meg)
|
|
|
+
|
|
|
@staticmethod
|
|
|
def check_sim_user(iccid):
|
|
|
"""
|