Example #1
0
 def patch(self, request, uid):
     machine_code = request.GET.get('mc', None)
     client = get_client(machine_code)
     request_user = request.user
     try:
         if not client or not client.is_manager:
             raise ValueError('INVALID CLIENT.')
         if not request_user or not request_user.is_operator:
             raise ValueError('登录已过期或不能进行这个操作!')
         new_data = json.loads(request.body)
         operate_user = User.objects.get(id=int(uid))
         for key, value in new_data.items():
             if key in [
                     'username', 'phone', 'email', 'note', 'is_active',
                     'is_operator', 'is_collector', 'is_researcher'
             ]:
                 if key == 'is_active' and operate_user.id == request_user.id:
                     raise ValueError('不能对自己做此项修改。')
                 operate_user.__setattr__(key, value)
         operate_user.save()
         message = '修改成功!'
         status_code = 200
     except Exception as e:
         message = str(e)
         status_code = 400
     return HttpResponse(content=json.dumps({
         "message": message,
         "data": {}
     }),
                         content_type="application/json; charset=utf-8",
                         status=status_code)
Example #2
0
 def get(self, request, uid):
     machine_code = request.GET.get('mc', None)
     client = get_client(machine_code)
     try:
         if not client or not client.is_manager:
             raise ValueError('INVALID CLIENT!')
         body_data = json.loads(request.body)
         operate_user = User.objects.get(id=int(uid))
         # 当前用户可登录客户端
         accessed_clients = UserToClient.objects.filter(
             user=operate_user,
             expire_date__gt=datetime.date.today())  # 第三关系表的实例
         # 所有有效的客户端
         all_clients = Client.objects.filter(**body_data)
         # 序列化
         serializer = ClientsToUserSerializer(
             accessed_clients=accessed_clients,
             instance=all_clients,
             many=True)
         message = '获取客户端信息成功!'
         status_code = 200
         data = serializer.data
     except Exception as e:
         message = str(e)
         status_code = 400
         data = []
     return HttpResponse(content=json.dumps({
         "message": message,
         "data": data
     }),
                         content_type="application/json; charset=utf-8",
                         status=status_code)
Example #3
0
 def get(self, request, cid):
     machine_code = request.GET.get('mc', None)
     client = get_client(machine_code)
     try:
         if not client:
             raise ValueError('INVALID CLIENT!')
         # 查询表
         chart = VarietyChart.objects.get(id=int(cid))
         serializer = ChartSerializer(instance=chart)
         data = serializer.data
         # 查询表详情的sql语句
         query_sql = "SELECT * FROM %s WHERE id>1" % chart.table.sql_name
         # 查询表头语句
         header_sql = "SELECT * FROM %s WHERE id=1" % chart.table.sql_name
         with connection.cursor() as cursor:
             cursor.execute(header_sql)
             header_data = cursor.fetchone()
             cursor.execute(query_sql)
             table_data = cursor.fetchall()  # 起始时间
             data['header_data'] = header_data
             data['table_data'] = table_data
         message = '获取表数据成功!'
         status_code = 200
     except Exception as e:
         data = {}
         message = str(e)
         status_code = 400
     return HttpResponse(content=json.dumps({
         "message": message,
         "data": data
     }),
                         content_type="application/json; charset=utf-8",
                         status=status_code)
Example #4
0
 def post(self, request):
     machine_code = request.GET.get('mc', None)
     client = get_client(machine_code)
     request_user = request.user
     try:
         if not client or not client.is_manager:
             raise ValueError('INVALID CLIENT!')
         if not request_user or not request_user.is_collector:
             raise ValueError('登录已过期或不能进行这项操作!')
         file_name = request.POST.get('name', '')
         if not file_name:
             file_name = request.FILES.name
         # 组织好数据
         data_to_save = {
             'name': file_name,
             'creator': request_user.id,
         }
         form = MarketAnalysisForm(data_to_save, request.FILES)
         if form.is_valid():
             form.save()
             message = '上传成功!'
             status_code = 201
         else:
             raise ValueError(form.errors)
     except Exception as e:
         message = str(e)
         status_code = 400
     return HttpResponse(content=json.dumps({
         'message': message,
         'data': []
     }),
                         content_type='application/json charset=utf-8',
                         status=status_code)
