def baiDuXiaLaShow(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'] objs = models.zhugedanao_baiduxiala_chaxun.objects.filter( user_id_id=user_id) obj_count = objs.count() zhixing_count = objs.filter(is_zhixing=1).count() num = 0 whether_complete = False if int(zhixing_count) == int(obj_count): whether_complete = True query_progress = 0 if zhixing_count: query_progress = int( (int(zhixing_count) / int(obj_count)) * 100) for obj in objs: if obj.xialaci: for xiala in eval(obj.xialaci): num += 1 baiduxiala_chongfu = redis_rc.get('danao_baiduxiala_chongfu') chongfu = 0 if baiduxiala_chongfu: chongfu = baiduxiala_chongfu # 分页 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: xialaci = '' if obj.xialaci: xialaci = eval(obj.xialaci) data_list.append({ 'keyword': obj.keyword, 'search': obj.search, 'otherData': xialaci }) response.code = 200 response.msg = '查询成功' response.data = { 'retData': data_list, 'keyword_count': obj_count, 'obj_count': num, 'yiwancheng_obj': zhixing_count, 'whether_complete': whether_complete, # 是否全部完成 'query_progress': query_progress, # 进度条 'chongfu_num': int(chongfu) } else: response.code = 402 response.msg = "请求异常" response.data = json.loads(forms_obj.errors.as_json()) return JsonResponse(response.__dict__)
def login(request): response = Response.ResponseObj() if request.method == "POST": # print('request.POST -->', request.POST) forms_obj = LoginForm(request.POST) if forms_obj.is_valid(): print('forms_obj.cleaned_data -->', forms_obj.cleaned_data) objs = models.UserProfile.objects.filter(**forms_obj.cleaned_data) if objs: obj = objs[0] response.code = 200 response.data = { 'token': obj.token, 'id': obj.id, 'username': obj.username, 'head_portrait': obj.head_portrait, } else: response.code = 402 response.msg = "账号或密码错误" else: response.code = 401 response.msg = json.loads(forms_obj.errors.as_json()) else: response.code = 402 response.msg = "请求异常" return JsonResponse(response.__dict__)
def img_upload(request): response = Response.ResponseObj() forms_obj = imgUploadForm(request.POST) if forms_obj.is_valid(): img_name = forms_obj.cleaned_data.get('img_name') # 图片名称 timestamp = forms_obj.cleaned_data.get('timestamp') # 时间戳 img_data = forms_obj.cleaned_data.get('img_data') # 文件内容 chunk = forms_obj.cleaned_data.get('chunk') # 第几片文件 expanded_name = img_name.split('.')[-1] # 扩展名 img_name = timestamp + "_" + str(chunk) + '.' + expanded_name img_save_path = os.path.join('statics', 'imgs', img_name) print('img_save_path -->', img_save_path ) with open(img_save_path, 'w') as f: f.write(img_data) response.code = 200 response.msg = "上传成功" else: response.code = 303 response.msg = "上传异常" response.data = json.loads(forms_obj.errors.as_json()) return JsonResponse(response.__dict__)
def get_userinfo(request): response = Response.ResponseObj() if request.method == "GET": token = request.GET.get('token') objs = models.UserProfile.objects.select_related('role_id').filter( token=token) if objs: obj = objs[0] response.code = 200 response.data = { # 'token': obj.token, 'id': obj.id, 'username': obj.username, # 'access': json.loads(obj.role_id.access_name), 'head_portrait': obj.head_portrait } else: response.code = 402 response.msg = "token异常" else: response.code = 402 response.msg = "请求异常" return JsonResponse(response.__dict__)
def give_like(article_id, customer_id=None, user_id=None): response = Response.ResponseObj() if customer_id: objs = models.SelectClickArticleLog.objects.filter( customer_id=customer_id, article_id=article_id) else: objs = models.SelectClickArticleLog.objects.filter( user_id=user_id, article_id=article_id) article_objs = models.Article.objects.filter(id=article_id) if objs: objs.delete() response.msg = '取消点赞' article_objs.update( # 点赞次数減少 like_num=F('like_num') - 1) else: if customer_id: models.SelectClickArticleLog.objects.create( **{ 'customer_id': customer_id, 'article_id': article_id }) else: models.SelectClickArticleLog.objects.create( **{ 'user_id': user_id, 'article_id': article_id }) response.msg = '点赞成功' article_objs.update( # 点赞次数增加 like_num=F('like_num') + 1) response.code = 200 return response
def inner(request, *args, **kwargs): # 不需要验证token的路由直接跳过 for route in NoValidationTokenRoute: if request.get_full_path().startswith(route): return func(request, *args, **kwargs) rand_str = request.GET.get('rand_str') timestamp = request.GET.get('timestamp', '') user_id = request.GET.get('user_id') # print('user_id -->', user_id) # print('timestamp -->', timestamp) # print('rand_str -->', rand_str) objs = table_obj.objects.filter(id=user_id) if objs: obj = objs[0] print('str_encrypt(timestamp + obj.token) -->', str_encrypt(timestamp + obj.token)) # print('rand_str -->', rand_str) if str_encrypt(timestamp + obj.token) == rand_str: flag = True else: flag = False else: flag = False if not flag: response = Response.ResponseObj() response.code = 400 response.msg = "token异常" return JsonResponse(response.__dict__) return func(request, *args, **kwargs)
def code_online_oper(request, oper_type, o_id): response = Response.ResponseObj() if request.method == "POST": if oper_type == "code_online": # 上线代码 code_env = request.POST.get('code_env') # 区分前端还是后端 1 表示前端 2表示后端 objs = models.project.objects.filter(id=o_id, is_switch=True) if objs: print(objs[0].id, int(code_env)) response.data = salt_api_zhugeleida_code_online(objs[0].id, int(code_env)) response.code = 200 response.msg = "任务异步执行中" elif oper_type == "search_jobid": print('o_id -->', o_id) result = salt_api_search_jobid(o_id) print(result, type(result)) if result['return'][0] == {}: response.data = False else: response.data = True response.code = 200 response.msg = "查询成功" else: response.code = 402 response.msg = "请求异常" return JsonResponse(response.__dict__)
def updatePwd(request): response = Response.ResponseObj() user_id = request.GET.get('user_id') user_objs = models.Enterprise.objects.filter(id=user_id) if user_objs: user_obj = user_objs[0] oldPwd = request.POST.get('oldPwd') newPwd = request.POST.get('newPwd') if newPwd and oldPwd: oldPwd = account.str_encrypt(oldPwd) # 加密 密码 if oldPwd == user_obj.password: newPwd = account.str_encrypt(newPwd) token = account.get_token( newPwd + str(int(time.time()) * 1000)) # token user_objs.update(password=newPwd, token=token) response.code = 200 response.msg = '修改成功' else: response.code = 301 response.msg = '旧密码验证错误' else: if not oldPwd: response.msg = '请输入旧密码' else: response.msg = '请输入新密码' response.code = 301 else: response.code = 500 response.msg = '非法请求' return JsonResponse(response.__dict__)
def get_upload_token(request): response = Response.ResponseObj() user_id = request.GET.get('user_id') # print('request.POST -->', request.POST) if request.method == "GET": redis_obj = get_redis_obj() upload_token = redis_obj.get('xhs_qiniu_upload_token') if not upload_token: qiniu_data_path = os.path.join(os.getcwd(), "publicFunc", "qiniu", "qiniu_data.json") with open(qiniu_data_path, "r", encoding="utf8") as f: data = json.loads(f.read()) access_key = data.get('access_key') secret_key = data.get('secret_key') obj = Auth(access_key, secret_key) upload_token = obj.upload_token("xcx_wgw_zhangcong") redis_obj.set("xhs_qiniu_upload_token", upload_token, ex=60 * 50) # 使用redis缓存50分钟 response.code = 200 response.msg = "获取成功" response.data = { 'upload_token': upload_token } return JsonResponse(response.__dict__)
def inner(request, *args, **kwargs): rand_str = request.GET.get('rand_str') timestamp = request.GET.get('timestamp', '') user_id = request.GET.get('user_id') # print('user_id -->', user_id) # print('timestamp -->', timestamp) # print('rand_str -->', rand_str) objs = table_obj.objects.filter(id=user_id) if objs: obj = objs[0] # print('str_encrypt(timestamp + obj.token) -->', str_encrypt(timestamp + obj.token)) # print('rand_str -->', rand_str) if str_encrypt(timestamp + obj.token) == rand_str: flag = True else: flag = False else: flag = False if not flag: response = Response.ResponseObj() response.code = 400 response.msg = "token异常" return JsonResponse(response.__dict__) return func(request, *args, **kwargs)
def project_env_switch_oper(request, oper_type, o_id): response = Response.ResponseObj() if request.method == "POST": if oper_type == "switch_status": # 切换正式和灰度状态 objs = models.project.objects.filter(id=o_id, is_switch=True) if objs: obj = objs[0] if obj.id == 1: if obj.status == 1: arg = 'zhugeleida_dev' status = 2 else: arg = 'zhugeleida_prod' status = 1 switch_zhugeleida(arg) obj.status = status obj.save() response.code = 200 response.msg = "添加成功" else: response.code = 402 response.msg = "请求异常" return JsonResponse(response.__dict__)
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 get_template_list(self, page, page_size): url = 'https://openapi.baidu.com/rest/2.0/smartapp/template/gettemplatelist' params = { 'access_token': self.access_token, 'page': 1, 'page_size': 200, } ret = requests.get(url, params=params) print('-获取模板列表-=-------------> ', ret.json()) response = Response.ResponseObj() code = 301 msg = ret.json().get('error_msg') if not msg: msg = ret.json().get('msg') if ret.json().get('errno') in [0, '0']: code = 200 response.code = code response.msg = msg list = sorted(ret.json().get('data').get('list'), key=lambda x: x['create_time'], reverse=True) # 排序 response_data = ret.json().get('data') start_line = (int(page) - 1) * int(page_size) stop_line = start_line + int(page_size) response_data['list'] = list[int(start_line):int(stop_line)] response.data = response_data return response
def pushMessageToWeChat(request): work_weixin_api_obj = workWeixinApi.WorkWeixinApi() response = Response.ResponseObj() userIdList = [] mS = time.strftime('%M') # 当前分钟 now_datetime = (datetime.datetime.now() - datetime.timedelta(hours=1)).strftime( '%Y-%m-%d %H:%M:%S') # 条件创建时间 要大于一小时 q = Q() q.add(Q(create_date__lte=now_datetime), Q.AND) # q.add(Q(status=1) | Q(status=2) | Q(status=3), Q.AND) q.add(Q(status=1) | Q(status=2), Q.AND) objs = models.demand.objects.filter(q) # 获取所有 需求 for obj in objs: # if mS == datetime.date.strftime(obj.create_date, '%M'): # 当前分钟数 等于 创建分钟数 相当于 每隔一小时可进入一次 if obj.status == 1: # 待审核 提醒 userID = 'zhangcong' msg = '有待审核需求, 请尽快审核!' work_weixin_api_obj.message_send(userID, msg) elif obj.status == 2: # 待评估 提醒 # print('obj.id=============> ', obj.id) # userObjs = models.userprofile.objects.project_set() userObjs = obj.project.developer.all() # 获取该需求所有开发人 for userObj in userObjs: userIdList.append(userObj.userid) for userID in set(userIdList): msg = '有待评估需求, 请尽快查看、开发!' work_weixin_api_obj.message_send(userID, msg) response.code = 200 response.msg = '查询成功' return JsonResponse(response.__dict__)
def xcx_customer_oper(request, oper_type): response = Response.ResponseObj() user_id = request.GET.get('user_id') if request.method == "POST": if oper_type == "add": phone = request.POST.get('phone') if verify_phone_number(phone): objs = models.Customer.objects.filter(id=user_id).update( phone=phone) if objs: response.code = 200 response.msg = "更新成功" else: response.code = 301 response.msg = '请先登录' else: response.code = 301 response.msg = '手机号错误' else: if oper_type == 'x': pass else: response.code = 402 response.msg = "请求异常" return JsonResponse(response.__dict__)
def page_oper(request, oper_type, o_id): response = Response.ResponseObj() user_id = request.GET.get('user_id') if request.method == "POST": pass else: if oper_type == "get_page_data": experience = request.GET.get('experience') # 是否是体验版,该字段有值则为体验版 page_objs = models.Page.objects.filter(id=o_id) if page_objs: page_obj = page_objs[0] page_data = page_obj.data if experience == "true": page_data = page_obj.data_dev response.code = 200 response.data = page_data else: print('page_objs -->', page_objs) response.code = 302 response.msg = "页面id异常" else: response.code = 402 response.msg = "请求异常" return JsonResponse(response.__dict__)
def upload_img(request): response = Response.ResponseObj() if request.method == "POST": img = request.FILES.get('file') # 所有提交的文件 # print("request.FILES -->", request.FILES) # print("request.POST -->", request.POST) # print("request.GET -->", request.GET) print('img -->', img) timestamp = str(int(time.time() * 1000)) # 时间戳 extension_name = img.name.split('.')[-1] img_abs_name = os.path.join("statics", "imgs", timestamp) + "." + extension_name # print("img_abs_name -->", img_abs_name) with open(img_abs_name, "wb") as f: for chunk in img.chunks(): f.write(chunk) response.code = 200 response.data = { "img_url": '/' + img_abs_name } return JsonResponse(response.__dict__)
def userMembershipShow(request): response = Response.ResponseObj() if request.method == "GET": huiyuan = request.GET.get('huiyuan') forms_obj = SelectForm(request.GET) if forms_obj.is_valid(): current_page = forms_obj.cleaned_data['current_page'] length = forms_obj.cleaned_data['length'] role_id = request.GET.get('role_id') mouth = forms_obj.cleaned_data.get('mouth') level = forms_obj.cleaned_data.get('level') objs = models.zhugedanao_user_level_permissions.objects.all() if huiyuan: objs = models.zhugedanao_user_level_permissions.objects.filter(theOpeningTime=1) if level == 2: objs = models.zhugedanao_user_level_permissions.objects.filter( membershipGrade_id=2) elif level == 3: objs = models.zhugedanao_user_level_permissions.objects.filter( membershipGrade_id=3) riqi = 1 if mouth: if int(mouth) == 3: riqi = 2 elif int(mouth) == 5: riqi = 3 elif int(mouth) == 10: riqi = 4 objs = objs.filter(theOpeningTime=riqi) # 分页 if length != 0: start_line = (current_page - 1) * length stop_line = start_line + length objs = objs[start_line: stop_line] obj_count = objs.count() data_list = [] for obj in objs: decode_username = base64.b64decode(obj.oper_user.username) username = str(decode_username, 'utf-8') data_list.append({ 'o_id':obj.id, 'gradeId':obj.membershipGrade_id, 'membershipGrade' :obj.membershipGrade.name, 'timeId':obj.theOpeningTime, 'theOpeningTime' :obj.get_theOpeningTime_display(), 'price' :obj.price, 'shouLuChaXunNum' :obj.shouLuChaXunNum, 'fuGaiChaXunNum' :obj.fuGaiChaXunNum, 'zhongDianCiNum' :obj.zhongDianCiNum, 'pingTaiWaJueNum' :obj.pingTaiWaJueNum, 'baiDuXiaLaNum' :obj.baiDuXiaLaNum, 'oper_user' :username, }) response.code = 200 response.msg = '查询成功' response.data = { 'data_list' : data_list, 'obj_count':obj_count } return JsonResponse(response.__dict__)
def wechat_login(request): response = Response.ResponseObj() if request.method == "POST": login_timestamp = request.POST.get('login_timestamp') objs = models.UserProfile.objects.filter( login_timestamp=login_timestamp) if objs: obj = objs[0] inviter = 0 if obj.inviter: inviter = 1 response.code = 200 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) response.data = { 'token': obj.token, 'id': obj.id, 'role_id': obj.role_id, 'number_child_users': obj.number_child_users, 'small_program_number': obj.small_program_number, 'role_name': obj.role.name, 'name': base64_encryption.b64decode(obj.name), 'head_portrait': obj.head_portrait, 'permissions_list': data_list, 'inviter': inviter } obj.last_login_datetime = datetime.datetime.now() obj.save() else: response.code = 402 response.msg = "请求异常" return JsonResponse(response.__dict__)
def switch_nginx_huidu_ip_oper(request, oper_type): response = Response.ResponseObj() if request.method == "POST": if oper_type == "update": old_ip = json.loads( open( os.path.join( os.getcwd() + '/api/data/switch_nginx_huidu_ip.json')).read())['ip'] if request.META.get('HTTP_X_FORWARDED_FOR'): new_ip = request.META['HTTP_X_FORWARDED_FOR'] else: new_ip = request.META['REMOTE_ADDR'] switch_ip(old_ip, new_ip) data = {"ip": new_ip} open( os.path.join(os.getcwd() + '/api/data/switch_nginx_huidu_ip.json'), 'w').write(json.dumps(data)) response.code = 200 response.msg = "修改成功" else: response.code = 402 response.msg = "请求异常" return JsonResponse(response.__dict__)
def qiniu_oper(request, oper_type): response = Response.ResponseObj() if oper_type == 'get_token': SecretKey = 'wVig2MgDzTmN_YqnL-hxVd6ErnFhrWYgoATFhccu' AccessKey = 'a1CqK8BZm94zbDoOrIyDlD7_w7O8PqJdBHK-cOzz' q = qiniu.Auth(AccessKey, SecretKey) bucket_name = 'bjhzkq_tianyan' token = q.upload_token(bucket_name) # 可以指定key 图片名称 response.code = 200 response.msg = '生成成功' response.data = {'token': token} elif oper_type == 'test_article': objs = models.Goods.objects.all() for obj in objs: print('obj.id--> ', obj.id, obj.goods_describe) goods_describe = [] for i in json.loads(obj.goods_describe): status = i.get('status') content = i.get('content') if status == 'img' and 'http://tianyan.zhugeyingxiao.com' not in content: path = requests_img_download(content) img = update_qiniu(path) goods_describe.append({ 'status': status, 'content': img, }) else: goods_describe.append(i) obj.goods_describe = goods_describe obj.save() 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 summary_message_reminder_celery(request): response = Response.ResponseObj() try: user_objs = models.Userprofile.objects.exclude( message_remind=4 ) for user_obj in user_objs: if is_send_msg(user_obj.id): # 如果此用户可以发送 消息 objs = models.summary_message_reminder.objects.select_related('user').filter( is_send=0, user_id=user_obj.id, ) title_str = '' for obj in objs: title_str += '《{}》--{}查看{}次\n'.format( obj.title, b64decode(obj.customer.name), obj.select_num ) obj.is_send = 1 obj.save() if title_str: # 如果有文字发送 # 区分普通用户和 会员用户 会员用户发送查看人名称 if user_obj.overdue_date >= datetime.date.today(): msg = '有人看了您多篇文章\n\n{}\n查看点击下方【天眼】\n{}'.format(title_str, xiajiantou) # 充值用户显示所有文章标题 else: msg = '有人看了您多篇文章\n\n赶快点击下方【天眼】查看\n{}'.format(xiajiantou) # 未充值 user_info = get_ent_info(user_obj.id) weixin_objs = WeChatApi(user_info) post_data = { "touser": user_info.get('openid'), "msgtype": "text", "text": { "content": msg } } # 发送客服消息 post_data = bytes(json.dumps(post_data, ensure_ascii=False), encoding='utf-8') weixin_objs.news_service(post_data) user_obj.last_message_remind_time = datetime.datetime.now() user_obj.save() response.code = 200 else: continue except Exception as e: msg = '警告:{}, \n错误:{}, \n时间:{}'.format( 'celery_汇总消息 发送---警告', e, datetime.datetime.today() ) celery_error_warning(msg) 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 my_business_card(request): response = Response.ResponseObj() user_id = request.GET.get('user_id') if request.method == "GET": obj = models.Userprofile.objects.get(id=user_id) name = b64decode(obj.name) if not obj.introduction: introduction = '我是{}, 热烈欢迎来到我的名片'.format(name) else: introduction = obj.introduction article_list = [] article_objs = models.Article.objects.filter(create_user_id=user_id).order_by('-create_datetime') article_count = article_objs.count() if article_count > 3: article_objs = article_objs[: 3] for article_obj in article_objs: article_list.append({ 'article_id': article_obj.id, 'title': article_obj.title, 'cover_img': article_obj.cover_img + '?imageView2/2/w/200', }) goods_list = [] goods_objs = models.Goods.objects.filter(goods_classify__oper_user_id=user_id).order_by('-create_datetime') goods_objs_count = goods_objs.count() if goods_objs_count > 3: goods_objs = goods_objs[:3] for goods_obj in goods_objs: goods_list.append({ 'goods_id': goods_obj.id, 'cover_img': goods_obj.cover_img + '?imageView2/2/w/200', 'goods_name': goods_obj.goods_name, 'price': goods_obj.price, }) data_list = { 'user_id': obj.id, 'introduction':introduction, 'user_name': name, 'set_avator': obj.set_avator + '?imageView2/2/w/100', 'article_list': article_list, 'goods_list': goods_list, } response.code = 200 response.msg = '查询成功' response.data = data_list else: response.code = 402 response.msg = "请求异常" return JsonResponse(response.__dict__)
def merge(request): response = Response.ResponseObj() if request.method == 'POST': forms_obj = upload_form.imgMergeForm(request.POST) if forms_obj.is_valid(): img_source = forms_obj.cleaned_data.get('img_source') # 文件类型 img_name = forms_obj.cleaned_data.get('img_name') # 图片名称 timestamp = forms_obj.cleaned_data.get('timestamp') # 时间戳 chunk_num = forms_obj.cleaned_data.get('chunk_num') # 一共多少份 expanded_name = get_name_suffix(img_name) # 获取扩展名称 file_dir = '' file_type = '图片' if img_source == 'img': file_dir = os.path.join('statics', 'img') elif img_source == 'file': file_dir = os.path.join('statics', 'file') file_type = '文件' else: response.code = 402 response.msg = '合并异常' fileData = '' for chunk in range(chunk_num): file_name = timestamp + "_" + str(chunk) + '.' + expanded_name file_save_path = os.path.join('statics', 'tmp', file_name) if os.path.exists(file_save_path): print('---file_save_path---file_save_path-----', file_save_path) with open(file_save_path, 'rb') as f: fileData += str(f.read()) os.remove(file_save_path) # 删除分片 文件 video_name = encryption() + img_name path = os.path.join(file_dir, video_name) try: with open(path, 'ab') as f: f.write(eval(fileData)) # 写入 except Exception as e: print('e--> ', e) response.data = {'url': path} response.code = 200 response.msg = "上传{}成功".format(file_type) else: response.code = 301 response.msg = json.loads(forms_obj.errors.as_json()) else: response.code = 402 response.msg = '请求异常' return JsonResponse(response.__dict__)