def lianjie_tijiao_detail(request): response = Response.ResponseObj() if request.method == "GET": forms_obj = SelectForm(request.GET) if forms_obj.is_valid(): current_page = forms_obj.cleaned_data['current_page'] length = forms_obj.cleaned_data['length'] tid = request.GET.get('tid') order = request.GET.get('order', 'id') field_dict = {'id': '', 'url': '__contains', 'tid': tid} if tid: q = conditionCom(request, field_dict) print('q -->', q) objs = models.zhugedanao_lianjie_tijiao.objects.filter( q).order_by(order) count = objs.count() print('count----> ', count) if length != 0: start_line = (current_page - 1) * length stop_line = start_line + length objs = objs[start_line:stop_line] # 返回的数据 ret_data = [] for obj in objs: tijiaocishu = models.zhugedanao_lianjie_tijiao_log.objects.filter( zhugedanao_lianjie_tijiao_id=obj.id).count() obj.count = tijiaocishu obj.save() if int(tijiaocishu) >= 3 and int(obj.status) != 2: obj.status = 3 obj.save() # 将查询出来的数据 加入列表 ret_data.append({ 'id': obj.id, 'url': obj.url, 'count': obj.count, # 详情数据提交次数 'status_text': obj.get_status_display(), # 查询状态 'beforeSubmit': obj.get_beforeSubmitStatus_display(), }) # 查询成功 返回200 状态码 response.code = 200 response.msg = '查询成功' response.data = { 'ret_data': ret_data, 'data_count': count, } else: response.code = 301 response.msg = "数据类型验证失败" response.data = json.loads(forms_obj.errors.as_json()) else: response.code = 402 response.msg = "请求异常" return JsonResponse(response.__dict__)
def tongji_data(request): nowDate = datetime.datetime.now().strftime("%Y-%m-%d") print(request.GET) start_date = request.GET.get('create_date__gte', nowDate) stop_date = request.GET.get('create_date__lt', '') # 获取参数 field_dict = { 'id': '', 'name': '__contains', 'create_date__gte': start_date, 'create_date__lt': stop_date, } print('field_dict -->', field_dict) q = conditionCom(request, field_dict) print('q -->', q) userCount = models.zhugedanao_userprofile.objects.count() # 所有用户 userNewCount = models.zhugedanao_userprofile.objects.filter( q).count() # 新用户 todayHuoyueCount = len( models.zhugedanao_oper_log.objects.filter(q).values( 'user_id').annotate(Count('id'))) # 今日活跃 data2 = [] gongneng_objs = models.zhugedanao_gongneng.objects.filter(pid__isnull=True) for gongneng_obj in gongneng_objs: oper_log_q = Q(gongneng_id=gongneng_obj.id) | Q( gongneng__pid=gongneng_obj.id) if stop_date: gongneng_count = models.zhugedanao_oper_log.objects.filter( q).filter(oper_log_q).count() else: gongneng_count = models.zhugedanao_oper_log.objects.filter( oper_log_q).count() data2.append({"title": gongneng_obj.name, "value": gongneng_count}) response.code = 200 response.data = { "data1": [ { "title": "用户总数", "value": userCount }, { "title": "新增用户数", "value": userNewCount }, { "title": "活跃用户数", "value": todayHuoyueCount }, ], "data2": data2 } return JsonResponse(response.__dict__)
def form_management(request): response = Response.ResponseObj() if request.method == "GET": forms_obj = SelectForm(request.GET) if forms_obj.is_valid(): current_page = forms_obj.cleaned_data['current_page'] length = forms_obj.cleaned_data['length'] order = request.GET.get('order', '-create_datetime') field_dict = { 'id': '', 'template_id': '', 'form_id': '', } q = conditionCom(request, field_dict) print('q -->', q) objs = models.ReservationForm.objects.filter(q).order_by(order) count = objs.count() if length != 0: start_line = (current_page - 1) * length stop_line = start_line + length objs = objs[start_line:stop_line] # 返回的数据 ret_data = [] for obj in objs: try: form_content = json.loads(obj.form_content) except Exception: form_content = obj.form_content ret_data.append({ 'id': obj.id, 'form_id': obj.form_id, 'template_id': obj.template_id, 'template_name': obj.template.name, 'form_content': form_content, 'create_datetime': obj.create_datetime.strftime('%Y-%m-%d %H:%M:%S'), }) # 查询成功 返回200 状态码 response.code = 200 response.msg = '查询成功' response.data = { 'ret_data': ret_data, 'data_count': count, } response.note = {} else: response.code = 402 response.msg = "请求异常" response.data = json.loads(forms_obj.errors.as_json()) return JsonResponse(response.__dict__)
def goods_classify(request): response = Response.ResponseObj() user_id = request.GET.get('user_id') if request.method == "GET": forms_obj = SelectForm(request.GET) if forms_obj.is_valid(): current_page = forms_obj.cleaned_data['current_page'] length = forms_obj.cleaned_data['length'] order = request.GET.get('order', '-create_datetime') field_dict = {} q = conditionCom(request, field_dict) objs = models.GoodsClassify.objects.filter( q, oper_user_id=user_id).order_by(order) if length != 0: start_line = (current_page - 1) * length stop_line = start_line + length objs = objs[start_line:stop_line] data_count = objs.count() data_list = [] for obj in objs: is_good = False if obj.goods_set.all(): is_good = True data_list.append({ 'id': obj.id, 'goods_classify': obj.goods_classify, 'oper_user_id': obj.oper_user_id, 'oper_user': b64decode(obj.oper_user.name), 'create_datetime': obj.create_datetime.strftime('%Y-%m-%d %H:%M:%S'), 'is_good': is_good, }) response.code = 200 response.msg = '查询成功' response.data = { 'ret_data': data_list, 'count': data_count, } response.note = { 'id': '商品分类ID', 'goods_classify': '商品分类名称', 'is_good': '该分类中是否有商品', 'create_datetime': '该商品分类创建时间', } else: response.code = 301 response.msg = json.loads(forms_obj.errors.as_json()) else: response.code = 402 response.msg = "请求异常" return JsonResponse(response.__dict__)
def company(request): response = Response.ResponseObj() if request.method == "GET": forms_obj = SelectForm(request.GET) if forms_obj.is_valid(): current_page = forms_obj.cleaned_data['current_page'] length = forms_obj.cleaned_data['length'] print('forms_obj.cleaned_data -->', forms_obj.cleaned_data) order = request.GET.get('order', '-create_date') field_dict = { 'id': '', 'name': '__contains', 'create_date': '', 'oper_user__username': '******', } q = conditionCom(request, field_dict) print('q -->', q) objs = models.company.objects.filter(q).order_by(order) count = objs.count() if length != 0: start_line = (current_page - 1) * length stop_line = start_line + length objs = objs[start_line:stop_line] # 返回的数据 ret_data = [] for obj in objs: # 如果有oper_user字段 等于本身名字 if obj.oper_user: oper_user_username = obj.oper_user.username else: oper_user_username = '' # print('oper_user_username -->', oper_user_username) # 将查询出来的数据 加入列表 ret_data.append({ 'id': obj.id, 'name': obj.name, 'create_date': obj.create_date.strftime('%Y-%m-%d %H:%M:%S'), 'oper_user__username': oper_user_username, }) # 查询成功 返回200 状态码 response.code = 200 response.msg = '查询成功' response.data = { 'ret_data': ret_data, 'data_count': count, } else: response.code = 402 response.msg = "请求异常" response.data = json.loads(forms_obj.errors.as_json()) return JsonResponse(response.__dict__)
def configurationHost(request): response = Response.ResponseObj() if request.method == "GET": user_id = request.GET.get('user_id') forms_obj = SelectForm(request.GET) if forms_obj.is_valid(): current_page = forms_obj.cleaned_data['current_page'] length = forms_obj.cleaned_data['length'] print('forms_obj.cleaned_data -->', forms_obj.cleaned_data) order = request.GET.get('order', '-create_date') field_dict = { 'id': '', 'hostName': '__contains', 'hostUrl': '', 'userProfile_id': '__contains', 'talk_project_id':'', } q = conditionCom(request, field_dict) print('q -->', q) objs = models.configurationManagementHOST.objects.select_related('talk_project').filter( q, talk_project__back_developer=user_id ).order_by(order) count = objs.count() if length != 0: start_line = (current_page - 1) * length stop_line = start_line + length objs = objs[start_line: stop_line] # 返回的数据 ret_data = [] for obj in objs: ret_data.append({ 'id': obj.id, 'url':obj.hostUrl, 'username': obj.userProfile.username, 'talk_project_id': obj.talk_project_id, 'talk_project__name': obj.talk_project.name, 'user_id': obj.userProfile.id, 'describe_id': obj.describe, 'describe': obj.get_describe_display(), 'create_date':obj.create_date.strftime('%Y-%m-%d %H:%M:%S'), }) # 查询成功 返回200 状态码 response.code = 200 response.msg = '查询成功' response.data = { 'ret_data': ret_data, 'data_count': count, } else: response.code = 402 response.msg = "请求异常" response.data = json.loads(forms_obj.errors.as_json()) return JsonResponse(response.__dict__)
def brand(request): response = Response.ResponseObj() # user_id = request.GET.get('user_id') if request.method == "GET": forms_obj = SelectForm(request.GET) if forms_obj.is_valid(): current_page = forms_obj.cleaned_data['current_page'] length = forms_obj.cleaned_data['length'] print('forms_obj.cleaned_data -->', forms_obj.cleaned_data) order = request.GET.get('order', '-create_datetime') field_dict = { 'id': '', 'name': '__contains', 'classify_id': '__in', 'create_user_id': '', 'create_datetime': '', } q = conditionCom(request, field_dict) user_id = request.GET.get('user_id') print('q -->', q) objs = models.Classify.objects.filter(create_user_id__in=[1, user_id]).filter(q).order_by(order) count = objs.count() if length != 0: start_line = (current_page - 1) * length stop_line = start_line + length objs = objs[start_line: stop_line] # 返回的数据 ret_data = [] for obj in objs: # 将查询出来的数据 加入列表 ret_data.append({ 'id': obj.id, 'name': obj.name, 'create_datetime': obj.create_datetime.strftime('%Y-%m-%d %H:%M:%S'), }) # 查询成功 返回200 状态码 response.code = 200 response.msg = '查询成功' response.data = { 'ret_data': ret_data, 'data_count': count, } response.note = { 'id': "品牌id", 'title': "品牌名称", 'create_datetime': "创建时间", } else: response.code = 402 response.msg = "请求异常" response.data = json.loads(forms_obj.errors.as_json()) return JsonResponse(response.__dict__)
def customer(request): response = Response.ResponseObj() if request.method == "GET": forms_obj = SelectForm(request.GET) if forms_obj.is_valid(): current_page = forms_obj.cleaned_data['current_page'] length = forms_obj.cleaned_data['length'] print('forms_obj.cleaned_data -->', forms_obj.cleaned_data) order = request.GET.get('order', '-create_datetime') field_dict = { 'id': '', 'name': '__contains', 'create_datetime': '', 'sex': '', } q = conditionCom(request, field_dict) print('q -->', q) objs = models.Customer.objects.filter(q).order_by(order) count = objs.count() if length != 0: start_line = (current_page - 1) * length stop_line = start_line + length objs = objs[start_line:stop_line] # 返回的数据 ret_data = [] for obj in objs: # 将查询出来的数据 加入列表 ret_data.append({ 'id': obj.id, 'name': obj.name, 'phone_number': obj.phone_number, }) # 查询成功 返回200 状态码 response.code = 200 response.msg = '查询成功' response.data = { 'ret_data': ret_data, 'data_count': count, } response.note = { 'id': "用户id", 'name': "姓名", 'phone_number': "手机号", } else: print("forms_obj.errors -->", forms_obj.errors) response.code = 402 response.msg = "请求异常" response.data = json.loads(forms_obj.errors.as_json()) return JsonResponse(response.__dict__)
def userManagementShow(request): response = Response.ResponseObj() if request.method == "GET": forms_obj = SelectForm(request.GET) if forms_obj.is_valid(): current_page = forms_obj.cleaned_data['current_page'] length = forms_obj.cleaned_data['length'] order = request.GET.get('order', '-create_date') role_id = request.GET.get('role_id') # encode_username = request.GET.get('username') field_dict = { 'id': '', 'username': '******', 'create_date': '', 'role_id': role_id, } q = conditionCom(request, field_dict) print('q----------> ', q) objs = models.zhugedanao_userprofile.objects.select_related( 'role').filter(q).order_by(order) obj_count = objs.count() # 分页 if length != 0: start_line = (current_page - 1) * length stop_line = start_line + length objs = objs[start_line:stop_line] data_list = [] for obj in objs: role_id = 0 role_name = '' if obj.role: role_name = obj.role.name role_id = obj.role.id decode_username = base64.b64decode(obj.username) username = str(decode_username, 'utf-8') data_list.append({ 'o_id': obj.id, 'username': username, 'level_id': obj.level_name.id, 'level': obj.level_name.name, 'create_date': obj.create_date.strftime('%Y-%m-%d %H:%M:%S'), 'role': role_name, 'role_id': role_id }) response.code = 200 response.msg = '查询成功' response.data = {'data_list': data_list, 'obj_count': obj_count} return JsonResponse(response.__dict__)
def task_info(request): response = Response.ResponseObj() if request.method == "GET": forms_obj = SelectForm(request.GET) if forms_obj.is_valid(): user_id = request.GET.get('user_id') current_page = forms_obj.cleaned_data['current_page'] length = forms_obj.cleaned_data['length'] # print('forms_obj.cleaned_data -->', forms_obj.cleaned_data) order = request.GET.get('order', '-create_datetime') field_dict = { 'id': '', 'task_list_id': '', } q = conditionCom(request, field_dict) # print('q -->', q) # q.add(Q(**{k + '__contains': value}), Q.AND) objs = models.TaskInfo.objects.filter(q).order_by(order) count = objs.count() if length != 0: start_line = (current_page - 1) * length stop_line = start_line + length objs = objs[start_line:stop_line] ret_data = [] for obj in objs: # 将查询出来的数据 加入列表 ret_data.append({ 'id': obj.id, 'to_email': obj.to_email, 'send_num': obj.send_num, 'status': obj.get_status_display() }) # 查询成功 返回200 状态码 response.code = 200 response.msg = '查询成功' response.data = { 'ret_data': ret_data, 'data_count': count, } response.note = { 'id': "任务id", 'to_email': "接收邮件的邮箱", 'send_num': "发送次数", 'status': "状态" } else: # print("forms_obj.errors -->", forms_obj.errors) response.code = 402 response.msg = "请求异常" response.data = json.loads(forms_obj.errors.as_json()) return JsonResponse(response.__dict__)
def package_management(request): response = Response.ResponseObj() if request.method == "GET": forms_obj = SelectForm(request.GET) if forms_obj.is_valid(): user_id = request.GET.get('user_id') current_page = forms_obj.cleaned_data['current_page'] length = forms_obj.cleaned_data['length'] order = request.GET.get('order', '-create_datetime') field_dict = { 'id': '', 'package_type':'', 'package_name':'__contains', 'package_path':'__contains', 'platform':'', 'is_delete':'', } q = conditionCom(request, field_dict) objs = models.InstallationPackage.objects.filter(q, is_delete=0).order_by(order) count = objs.count() if length != 0: start_line = (current_page - 1) * length stop_line = start_line + length objs = objs[start_line: stop_line] ret_data = [] for obj in objs: ret_data.append({ 'id': obj.id, 'package_type': obj.get_package_type_display(), 'package_type_id': obj.package_type, 'package_path': obj.package_path, 'package_name': obj.package_name, 'platform': obj.platform, 'create_datetime': obj.create_datetime.strftime('%Y-%m-%d %H:%M:%S'), }) # 查询成功 返回200 状态码 response.code = 200 response.msg = '查询成功' response.data = { 'ret_data': ret_data, 'data_count': count, 'package_type_choices': [{'id':i[0], 'name':i[1]} for i in models.InstallationPackage.package_type_choices] } else: print("forms_obj.errors -->", forms_obj.errors) response.code = 402 response.msg = "请求异常" response.data = json.loads(forms_obj.errors.as_json()) return JsonResponse(response.__dict__)
def roleManagementShow(request): response = Response.ResponseObj() user_id = request.GET.get('user_id') if request.method == "GET": forms_obj = SelectForm(request.GET) if forms_obj.is_valid(): current_page = forms_obj.cleaned_data['current_page'] length = forms_obj.cleaned_data['length'] order = request.GET.get('order', '-create_date') field_dict = { 'id': '', 'name': '__contains', 'create_date': '', 'oper_user__username': '******', } q = conditionCom(request, field_dict) roleObjs = models.zhugedanao_role.objects.filter(q).order_by(order) roleCount = roleObjs.count() # 分页 if length != 0: start_line = (current_page - 1) * length stop_line = start_line + length roleObjs = roleObjs[start_line:stop_line] retData = [] for obj in roleObjs: permissionsData = [] if obj.quanxian: permissionsList = [ i['id'] for i in obj.quanxian.values('id') ] print('permissionsList=========> ', permissionsList) permissionsData = init_data(selected_list=permissionsList) decode_username = base64.b64decode(obj.oper_user.username) username = str(decode_username, 'utf-8') retData.append({ 'id': obj.id, 'name': obj.name, 'createDate': obj.create_date.strftime('%Y-%m-%d %H:%M:%S'), 'permissionsData': permissionsData, 'oper_user': username }) response.code = 200 response.msg = '查询成功' response.data = {'retData': retData, 'roleCount': roleCount} else: response.code = 402 response.msg = "请求异常" response.data = json.loads(forms_obj.errors.as_json()) return JsonResponse(response.__dict__)
def form(request): response = Response.ResponseObj() if request.method == "GET": forms_obj = SelectForm(request.GET) if forms_obj.is_valid(): current_page = forms_obj.cleaned_data['current_page'] length = forms_obj.cleaned_data['length'] order = request.GET.get('order', '-create_datetime') field_dict = { 'id': '', 'template_id': '', } q = conditionCom(request, field_dict) objs = models.Form.objects.filter(q).order_by(order) count = objs.count() if length != 0: start_line = (current_page - 1) * length stop_line = start_line + length objs = objs[start_line:stop_line] # 返回的数据 ret_data = [] for obj in objs: # 将查询出来的数据 加入列表 ret_data.append({ 'id': obj.id, 'data': obj.data, # 表单数据 'create_datetime': obj.create_datetime.strftime('%Y-%m-%d %H:%M:%S'), }) # 查询成功 返回200 状态码 response.code = 200 response.msg = '查询成功' response.data = { 'ret_data': ret_data, 'data_count': count, } else: response.code = 301 response.data = json.loads(forms_obj.errors.as_json()) else: response.code = 402 response.msg = '请求异常' return JsonResponse(response.__dict__)
def service_management(request): response = Response.ResponseObj() if request.method == "GET": forms_obj = SelectForm(request.GET) if forms_obj.is_valid(): current_page = forms_obj.cleaned_data['current_page'] length = forms_obj.cleaned_data['length'] order = request.GET.get('order', '-create_date') field_dict = { 'id': '', 'name': '__contains', } q = conditionCom(request, field_dict) print('q -->', q) objs = models.ServiceTable.objects.filter(q).order_by(order) count = objs.count() if length != 0: start_line = (current_page - 1) * length stop_line = start_line + length objs = objs[start_line:stop_line] # 返回的数据 ret_data = [] for obj in objs: try: main_figure = json.loads(obj.main_figure) except Exception: main_figure = obj.main_figure ret_data.append({ 'id': obj.id, 'create_user_id': obj.create_user_id, 'name': obj.name, 'abstract': obj.abstract, 'main_figure': main_figure, 'service_classification': obj.service_classification, 'price_type': obj.price_type, 'price': obj.price, 'remaining_amount': 0, # 剩余量 'promotion_price': obj.promotion_price, 'limit_amount': obj.limit_amount, 'virtual_order_volume': obj.virtual_order_volume, 'service_detail': obj.service_detail, 'actual_order_quantity': 0, 'create_date': obj.create_date.strftime('%Y-%m-%d %H:%M:%S'), }) # 查询成功 返回200 状态码 response.code = 200 response.msg = '查询成功' response.data = { 'ret_data': ret_data, 'data_count': count, } response.note = { 'id': '服务ID', 'create_user_id': '创建人ID', 'name': '服务名称', 'abstract': '服务简介', 'main_figure': '主图', 'service_classification': '服务分类', 'price_type': '价格类型', 'price': '价格', 'promotion_price': '促销价格', 'limit_amount': '限制总数', 'virtual_order_volume': '虚拟订单量', 'create_date': '创建时间', } else: response.code = 402 response.msg = "请求异常" response.data = json.loads(forms_obj.errors.as_json()) return JsonResponse(response.__dict__)
def permissions(request): response = Response.ResponseObj() if request.method == "GET": forms_obj = SelectForm(request.GET) if forms_obj.is_valid(): current_page = forms_obj.cleaned_data['current_page'] length = forms_obj.cleaned_data['length'] print('forms_obj.cleaned_data -->', forms_obj.cleaned_data) order = request.GET.get('order', '-create_date') field_dict = { 'id': '', 'name': '__contains', 'create_date': '', 'oper_user__username': '******', 'pid_id': '__isnull' } q = conditionCom(request, field_dict) # print('q -->', q) objs = models.Permissions.objects.select_related('pid').filter( q).order_by(order) count = objs.count() if length != 0: start_line = (current_page - 1) * length stop_line = start_line + length objs = objs[start_line:stop_line] # 返回的数据 ret_data = [] for obj in objs: # 如果有oper_user字段 等于本身名字 oper_user_username = '' oper_user_id = '' if obj.oper_user: oper_user_username = obj.oper_user.username oper_user_id = obj.oper_user_id # 将查询出来的数据 加入列表 pid_name = '' if obj.pid: pid_name = obj.pid.name ret_data.append({ 'id': obj.id, 'name': obj.name, # 权限名字 'title': obj.title, # 权限路径 'pid_id': obj.pid_id, # 权限父级ID 'pid_name': pid_name, # 权限父级名称 'oper_user_id': oper_user_id, # 操作人ID 'oper_user__username': oper_user_username, # 操作人 'create_date': obj.create_date.strftime('%Y-%m-%d %H:%M:%S'), }) # 查询成功 返回200 状态码 response.code = 200 response.msg = '查询成功' response.data = { 'ret_data': ret_data, 'data_count': count, } else: response.code = 301 response.data = json.loads(forms_obj.errors.as_json()) else: response.code = 402 response.msg = '请求异常' return JsonResponse(response.__dict__)
def ask_little_red_book(request): response = Response.ResponseObj() if request.method == 'POST': pass # objs = models.noteAssociationScreenshot.objects.filter( # create_datetime__gte='2019-07-01 00:00:00' # ) # print(objs.query) else: forms_obj = SelectForm(request.GET) if forms_obj.is_valid(): current_page = forms_obj.cleaned_data['current_page'] length = forms_obj.cleaned_data['length'] field_dict = { 'id': '', 'comments_status': '', 'request_type': '', 'xhs_user_id': '', 'status': '', 'request_url': '__contains', } q = conditionCom(request, field_dict) order = request.GET.get('order', '-create_datetime') objs = models.AskLittleRedBook.objects.filter(q).order_by(order) error = request.GET.get('error') # 0全部 1:非200 2:200 if error: if error in [1, '1']: # 查询异常的 objs = objs.exclude(response_data__contains=200) else: objs = objs.filter(response_data__contains=200) count = objs.count() if length != 0: start_line = (current_page - 1) * length stop_line = start_line + length objs = objs[start_line:stop_line] ret_data = [] for obj in objs: get_request_parameter = obj.get_request_parameter if get_request_parameter: get_request_parameter = eval(get_request_parameter) post_request_parameter = obj.post_request_parameter if post_request_parameter: post_request_parameter = eval(post_request_parameter) response_data = obj.response_data if response_data: response_data = eval(response_data) ret_data.append({ 'request_url': obj.request_url, 'get_request_parameter': get_request_parameter, 'post_request_parameter': post_request_parameter, 'response_data': response_data, 'request_type_id': obj.request_type, 'request_type': obj.get_request_type_display(), 'status_id': obj.status, 'status': obj.get_status_display(), 'create_datetime': obj.create_datetime.strftime('%Y-%m-%d %H:%M:%S'), }) response.code = 200 response.msg = '查询成功' response.data = { 'ret_data': ret_data, 'count': count, 'status_choices': [{ 'id': i[0], 'name': i[1] } for i in models.AskLittleRedBook.status_choices], 'request_type_choices': [{ 'id': i[0], 'name': i[1] } for i in models.AskLittleRedBook.request_type_choices] } else: response.code = 301 response.msg = json.loads(forms_obj.errors.as_json()) return JsonResponse(response.__dict__)
def query_mobile_equipment_alarm_information(request): response = Response.ResponseObj() forms_obj = SelectForm(request.GET) if forms_obj.is_valid(): current_page = forms_obj.cleaned_data['current_page'] length = forms_obj.cleaned_data['length'] field_dict = { 'id': '', 'error_msg': '__contains', 'status': '', } q = conditionCom(request, field_dict) order = request.GET.get('order', '-create_datetime') objs = models.MobileEquipmentAbnormalSendMessageEnterpriseRecord.objects.filter( q) status = request.GET.get('status') if not status: objs = objs.exclude(status=2) objs = objs.order_by(order) count = objs.count() if length != 0: start_line = (current_page - 1) * length stop_line = start_line + length objs = objs[start_line:stop_line] ret_data = [] for obj in objs: ret_data.append({ 'error_msg': obj.error_msg, 'status_id': obj.status, 'status': obj.get_status_display(), 'create_datetime': obj.create_datetime.strftime('%Y-%m-%d %H:%M:%S'), }) response.code = 200 response.msg = '查询成功' response.data = { 'ret_data': ret_data, 'count': count, 'status_choices': [{ 'id': i[0], 'name': i[1] } for i in models. MobileEquipmentAbnormalSendMessageEnterpriseRecord.status_choices ], } else: response.code = 301 response.msg = json.loads(forms_obj.errors.as_json()) return JsonResponse(response.__dict__)
def user(request): response = Response.ResponseObj() if request.method == "GET": forms_obj = SelectForm(request.GET) if forms_obj.is_valid(): user_id = request.GET.get('user_id') current_page = forms_obj.cleaned_data['current_page'] length = forms_obj.cleaned_data['length'] print('forms_obj.cleaned_data -->', forms_obj.cleaned_data) order = request.GET.get('order', '-create_datetime') field_dict = { 'id': '', } q = conditionCom(request, field_dict) print('q -->', q) objs = models.UserProfile.objects.select_related('role').filter( q, openid__isnull=False) exclude_role_admin = request.GET.get('exclude_role_admin', False) # 是否排除管理员角色 if exclude_role_admin: role_admin_id_list = [6, 8] # 管理员角色id objs = objs.exclude(role_id__in=role_admin_id_list) exclude_role_client = request.GET.get('exclude_role_client', False) # 是否排除普通用户角色 if exclude_role_client: role_client_id_list = [7] # 普通用户角色id objs = objs.exclude(role_id__in=role_client_id_list) inviter_id_is_null = request.GET.get('inviter_id_is_null', False) if inviter_id_is_null: objs = objs.filter(inviter_id__isnull=True) objs = objs.order_by(order) count = objs.count() if length != 0: start_line = (current_page - 1) * length stop_line = start_line + length objs = objs[start_line:stop_line] ret_data = [] for obj in objs: inviter = 0 if obj.inviter: inviter = 1 role_obj = models.Role.objects.filter(id=obj.role_id) data_list = [] for i in role_obj[0].permissions.all(): data_list.append(i.name) last_login_datetime = '' if obj.last_login_datetime: last_login_datetime = obj.last_login_datetime.strftime( '%Y-%m-%d %H:%M:%S') ret_data.append({ 'id': obj.id, 'name': base64_encryption.b64decode(obj.name), 'role_id': obj.role_id, 'role_name': obj.role.name, 'head_portrait': obj.head_portrait, 'token': obj.token, 'sex_id': obj.sex, 'sex': obj.get_sex_display(), 'company_name': obj.company_name, 'permissions_list': data_list, 'inviter': inviter, 'remark': obj.remark, 'small_program_number': obj.small_program_number, 'number_child_users': obj.number_child_users, 'last_login_datetime': last_login_datetime, 'create_datetime': obj.create_datetime.strftime('%Y-%m-%d %H:%M:%S'), }) # 查询成功 返回200 状态码 response.code = 200 response.msg = '查询成功' response.data = { 'ret_data': ret_data, 'data_count': count, } response.note = { 'id': "用户id", 'name': "微信昵称", 'role_id': "角色id", 'role_name': "角色名称", 'head_portrait': "头像", 'sex_id': "性别id", 'sex': "性别", 'company_name': "公司名称", 'remark': "备注", 'last_login_datetime': "最后登录时间", 'create_datetime': "创建时间", 'number_child_users': "可创建子账号数量", 'small_program_number': "可创建小程序数量", } else: print("forms_obj.errors -->", forms_obj.errors) response.code = 402 response.msg = "请求异常" response.data = json.loads(forms_obj.errors.as_json()) return JsonResponse(response.__dict__)
def user_oper(request, oper_type, o_id): response = Response.ResponseObj() user_id = request.GET.get('user_id') if request.method == "POST": # 修改用户角色 (即将废弃,被update取代) if oper_type == 'update_role': form_data = { 'role_id': request.POST.get('role_id'), 'user_id': user_id, 'o_id': o_id } form_obj = UpdateRoleForm(form_data) if form_obj.is_valid(): role_id = form_obj.cleaned_data.get('role_id') o_id = form_obj.cleaned_data.get('o_id') models.UserProfile.objects.filter(id=o_id).update( role_id=role_id) response.code = 200 response.msg = '修改成功' else: response.code = 301 response.msg = json.loads(form_obj.errors.as_json()) elif oper_type == "update": # 获取需要修改的信息 form_data = { 'o_id': o_id, 'role_id': request.POST.get('role_id'), # 角色id 'company_name': request.POST.get('company_name'), # 公司名称 'remark': request.POST.get('remark'), # 备注信息 'small_program_number': request.POST.get('small_program_number'), # 小程序数量 'number_child_users': request.POST.get('number_child_users'), # 子账号数量 } forms_obj = UpdateForm(form_data) if forms_obj.is_valid(): o_id = forms_obj.cleaned_data['o_id'] role_id = forms_obj.cleaned_data['role_id'] # 角色id company_name = forms_obj.cleaned_data['company_name'] # 公司名称 remark = forms_obj.cleaned_data['remark'] # 备注信息 small_program_number = forms_obj.cleaned_data[ 'small_program_number'] # 小程序数量 number_child_users = forms_obj.cleaned_data[ 'number_child_users'] # 子账号数量 # 查询数据库 用户id objs = models.UserProfile.objects.filter(id=o_id) # 更新 数据 if objs: objs.update( role_id=role_id, company_name=company_name, remark=remark, small_program_number=small_program_number, number_child_users=number_child_users, ) response.code = 200 response.msg = "修改成功" else: response.code = 303 response.msg = '不存在的数据' else: response.code = 301 response.msg = json.loads(forms_obj.errors.as_json()) # 转接 用户所有信息 elif oper_type == 'transfer_all_user_information': cancel_transfer = request.POST.get('cancel_transfer') # 拒绝交接 form_data = { 'user_id': user_id, 'o_id': o_id, # 'transfer_template_id': request.POST.get('transfer_template_id'), } transfer_objs = models.Transfer.objects.filter( speak_to_people_id=user_id, by_connecting_people_id=o_id, whether_transfer_successful=2).order_by('-create_datetime') if transfer_objs: transfer_obj = transfer_objs[0] if cancel_transfer: transfer_obj.whether_transfer_successful = 5 code = 200 msg = '已拒绝交接' else: form_obj = TransferAllUserInformation(form_data) if form_obj.is_valid(): o_id = form_obj.cleaned_data.get('o_id') user_id = form_obj.cleaned_data.get('user_id') applet_objs = models.ClientApplet.objects.filter( user_id=user_id) # 小程序 models.CustomerOfficialNumber.objects.filter( user_id=user_id).update(user_id=o_id) # 小程序版本 applet_objs.update(user_id=o_id) models.TemplateClass.objects.filter( create_user_id=user_id).update( create_user_id=o_id) # 模板分类表 models.Template.objects.filter( create_user_id=user_id).update( create_user_id=o_id) # 模板表 models.PhotoLibraryGroup.objects.filter( create_user_id=user_id).update( create_user_id=o_id) # 图片分类 models.PhotoLibrary.objects.filter( create_user_id=user_id).update( create_user_id=o_id) # 图片 models.PageGroup.objects.filter( create_user_id=user_id).update( create_user_id=o_id) # 页面分组表 models.Page.objects.filter( create_user_id=user_id).update( create_user_id=o_id) # 页面表 models.CompomentLibraryClass.objects.filter( create_user_id=user_id).update( create_user_id=o_id) # 组件库分类 models.CompomentLibrary.objects.filter( create_user_id=user_id).update( create_user_id=o_id) # 组件库 code = 200 msg = '转接成功' transfer_obj.whether_transfer_successful = 4 else: code = 301 msg = json.loads(form_obj.errors.as_json()) transfer_obj.save() else: code = 301 msg = '已过期, 请重新获取二维码' response.code = code response.msg = msg # 是否接受 团队邀请 elif oper_type == 'accept_team_invitationss': new_user_id = request.POST.get('new_user_id') # 受邀请人ID parent_id = request.POST.get('parent_id') # 父级用户ID timestamp = request.POST.get('time_stamp') # 时间戳 refused_invite = request.POST.get('refused_invite') # 拒绝邀请 objs = models.InviteTheChild.objects.filter( parent_id=parent_id, child_id=new_user_id, timestamp=timestamp).order_by('-create_datetime') obj = objs[0] if objs: if refused_invite: obj.whether_transfer_successful = 5 # 拒绝 msg = '已拒绝' else: user_is_exists = request.POST.get( 'user_is_exists') # 是否已有用户 如果有 则删除所有数据 models.UserProfile.objects.filter(id=new_user_id).update( inviter_id=parent_id) if user_is_exists: # 删除所有数据 models.CustomerOfficialNumber.objects.filter( user_id=new_user_id).delete() models.ClientApplet.objects.filter( user_id=new_user_id).delete() models.PhotoLibrary.objects.filter( create_user_id=new_user_id).delete() models.PhotoLibraryGroup.objects.filter( create_user_id=new_user_id).delete() models.Page.objects.filter( create_user_id=new_user_id).delete() models.PageGroup.objects.filter( create_user_id=new_user_id).delete() models.Template.objects.filter( create_user_id=new_user_id).delete() models.TemplateClass.objects.filter( create_user_id=new_user_id).delete() models.CompomentLibrary.objects.filter( create_user_id=new_user_id).delete() models.CompomentLibraryClass.objects.filter( create_user_id=new_user_id).delete() msg = '已接受' obj.whether_transfer_successful = 4 obj.save() code = 200 else: code = 301 msg = '已过期, 请重新扫描二维码' response.code = code response.msg = msg # 删除团队成员 elif oper_type == 'delete_team_members': form_data = {'o_id': o_id, 'user_id': user_id} form_obj = DeleteTeamMembers(form_data) if form_obj.is_valid(): user_id = form_obj.cleaned_data.get('user_id') o_id = form_obj.cleaned_data.get('o_id') models.UserProfile.objects.filter(id=o_id).update( inviter_id=None) response.code = 200 response.msg = '删除成功' else: response.code = 301 response.msg = json.loads(form_obj.errors.as_json()) # 修改企业名称 elif oper_type == 'modify_enterprise_name': template_id = request.POST.get('template_id') enterprise_name = request.POST.get('enterprise_name') models.Template.objects.filter(id=template_id).update( enterprise_name=enterprise_name) response.code = 200 response.msg = '修改成功' else: # 获取团队成员 if oper_type == 'acquire_team_members': forms_obj = SelectForm(request.GET) if forms_obj.is_valid(): current_page = forms_obj.cleaned_data['current_page'] length = forms_obj.cleaned_data['length'] order = request.GET.get('order', '-create_datetime') field_dict = { 'id': '', 'name': '__contains', } q = conditionCom(request, field_dict) objs = models.UserProfile.objects.filter( q, inviter_id=user_id).order_by(order) count = objs.count() if length != 0: start_line = (current_page - 1) * length stop_line = start_line + length objs = objs[start_line:stop_line] ret_data = [] for obj in objs: ret_data.append({ 'id': obj.id, 'name': base64_encryption.b64decode(obj.name), 'role_id': obj.role_id, 'role_name': obj.role.name, 'head_portrait': obj.head_portrait, 'sex_id': obj.sex, 'sex': obj.get_sex_display(), 'create_datetime': obj.create_datetime.strftime('%Y-%m-%d %H:%M:%S'), }) # 查询成功 返回200 状态码 response.code = 200 response.msg = '查询成功' response.data = { 'ret_data': ret_data, 'data_count': count, } else: response.code = 301 response.msg = json.loads(forms_obj.errors.as_json()) else: response.code = 402 response.msg = '请求异常' return JsonResponse(response.__dict__)
def equipment_management(request): response = Response.ResponseObj() if request.method == "GET": forms_obj = SelectForm(request.GET) if forms_obj.is_valid(): user_id = request.GET.get('user_id') current_page = forms_obj.cleaned_data['current_page'] length = forms_obj.cleaned_data['length'] order = request.GET.get('order', '-create_datetime') field_dict = { 'id': '', 'cardbaldata': '__contains', 'select_number': '__contains', 'cardnumber': '__contains', 'phone__name': '__contains', 'create_datetime': '', } q = conditionCom(request, field_dict) status = request.GET.get('status') if status: if status in [1, '1']: q.add(Q(cardstatus='已激活'), Q.AND) else: q.add(Q(cardstatus='已停用'), Q.AND) # print('q -->', q) objs = models.MobileTrafficInformation.objects.filter(q).order_by( order) # print(objs) count = objs.count() if length != 0: start_line = (current_page - 1) * length stop_line = start_line + length objs = objs[start_line:stop_line] ret_data = [] for obj in objs: cardstartdate = obj.cardstartdate if obj.cardstartdate: cardstartdate = obj.cardstartdate.strftime( '%Y-%m-%d %H:%M:%S') cardenddate = obj.cardenddate if obj.cardenddate: cardenddate = obj.cardenddate.strftime('%Y-%m-%d %H:%M:%S') name = '' if obj.phone: name = obj.phone.name phone_id = '' phone_number = '' phone_name = '' if obj.phone: phone_number = obj.phone.phone_num phone_name = obj.phone.name phone_id = obj.phone_id ret_data.append({ 'id': obj.id, 'name': name, 'phone_id': phone_id, 'phone_name': phone_name, 'phone_number': phone_number, 'cardimsi': obj.cardimsi, 'cardstatus': obj.cardstatus, 'cardtype': obj.cardtype, 'cardusedata': obj.cardusedata, 'cardno': obj.cardno, 'cardbaldata': obj.cardbaldata, 'select_number': obj.select_number, 'cardnumber': obj.cardnumber, 'cardstartdate': cardstartdate, 'cardenddate': cardenddate, 'errmsg': obj.errmsg, 'create_datetime': obj.create_datetime.strftime('%Y-%m-%d %H:%M:%S'), }) # 查询成功 返回200 状态码 response.code = 200 response.msg = '查询成功' response.data = { 'ret_data': ret_data, 'data_count': count, 'status_choices': [{ 'id': 1, 'name': '已激活' }, { 'id': 2, 'name': '已停用' }], } response.note = { 'id': 'ID', 'name': '设备名称', 'cardimsi': 'ISMI号', 'cardstatus': '用户状态', 'cardtype': '套餐类型', 'cardusedata': '已用流量', 'cardno': '卡编号', 'cardbaldata': '剩余流量', 'select_number': '查询号码', 'cardnumber': '卡号', 'cardstartdate': '卡开户时间', 'cardenddate': '卡到期时间', 'errmsg': '错误日志', 'create_datetime': '创建时间', } else: response.code = 301 response.msg = "请求异常" response.data = json.loads(forms_obj.errors.as_json()) return JsonResponse(response.__dict__)
def lianjie_tijiao(request): response = Response.ResponseObj() if request.method == "GET": print('查询任务列表=========================', request.GET) forms_obj = SelectForm(request.GET) if forms_obj.is_valid(): current_page = forms_obj.cleaned_data['current_page'] length = forms_obj.cleaned_data['length'] order = request.GET.get('order', '-create_date') field_dict = { 'id': '', 'task_name': '', 'task_status': '', 'task_progress': '', 'create_date': '', 'user_id': '' } q = conditionCom(request, field_dict) print('q -->', q) objs = models.zhugedanao_lianjie_task_list.objects.filter( q).order_by(order) count = objs.count() # 任务列表总数 if length != 0: start_line = (current_page - 1) * length stop_line = start_line + length objs = objs[start_line:stop_line] # 返回的数据 ret_data = [] for obj in objs: # print(type(datetime.datetime.now())) next_datetime_addoneday = (datetime.datetime.now() - datetime.timedelta(minutes=30)) # print(type(next_datetime_addoneday)) # print('=========next--->',next_datetime_addoneday, type(next_datetime_addoneday)) if obj.create_date < next_datetime_addoneday: obj.is_update = 1 obj.save() detail_task_count = models.zhugedanao_lianjie_tijiao.objects.filter( tid=obj.id) # 该任务执行总数 detail_count = detail_task_count.filter(is_zhixing=0).count() detail_count_jindu = detail_task_count.filter( is_zhixing=1).count() # jindu = 0 # if obj.task_progress: # jindu = int((int(obj.task_progress) / int(obj.count_taskList)) * 100) yiwancheng_obj = 0 wancheng = 0 if count != 0: # yiwancheng_obj = int(obj.count_taskList - detail_count) yiwancheng_obj = detail_task_count.exclude( status=1).count() wancheng = detail_task_count.filter(is_zhixing=1).count() jindu = 0 if wancheng: jindu = int((wancheng / obj.count_taskList) * 100) obj.task_progress = jindu obj.save() if yiwancheng_obj == obj.count_taskList: obj.task_status = True obj.save() zhuangtai = '未完成' if obj.task_status: zhuangtai = '已完成' shoulu_num = detail_task_count.filter(tid=obj.id).filter( status=2).count() obj.shoulu_num = shoulu_num obj.save() shoulu_num = 0 if obj.shoulu_num: shoulu_num = obj.shoulu_num ret_data.append({ 'id': obj.id, # 任务id 'task_name': obj.task_name, # 任务名称 'task_status': zhuangtai, # 任务状态 完成 未完成 'task_progress': obj.task_progress, # 进度条 'create_date': obj.create_date.strftime('%Y-%m-%d %H:%M:%S'), # 创建时间 'count_taskList': obj.count_taskList, # 详情数量 'yiwancheng_obj': yiwancheng_obj, # 已完成数量 'is_update': int(obj.is_update), # 是否可以修改和删除 1不可以 0可以 'shoulu_num': shoulu_num, # 已收录数量 }) response.code = 200 response.msg = '查询成功' response.data = { 'ret_data': ret_data, 'data_count': count, # 任务总数 } else: response.code = 301 response.msg = "数据类型验证失败" response.data = json.loads(forms_obj.errors.as_json()) else: response.code = 402 response.msg = "请求异常" return JsonResponse(response.__dict__)
def photo_library(request): response = Response.ResponseObj() user_id = request.GET.get('user_id') if request.method == "GET": forms_obj = SelectForm(request.GET) if forms_obj.is_valid(): current_page = forms_obj.cleaned_data['current_page'] length = forms_obj.cleaned_data['length'] get_type = forms_obj.cleaned_data['get_type'] no_group = request.GET.get('no_group') # create_user_id = forms_obj.cleaned_data['create_user_id'] # print('forms_obj.cleaned_data -->', forms_obj.cleaned_data) # order = 'create_datetime' order = request.GET.get('order', '-create_datetime') field_dict = { 'group_id': '', 'name': '__contains', 'create_datetime': '', 'template_id': '', } q = conditionCom(request, field_dict) # print('q -->', q) if get_type == "system": # 获取系统分组 q.add(Q(create_user_id__in=admin_list), Q.AND) # objs = models.PhotoLibrary.objects.filter(create_user_id__isnull=True) elif get_type == "is_me": q.add(Q(**{'create_user_id': user_id}), Q.AND) if no_group: q.add(Q(**{'group_id__isnull': True}), Q.AND) objs = models.PhotoLibrary.objects.select_related('group').filter( q).order_by(order) count = objs.count() if length != 0: start_line = (current_page - 1) * length stop_line = start_line + length objs = objs[start_line:stop_line] # 返回的数据 ret_data = [] for obj in objs: # 将查询出来的数据 加入列表 ret_data.append({ 'id': obj.id, 'group_id': obj.group_id, 'img_url': obj.img_url, 'create_datetime': obj.create_datetime.strftime('%Y-%m-%d %H:%M:%S'), }) # 查询成功 返回200 状态码 response.code = 200 response.msg = '查询成功' response.data = {'ret_data': ret_data, 'data_count': count} response.note = { 'id': "图片id", 'group_id': "分组id", 'img_url': '图片地址', 'create_datetime': '创建时间', } else: response.code = 402 response.msg = "请求异常" response.data = json.loads(forms_obj.errors.as_json()) return JsonResponse(response.__dict__)
def task_list(request): response = Response.ResponseObj() if request.method == "GET": forms_obj = SelectForm(request.GET) if forms_obj.is_valid(): user_id = request.GET.get('user_id') current_page = forms_obj.cleaned_data['current_page'] length = forms_obj.cleaned_data['length'] # print('forms_obj.cleaned_data -->', forms_obj.cleaned_data) order = request.GET.get('order', '-create_datetime') field_dict = { 'id': '', 'name': '__contains', 'create_datetime': '', } q = conditionCom(request, field_dict) # print('q -->', q) # q.add(Q(**{k + '__contains': value}), Q.AND) role_id = models.UserProfile.objects.get(id=user_id).role_id_id if role_id != 1: # 非管理员角色只能看自己的 q.add(Q(**{'create_user_id': user_id}), Q.AND) objs = models.TaskList.objects.filter( is_delete=False).filter(q).order_by(order) count = objs.count() if length != 0: start_line = (current_page - 1) * length stop_line = start_line + length objs = objs[start_line:stop_line] ret_data = [] for obj in objs: # 将查询出来的数据 加入列表 ret_data.append({ 'id': obj.id, 'name': obj.name, 'status': obj.get_status_display(), 'status_id': obj.status, 'percentage_progress': obj.percentage_progress, 'send_email_title': obj.send_email_title, 'send_email_content': obj.send_email_content, 'create_user__username': obj.create_user.username, 'create_datetime': obj.create_datetime.strftime('%Y-%m-%d %H:%M:%S'), }) # 查询成功 返回200 状态码 response.code = 200 response.msg = '查询成功' response.data = { 'ret_data': ret_data, 'data_count': count, } response.note = { 'id': "任务id", 'name': "任务名称", 'percentage_progress': "任务进度", 'send_email_title': "发送邮件标题", 'send_email_content': "发送邮件内容", 'create_user__username': "******", 'create_datetime': "创建时间", 'status': "状态名称", 'status_id': "状态值", } else: # print("forms_obj.errors -->", forms_obj.errors) response.code = 402 response.msg = "请求异常" response.data = json.loads(forms_obj.errors.as_json()) return JsonResponse(response.__dict__)
def xhs_account_management(request, oper_type): response = Response.ResponseObj() if request.method == "GET": user_id = request.GET.get('user_id') # 查询小红书所有账号 if oper_type == 'get_xhs_account': forms_obj = SelectForm(request.GET) if forms_obj.is_valid(): current_page = forms_obj.cleaned_data['current_page'] length = forms_obj.cleaned_data['length'] order = request.GET.get('order', '-create_datetime') field_dict = { 'id': '', 'phone_id': '__contains', 'name': '__contains', 'xiaohongshu_id': '__contains', 'home_url': '__contains', 'xhs_version': '__contains', 'phone_id__name': '__contains', } q = conditionCom(request, field_dict) objs = models.XiaohongshuUserProfile.objects.select_related( 'phone_id').filter(q, ).order_by(order) count = objs.count() if length != 0: start_line = (current_page - 1) * length stop_line = start_line + length objs = objs[start_line:stop_line] ret_data = [] for obj in objs: phone_id = '' if obj.phone_id: phone_id = obj.phone_id_id phone_name = '' if obj.phone_id.name: phone_name = obj.phone_id.name ret_data.append({ 'id': obj.id, 'name': obj.name, 'phone_id': phone_id, 'phone_number': obj.phone_id.phone_num, 'xiaohongshu_id': obj.xiaohongshu_id, 'xhs_version': obj.xhs_version, 'package_version': obj.package_version, 'home_url': obj.home_url, 'phone_name': phone_name, 'phone_type': obj.phone_id.get_phone_type_display(), 'add_map_not': obj.add_map_not, 'create_datetime': obj.create_datetime.strftime('%Y-%m-%d %H:%M:%S'), }) response.code = 200 response.msg = '查询成功' response.data = { 'ret_data': ret_data, 'count': count, } else: response.code = 301 response.msg = json.loads(forms_obj.errors.as_json()) else: response.code = 402 response.msg = "请求异常" return JsonResponse(response.__dict__)
def xiaohongshu_biji(request): response = Response.ResponseObj() if request.method == "GET": forms_obj = SelectForm(request.GET) if forms_obj.is_valid(): user_id = request.GET.get('user_id') current_page = forms_obj.cleaned_data['current_page'] length = forms_obj.cleaned_data['length'] # print('forms_obj.cleaned_data -->', forms_obj.cleaned_data) order = request.GET.get('order', '-create_datetime') field_dict = { 'id': '', 'status': '', 'select_type': '', 'keywords': '__contains', 'create_datetime': '', } q = conditionCom(request, field_dict) # print('q -->', q) objs = models.XiaohongshuFugai.objects.filter(q).order_by(order) # print(objs) count = objs.count() if length != 0: if count < 10: current_page = 1 start_line = (current_page - 1) * length stop_line = start_line + length objs = objs[start_line: stop_line] ret_data = [] for obj in objs: # 将查询出来的数据 加入列表 update_datetime = "" if obj.update_datetime: update_datetime = obj.update_datetime.strftime('%Y-%m-%d %H:%M:%S') keywords = "({select_type}) {keywords}".format( keywords=obj.keywords, select_type=obj.get_select_type_display() ) ret_data.append({ 'id': obj.id, 'keywords': keywords, 'url': obj.url, 'rank': obj.rank, 'biji_num': obj.biji_num, 'status': obj.get_status_display(), 'status_id': obj.status, 'select_type': obj.get_select_type_display(), 'select_type_id': obj.select_type, 'create_user__username': obj.create_user.username, 'create_datetime': obj.create_datetime.strftime('%Y-%m-%d %H:%M:%S'), 'update_datetime': update_datetime, }) # 查询成功 返回200 状态码 response.code = 200 response.msg = '查询成功' response.data = { 'ret_data': ret_data, 'data_count': count, 'status_choices': models.XiaohongshuFugai.status_choices, 'select_type_choices': models.XiaohongshuFugai.select_type_choices, } response.note = { 'id': "下拉词id", 'keywords': "搜索词", 'url': "匹配url", 'rank': "排名", 'biji_num': "笔记数", 'status': "状态", 'status_id': "状态id", 'select_type': "搜索类型", 'select_type_id': "搜索类型id", 'create_user__username': "******", 'create_datetime': "创建时间", 'update_datetime': "更新时间", 'exist_content': "比较是否存在内容" } else: # print("forms_obj.errors -->", forms_obj.errors) response.code = 402 response.msg = "请求异常" response.data = json.loads(forms_obj.errors.as_json()) return JsonResponse(response.__dict__)
def template_class(request): response = Response.ResponseObj() if request.method == "GET": forms_obj = SelectForm(request.GET) if forms_obj.is_valid(): current_page = forms_obj.cleaned_data['current_page'] length = forms_obj.cleaned_data['length'] print('forms_obj.cleaned_data -->', forms_obj.cleaned_data) order = request.GET.get('order', '-create_datetime') field_dict = { 'id': '', 'name': '__contains', 'create_datetime': '', } q = conditionCom(request, field_dict) # print('q -->', q) class_type = request.GET.get('class_type', 2) objs = models.TemplateClass.objects.filter(q).filter( class_type=class_type) objs = objs.order_by(order) count = objs.count() if length != 0: start_line = (current_page - 1) * length stop_line = start_line + length objs = objs[start_line:stop_line] # 返回的数据 ret_data = [] for obj in objs: # 将查询出来的数据 加入列表 ret_data.append({ 'id': obj.id, 'name': obj.name, 'class_type': obj.class_type, 'class_type_text': obj.get_class_type_display(), 'create_datetime': obj.create_datetime.strftime('%Y-%m-%d %H:%M:%S'), }) # 查询成功 返回200 状态码 response.code = 200 response.msg = '查询成功' response.data = { 'ret_data': ret_data, 'data_count': count, } response.note = { 'id': "模板id", 'name': '模板名称', 'class_type': "分类类型id", 'class_type_text': "分类类型", 'create_datetime': '创建时间', } else: response.code = 402 response.msg = "请求异常" response.data = json.loads(forms_obj.errors.as_json()) return JsonResponse(response.__dict__)
def renewal(request): response = Response.ResponseObj() if request.method == "GET": forms_obj = SelectForm(request.GET) if forms_obj.is_valid(): user_id = request.GET.get('user_id') current_page = forms_obj.cleaned_data['current_page'] length = forms_obj.cleaned_data['length'] print('forms_obj.cleaned_data -->', forms_obj.cleaned_data) order = request.GET.get('order', '-create_date') field_dict = { 'id': '', 'price': '__contains', 'the_length': '', 'renewal_number_days': '', 'create_date': '', 'create_user_id': '', } q = conditionCom(request, field_dict) print('q -->', q) objs = models.renewal_management.objects.filter( q, create_user_id=user_id).order_by(order) count = objs.count() if length != 0: start_line = (current_page - 1) * length stop_line = start_line + length objs = objs[start_line:stop_line] # 返回的数据 ret_data = [] for obj in objs: # 将查询出来的数据 加入列表 ret_data.append({ 'id': obj.id, 'price': obj.price, 'original_price': obj.original_price, 'the_length_id': obj.the_length, 'the_length': obj.get_the_length_display(), 'create_user_id': obj.create_user_id, 'create_user__name': obj.create_user.name, 'create_date': obj.create_date.strftime('%Y-%m-%d %H:%M:%S') }) # 查询成功 返回200 状态码 response.code = 200 response.msg = '查询成功' response.data = { 'ret_data': ret_data, 'data_count': count, } response.note = { 'id': "id", 'price': '钱数', 'the_length_id': '时长ID(一个月, 一年....)', 'the_length': '时长', 'create_user_id': '创建人ID', 'create_user__name': '创建人名字', 'original_price': '原价', 'create_date': '创建时间', } else: print("forms_obj.errors -->", forms_obj.errors) response.code = 402 response.msg = "请求异常" response.data = json.loads(forms_obj.errors.as_json()) return JsonResponse(response.__dict__)
def role(request): response = Response.ResponseObj() if request.method == "GET": forms_obj = SelectForm(request.GET) if forms_obj.is_valid(): current_page = forms_obj.cleaned_data['current_page'] length = forms_obj.cleaned_data['length'] order = request.GET.get('order', '-create_datetime') user_id = request.GET.get('user_id') userObjs = models.UserProfile.objects.filter(id=user_id) field_dict = { 'id': '', 'name': '__contains', 'create_date': '', 'create_user__username': '******', } q = conditionCom(request, field_dict) objs = models.Role.objects.filter(q).order_by(order) count = objs.count() if length != 0: start_line = (current_page - 1) * length stop_line = start_line + length objs = objs[start_line:stop_line] # 返回的数据 ret_data = [] for obj in objs: # 获取选中的id,然后组合成前端能用的数据 permissionsData = [] if obj.permissions: permissionsList = [ i['id'] for i in obj.permissions.values('id') ] if len(permissionsList) > 0: permissionsData = init_data( selected_list=permissionsList) # 如果有oper_user字段 等于本身名字 create_user_username = '' create_user_id = '' if obj.create_user: create_user_id = obj.create_user_id create_user_username = obj.create_user.username # 将查询出来的数据 加入列表 ret_data.append({ 'id': obj.id, 'name': obj.name, # 角色名称 'permissionsData': permissionsData, # 角色权限 'oper_user_id': create_user_id, # 操作人ID 'create_user__username': create_user_username, # 操作人 'create_date': obj.create_datetime.strftime('%Y-%m-%d %H:%M:%S'), }) # 查询成功 返回200 状态码 response.code = 200 response.msg = '查询成功' response.data = { 'ret_data': ret_data, 'data_count': count, } else: response.code = 301 response.data = json.loads(forms_obj.errors.as_json()) else: response.code = 402 response.msg = '请求异常' return JsonResponse(response.__dict__)
def compoment_library(request): response = Response.ResponseObj() user_id = request.GET.get('user_id') if request.method == "GET": forms_obj = SelectForm(request.GET) if forms_obj.is_valid(): current_page = forms_obj.cleaned_data['current_page'] length = forms_obj.cleaned_data['length'] # get_type = forms_obj.cleaned_data['get_type'] # create_user_id = forms_obj.cleaned_data['create_user_id'] # print('forms_obj.cleaned_data -->', forms_obj.cleaned_data) order = 'create_datetime' field_dict = { 'compoment_library_class_id': '', 'name': '__contains', 'create_datetime': '', } q = conditionCom(request, field_dict) print('q -->', q) objs = models.CompomentLibrary.objects.select_related( 'compoment_library_class').filter( is_delete=False).filter(q).order_by(order) count = objs.count() if length != 0: start_line = (current_page - 1) * length stop_line = start_line + length objs = objs[start_line:stop_line] # 返回的数据 ret_data = [] for obj in objs: # 将查询出来的数据 加入列表 ret_data.append({ 'id': obj.id, 'name': obj.name, 'data': obj.data, 'compoment_library_class_id': obj.compoment_library_class_id, 'compoment_library_class_name': obj.compoment_library_class.name, 'create_datetime': obj.create_datetime.strftime('%Y-%m-%d %H:%M:%S'), }) # 查询成功 返回200 状态码 response.code = 200 response.msg = '查询成功' response.data = {'ret_data': ret_data, 'data_count': count} response.note = { 'id': "组件id", 'name': "组件名称", 'data': "组件数据", 'compoment_library_class_id': "组件分类id", 'compoment_library_class_name': "组件分类名称", 'create_datetime': '创建时间', } else: response.code = 402 response.msg = "请求异常" response.data = json.loads(forms_obj.errors.as_json()) return JsonResponse(response.__dict__)
def xiaohongshu_biji_oper(request, oper_type, o_id): response = Response.ResponseObj() user_id = request.GET.get('user_id') # print('request.POST -->', request.POST) if request.method == "POST": # 添加 if oper_type == "add": form_data = { 'xiaohongshu_id': request.POST.get('xiaohongshu_id'), 'content': request.POST.get('content'), 'release_time': request.POST.get('release_time', datetime.datetime.now()) } # 创建 form验证 实例(参数默认转成字典) forms_obj = AddForm(form_data) if forms_obj.is_valid(): print("验证通过") xiaohongshu_id = forms_obj.cleaned_data.get('xiaohongshu_id') title, content, biji_type = forms_obj.cleaned_data.get('content') release_time = forms_obj.cleaned_data.get('release_time') platform = request.POST.get('platform', 1) xiaohongshu_user_objs = models.XiaohongshuUserProfile.objects.filter(xiaohongshu_id=xiaohongshu_id, platform=platform) if xiaohongshu_user_objs: xiaohongshu_user_obj = xiaohongshu_user_objs[0] biji_id = request.POST.get('biji_id') # 如果有 该值 则更新 待审核状态 if biji_id: biji_objs = models.XiaohongshuBiji.objects.filter(id=biji_id) obj = biji_objs[0] biji_objs.update(status=3, content=content, release_time=release_time, title=title, biji_type=biji_type, user_id_id=xiaohongshu_user_obj.id) response.code = 200 response.msg = "更新成功" else: objs = models.XiaohongshuBiji.objects.filter( title=title, user_id_id=xiaohongshu_user_obj.id, user_id__platform=platform ) if objs: response.code = 301 response.msg = '笔记已存在, 请勿重复添加' return JsonResponse(response.__dict__) else: obj = models.XiaohongshuBiji.objects.create( user_id=xiaohongshu_user_obj, content=content, release_time=release_time, title=title, biji_type=biji_type ) response.msg = "添加成功" response.code = 200 response.data = { 'biji_id': obj.id } else: response.code = 0 response.msg = "添加失败, 小红书id不存在" else: print("验证不通过") response.code = 301 response.msg = json.loads(forms_obj.errors.as_json()) create_xhs_admin_response(request, response, 2) # 提交反链 elif oper_type == "upload_url": form_data = { 'task_id': request.POST.get('task_id'), 'url': request.POST.get('url'), } forms_obj = UploadUrlForm(form_data) if forms_obj.is_valid(): print("验证通过") task_id = forms_obj.cleaned_data.get('task_id') url = forms_obj.cleaned_data.get('url') link = get_existing_url(url) # 获取真实链接 completion_time = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') biji_objs = models.XiaohongshuBiji.objects.filter(id=task_id) biji_objs.update( biji_existing_url=link, biji_url=link, status=2, completion_time=completion_time ) api_url = "https://www.ppxhs.com/api/v1/sync/sync-screen-article" data = { "id": task_id, "link": link, "platform": biji_objs[0].user_id.platform, "pubTime": completion_time, "online_pic": "http://qiniu.bjhzkq.com/xiaohongshu_fabu_1560934704790" } ret = requests.post(url=api_url, data=data) create_xhs_admin_response(request, ret.json(), 1, url=api_url, req_type=2) # 记录请求日志 response.code = 200 response.msg = "提交成功" else: print("验证不通过") response.code = 301 response.msg = json.loads(forms_obj.errors.as_json()) create_xhs_admin_response(request, response, 3) # 发布笔记(后台) elif oper_type == 'published_articles': now = datetime.datetime.today() flag = False hms_date = datetime.datetime.today().strftime('%H:%M:%S') hms_date = datetime.datetime.strptime(hms_date, '%H:%M:%S') if datetime.datetime.strptime('8:30:00', '%H:%M:%S') >= hms_date >= datetime.datetime.strptime('7:30:00', '%H:%M:%S'): flag = True elif datetime.datetime.strptime('13:30:00', '%H:%M:%S') >= hms_date >= datetime.datetime.strptime('12:00:00', '%H:%M:%S'): flag = True elif datetime.datetime.strptime('21:30:00', '%H:%M:%S') >= hms_date >= datetime.datetime.strptime('17:00:00', '%H:%M:%S'): flag = True if flag: id_list = json.loads(request.POST.get('id_list')) objs = models.XiaohongshuBiji.objects.filter(id__in=id_list) for obj in objs: obj.status = 1 obj.save() response.code = 200 response.msg = '发布成功' else: response.code = 301 response.msg = '当前时间不在发布时间段' create_xhs_admin_response(request, response, 3) # 创建请求日志(手机端) # 阅读量更改(后台) elif oper_type == 'update_reding': """ o_id: 笔记ID reading_num: 阅读量 """ form_data = { 'o_id': o_id, 'reading_num': request.POST.get('reading_num') } form_obj = UpdateReding(form_data) if form_obj.is_valid(): o_id = form_obj.cleaned_data.get('o_id') reading_num = int(form_obj.cleaned_data.get('reading_num')) if reading_num > 0: objs = models.XiaohongshuBiji.objects.filter( id=o_id ) objs.update( reading_num=reading_num, update_reding_num_time=datetime.datetime.today() ) form_data['num'] = reading_num form_data['transfer_type'] = 3 form_data['id'] = o_id form_data['platform'] = objs[0].user_id.platform asynchronous_transfer_data.delay(form_data) # 传递到小红书后台 response.code = 200 response.msg = '阅读量更新完成' else: response.code = 301 response.msg = json.loads(form_obj.errors.as_json()) create_xhs_admin_response(request, response, 3) # 发布中的笔记 可以改为发布异常(后台) elif oper_type == 'instead_abnormal_release_notes': form_data = { 'o_id': o_id, 'error_msg': request.POST.get('error_msg') } form_obj = InsteadAbnormalReleaseNotes(form_data) if form_obj.is_valid(): o_id = form_obj.cleaned_data.get('o_id') error_msg = form_obj.cleaned_data.get('error_msg') obj = models.XiaohongshuBiji.objects.get(id=o_id) obj.status = 4 obj.error_msg = error_msg obj.save() response.code = 200 response.msg = '更改发布异常成功' form_data['transfer_type'] = 5 form_data['id'] = o_id form_data['platform'] = obj.user_id.platform form_data['content'] = error_msg asynchronous_transfer_data.delay(form_data) # 传递到小红书后台 else: response.code = 301 response.msg = json.loads(form_obj.errors.as_json()) create_xhs_admin_response(request, response, 2) # 已发布的可修改回链(后台) elif oper_type == 'published_notes_back_chain': form_data = { 'o_id': o_id, 'back_url': request.POST.get('back_url') } form_obj = PublishedNotesBackChain(form_data) if form_obj.is_valid(): o_id = form_obj.cleaned_data.get('o_id') back_url, link = form_obj.cleaned_data.get('back_url') obj = models.XiaohongshuBiji.objects.get(id=o_id) obj.biji_url = back_url obj.biji_existing_url = link obj.save() response.code = 200 response.msg = '修改反链成功' asynchronous_synchronous_trans.delay(o_id) # 异步更改小红书后台回链 else: response.code = 301 response.msg = json.loads(form_obj.errors.as_json()) create_xhs_admin_response(request, response, 1) # 修改笔记是否存在内容的状态 elif oper_type == "update_exist_content": status = request.POST.get('status') form_data = { 'status': request.POST.get('status'), 'o_id': o_id, } print("status -->", status, type(status)) # 创建 form验证 实例(参数默认转成字典) forms_obj = UpdateExistContentForm(form_data) if forms_obj.is_valid(): status = forms_obj.cleaned_data.get('status') models.XiaohongshuBiji.objects.filter(id=o_id).update(exist_content=status) response.code = 200 response.msg = "修改成功" else: print("验证不通过") response.code = 301 response.msg = json.loads(forms_obj.errors.as_json()) # 已发布的笔记 改为重新发布(小红书后台) 404 elif oper_type == 'republish_instead': form_data = { 'o_id':o_id, } form_obj = RepublishInsteadForm(form_data) if form_obj.is_valid(): o_id = form_obj.cleaned_data.get('o_id') models.XiaohongshuBiji.objects.filter(id=o_id).update( status=5, is_delete_old_biji=False ) response.code = 200 response.msg = '修改成功' else: response.code = 301 response.msg = json.loads(form_obj.errors.as_json()) create_xhs_admin_response(request, response, 2) # 重新发布的笔记 改为待审核(后台) elif oper_type == 'change_pending_review': form_data = { 'biji_id_list': request.POST.get('biji_id_list') } form_obj = ChangePendingReview(form_data) if form_obj.is_valid(): biji_id_list = form_obj.cleaned_data.get('biji_id_list') objs = models.XiaohongshuBiji.objects.filter( id__in=biji_id_list ) objs.update( is_delete_old_biji=True ) for obj in objs: url = 'https://www.ppxhs.com/api/v1/sync/screen-notfound' data = { 'id':obj.id, 'platform':obj.user_id.platform } ret = requests.post(url, data=data) models.AskLittleRedBook.objects.create( # 更新日志 request_type=2, # POST请求 request_url=url, get_request_parameter='', post_request_parameter=data, response_data=ret.json(), status=1 ) response.code = 200 response.msg = '删除成功' else: response.code = 301 response.msg = json.loads(form_obj.errors.as_json()) create_xhs_admin_response(request, response, 2) else: response.code = 402 response.msg = "请求异常" else: # 获取发布任务 if oper_type == "get_release_task": form_data = { 'imsi': request.GET.get('imsi'), 'iccid': request.GET.get('iccid'), 'platform': request.GET.get('platform', 1), } forms_obj = GetReleaseTaskForm(form_data) if forms_obj.is_valid(): iccid = forms_obj.cleaned_data['iccid'] imsi = forms_obj.cleaned_data['imsi'] platform = forms_obj.cleaned_data['platform'] objs = models.XiaohongshuBiji.objects.select_related('user_id').filter( user_id__platform=platform, user_id__phone_id__iccid=iccid, user_id__phone_id__imsi=imsi, status=1, release_time__lt=datetime.datetime.now() ) if objs: obj = objs[0] response.data = { "id": obj.id, "content": obj.content, "platform": obj.user_id.platform, } else: response.msg = "当前无任务" response.code = 200 else: # print("forms_obj.errors -->", forms_obj.errors) response.code = 402 response.msg = "请求异常" response.data = json.loads(forms_obj.errors.as_json()) create_xhs_admin_response(request, response, 3) # 查询 小红书笔记(后台) elif oper_type == 'get_xhs_notes': forms_obj = select_form(request.GET) if forms_obj.is_valid(): current_page = forms_obj.cleaned_data['current_page'] length = forms_obj.cleaned_data['length'] order = request.GET.get('order', '-create_datetime') field_dict = { 'id': '', 'uid': '__contains', 'status': '', 'biji_type': '', 'user_id__name': '__contains', 'is_delete_old_biji': '', 'user_id__phone_id__name': '', 'biji_existing_url': '__contains', 'reading_num': '', } q = conditionCom(request, field_dict) content = request.GET.get('content') xhs_user_id = request.GET.get('xhs_user_id') if content: q.add(Q(title__contains=b64encode(content)), Q.AND) if xhs_user_id: q.add(Q(user_id=xhs_user_id), Q.AND) objs = models.XiaohongshuBiji.objects.select_related('user_id').filter( q, ).exclude(user_id_id=5).order_by(order) count = objs.count() if length != 0: start_line = (current_page - 1) * length stop_line = start_line + length objs = objs[start_line: stop_line] ret_data = [] for obj in objs: # biji_type = 'img' # if json.loads(obj.content).get('type') and json.loads(obj.content).get('type') != 'images': # biji_type = 'video' release_time = obj.release_time if release_time: release_time = obj.release_time.strftime('%Y-%m-%d %H:%M:%S') completion_time = obj.completion_time if completion_time: completion_time = obj.completion_time.strftime('%Y-%m-%d %H:%M:%S') update_reding_num_time = '' if obj.update_reding_num_time: update_reding_num_time = obj.update_reding_num_time.strftime('%Y-%m-%d %H:%M:%S') result_data = { 'id': obj.id, 'user_id': obj.user_id_id, 'phone_id': obj.user_id.phone_id_id, 'phone_name': obj.user_id.phone_id.name, 'phone_number': obj.user_id.phone_id.phone_num, 'user_name': obj.user_id.name, 'status_id': obj.status, 'reading_num': obj.reading_num, 'status': obj.get_status_display(), 'release_time': release_time, 'completion_time': completion_time, 'biji_url': obj.biji_url, 'error_msg': obj.error_msg, 'biji_type_id': obj.biji_type, 'biji_type': obj.get_biji_type_display(), 'biji_existing_url': obj.biji_existing_url, 'is_delete_old_biji': obj.is_delete_old_biji, 'update_reding_num_time': update_reding_num_time, 'platform': obj.user_id.platform, 'exist_content': obj.exist_content, 'create_datetime': obj.create_datetime.strftime('%Y-%m-%d %H:%M:%S'), } result_data['content'] = json.loads(obj.content) ret_data.append(result_data) response.code = 200 response.msg = '查询成功' response.data = { 'ret_data': ret_data, 'count': count, 'status_choices': [{'id':i[0], 'name':i[1]} for i in models.XiaohongshuBiji.status_choices], 'biji_type_choices': [{'id':i[0], 'name':i[1]} for i in models.XiaohongshuBiji.biji_type_choices] } else: response.code = 301 response.msg = json.loads(forms_obj.errors.as_json()) # 获取 exist_content 字段为False的笔记链接,请求小红书接口进行获取数据,判断文章内容是否正常 elif oper_type == "exist_content_get_url": objs = models.XiaohongshuBiji.objects.filter(status=2, exist_content=0) if objs: obj = objs[0] response.code = 200 biji_id = obj.biji_existing_url.split('/')[-1] response.data = { 'biji_id': biji_id, 'task_id': obj.id } else: response.code = 0 response.msg = "当前无任务" else: response.code = 402 response.msg = "请求异常" return JsonResponse(response.__dict__)