Browse Source

重构后台4G订单接口

zhangdongming 2 năm trước cách đây
mục cha
commit
d57dca150f
1 tập tin đã thay đổi với 68 bổ sung1 xóa
  1. 68 1
      AdminController/UnicomManageController.py

+ 68 - 1
AdminController/UnicomManageController.py

@@ -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):
         """