Эх сурвалжийг харах

查询代理商账号个人信息

linhaohong 1 жил өмнө
parent
commit
473e7dd6a7

+ 50 - 0
AdminController/CloudServiceManage/AgentCustomerController.py

@@ -7,6 +7,7 @@
 @Software: PyCharm
 """
 import time
+import json
 
 from django.http import QueryDict
 from django.views import View
@@ -64,6 +65,8 @@ class AgentCustomerView(View):
                 return self.get_agent_service_package(request_dict, response)
             elif operation == 'addAgentServicePackage':
                 return self.add_agent_service_package(request_dict, response)
+            elif operation == 'getAgentInfo':
+                return self.get_agent_info(userID, response)
             else:
                 return response.json(444, 'operation')
 
@@ -93,6 +96,53 @@ class AgentCustomerView(View):
             print(e)
             return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
 
+    def get_agent_info(self, userID, response):
+        """
+        查询用户信息
+        @param userID: userID
+        @param response: 响应对象
+        @return:
+        """
+        try:
+            # 使用userID查询AgentCustomerInfo获取基本信息
+            agent_info = AgentCustomerInfo.objects.filter(user_id=userID, status=1).first()
+            if not agent_info:
+                return response.json(444, {'error': '没有找到这个代理用户'})
+            # userID查询用户电话
+            device_user_qs = Device_User.objects.filter(userID=userID).first()
+
+            # 代理客户ID(ac_id)查询AgentCustomerCard获取银行卡信息。
+            card_details = AgentCustomerCard.objects.filter(ac_id=agent_info.id, status=1).first()
+
+            # ac_id查询AgentCustomerPackage来找到关联的云服务套餐ID(cs_id)
+            package_ids = AgentCustomerPackage.objects.filter(ac_id=agent_info.id).values_list('cs_id',
+                                                                                               flat=True)
+            # cs_id查询AgentCloudServicePackage获取服务套餐详情。
+            service_packages = AgentCloudServicePackage.objects.filter(id__in=package_ids, status=1).values()
+
+            result = {
+                'agent_info': {
+                    'ac_id': agent_info.id,
+                    'company_name': agent_info.company_name,
+                    'phone': device_user_qs.phone,
+                    'created_time': agent_info.created_time,
+                    'service_packages': list(service_packages),
+                }
+            }
+
+            if card_details:
+                result['agent_info'].update({
+                    'card_name': card_details.name,
+                    'card_no': card_details.card_no,
+                    'card_address': card_details.card_address,
+                })
+
+            return response.json(0, result)
+        except Exception as e:
+            return response.json({'error': str(e)}, status=500)
+
+
+
     def get_agent_service_package(self, request_dict, response):
         """
         查询所有代理云服务套餐