From cfa91f468495142a63c3891a4de2ba139c36ae57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E5=89=8D=E6=98=8E?= <909355014@qq.com> Date: Tue, 31 May 2022 16:37:52 +0800 Subject: [PATCH] =?UTF-8?q?city=E6=9F=A5=E8=AF=A2=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/apps/system/views.py | 37 +++++++++++++++++++++++++++++++++++ server/server/settings_dev.py | 34 ++++++++++++++++---------------- 2 files changed, 54 insertions(+), 17 deletions(-) diff --git a/server/apps/system/views.py b/server/apps/system/views.py index 2a7eb7f..f068a2e 100644 --- a/server/apps/system/views.py +++ b/server/apps/system/views.py @@ -39,6 +39,7 @@ from .serializers import (CitySerializer, DictSerializer, DictTypeSerializer, Fi import requests import json from rest_framework.exceptions import AuthenticationFailed +from django.db import transaction logger = logging.getLogger('log') # logger.info('请求成功! response_code:{};response_headers:{};response_body:{}'.format(response_code, response_headers, response_body[:251])) # logger.error('请求出错:{}'.format(error)) @@ -360,6 +361,39 @@ class UserViewSet(PageOrNot, ModelViewSet): UserThird.objects.filter(user=request.user, type='wx_mp').delete() return Response() + @action(methods=['post'], detail=False, perms_map={'post':'user_daoru'}) + @transaction.atomic + def daoru(self, request, pk=None): + from openpyxl import load_workbook + wb = load_workbook('./media/default/users.xlsx') + sheet = wb.get_sheet_by_name('Sheet1') + i = 3 + role1 = Role.objects.get(name='能力查询') + role2 = Role.objects.get(name='资质能力报送') + role3 = Role.objects.get(name='资料分享和视频培训') + while sheet['b'+str(i)].value: + name = sheet['b'+str(i)].value + email = sheet['e'+str(i)].value + if not User.objects.filter(username=email).exists(): + dept = Organization.objects.get(name=sheet['j'+str(i)].value) + user = User.objects.create(name=name, + username=email, + password=make_password(''.join(random.sample(string.ascii_letters + string.digits, 8))), + dept=dept) + if sheet['f'+str(i)].value: + user.roles.add(role1) + if sheet['g'+str(i)].value: + user.roles.add(role2) + if sheet['h'+str(i)].value: + user.roles.add(role3) + print(str(i)+name+'已导入') + else: + print(str(i)+name+'已存在') + i = i + 1 + return Response() + + + class WXMPlogin(APIView): @@ -389,6 +423,7 @@ class WXMPlogin(APIView): class ProviceViewSet(PageOrNot, ListModelMixin, GenericViewSet): queryset = Province.objects.all() serializer_class = ProvinceSerializer + search_fields = ['name'] ordering = 'id' @@ -396,6 +431,8 @@ class ProviceViewSet(PageOrNot, ListModelMixin, GenericViewSet): class CityViewSet(PageOrNot, ListModelMixin, GenericViewSet): queryset = City.objects.all() serializer_class = CitySerializer + filterset_fields = ['province'] + search_fields = ['name'] ordeing = 'id' diff --git a/server/server/settings_dev.py b/server/server/settings_dev.py index 1e913d9..82194f5 100644 --- a/server/server/settings_dev.py +++ b/server/server/settings_dev.py @@ -1,21 +1,21 @@ from .settings import * DEBUG = True DATABASES = { - 'default': { - 'ENGINE': 'django.db.backends.postgresql', - 'NAME': 'cma', - 'USER': 'postgres', - 'PASSWORD': 'zctest1234', - 'HOST': '47.95.0.242', - 'PORT': '5432', - } -# 'default': { -# 'ENGINE': 'django.db.backends.postgresql', -# 'NAME': 'cma', -# 'USER': 'cma', -# 'PASSWORD': 'cma123', -# # 'HOST': '172.16.80.102', -# 'HOST': '1.203.161.102', -# 'PORT': '5432', -# } + # 'default': { + # 'ENGINE': 'django.db.backends.postgresql', + # 'NAME': 'cma', + # 'USER': 'postgres', + # 'PASSWORD': 'zctest1234', + # 'HOST': '47.95.0.242', + # 'PORT': '5432', + # } + 'default': { + 'ENGINE': 'django.db.backends.postgresql', + 'NAME': 'cma', + 'USER': 'cma', + 'PASSWORD': 'cma123', + 'HOST': '172.16.80.102', + # 'HOST': '1.203.161.102', + 'PORT': '5432', + } }