示例#1
0
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__)
示例#2
0
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__)
示例#3
0
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__)
示例#4
0
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__)
示例#5
0
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
示例#6
0
        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)
示例#7
0
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__)
示例#8
0
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__)
示例#9
0
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__)
示例#10
0
        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__)
示例#12
0
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__)
示例#13
0
 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
示例#14
0
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__)
示例#15
0
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__)
示例#16
0
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__)
示例#17
0
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__)
示例#19
0
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__)
示例#21
0
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__)
示例#22
0
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__)
示例#23
0
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__)
示例#24
0
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__)
示例#26
0
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__)
示例#27
0
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__)
示例#28
0
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__)
示例#29
0
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__)
示例#30
0
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__)