Exemple #1
0
def chartsData(request):

    pie_data = [
        {'name': '日用品', 'value': lostAndFound.objects.filter(lost_type=0, type=0).count()},
        {'name': '学习书籍', 'value': lostAndFound.objects.filter(lost_type=1, type=0).count()},
        {'name': '衣物', 'value': lostAndFound.objects.filter(lost_type=2, type=0).count()},
        {'name': '电子产品', 'value': lostAndFound.objects.filter(lost_type=3, type=0).count()},
        {'name': '其他', 'value': lostAndFound.objects.filter(lost_type=4, type=0).count()},
    ]

    xx = lostAndFound.objects.aggregate(Count('publish_date'))
    bb = lostAndFound.objects.aggregate(Sum('publish_date'))
    line_data = lostAndFound.objects.filter().values("publish_date", "type").annotate(count=Count("publish_date"))
    counts = []
    for item in line_data:
        counts.append({
            'publishDate': item.get('publish_date'),
            'type': item.get('type'),
            'count': item.get('count')
        })
    print(counts)
    res = {
        'pieData': pie_data,
        'lineData': counts,
    }
    # print(titles.sort())
    return success_response('获取图标参数成功', res)
Exemple #2
0
def auth(request):
    data_json = json.loads(request.body)
    code = data_json.get('code')
    url = 'https://api.weixin.qq.com/sns/jscode2session'
          # '=0193d351264b4189f9c77c1a5eb56945&js_code=053eReGa1iPxyA0yDjJa17kRHV2eReGZ&grant_type=authorization_code '
    params = {
        'appid': 'wx3335aa84903f6375',
        'secret': '0193d351264b4189f9c77c1a5eb56945',
        'js_code': code,
        'grant_type': 'authorization_code'
    }
    # 请求微信,拿到openid
    res = requests.get(url, params)
    res = json.loads(res.text)
    if not User.objects.filter(openid=res.get('openid')):
        user = User.objects.create()
        user.code = code
        user.openid = res.get('openid')
        user.user_name = data_json.get('nickName')
        user.avatar_url = data_json.get('avatarUrl')
        user.city = data_json.get('city')
        user.province = data_json.get('province')
        user.save()
    # response = requests.get(url=url, params=params)  # 用的是params
    # return JsonResponse(response, safe=False)
    return success_response('登陆成功', res)
Exemple #3
0
def adminEdit(request):
    data_json = json.loads(request.body)
    item_type = {
        'lost': 0,
        'found': 1
    }
    # 有id 就是要修改这个item信息
    if data_json.get('id'):
        # print(data_json)
        type_ = item_type[data_json.get('type')]
        lost_item = lostAndFound.objects.get(id=data_json.get('id'))
        lost_item.time = data_json.get('time')
        lost_item.check_times = data_json.get('checkTimes')
        lost_item.publish_date = data_json.get('publishDate')
        lost_item.place = data_json.get('place')
        lost_item.name = data_json.get('title')
        lost_item.lost_type = data_json.get('lostType')
        lost_item.wechat = data_json.get('wechat')
        lost_item.tell = data_json.get('tell')
        lost_item.remark_info = data_json.get('content')
        lost_item.image_url = data_json.get('imgPath')
        lost_item.publisher = data_json.get('publisher')
        lost_item.type = type_
        lost_item.status = data_json.get('status')
        lost_item.reason = data_json.get('reason')
        lost_item.save()

    return success_response('编辑成功');
Exemple #4
0
def delete(request):
    data_json = json.loads(request.body)
    id = data_json.get('id')
    user = User.objects.filter(id=id)
    if user:
        user = user[0]
        user.delete()
    return success_response('删除成功')
Exemple #5
0
def adminLogin(request):
    data_json = json.loads(request.body)
    code = data_json.get('code')
    card_id = data_json.get('cardId')
    card_password = data_json.get('cardPassword')
    if User.objects.filter(card_id=card_id, card_password=card_password):
        return success_response('登陆成功')
    return error_response('登陆失败,请检查账号或者密码')
Exemple #6
0
def approve(request):
    data_json = json.loads(request.body)
    favorite_item = lostAndFound.objects.get(
        id=data_json.get('id'),
    )
    favorite_item.status = 1
    favorite_item.save()
    return success_response('审核成功')
Exemple #7
0
def thumbUp(request):
    data_json = json.loads(request.body)
    if data_json.get('isThumbUp') == 1 or data_json.get('isThumbUp') == '1':
        thumb_item = ThumbUp.objects.create(
            content_id=data_json.get('id'),
            user_id=data_json.get('userId'),
            content_type=1
        )
        thumb_item.save()
        return success_response('成功')
    else:
        thumb_item = ThumbUp.objects.filter(
            content_id=data_json.get('id'),
            user_id=data_json.get('userId'),
            content_type=1,
        )
        thumb_item.delete()
        return success_response('取消成功')
