zoukankan      html  css  js  c++  java
  • 14.普通用户、网格长、网格员,操作数据(1)后端部分

    1.在后端NewCenter

    1.apps/user_operations/views.py中新建增删查:楼、单元、住户、用户的类:

    from django.shortcuts import render,HttpResponse
    from rest_framework.views import APIView,Response
    from users.models import PianQu,UserProfile,UserToZhuHu,LouMing,DanYuan,ZhuHu
    from users.serializers import PianQuModelSerializer,UserProfileModelSerializer,LouMingModelSerializer,DanYuanModelSerializer,ZhuHuModelSerializer,UserToZhuHuSerializer
    from .models import Notice,OnOrOff
    from .serializers import NoticeModelSerializer,OnOrOffModelSerializer
    import json,time,hashlib,datetime
    
    
    #…………
    
    
    class AddLouView(APIView):
        """
        post:增加楼或街 get:获取网格长旗下的楼和街,以及所有网格员
        """
        def get(self, request):
            token = request.GET.get('token')
            if token:
                user = UserProfile.objects.filter(token=token).first()
                if user:
                    if user.power==5:
                        all_wgy_list=UserProfile.objects.filter(power=4)
                        all_wgy_list_re=UserProfileModelSerializer(all_wgy_list,many=True)
                        lou_list=LouMing.objects.filter(pianqu__wgz=user).order_by('-add_time')
                        lou_list_re=LouMingModelSerializer(lou_list,many=True)
                        result = {"status": "200", "data": {'all_wgy_list':all_wgy_list_re.data,'lou_list':lou_list_re.data}}
                    else:
                        result = {"status": "404", "data": {'msg':'非网格长'}}
                else:
                    result = {"status": "403", "data": {'msg': '请重新登录。'}}
            else:
                result = {"status": "403", "data": {'msg': '参数不足'}}
            return HttpResponse(json.dumps(result, ensure_ascii=False), content_type="application/json,charset=utf-8")
    
        def post(self, request):
            token = request.data.get('token')
            wgy_id=request.data.get('wgy_id')
            lou_ming=request.data.get('lou_ming')
            if token and wgy_id and lou_ming:
                user = UserProfile.objects.filter(token=token).first()
                if user:
                    if user.power==5:
                        new_lou=LouMing()
                        new_lou.name=lou_ming
                        pq=PianQu.objects.filter(wgz=user).first()
                        new_lou.pianqu=pq
                        wgy=UserProfile.objects.filter(id=int(wgy_id)).first()
                        new_lou.wgy=wgy
                        new_lou.save()
                        result = {"status": "200", "data": {'msg':'增加成功'}}
                    else:
                        result = {"status": "404", "data": {'msg':'非网格长'}}
                else:
                    result = {"status": "403", "data": {'msg': '请重新登录。'}}
            else:
                result = {"status": "403", "data": {'msg': '参数不足'}}
            return HttpResponse(json.dumps(result, ensure_ascii=False), content_type="application/json,charset=utf-8")
    
    
    class DelLouView(APIView):
        """
        删除某个楼名
        """
        def get(self, request):
            token = request.GET.get('token')
            lou_id=request.GET.get('lou_id')
            if token and lou_id:
                user = UserProfile.objects.filter(token=token).first()
                if user:
                    if user.power==5:
                        LouMing.objects.filter(id=int(lou_id)).delete()
                        result = {"status": "200", "data": {'msg':'删除成功'}}
                    else:
                        result = {"status": "404", "data": {'msg':'非网格长'}}
                else:
                    result = {"status": "403", "data": {'msg': '请重新登录。'}}
            else:
                result = {"status": "403", "data": {'msg': '参数不足'}}
            return HttpResponse(json.dumps(result, ensure_ascii=False), content_type="application/json,charset=utf-8")
    
    
    class AddDanyuanView(APIView):
        """
        post:增加单元或组 get:获取所有单元,以及所有单元长
        """
        def get(self, request):
            token = request.GET.get('token')
            if token:
                user = UserProfile.objects.filter(token=token).first()
                if user:
                    if user.power==4:
                        all_dyz_list=UserProfile.objects.filter(power=2)
                        all_dyz_list_re=UserProfileModelSerializer(all_dyz_list,many=True)
                        danyuan_list=DanYuan.objects.filter(lou__wgy=user).order_by('-add_time')
                        danyuan_list_re=DanYuanModelSerializer(danyuan_list,many=True)
                        result = {"status": "200", "data": {'all_dyz_list':all_dyz_list_re.data,'danyuan_list':danyuan_list_re.data}}
                    else:
                        result = {"status": "404", "data": {'msg':'非网格员'}}
                else:
                    result = {"status": "403", "data": {'msg': '请重新登录。'}}
            else:
                result = {"status": "403", "data": {'msg': '参数不足'}}
            return HttpResponse(json.dumps(result, ensure_ascii=False), content_type="application/json,charset=utf-8")
    
        def post(self, request):
            token = request.data.get('token')
            lou_id=request.data.get('lou_id')
            danyuan_name=request.data.get('danyuan_name')
            if token and lou_id and danyuan_name:
                user = UserProfile.objects.filter(token=token).first()
                if user:
                    if user.power==4:
                        new_danyuan=DanYuan()
                        new_danyuan.name=danyuan_name
                        lou=LouMing.objects.filter(id=int(lou_id)).first()
                        new_danyuan.lou=lou
                        new_danyuan.save()
                        result = {"status": "200", "data": {'msg':'增加成功'}}
                    else:
                        result = {"status": "404", "data": {'msg':'非网格员'}}
                else:
                    result = {"status": "403", "data": {'msg': '请重新登录。'}}
            else:
                result = {"status": "403", "data": {'msg': '参数不足'}}
            return HttpResponse(json.dumps(result, ensure_ascii=False), content_type="application/json,charset=utf-8")
    
    
    class DelDanyuanView(APIView):
        """
        删除某个单元
        """
        def get(self, request):
            token = request.GET.get('token')
            danyuan_id=request.GET.get('danyuan_id')
            if token and danyuan_id:
                user = UserProfile.objects.filter(token=token).first()
                if user:
                    if user.power==4:
                        dy=DanYuan.objects.filter(id=int(danyuan_id)).first()
                        zhuhu=ZhuHu.objects.filter(dy=dy).first()
                        if zhuhu:
                            result = {"status": "403", "data": {'msg': '删除失败,此单元下有住户'}}
                        else:
                            DanYuan.objects.filter(id=int(danyuan_id)).delete()
                            result = {"status": "200", "data": {'msg':'删除成功'}}
                    else:
                        result = {"status": "404", "data": {'msg':'非网格员'}}
                else:
                    result = {"status": "403", "data": {'msg': '请重新登录。'}}
            else:
                result = {"status": "403", "data": {'msg': '参数不足'}}
            return HttpResponse(json.dumps(result, ensure_ascii=False), content_type="application/json,charset=utf-8")
    
    
    class AddZhuhuView(APIView):
        """
        post:增加住户 get:获取所有住户,以及所有用户
        """
        def get(self, request):
            token = request.GET.get('token')
            if token:
                user = UserProfile.objects.filter(token=token).first()
                if user:
                    if user.power==4:
                        zhuhu_list=ZhuHu.objects.filter(dy__lou__wgy=user).order_by('-add_time')
                        zhuhu_list_re=ZhuHuModelSerializer(zhuhu_list,many=True)
                        result = {"status": "200", "data": {'zhuhu_list':zhuhu_list_re.data}}
                    else:
                        result = {"status": "404", "data": {'msg':'非网格员'}}
                else:
                    result = {"status": "403", "data": {'msg': '请重新登录。'}}
            else:
                result = {"status": "403", "data": {'msg': '参数不足'}}
            return HttpResponse(json.dumps(result, ensure_ascii=False), content_type="application/json,charset=utf-8")
    
        def post(self, request):
            token = request.data.get('token')
            dy_id = request.data.get('dy_id')
            zhuhu_name = request.data.get('zhuhu_name')
            if token and dy_id and zhuhu_name:
                user = UserProfile.objects.filter(token=token).first()
                if user:
                    if user.power == 4:
                        new_zhuhu=ZhuHu()
                        new_zhuhu.name=zhuhu_name
                        dy=DanYuan.objects.filter(id=int(dy_id)).first()
                        new_zhuhu.dy=dy
                        new_zhuhu.save()
                        result = {"status": "200", "data": {'msg': '增加成功'}}
                    else:
                        result = {"status": "404", "data": {'msg': '非网格员'}}
                else:
                    result = {"status": "403", "data": {'msg': '请重新登录。'}}
            else:
                result = {"status": "403", "data": {'msg': '参数不足'}}
            return HttpResponse(json.dumps(result, ensure_ascii=False), content_type="application/json,charset=utf-8")
    
    
    class DelZhuhuView(APIView):
        """
        删除某个住户
        """
        def get(self, request):
            token = request.GET.get('token')
            zhuhu_id=request.GET.get('zhuhu_id')
            if token and zhuhu_id:
                user = UserProfile.objects.filter(token=token).first()
                if user:
                    if user.power==4:
                        zhuhu=ZhuHu.objects.filter(id=int(zhuhu_id)).first()
                        u_to_z=UserToZhuHu.objects.filter(zhhu=zhuhu).first()
                        if u_to_z:
                            result = {"status": "403", "data": {'msg': '删除失败,此住户下有居民'}}
                        else:
                            ZhuHu.objects.filter(id=int(zhuhu_id)).delete()
                            result = {"status": "200", "data": {'msg': '删除成功'}}
                    else:
                        result = {"status": "404", "data": {'msg':'非网格员'}}
                else:
                    result = {"status": "403", "data": {'msg': '请重新登录。'}}
            else:
                result = {"status": "403", "data": {'msg': '参数不足'}}
            return HttpResponse(json.dumps(result, ensure_ascii=False), content_type="application/json,charset=utf-8")
    
    
    class AddUserView(APIView):
        """
        post:增加居民 get:获取所有居民,所有住户,所有 住户To用户记录
        """
        def get(self, request):
            token = request.GET.get('token')
            if token:
                user = UserProfile.objects.filter(token=token).first()
                if user:
                    if user.power==4:
                        all_user=UserProfile.objects.all().order_by('-id')
                        all_user_re=UserProfileModelSerializer(all_user,many=True)
                        u2z_list=UserToZhuHu.objects.filter(zhhu__dy__lou__wgy=user)
                        u2z_list_re=UserToZhuHuSerializer(u2z_list,many=True)
                        result = {"status": "200", "data": {'all_user': all_user_re.data,'u2z_list':u2z_list_re.data}}
                    else:
                        result = {"status": "404", "data": {'msg':'非网格员'}}
                else:
                    result = {"status": "403", "data": {'msg': '请重新登录。'}}
            else:
                result = {"status": "403", "data": {'msg': '参数不足'}}
            return HttpResponse(json.dumps(result, ensure_ascii=False), content_type="application/json,charset=utf-8")
    
        def post(self, request):
            token = request.data.get('token')
            user_name = request.data.get('user_name')
            user_minzu = request.data.get('user_minzu')
            user_tel = request.data.get('user_tel')
            user_danwei = request.data.get('user_danwei')
            user_zhiwei = request.data.get('user_zhiwei')
            user_no = request.data.get('user_no')
            user_date = request.data.get('user_date')
            user_teshu = request.data.get('user_teshu')
            user_hujiadress = request.data.get('user_hujiadress')
            user_beizhu = request.data.get('user_beizhu')
            user_is_teshu = request.data.get('user_is_teshu')
            user_is_dangyuan = request.data.get('user_is_dangyuan')
            user_is_nongyehukou = request.data.get('user_is_nongyehukou')
            user_is_huzhu = request.data.get('user_is_huzhu')
            user_sex = request.data.get('user_sex')
            user_wenhua = request.data.get('user_wenhua')
            user_hunyin = request.data.get('user_hunyin')
            user_power = request.data.get('user_power')
            user_zhuhu_id = request.data.get('user_zhuhu_id')
            if token and user_zhuhu_id and user_name and user_minzu and user_tel and user_danwei and user_zhiwei and user_no and user_date and user_teshu 
    and user_hujiadress and user_beizhu and user_sex and user_wenhua and user_hunyin and user_power: user = UserProfile.objects.filter(token=token).first() if user: if user.power == 4: old_user=UserProfile.objects.filter(mobile=user_tel).first() if old_user: result = {"status": "403", "data": {'msg': '新增用户失败,此手机号已被登记,请确认手机号是否正确。'}} return HttpResponse(json.dumps(result, ensure_ascii=False), content_type="application/json,charset=utf-8") else: had_user=UserProfile.objects.filter(no=user_no).first() if had_user: result = {"status": "403", "data": {'msg': '新增用户失败,此身份证号已被登记,请确认是否正确。'}} return HttpResponse(json.dumps(result, ensure_ascii=False), content_type="application/json,charset=utf-8") else: new_user = UserProfile() new_user.username = user_name new_user.password = '123' new_user.name = user_name new_user.minzu = user_minzu new_user.sex = int(user_sex) new_user.mobile=user_tel new_user.danwei=user_danwei new_user.zhiwei=user_zhiwei if user_is_dangyuan=='true': new_user.is_dangyuan=True else: new_user.is_dangyuan=False if user_is_nongyehukou=='true': new_user.hujixz=1 else: new_user.hujixz=2 new_user.huji=user_hujiadress new_user.wenhua=int(user_wenhua) new_user.hunyin=int(user_hunyin) new_user.no=user_no new_user.chusheng=datetime.date(*map(int, user_date.split('-')))#可能得从字符串转为日期型 if user_is_teshu=='true': new_user.is_teshu=True else: new_user.is_teshu=False new_user.teshu=user_teshu new_user.beizhu=user_beizhu new_user.power=int(user_power) zh=ZhuHu.objects.filter(id=int(user_zhuhu_id)).first() zh_name=zh.name dy=zh.dy dy_name=dy.name lou=dy.lou lou_name=lou.name pq=lou.pianqu pq_name=pq.name new_user.address=pq_name+lou_name+dy_name+zh_name new_user.save() new_u2z=UserToZhuHu() new_u2z.zhhu=zh new_u2z.user=new_user new_u2z.save() if user_is_huzhu=='true': zh.hz=new_user zh.save() if user_power=='2': dy.dyz=new_user dy.save() if user_power=='3': lou.lz=new_user lou.save() result = {"status": "200", "data": {'msg': '增加成功'}} else: result = {"status": "404", "data": {'msg': '非网格员'}} else: result = {"status": "403", "data": {'msg': '请重新登录。'}} else: result = {"status": "403", "data": {'msg': '参数不足'}} return HttpResponse(json.dumps(result, ensure_ascii=False), content_type="application/json,charset=utf-8") class DelUserView(APIView): """ 删除某个居民 """ def get(self, request): token = request.GET.get('token') user_id=request.GET.get('user_id') if token and user_id: user = UserProfile.objects.filter(token=token).first() if user: if user.power==4: UserProfile.objects.filter(id=int(user_id)).delete() result = {"status": "200", "data": {'msg': '删除成功'}} else: result = {"status": "404", "data": {'msg':'非网格员'}} else: result = {"status": "403", "data": {'msg': '请重新登录。'}} else: result = {"status": "403", "data": {'msg': '参数不足'}} return HttpResponse(json.dumps(result, ensure_ascii=False), content_type="application/json,charset=utf-8")

    2.NewCenter.urls.py中

    from django.urls import path
    from .views import GetPianQuBannerView,GetNoticeListView,UserLoginView,UpPwdView,GetCaoZuoView,UpUserInfoView,EditPowerView,AddLouView,DelLouView,
    AddDanyuanView,DelDanyuanView,AddZhuhuView,DelZhuhuView,AddUserView,DelUserView urlpatterns
    = [ path('getbanner/',GetPianQuBannerView.as_view()),#手机端获取banner图 path('getnoticeclist/',GetNoticeListView.as_view()),#获取公告列表 path('userlogin/',UserLoginView.as_view()),#小程序用户登录 path('uppwd/',UpPwdView.as_view()),#用户修改密码 path('getcaozuo/',GetCaoZuoView.as_view()),#获取操作数据 path('upuserinfo/',UpUserInfoView.as_view()),#更新用户个人信息 path('editpower/',EditPowerView.as_view()),#查看网格长和网格员是否有编辑权 path('addlou/',AddLouView.as_view()),#get获取楼列表和网格员列表,post增加楼名 path('dellou/',DelLouView.as_view()),#删除某个楼 path('adddanyuan/',AddDanyuanView.as_view()),#post:增加单元或组 get:获取所有单元,以及所有单元长 path('deldanyuan/',DelDanyuanView.as_view()),#删除某个单元 path('addzhuhu/',AddZhuhuView.as_view()),#post:增加住户 get:获取所有住户 path('delzhuhu/',DelZhuhuView.as_view()),#删除某个住户 path('adduser/',AddUserView.as_view()),#post:增加居民 get:获取所有居民,所有住户,所有 住户To用户记录 path('deluser/',DelUserView.as_view()),#删除某个居民 ]
  • 相关阅读:
    【转载】使用IntelliJ IDEA创建Maven聚合工程、创建resources文件夹、ssm框架整合、项目运行一体化
    【转载】使用IntelliJ IDEA 配置Maven(入门)
    谈谈JS中的高级函数
    js中typeof和instanceof用法区别
    javascript “||”、“&&”的灵活运用
    前端资源教程合集
    使用Flexible实现手淘H5页面的终端适配
    H5实现的手机摇一摇
    html5移动端页面分辨率设置及相应字体大小设置的靠谱使用方式
    优化RequireJS项目(合并与压缩)
  • 原文地址:https://www.cnblogs.com/xuepangzi/p/13228121.html
Copyright © 2011-2022 走看看