Example #5
0
 def get(self):
     body_json = request.json
     utoken = body_json.get('utoken')
     user_info = verify_json_web_token(utoken)
     if not user_info:
         return jsonify({'message': '请登录后再操作..'}), 400
     user_id = user_info['id']
     variety_id = body_json.get('variety_id', None)
     machine_code = body_json.get('machine_code')
     client_info = get_client(machine_code)
     if not all([user_id, variety_id, client_info]):
         return jsonify({'message': '参数错误'}), 400
     client_id = client_info['id']
     db_connection = MySQLConnection()
     cursor = db_connection.get_cursor()
     select_statement = "SELECT * FROM `info_tablesource_configs` " \
                        "WHERE `variety_id`=%s AND `client_id`=%s AND `user_id`=%s;"
     cursor.execute(select_statement, (variety_id, client_id, user_id))
     records = cursor.fetchall()
     configs = list()
     for item in records:
         new = dict()
         new['id'] = item['id']
         new['update_time'] = item['update_time'].strftime(
             '%Y-%m-%d %H:%M:%S')
         new['variety_name'] = item['variety_name']
         new['variety_id'] = item['variety_id']
         new['group_name'] = item['group_name']
         new['group_id'] = item['group_id']
         new['file_folder'] = item['file_folder']
         configs.append(new)
     return jsonify({'message': '查询成功', 'configs': configs})
Example #6
0
 def get(self, request):
     machine_code = request.GET.get('mc', None)
     min_date = request.GET.get('min_date', None)
     client = get_client(machine_code)
     if not client:
         return HttpResponse(content=json.dumps({
             'message': '获取短信通成功!',
             'data': []
         }),
                             content_type='application/json charset=utf-8',
                             status=200)
     # 无最小时间,请求全部
     if not min_date:
         messages = TradePolicy.objects.all().order_by('-date', '-time')
     else:
         min_date = datetime.datetime.strptime(min_date, '%Y-%m-%d')
         messages = TradePolicy.objects.filter(
             date__gte=min_date.date()).order_by('-date', '-time')
     serializer = TradePolicySerializer(instance=messages, many=True)
     return HttpResponse(content=json.dumps({
         'message': '获取交易策略成功!',
         'data': serializer.data
     }),
                         content_type='application/json charset=utf-8',
                         status=200)
Example #7
0
 def put(self, request, mid):
     machine_code = request.GET.get('mc', None)
     client = get_client(machine_code)
     request_user = request.user
     try:
         if not client or not client.is_manager:
             raise ValueError('INVALID CLIENT!')
         if not request_user or not request_user.is_collector:
             raise ValueError('登录已过期!或不能进行这个操作!')
         instance = MessageLink.objects.get(id=int(mid))
         if not request_user.is_operator and instance.creator.id != request_user.id:
             raise ValueError('请不要修改他人上传的信息!')
         body_data = json.loads(request.body)
         content = body_data.get('content', None)
         if not content:
             raise ValueError('请输入内容!')
         date = datetime.datetime.strptime(body_data.get('date'),
                                           '%Y-%m-%d')
         time = datetime.datetime.strptime(body_data.get('time'),
                                           '%H:%M:%S')
         instance.date = date.date()
         instance.time = time.time()
         instance.content = content
         instance.save()
         message = '修改短信通成功!'
         status_code = 200
     except Exception as e:
         message = str(e)
         status_code = 400
     return HttpResponse(content=json.dumps({
         'message': message,
         'data': {}
     }),
                         content_type='application/json charset=utf-8',
                         status=status_code)
Example #8
0
 def post(self, request):
     machine_code = request.GET.get('mc', None)
     client = get_client(machine_code)
     request_user = request.user
     try:
         if not client or not client.is_manager:
             raise ValueError('INVALID CLIENT!')
         if not request_user or not request_user.is_operator:
             raise ValueError('还没登录或不能进行这个操作!')
         body_data = json.loads(request.body)
         name = body_data.get('name', None)
         if not name:
             raise ValueError('请输入正确的名称.')
         parent = body_data.get('parent', None)  # 父级
         parent = int(parent) if parent else None
         # 查找最大的order
         max_order_dict = Module.objects.all().aggregate(Max('order'))
         current_order = 0 if not max_order_dict['order__max'] else max_order_dict['order__max']
         next_order = current_order + 1
         # 创建
         module = Module(name=name, parent_id=parent, order=next_order)
         module.save()
         data = {'id': module.id, 'name': module.name}
         message = '创建新模块成功!'
         status_code = 201
     except Exception as e:
         message = str(e)
         status_code = 400
         data = {}
     return HttpResponse(
         content=json.dumps({"message": message, "data": data}),
         content_type="application/json; charset=utf-8",
         status=status_code
     )
