Browse Source

删除vsees

guanhailong 2 years ago
parent
commit
7845aa7995
3 changed files with 0 additions and 518 deletions
  1. 0 2
      Ansjer/urls.py
  2. 0 465
      Controller/VseesWeb/VseesController.py
  3. 0 51
      Model/models.py

+ 0 - 2
Ansjer/urls.py

@@ -28,7 +28,6 @@ from Controller.MessagePush import EquipmentMessagePush
 from Controller.SensorGateway import SensorGatewayController, EquipmentFamilyController
 from Controller.Surveys import CloudStorageController
 from Controller.UserDevice import UserDeviceShareController
-from Controller.VseesWeb import VseesController
 
 urlpatterns = [
     re_path(r'init/(?P<operation>.*)', InitController.InitView.as_view()),
@@ -264,7 +263,6 @@ urlpatterns = [
     re_path(r'^api/device/share/(?P<operation>.*)$', UserDeviceShareController.UserDeviceShareView.as_view()),
     re_path(r'^server/(?P<apiVersion>[a-zA-Z0-9]+)/open/detect/(?P<operation>.*)$',
             DetectControllerV2.DetectControllerViewV2.as_view()),
-    re_path(r'^vsees/(?P<operation>.*)', VseesController.VseesManagement.as_view()),
 
     # 后台界面接口 -------------------------------------------------------------------------------------------------------
     # 登录,用户信息,权限

+ 0 - 465
Controller/VseesWeb/VseesController.py

@@ -1,465 +0,0 @@
-# -*- coding: utf-8 -*-
-"""
-@Author : Rocky
-@Time : 2023/07/13 11:30
-@File :VseesController.py
-"""
-import json
-import hashlib
-import time
-import uuid
-
-import requests
-from django.db import transaction
-from django.views import View
-
-from Ansjer.config import AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SES_ACCESS_REGION
-from Model.models import VseesDeviceType, vseesProductInfo, EnterpriseUserInfo, LogModel
-from Object.AWS.AmazonS3Util import AmazonS3Util
-from Object.RedisObject import RedisObject
-from Object.ResponseObject import ResponseObject
-from Object.TokenObject import TokenObject
-from Service.CommonService import CommonService
-
-
-class VseesManagement(View):
-    def get(self, request, *args, **kwargs):
-        request.encoding = 'utf-8'
-        operation = kwargs.get('operation')
-        return self.validation(request.GET, operation, request)
-
-    def post(self, request, *args, **kwargs):
-        request.encoding = 'utf-8'
-        operation = kwargs.get('operation')
-        return self.validation(request.POST, operation, request)
-
-    def validation(self, request_dict, operation, request):
-        response = ResponseObject()
-        if operation == 'get-state':  # 获取sate值
-            return self.get_state(response)
-        elif operation == 'get-device-info':  # 查询微瞳设备类型图标信息
-            return self.get_device_info(response)
-        elif operation == 'get-product-info':  # 获取产品信息
-            return self.get_product_info(request_dict, response)
-        elif operation == 'get-user':  # 获取用户
-            return self.get_user(request_dict, response)
-        else:
-            tko = TokenObject(
-                request.META.get('HTTP_AUTHORIZATION'),
-                returntpye='pc')
-            if tko.code != 0:
-                return response.json(tko.code)
-            response.lang = tko.lang
-            user_id = tko.userID
-            if operation == 'get-info':  # 获取产品详细信息
-                return self.get_info(request_dict, response)
-            elif operation == 'add-info':  # 新增信息
-                return self.add_info(request_dict, request, response, user_id)
-            elif operation == 'edit-status':  # 修改状态
-                return self.edit_status(request_dict, response, request, user_id)
-            elif operation == 'upload-file':  # 更新文件
-                return self.upload_file(request_dict, request, response, user_id)
-            elif operation == 'edit-info':  # 修改信息
-                return self.edit_info(request_dict, response, request, user_id)
-            else:
-                return response.json(404)
-
-    @staticmethod
-    def get_info(request_dict, response):
-        """
-        获取微瞳产品信息
-        @request_dict vsees_id:设备类型id
-        @request_dict type:0:视频, 1:说明书, 2:固件
-        return:
-        """
-        vsees_id = request_dict.get('vsees_id', None)
-        product_type = request_dict.get('type', None)
-        if not all([vsees_id, product_type]):
-            return response.json(444, 'vsees_id, type')
-        try:
-            product_info_qs = vseesProductInfo.objects.filter(vsees__id=vsees_id, type=product_type,
-                                                              status=0).values('title', 'file_name', 'status').order_by(
-                '-add_time')
-            if not product_info_qs.exists():
-                return response.json(173)
-            return response.json(0, list(product_info_qs))
-        except Exception as e:
-            print(e)
-            return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
-
-    @classmethod
-    def add_info(cls, request_dict, request, response, user_id):
-        """
-        新增微瞳产品信息
-        @request_dict product_id:产品信息id
-        @request_dict file:文件
-        @request_dict vsees_id:设备类型id
-        @request_dict url:路径
-        @request_dict title:标题
-        @request_dict device_type:0:视频链接, 1:说明书, 2:固件
-        @request_dict status:状态0:已上架, 1: 已下架
-        return:
-        """
-        file = request.FILES.get('file', None)
-        vsees_id = request_dict.get('vsees_id', None)
-        url = request_dict.get('url', None)
-        title = request_dict.get('title', None)
-        product_type = request_dict.get('type', None)
-
-        if not all([file or url, title, product_type, vsees_id]):
-            return response.json(444, 'error: file or url, title, type, vsees_id')
-        now_time = int(time.time())
-        fileName = str(file)
-        device_type = int(product_type)
-        # 判断上架状态标题是否重复
-        product_info_qs = vseesProductInfo.objects.filter(vsees__id=vsees_id, title=title, type=product_type, status=0)
-        if product_info_qs.exists():
-            return response.json(174)
-        try:
-            with transaction.atomic():
-                data = {
-                    'vsees_id': vsees_id,
-                    'title': title,
-                    'type': device_type,
-                    'status': 0,
-                    'add_time': now_time,
-                    'upd_time': now_time,
-                }
-                #  记录操作日志
-                content = json.loads(json.dumps(request_dict))
-                log = {
-                    'ip': CommonService.get_ip_address(request),
-                    'user_id': 2,
-                    'status': 200,
-                    'time': int(time.time()),
-                    'url': 'vsees/upload-file',
-                    'content': json.dumps(content),
-                    'operation': '{}新增{}-0:视频链接, 1:说明书, 2:固件'.format(user_id, device_type),
-                }
-                LogModel.objects.create(**log)
-                #  添加链接
-                if device_type == 0:
-                    data['file_name'] = url
-                    data['url'] = url
-                    vseesProductInfo.objects.create(**data)
-                    return response.json(0)
-                #  添加说明书
-                elif device_type == 1:
-                    url = 'https://d2cjxvw3tr9apc.cloudfront.net/vsees/clarification/{}'.format(fileName)
-                    file_key = 'vsees/clarification/{}'
-                #  添加固件
-                elif device_type == 2:
-                    url = 'https://d2cjxvw3tr9apc.cloudfront.net/vsees/firmware/{}'.format(fileName)
-                    file_key = 'vsees/firmware/{}'
-                key = file_key.format(fileName)
-                s3 = cls.upload(file, key)
-                if s3:
-                    data['file_name'] = fileName
-                    data['url'] = url
-                    vseesProductInfo.objects.create(**data)
-                    return response.json(0)
-                return response.json(178)
-        except Exception as e:
-            print(e)
-            return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
-
-    @classmethod
-    def upload(cls, file, key):
-        """
-        上传
-        @request_dict file:文件
-        @request_dict key:需要上传文件路径+文件名
-        """
-        bucket_name = 'ansjerfilemanager'
-        s3 = AmazonS3Util(AWS_ACCESS_KEY_ID[1], AWS_SECRET_ACCESS_KEY[1], AWS_SES_ACCESS_REGION)
-        s3 = s3.upload_file_obj(
-            bucket_name,
-            key,
-            file,
-            {'ContentType': file.content_type, 'ACL': 'public-read'})
-        if s3:
-            return True
-        else:
-            return False
-
-    @classmethod
-    def upload_file(cls, request_dict, request, response, user_id):
-        """
-        更新文件
-        @request_dict product_id:产品信息id
-        @request_dict file:文件
-        @request_dict device_type:0:视频, 1:说明书, 2:固件
-        """
-        file = request.FILES.get('file', None)
-        product_id = request_dict.get('product_id', None)
-        product_type = request_dict.get('type', None)
-        if not all([file, product_type, product_id]):
-            return response.json(444, 'error: file, type, product_id')
-        now_time = int(time.time())
-        fileName = str(file)
-        product_info_qs = vseesProductInfo.objects.filter(id=product_id, type=product_type, status=0)
-        if not product_info_qs.exists():
-            return response.json(177)
-        try:
-            # 说明
-            if product_type == 1:
-                url = 'https://d2cjxvw3tr9apc.cloudfront.net/vsees/clarification/{}'.format(fileName)
-                file_key = 'vsees/clarification/{}'
-            # 固件
-            else:
-                url = 'https://d2cjxvw3tr9apc.cloudfront.net/vsees/firmware/{}'.format(fileName)
-                file_key = 'vsees/firmware/{}'
-            key = file_key.format(fileName)
-            s3 = cls.upload(file, key)
-            if s3:
-                vseesProductInfo.objects.filter(id=product_id).update(url=url, upd_time=now_time, file_name=fileName)
-                #  记录操作日志
-                ip = CommonService.get_ip_address(request)
-                content = json.loads(json.dumps(request_dict))
-                log = {
-                    'ip': ip,
-                    'user_id': 2,
-                    'status': 200,
-                    'time': int(time.time()),
-                    'url': 'vsees/upload-file',
-                    'content': json.dumps(content),
-                    'operation': '{}更新文件'.format(user_id),
-                }
-                LogModel.objects.create(**log)
-                return response.json(0)
-            return response.json(177)
-        except Exception as e:
-            print(e)
-            return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
-
-    @staticmethod
-    def edit_status(request_dict, response, request, user_id):
-        """
-        修改状态
-        @request_dict product_id:id
-        @request_dict status:状态0:已上架, 1: 已下架
-        """
-        product_id = request_dict.get('product_id', None)
-        status = request_dict.get('status', None)
-        if not all([status, product_id]):
-            return response.json(444, 'error: status, product_id')
-        # 只下架
-        if int(status) == 0:
-            return response.json(177)
-        try:
-            vseesProductInfo.objects.filter(id=product_id).update(status=status)
-            # 记录操作日志
-            content = json.loads(json.dumps(request_dict))
-            log = {
-                'ip': CommonService.get_ip_address(request),
-                'user_id': 2,
-                'status': 200,
-                'time': int(time.time()),
-                'url': 'vsees/edit-status',
-                'content': json.dumps(content),
-                'operation': '{}修改资源状态'.format(user_id),
-            }
-            LogModel.objects.create(**log)
-            return response.json(0)
-        except Exception as e:
-            print(e)
-            return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
-
-    @staticmethod
-    def edit_info(request_dict, response, request, user_id):
-        """
-        修改信息
-        @request_dict product_id:id
-        @request_dict url:路径
-        @request_dict title:标题
-        """
-        product_id = request_dict.get('product_id', None)
-        url = request_dict.get('url', None)
-        title = request_dict.get('title')
-        if not product_id:
-            return response.json(444, 'error: product_id')
-        product_info_qs = vseesProductInfo.objects.filter(id=product_id, title=title, status=0)
-        if product_info_qs.exists():
-            return response.json(174)
-        if title:
-            product_info_qs.update(title=title)
-        if url:
-            product_info_qs.update(url=url)
-        # 记录操作日志
-        ip = CommonService.get_ip_address(request)
-        content = json.loads(json.dumps(request_dict))
-        log = {
-            'ip': ip,
-            'user_id': 2,
-            'status': 200,
-            'time': int(time.time()),
-            'url': 'vsees/edit-info',
-            'content': json.dumps(content),
-            'operation': '{}修改资源信息'.format(user_id),
-        }
-        LogModel.objects.create(**log)
-        return response.json(0)
-
-    # 用户界面接口 -------------------------------------------------------------------------------------------------------
-    @staticmethod
-    def get_device_info(response):
-        """
-        获取微瞳图标信息
-        """
-        try:
-            device_type_qs = VseesDeviceType.objects.all().values().order_by('id')
-            return response.json(0, list(device_type_qs))
-        except Exception as e:
-            print(e)
-            return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
-
-    @staticmethod
-    def get_product_info(request_dict, response):
-        """
-        获取微瞳产品信息
-        @request_dict deviceTypeId:设备类型id
-        @request_dict type:0:视频, 1:说明书, 2:固件
-        @request_dict title:标题
-        return:
-        """
-        vsees_id = request_dict.get('vsees_id', None)
-        title = request_dict.get('title', None)
-        product_type = request_dict.get('type', None)
-        if not vsees_id:
-            return response.json(444, 'vsees_id')
-        try:
-            product_info_qs = vseesProductInfo.objects.all()
-            if not (title and product_type):
-                product_info_qs = product_info_qs.filter(vsees_id=vsees_id, status=0).values('title').order_by(
-                    '-add_time')
-                return response.json(0, list(product_info_qs))
-            else:
-                product_info_qs = product_info_qs.filter(vsees__id=vsees_id, title=title, type=product_type,
-                                                         status=0).values('url').order_by('-add_time')
-                if not product_info_qs.exists():
-                    return response.json(173)
-                return response.json(0, {'url': product_info_qs[0]['url']})
-        except Exception as e:
-            print(e)
-            return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
-
-    # -------------------企业微信扫码登录--------------------------------
-    @staticmethod
-    def get_state(response):
-        """
-        获取state
-        @param response: 响应对象
-        @return: response
-        """
-        nwo_time = time.time()
-        redis_obj = RedisObject()
-        try:
-            state = hashlib.md5((str(uuid.uuid1()) + str(nwo_time)).encode('utf-8')).hexdigest()
-            state_statue = redis_obj.set_ex_data(state, 0, 300)  # redis记录state
-            if state_statue:
-                return response.json(0, {'state': state})
-            else:
-                return response.json(120)
-        except Exception as e:
-            print(e)
-            return response.json(500)
-
-    @classmethod
-    def get_user(cls, request_dict, response):
-        """
-        获取用户信息
-        @request_dict code:唯一标识
-        @request_dict state:唯一标识
-        return:
-        """
-        code = request_dict.get('code', None)
-        state = request_dict.get('state', None)
-        if not all([code, state]):
-            return response.json(444, 'error: code, state')
-        # 验证state,获取token
-        access_token = cls.get_token(response, state)
-        if not access_token:
-            return response.json(120)
-        data = {
-            'access_token': access_token,
-            'code': code
-        }
-        try:
-            #  获取用户id
-            token_url = 'https://qyapi.weixin.qq.com/cgi-bin/auth/getuserinfo'
-            token_response = requests.get(token_url, params=data)
-            data = token_response.json()
-            userid = data.get("userid")
-            if userid:
-                enterprise_user_info_qs = EnterpriseUserInfo.objects.filter(userID=userid)
-                if not enterprise_user_info_qs.exists():
-                    cls.get_user_info(access_token, userid, response)
-                tko = TokenObject()
-                rest = tko.generate(data={'userID': userid, 'user': 'come@on'})
-                return response.json(0, rest)
-            else:
-                errcode = data.get('errcode')
-                errmsg = data.get('errmsg')
-                return response.json({'errcode': errcode, 'errmsg': errmsg})
-        except Exception as e:
-            print(e)
-            return response.json(500, repr(e))
-
-    @classmethod
-    def get_token(cls, response, state):
-        redis_client = RedisObject()
-        state_val = redis_client.get_data(state)
-        #  验证state
-        if state_val:
-            redis_client.del_data(state)
-        else:
-            return False
-        access_token = redis_client.get_data(key='enterprise_wechat_access_token')
-        if access_token:
-            redis_client.del_data(state)
-            return access_token
-        data = {
-            'corpid': 'ww467ec1685e8262e6',
-            'corpsecret': 'IeUoaQ-0hEhEduCQq1zyfVXjfeZpMsThK1nklszRzUY'
-        }
-        #  获取access_token,redis中不存在该值时重新请求获取access_token(有效时长两小时)
-        token_url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken'
-        token_response = requests.get(token_url, params=data)
-        data = token_response.json()
-        if data.get('errcode') == 0:
-            access_token = data['access_token']
-            expires_in = data['expires_in']
-            redis_client.set_data('enterprise_wechat_access_token', access_token, expires_in)
-            return access_token
-        else:
-            errcode = data.get('errcode')
-            errmsg = data.get('errmsg')
-            return response.json({'errcode': errcode, 'errmsg': errmsg})
-
-    @classmethod
-    def get_user_info(cls, access_token, userid, response):
-        now_time = int(time.time())
-        data = {
-            'access_token': access_token,
-            'userid': userid
-        }
-        #  获取用户信息
-        token_url = 'https://qyapi.weixin.qq.com/cgi-bin/user/get'
-        token_response = requests.get(token_url, params=data)
-        data = token_response.json()
-        userid = data.get("userid")
-        url_data = {
-            'userID': userid,
-            'name': data.get('name'),
-            'position': data.get('position'),
-            'status': data.get('status'),
-            'add_time': now_time,
-            'upd_time': now_time
-        }
-        if data.get('errcode') == 0:
-            EnterpriseUserInfo.objects.create(**url_data)
-            return True
-        else:
-            errcode = data.get('errcode')
-            errmsg = data.get('errmsg')
-            return response.json({'errcode': errcode, 'errmsg': errmsg})

+ 0 - 51
Model/models.py

@@ -3692,57 +3692,6 @@ class IcloudStorageRecord(models.Model):
         ordering = ('-id',)
 
 
-class VseesDeviceType(models.Model):
-    id = models.AutoField(primary_key=True, verbose_name='列表主键')
-    name = models.CharField(max_length=50, default='', verbose_name='设备类型名称')
-    icon_url = models.CharField(max_length=200, default='', verbose_name='图标地址')
-
-    def __str__(self):
-        return self.id
-
-    class Meta:
-        db_table = 'vsees_device_type'
-        verbose_name = u'微瞳设备类型表'
-        verbose_name_plural = verbose_name
-        ordering = ('-id',)
-
-
-class vseesProductInfo(models.Model):
-    id = models.AutoField(primary_key=True, verbose_name='列表主键')
-    file_name = models.CharField(max_length=120, default='', verbose_name='文件名')
-    vsees = models.ForeignKey(VseesDeviceType, to_field='id', on_delete=models.CASCADE, verbose_name='关联微瞳设备类型表')
-    title = models.CharField(max_length=32, default='', verbose_name='标题')
-    type = models.SmallIntegerField(default=0, verbose_name='类型{0:视频链接, 1:说明书, 2:固件}')
-    url = models.CharField(max_length=200, default='', verbose_name='路径')
-    add_time = models.IntegerField(verbose_name='添加时间', default=0)
-    upd_time = models.IntegerField(verbose_name='更新时间', default=0)
-    status = models.SmallIntegerField(default=0, verbose_name='状态0:已上架, 1: 已下架')
-    is_del = models.BooleanField(blank=True, default=False, verbose_name=u'是否删除')
-
-    def __str__(self):
-        return self.id
-
-    class Meta:
-        db_table = 'vsees_product_info'
-        verbose_name = u'微瞳产品信息记录表'
-        verbose_name_plural = verbose_name
-        ordering = ('-id',)
-
-
-class EnterpriseUserInfo(models.Model):
-    userID = models.IntegerField(primary_key=True, verbose_name=u'企业用户ID', unique=True)
-    name = models.CharField(blank=True, max_length=32, verbose_name=u'名字')
-    position = models.CharField(blank=True, max_length=64, verbose_name=u'岗位')
-    status = models.SmallIntegerField(default=0, verbose_name='用户状态')  # 1:已激活,2:已禁用,4:未激活,5:退出企业
-    add_time = models.IntegerField(default=0, verbose_name='创建时间')
-    upd_time = models.IntegerField(default=0, verbose_name='修改时间')
-
-    class Meta:
-        db_table = 'enterprise_user_info'
-        verbose_name = '企业用户信息'
-        verbose_name_plural = verbose_name
-
-
 class IotCardUsageHistory(models.Model):
     id = models.AutoField(primary_key=True, verbose_name='列表主键')
     iccid = models.CharField(default='', max_length=32, verbose_name=u'ICCID号')