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)
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)
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('编辑成功');
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('删除成功')
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('登陆失败,请检查账号或者密码')
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('审核成功')
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('取消成功')
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)
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('驳回成功')
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('删除成功')
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)
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('取消收藏成功')
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);
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)
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)
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)
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('发布成功');
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)
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)
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)
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('成功')
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('收藏成功')
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('用户不存在')
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('导入成功')
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('成功')
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('编辑成功')