Example #9
0
 def patch(self, request):
     machine_code = request.GET.get('mc', None)
     client = get_client(machine_code)
     request_user = request.user
     try:
         if not client or not client.is_manager:
             raise ValueError('INVALID CLIENT!')
         if not request_user or not request_user.is_operator:
             raise ValueError('还没登录或不能进行这个操作!')
         body_data = json.loads(request.body)
         current_id = body_data.get("current_id", None)
         replace_id = body_data.get("replace_id", None)
         print(current_id, replace_id)
         if not current_id or not replace_id:
             raise ValueError('参数错误.current_id, replace_id')
         # 查询对应的模块
         current_module = Module.objects.get(id=current_id)
         replace_module = Module.objects.get(id=replace_id)
         # 交换两个order
         current_module.order, replace_module.order = replace_module.order, current_module.order
         current_module.save()
         replace_module.save()
         serializer = ModuleSerializer(instance=[current_module, replace_module], many=True)
         data = serializer.data
         message = "移动成功."
         status_code = 200
     except Exception as e:
         message = str(e)
         status_code = 400
         data = []
     return HttpResponse(
         content=json.dumps({"message": message, "data": data}),
         content_type="application/json; charset=utf-8",
         status=status_code
     )
Example #10
0
 def get(self, request, cid):
     machine_code = request.GET.get('mc', None)
     client = get_client(machine_code)
     try:
         if not client:
             raise ValueError('INVALID CLIENT.')
         operate_client = Client.objects.get(id=int(cid))
     except Client.DoesNotExist:
         data = {}
         message = '该客户端不存在.'
         status_code = 400
     except Exception as e:
         data = {}
         message = str(e)
         status_code = 400
     else:
         message = '获取客户端信息成功!'
         data = {
             'name': operate_client.name if operate_client.name else '',
             'machine_code': operate_client.machine_code
         }
         status_code = 200
     return HttpResponse(
         content=json.dumps({"message": message, "data": data}),
         content_type="application/json; charset=utf-8",
         status=status_code
     )
Example #11
0
 def patch(self, request, cid):
     machine_code = request.GET.get('mc', None)
     client = get_client(machine_code)
     request_user = request.user
     try:
         if not client or not client.is_manager:
             raise ValueError('INVALID CLIENT.')
         if not request_user or not request_user.is_operator:
             raise ValueError('登录已过期或不能进行这个操作!')
         operate_client = Client.objects.get(id=int(cid))
         if operate_client.name == u'超管客户端':
             raise ValueError('该客户端不能进行编辑!')
         new_data = json.loads(request.body)
         for key, value in new_data.items():
             if key in ['name', 'machine_code', 'is_active']:
                 operate_client.__setattr__(key, value)
         operate_client.save()
         message = '修改成功!'
         status_code = 200
     except Exception as e:
         message = str(e)
         status_code = 400
     return HttpResponse(
         content=json.dumps({"message": message, "data": {}}),
         content_type="application/json; charset=utf-8",
         status=status_code
     )
Example #12
0
    def get(self, request):
        machine_code = request.GET.get('mc', '')
        client = get_client(machine_code)
        records = []
        if not client:
            pass
        else:
            select = {'day': connection.ops.date_trunc_sql('day', 'create_time')}
            result = ClientOpenRecord.objects.extra(select=select).values('client', 'day')\
                .annotate(day_count=Count('id')).order_by('-day')
            # 根据客户端查询
            client_id = request.GET.get('client', None)
            try:
                client_id = int(client_id)
            except Exception:
                client_id = None
            if client_id is not None:
                result = result.filter(client=client_id)

            for obj_dict in result:
                obj_dict['day'] = obj_dict['day'].strftime('%Y-%m-%d')
                obj_dict['client_name'], obj_dict['category'] = self.get_client_name(obj_dict['client'])
                records.append(obj_dict)
        return HttpResponse(
            content=json.dumps({'message': '获取记录成功', 'data': records}),
            content_type='application/json; charset=utf-8',
            status=200
        )