Exemple #8
0
def favoriteEdit(request):
    data_json = json.loads(request.body)
    arr = []
    if data_json.get('isCollect') == 1 or data_json.get('isCollect') == '1':
        activity_item = UserFavorite.objects.create(
            content_type=3,
            content_id=data_json.get('id'),
            user_id=data_json.get('userId'))
        activity_item.save()
        return success_response('收藏成功', arr)
    else:
        items = UserFavorite.objects.filter(content_id=data_json.get('id'),
                                            user_id=data_json.get('userId'),
                                            content_type=3)
        for item in items:
            item.delete()

        return success_response('取消收藏成功', arr)
Exemple #9
0
def reject(request):
    data_json = json.loads(request.body)
    favorite_item = lostAndFound.objects.get(
        id=data_json.get('id'),
    )
    favorite_item.status = 2
    favorite_item.reason = data_json.get('reason')
    favorite_item.save()
    return success_response('驳回成功')
Exemple #10
0
def comment(request):
    data_json = json.loads(request.body)
    if not data_json.get('id'):
        comment_item = Comment.objects.create(
            user_id=data_json.get('userId'),
            topic_id=data_json.get('topicId'),
            content=data_json.get('content'),
            publish_date=data_json.get('publishDate'),
        )
        comment_item.save()
        return success_response('成功')
    else:
        comment_item = Comment.objects.get(
            topic_id=data_json.get('id'),
            user_id=data_json.get('userId'),
        )
        comment_item.content = data_json.get('content')
        comment_item.publish_date = data_json.get('publishDate')
        return success_response('删除成功')
Exemple #11
0
def detail(request):
    arr = []
    recruitList = SchoolActivity.objects.all().filter(
        activity_id=request.GET.get('id'))
    isCollect = 0
    if UserFavorite.objects.filter(user_id=request.GET.get('userId'),
                                   content_id=request.GET.get('id'),
                                   content_type=3):
        isCollect = 1
    isApply = 0
    if Apply.objects.filter(
            user_id=request.GET.get('userId'),
            content_id=request.GET.get('id'),
    ):
        isApply = 1

    for item in recruitList:

        applyList = []
        apply_list = Apply.objects.filter(content_id=item.activity_id)
        for apply_item in apply_list:
            user_item = User.objects.filter(openid=apply_item.user_id)
            if user_item:
                user_item = user_item[0]
                applyList.append({
                    "userId": user_item.openid,
                    "cardId": user_item.card_id,
                    "cardPassword": user_item.card_password,
                    "nickName": user_item.user_name,
                    "userAvator": user_item.avatar_url
                })
        arr.append({
            'id': item.activity_id,
            'activityTitle': item.activity_title,
            'activityContent': item.activity_content,
            'enterStartDate': item.enter_start_date,
            'enterEndDate': item.enter_end_date,
            'activityStartDate': item.activity_start_date,
            'activityEndDate': item.activity_end_date,
            'holder': item.holder,
            'enterNums': len(applyList),
            'readNums': item.read_nums,
            'isCollect': item.is_collect,
            'publisher': item.holder,
            'activityPlace': item.activity_place,
            'status': item.status,
            'imageUrl': item.image_url,
            'isApply': isApply,
            'applyList': applyList,
        })
        item.read_nums = int(item.read_nums) + 1
        item.save()
    return success_response('获取详情成功', arr)
Exemple #12
0
def cancel(request):
    data_json = json.loads(request.body)
    favorite_item = UserFavorite.objects.filter(
        user_id=data_json.get('userId'),
        content_type=data_json.get('contentType'),
        content_id=data_json.get('contentId'),
    )
    # 存在直接delete
    if favorite_item:
        # print(favorite_item)
        favorite_item[0].delete()
    return success_response('取消收藏成功')