Example #13
0
 def post(self, request):
     try:
         body_data = json.loads(request.body)
         name = body_data.get('name', None)
         machine_code = body_data.get('machine_code', None)
         is_manager = body_data.get('is_manager', False)
         if not machine_code:
             raise ValueError('缺少【机器码】.')
         # 查询客户端存在与否
         with transaction.atomic():  # 数据库事务
             client = get_client(machine_code)
             if client:  # 存在,更新身份
                 client.is_manager = is_manager
             else:  # 不存在则创建
                 client = Client(
                     name=name,
                     machine_code=machine_code,
                     is_manager=is_manager
                 )
             client.save()
             # print('用户打开了客户端,进行记录')
             record = ClientOpenRecord(client=client)
             record.save()
         message = '创建成功.'
         status_code = 200
         data = {'machine_code': client.machine_code}
     except Exception as e:
         message = str(e)
         status_code = 400
         data = {}
     return HttpResponse(
         content=json.dumps({'message': message, 'data': data}),
         content_type='application/json; charset=utf-8',
         status=status_code
     )
Example #14
0
 def post(self, request, uid):
     machine_code = request.GET.get('mc', None)
     client = get_client(machine_code)
     request_user = request.user
     try:
         if not client:
             raise ValueError('INVALID CLIENT!')
         if not request_user:
             raise ValueError('登录已过期...')
         phone = request_user.phone
         image = request.FILES.get('image', None)
         if not image:
             raise ValueError('请上传图片.')
         print(image)
         save_path = settings.MEDIA_ROOT + 'userAvatar/phone_' + phone + '.png'
         sql_path = settings.STATIC_URL + 'userAvatar/phone_' + phone + '.png'
         if default_storage.exists(save_path):
             default_storage.delete(save_path)
         path = default_storage.save(save_path, image)
         request_user.avatar = sql_path
         request_user.save()
         message = '修改成功.'
         status_code = 201
         data = sql_path
     except Exception as e:
         message = str(e)
         status_code = 400
         data = ''
     return HttpResponse(content=json.dumps({
         "message": message,
         "data": data
     }),
                         content_type="application/json; charset=utf-8",
                         status=status_code)
Example #15
0
 def delete(self, request, nid):
     machine_code = request.GET.get('mc', None)
     client = get_client(machine_code)
     request_user = request.user
     try:
         if not client or not client.is_manager:
             raise ValueError('INVALID CLIENT!')
         if not request_user or not request_user.is_operator:
             raise ValueError('还没登录或不能进行这项操作!')
         notice = TransactionNotice.objects.get(id=int(nid))
         # 删除文件
         file_path = settings.MEDIA_ROOT + notice.file.name
         os.remove(file_path)
         notice.delete()
         status_code = 200
         message = '删除通知成功!'
     except Exception as e:
         message = str(e)
         status_code = 400
     return HttpResponse(content=json.dumps({
         "message": message,
         "data": {}
     }),
                         content_type="application/json; charset=utf-8",
                         status=status_code)
Example #16
0
 def post(self, request, gid):
     machine_code = request.GET.get('mc', None)
     client = get_client(machine_code)
     request_user = request.user
     try:
         if not client or not client.is_manager:
             raise ValueError('INVALID CLIENT!')
         if not request_user or not request_user.is_operator:
             raise ValueError('还未登录或不能进行这个操作!')
         body_data = json.loads(request.body)
         name = body_data.get('name', None)
         name_en = body_data.get('name_en', None)
         exchange_lib = body_data.get('exchange_lib', 0)
         if not all([gid, name, name_en]):
             raise ValueError('缺少【名称】或【英文代码】')
         # 创建新品种
         new_variety = Variety(
             group_id=int(gid),
             name=name,
             name_en=name_en,
             exchange=exchange_lib
         )
         new_variety.save()
         message = '新建品种成功!'
         status_code = 201
     except Exception as e:
         message = str(e)
         status_code = 400
     return HttpResponse(
         content=json.dumps({"message": message, "data": {}}),
         content_type="application/json; charset=utf-8",
         status=status_code
     )
Example #17
0
 def post(self, request):
     machine_code = request.GET.get('mc', None)
     client = get_client(machine_code)
     request_user = request.user
     try:
         if not client or not client.is_manager:
             raise ValueError('INVALID CLIENT!')
         if not request_user or not request_user.is_collector:
             raise ValueError('未登录或不能进行这项操作!')
         body_data = json.loads(request.body)
         finance_list = body_data.get('finance_list', None)
         if not finance_list:
             raise ValueError('还没有上传任何数据.')
         instance_list = list()
         for item in finance_list:
             item['date'] = datetime.datetime.strptime(
                 item['date'], '%Y-%m-%d')
             item['time'] = datetime.datetime.strptime(
                 item['time'], '%H:%M:%S')
             item['uploader_id'] = request_user.id  # 加入上传者
             instance = FinanceCalendar(**item)
             instance_list.append(instance)
         FinanceCalendar.objects.bulk_create(instance_list)
         message = "上传成功!"
         status_code = 201
     except Exception as e:
         message = str(e)
         status_code = 400
     return HttpResponse(content=json.dumps({
         "message": message,
         "data": []
     }),
                         content_type="application/json; charset=utf-8",
                         status=status_code)
Example #18
0
 def delete(self, request, gid):
     print('删除gid', gid)
     machine_code = request.GET.get('mc', None)
     client = get_client(machine_code)
     user = request.user
     try:
         if not client or not client.is_manager:
             raise ValueError('INVALID CLIENT!')
         if not user or not user.is_operator:
             raise ValueError('您登录已过期或不能进行这项操作!')
         group = VarietyGroup.objects.get(id=int(gid))
         with transaction.atomic():
             # 删除此组所有品种下的所有表
             with connection.cursor() as cursor:
                 for variety in group.varieties.all():
                     for i in range(9999):
                         delete_sql = "DROP TABLE %s;" % (variety.name_en + '_table_' + str(i))
                         try:
                             cursor.execute(delete_sql)
                         except Exception:
                             break
             group.delete()
         message = '删除成功!'
         status_code = 200
     except Exception as e:
         message = str(e)
         status_code = 400
     return HttpResponse(
         content=json.dumps({"message": message, "data": {}}),
         content_type="application/json; charset=utf-8",
         status=status_code
     )
Example #19
0
 def post(self, request):
     machine_code = request.GET.get('mc', None)
     client = get_client(machine_code)
     request_user = request.user
     try:
         if not client or not client.is_manager:
             raise ValueError('INVALID CLIENT!')
         if not request_user or not request_user.is_collector:
             raise ValueError('登录已过期或不能进行这项操作!')
         body_data = json.loads(request.body)
         content = body_data.get('content', None)
         if not content:
             raise ValueError('请输入内容!')
         date = datetime.datetime.strptime(body_data.get('date'),
                                           '%Y-%m-%d')
         time = datetime.datetime.strptime(body_data.get('time'),
                                           '%H:%M:%S')
         sms = MessageLink(date=date.date(),
                           time=time.time(),
                           content=content,
                           creator=request_user)
         sms.save()
         message = '创建短信通成功!'
         status_code = 201
     except Exception as e:
         message = str(e)
         status_code = 400
     return HttpResponse(content=json.dumps({
         'message': message,
         'data': []
     }),
                         content_type='application/json charset=utf-8',
                         status=status_code)
Example #20
0
 def put(self, request, vid):
     machine_code = request.GET.get('mc', None)
     client = get_client(machine_code)
     request_user = request.user
     try:
         if not client or not client.is_manager:
             raise ValueError('INVALID CLIENT.')
         if not request_user or not request_user.is_operator:
             raise ValueError('登录已过期或不能进行这个操作!')
         new_data = json.loads(request.body)
         operate_variety = Variety.objects.get(id=int(vid))
         for key, value in new_data.items():
             print(key, value)
             if key in ['name', 'name_en', 'group_id', 'exchange', 'is_active']:
                 operate_variety.__setattr__(key, value)
         operate_variety.save()
         # print(operate_variety.exchange)
         message = '修改成功!'
         status_code = 200
     except Exception as e:
         message = str(e)
         status_code = 400
     return HttpResponse(
         content=json.dumps({"message": message, "data": {}}),
         content_type="application/json; charset=utf-8",
         status=status_code
     )
Example #21
0
 def get(self, request):
     machine_code = request.GET.get('mc', None)
     client = get_client(machine_code)
     current_page = request.GET.get('page', 1)
     if not client:
         instances = MarketAnalysis.objects.none()
     else:
         instances = MarketAnalysis.objects.all().order_by('-update_time')
     # 分页
     paginator = Paginator(object_list=instances, per_page=25)
     try:
         page_list = paginator.get_page(current_page)
         serializer = MarketAnalysisSerializer(instance=page_list,
                                               many=True)
         data = dict()
         data['contacts'] = serializer.data
         data['total_page'] = paginator.num_pages
         message = '获取市场分析文件信息成功'
         status_code = 200
     except Exception as e:
         message = str(e)
         status_code = 400
         data = {}
     return HttpResponse(content=json.dumps({
         'message': message,
         'data': data
     }),
                         content_type='application/json charset=utf-8',
                         status=status_code)