Exemple #13
0
def userList(request):
    item_type_reverse = {
        '0': 'lost',
        '1': 'found'
    }
    res = []
    arr = []
    type = request.GET.get('publishStatus', default='published')
    if type == 'published':
        arr = lostAndFound.objects.all().filter(
            status = 1,
            user_id=request.GET.get('userId')
        )
    if type == 'unpublish':
        arr = lostAndFound.objects.all().filter(
            status = 0,
            user_id=request.GET.get('userId')
        )
    # 拿到收藏的列表
    if type == 'favorite':
        favorite_list = UserFavorite.objects.filter(
            user_id=request.GET.get('userId'),
            content_type=0,
        )
        # print(favorite_list)
        for favorite_item in favorite_list:
            item = lostAndFound.objects.all().filter(
                id=favorite_item.content_id,
            )
            if item: arr.append(item[0])
    for item in arr:
        user = User.objects.get(openid=item.user_id)
        format_time = item.time
        if not (is_valid_date(item.time)):
            format_time = time.strftime("%Y-%m-%d", time.localtime(int(item.time) / 1000))
        res.append({
            'id': item.id,
            'time': format_time,
            'place': item.place,
            'title': item.name,
            'imgPath': item.image_url,
            'wechat': item.wechat,
            'content': item.remark_info,
            'publishDate': item.publish_date,
            'tell': item.tell,
            'avator': user.avatar_url,
            'publisher': user.user_name,
            'checkTimes': item.check_times,
            'type': item_type_reverse[item.type],
            'status': item.status,
            'reason': item.reason,
        })
    return success_response('成功', res);
Exemple #14
0
def favoriteTotal(request):
    lsotAndFoundList = lostAndFound.objects.filter(
        user_id=request.GET.get('id'),
    )
    total = 0
    for item in lsotAndFoundList:
        favorite_count = UserFavorite.objects.filter(
            content_id=item.id
        ).count()
        total += favorite_count

    return success_response('被收藏的失物招领总数', total)
Exemple #15
0
def commentTotal(request):
    lsotAndFoundList = SchoolForum.objects.filter(
        user_id=request.GET.get('id'),
    )
    total = 0
    for item in lsotAndFoundList:
        thumb_count = Comment.objects.filter(
            topic_id=item.topic_id,
        ).count()
        total += thumb_count

    return success_response('被论坛被评论总数', total)
Exemple #16
0
def thumbTotal(request):
    lsotAndFoundList = SchoolForum.objects.filter(
        user_id=request.GET.get('id'),
    )
    total = 0
    for item in lsotAndFoundList:
        thumb_count = ThumbUp.objects.filter(
            content_id=item.topic_id,
            content_type=1
        ).count()
        total += thumb_count

    return success_response('被论坛被点赞总数', total)
Exemple #17
0
def submitLost(request):
    data_json = json.loads(request.body)
    item_type = {
        'lost': 0,
        'found': 1
    }
    # 有id 就是要修改这个item信息
    if data_json.get('id'):
        lost_item = lostAndFound.objects.get(id=data_json.get('id'))
        lost_item.time = data_json.get('time')
        lost_item.place = data_json.get('place')
        lost_item.name = data_json.get('title')
        lost_item.lost_type = data_json.get('lostType')
        lost_item.wechat = data_json.get('wechat')
        lost_item.tell = data_json.get('tell')
        lost_item.remark_info = data_json.get('content')
        lost_item.image_url = data_json.get('imageUrl')
        if lost_item.status == 1 or lost_item.status == '1':
            lost_item.status = 0
        lost_item.save()
        return success_response('编辑成功');
    else:
        type_ = item_type[data_json.get('type')]
        lost_item = lostAndFound.objects.create(
            time=data_json.get('time'),
            place=data_json.get('place'),
            name=data_json.get('title'),
            lost_type=data_json.get('lostType'),
            wechat=data_json.get('wechat'),
            tell=data_json.get('tell'),
            remark_info=data_json.get('content'),
            publish_date=time.strftime('%Y-%m-%d'),
            image_url=data_json.get('imageUrl'),
            user_id=data_json.get('userId'),
            type = type_
        )
        lost_item.save()

    return success_response('发布成功');
Exemple #18
0
def userList(request):
    users = User.objects.all()
    arr = []
    for user in users:
        if user.openid == 'mock': continue
        arr.append({
            'id':user.id,
            'userId': user.openid,
            'cardId': user.card_id,
            'cardPassword': user.card_password,
            'userName': user.user_name,
            'userIdentity': user.user_identity,
            'userAvator': user.avatar_url,
        })
    return success_response('获取成功', arr)
Exemple #19
0
def enterList(request):
    data_json = json.loads(request.body)
    res = []
    apply_list = Apply.objects.filter(content_id=data_json.get('id'))
    for apply_item in apply_list:
        user_item = User.objects.get(openid=apply_item.user_id)
        res.append({
            "userId": user_item.openid,
            "cardId": user_item.card_id,
            "cardPassword": user_item.card_password,
            "nickName": user_item.user_name,
            "userAvator": user_item.avatar_url
        })

    return success_response('成功', res)