Example #22
0
 def get(self, request):
     machine_code = request.GET.get('mc', None)
     client = get_client(machine_code)
     records = []
     if not client:
         pass
     else:
         select = {'day': connection.ops.date_trunc_sql('day', 'create_time')}
         result = ModuleOpenRecord.objects.extra(select=select).values('user', 'day', 'module')\
             .annotate(day_count=Count('id')).order_by('-day')  # 最后对统计结果进行时间的倒序排列
         # result = result.filter(user__is_superuser=False)
         # 根据用户查询
         user_id = request.GET.get('user', None)
         try:
             user_id = int(user_id)
         except Exception:
             user_id = None
         if user_id is not None:
             result = result.filter(user=user_id)
         records = self.covert_obj(result.all())
     return HttpResponse(
         content=json.dumps({'message': '获取记录成功', 'data': records}),
         content_type='application/json; charset=utf-8',
         status=200
     )
Example #23
0
 def delete(self, request, mid):
     machine_code = request.GET.get('mc', None)
     client = get_client(machine_code)
     request_user = request.user
     try:
         if not client or not client.is_manager:
             raise ValueError('INVALID CLIENT!')
         if not request_user or not request_user.is_collector:
             raise ValueError('登录已过期!或不能进行这个操作!')
         instance = MarketAnalysis.objects.get(id=int(mid))
         if not request_user.is_operator and instance.creator.id != request_user.id:
             raise ValueError('请不要删除他人上传的信息!')
         instance.delete()
         # 删除文件
         file_path = settings.MEDIA_ROOT + instance.file.name
         os.remove(file_path)
         message = '删除成功!'
         status_code = 200
     except Exception as e:
         message = str(e)
         status_code = 400
     return HttpResponse(content=json.dumps({
         'message': message,
         'data': []
     }),
                         content_type='application/json charset=utf-8',
                         status=status_code)
Example #24
0
 def get(self, request):
     machine = request.GET.get('mc', None)
     client = get_client(machine)
     try:
         if not client:
             raise ValueError('INVALIE CLIENT.')
         news = NewsBulletin.objects.order_by('-create_time').all()
         current_page = request.GET.get('page', 1)
         paginator = Paginator(object_list=news, per_page=25)
         news_list = paginator.get_page(current_page)
         serializer = NewsBulletinSerializer(instance=news_list, many=True)
         data = dict()
         data['contacts'] = serializer.data
         data['total_page'] = paginator.num_pages
         message = '获取新闻公告成功.'
         status_code = 200
     except Exception as e:
         message = str(e)
         status_code = 400
         data = dict()
         data['contacts'] = []
         data['total_page'] = 1
     return HttpResponse(content=json.dumps({
         "message": message,
         "data": data
     }),
                         content_type="application/json; charset=utf-8",
                         status=status_code)
Example #25
0
 def patch(self):
     body_json = request.json
     utoken = body_json.get('utoken')
     user_info = verify_json_web_token(utoken)
     if not user_info:
         return jsonify({'message': '请登录后再操作..'}), 400
     user_id = user_info['id']
     variety_id = body_json.get('variety_id', None)
     group_id = body_json.get('group_id', None)
     machine_code = body_json.get('machine_code')
     client_info = get_client(machine_code)
     if not all([user_id, variety_id, client_info, group_id]):
         return jsonify({'message': '参数错误'}), 400
     client_id = client_info['id']
     now = datetime.datetime.now()
     update_statement = "UPDATE `info_tablesource_configs` " \
                        "SET `update_time`=%s " \
                        "WHERE `client_id`=%s AND `user_id`=%s AND `variety_id`=%s AND `group_id`=%s;"
     db_connection = MySQLConnection()
     cursor = db_connection.get_cursor()
     cursor.execute(update_statement,
                    (now, client_id, user_id, variety_id, group_id))
     db_connection.commit()
     db_connection.close()
     return jsonify({'message': '修改成功'})