Exemple #20
0
def loginByCard(request):
    data_json = json.loads(request.body)
    userId = data_json.get('userId')
    res = json.loads(request.body)
    if User.objects.filter(
        openid=userId,
        card_id=res.get('cardId'),
        card_password=res.get('cardPassword')
    ):
        return success_response('登陆成功', res)
    elif User.objects.filter(
        card_id=res.get('cardId'),
        card_password=res.get('cardPassword')
    ):
        user = User.objects.filter(
            card_id=res.get('cardId'),
            card_password=res.get('cardPassword')
        )
        user = user[0]
        user.openid = userId
        user.save()
        return success_response('初次登陆成功', res)
    else:
        return error_response('账号密码错误,或账号不存在', res)
Exemple #21
0
def apply(request):
    data_json = json.loads(request.body)
    user = User.objects.filter(openid=data_json.get('userId'))
    if not user or not user[0].card_id:
        return error_response('您未登陆认证,无法使用此功能')
    if data_json.get('isApply') == 1 or data_json.get('isApply') == '1':
        apply_item = Apply.objects.create(
            content_id=data_json.get('id'),
            user_id=data_json.get('userId'),
        )
        apply_item.save()
    else:
        apply_item = Apply.objects.filter(content_id=data_json.get('id'),
                                          user_id=data_json.get('userId'))
        apply_item.delete()
    return success_response('成功')
Exemple #22
0
def add(request):
    data_json = json.loads(request.body)
    favorite_item = UserFavorite.objects.filter(
        user_id=data_json.get('userId'),
        content_type=data_json.get('contentType'),
        content_id=data_json.get('contentID'),
    )
    # 不存在才生成
    if not favorite_item:
        favorite_item = UserFavorite.objects.create(
            content_type=data_json.get('contentType'),
            content_id=data_json.get('contentId'),
            user_id=data_json.get('userId'),
        )
        favorite_item.save()
    return success_response('收藏成功')
Exemple #23
0
def edit(request):

    data_json = json.loads(request.body)
    id = data_json.get('id')
    print(id)
    user = User.objects.filter(id=id)
    if user:
        user = user[0]
        user.card_id = data_json.get('cardId')
        user.openid = data_json.get('userId')
        user.card_password = data_json.get('cardPassword')
        user.user_identity = data_json.get('userIdentity')
        user.avatar_url = data_json.get('userAvator')
        user.user_name = data_json.get('userName')
        user.save()
        return success_response('修改成功')
    return error_response('用户不存在')
Exemple #24
0
def importUser(request):
    data_json = json.loads(request.body)
    users = data_json.get('arr')
    for user in users:
        if User.objects.filter(
            card_id=user['cardId']
        ): continue
        newUser = User.objects.create(
            # openid= user['userId'],
            card_id= user['cardId'],
            card_password= user['cardPassword'],
            user_identity= user['userIdentity'],
            # user_name= user['userName'],
            # avatar_url= user['userAvator'],
        )
        newUser.save()
    return success_response('导入成功')
Exemple #25
0
def publish(request):
    data_json = json.loads(request.body)
    user = User.objects.filter(
        openid=data_json.get('userId')
    )
    if not user or not user[0].card_id:
        return error_response('您未登陆认证,无法使用此功能')
    if data_json.get('id'):
        tropic_item = SchoolForum.objects.get(topic_id=data_json.get('id'))
    else:
        tropic_item = SchoolForum.objects.create()
    tropic_item.user_id = data_json.get('userId')
    tropic_item.topic_title = data_json.get('topicTitle')
    tropic_item.topic_type = data_json.get('topicType')
    tropic_item.topic_content = data_json.get('topicContent')
    tropic_item.publish_date = data_json.get('publishDate')
    tropic_item.save()
    return success_response('成功')
Exemple #26
0
def edit(request):
    data_json = json.loads(request.body)
    activity_item = SchoolActivity.objects.get(activity_id=data_json.get('id'))
    activity_item.activity_title = data_json.get('activityTitle')
    activity_item.activity_content = data_json.get('activityContent')
    activity_item.enter_start_date = data_json.get('enterStartDate')
    activity_item.enter_end_date = data_json.get('enterEndDate')
    activity_item.activity_start_date = data_json.get('activityStartDate')
    activity_item.activity_end_date = data_json.get('activityEndDate')
    activity_item.holder = data_json.get('holder')
    # activity_item.enter_nums = data_json.get('enterNums')
    # activity_item.read_nums = data_json.get('readNums')
    activity_item.is_collect = data_json.get('isCollect')
    activity_item.publisher = data_json.get('publisher')
    activity_item.activity_place = data_json.get('activityPlace')
    activity_item.status = data_json.get('status')
    activity_item.image_url = data_json.get('imageUrl')
    activity_item.save()
    return success_response('编辑成功')