Example #26
0
 def get(self, request, name):
     machine_code = request.GET.get('mc', None)
     client = get_client(machine_code)
     if not client:
         return HttpResponse(content=json.dumps({
             "message": 'INVALID CLIENT!',
             "data": {}
         }),
                             content_type="application/json; charset=utf-8",
                             status=400)
     image = 'home/advertisement/image/' + name
     # print(image)
     try:
         ad = Advertisement.objects.get(image=image)
         print(ad)
         serializer = AdvertisementSerializer(instance=ad)
         message = '获取数据成功!'
         status_code = 200
         data = serializer.data
     except Advertisement.DoesNotExist:
         message = '不存在当前数据!'
         status_code = 400
         data = {}
     return HttpResponse(content=json.dumps({
         "message": message,
         "data": data
     }),
                         content_type="application/json; charset=utf-8",
                         status=status_code)
Example #27
0
 def post(self, request, vid):
     machine_code = request.GET.get('mc', None)
     client = get_client(machine_code)
     request_user = request.user
     try:
         if not client or not client.is_manager:
             raise ValueError('INVALID CLIENT!')
         if not request_user:
             raise ValueError('还未登录,或登录已过期。')
         body_data = json.loads(request.body)
         group_name = body_data.get('group_name', None)
         if not group_name:
             raise ValueError('请输入组别名称!')
         # 查找当前操作的品种
         current_variety = Variety.objects.get(id=int(vid))
         # 验证用户的品种权限
         if not variety_user_accessed(variety=current_variety,
                                      user=request_user):
             raise ValueError('您还没有这个品种的权限!')
         # 创建分组
         group = TrendTableGroup(name=group_name, variety=current_variety)
         group.save()
         message = '新建数据分组成功!'
         status_code = 201
     except Exception as e:
         message = str(e)
         status_code = 400
     return HttpResponse(content=json.dumps({
         'message': message,
         'data': {}
     }),
                         content_type='application/json; charset=utf-8',
                         status=status_code)
Example #28
0
    def post(self, request, group):
        machine_code = request.GET.get('mc')
        client = get_client(machine_code)
        request_user = request.user
        try:
            if not client or not client.is_manager:
                raise ValueError('INVALID CLIENT!')
            # 验证group
            if group not in [couple[0] for couple in DataCategory.GROUPS]:
                raise ValueError('错误的请求.')
            if not request_user or not request_user.is_operator:
                raise ValueError('登录已过期或您还不能进行这个操作!')
            body_data = json.loads(request.body)
            name = body_data.get('name', None)
            if not name:
                raise ValueError('请输入正确的分组名称!')
            # 创建分组
            category = DataCategory(name=name, group=group)
            category.save()
            message = '创建分类成功!'
            status_code = 201
        except Exception as e:
            message = str(e)
            status_code = 400

        return HttpResponse(content=json.dumps({
            "message": message,
            "data": {}
        }),
                            content_type="application/json; charset=utf-8",
                            status=status_code)
Example #29
0
 def delete(self, request, cid):
     machine_code = request.GET.get('mc', None)
     client = get_client(machine_code)
     request_user = request.user
     try:
         if not client or not client.is_manager:
             raise ValueError('INVALID CLIENT!')
         if not request_user:
             raise ValueError('登录已过期!')
         # 查询表
         chart = VarietyChart.objects.get(id=int(cid))
         if not variety_user_accessed(variety=chart.variety,
                                      user=request_user):
             raise ValueError('您还没有该品种的权限!不能删除。')
         chart.delete()
         message = '删除图表成功!'
         status_code = 200
     except Exception as e:
         message = str(e)
         status_code = 400
     return HttpResponse(content=json.dumps({
         "message": message,
         "data": {}
     }),
                         content_type="application/json; charset=utf-8",
                         status=status_code)
Example #30
0
 def get(self, request, uid):
     machine_code = request.GET.get('mc', None)
     client = get_client(machine_code)
     try:
         if not client:
             raise ValueError('INVALID CLIENT.')
         user = User.objects.get(id=int(uid))
     except User.DoesNotExist:
         data = {}
         message = '该用户不存在.'
         status_code = 400
     except Exception as e:
         data = {}
         message = str(e)
         status_code = 400
     else:
         serializer = UserSerializer(instance=user)
         message = '成功'
         data = serializer.data
         status_code = 200
     return HttpResponse(content=json.dumps({
         "message": message,
         "data": data
     }),
                         content_type="application/json; charset=utf-8",
                         status=status_code)