def post(self, request, aid): ''' 新增评论 :param request: :param aid: :return: ''' user = getUser(request.session.get("login")) if not studentCheck(user): return JsonResponse({ 'err': '请完成学生认证', 'status': False }, status=403) article = Article.objects.filter(id=aid) if not article.exists(): return JsonResponse({'status': False, 'err': '未找到该文章'}, status=404) article = article[0] params = json.loads(request.body) try: comment = AComment.objects.create(from_author=user, content=params.get('content')) article.comment.add(comment) return JsonResponse({'status': True, 'id': comment.id}) except: return JsonResponse({'status': False, 'err': '新增失败'}, status=403)
def post(self, request): ''' 为初次进入有闲的用户创建有闲账户 :param request: :return: ''' user = getUser(request.session.get('login')) if not studentCheck(user): return JsonResponse({ 'status': False, 'err': '请完成学生认证' }, status=403)
def post(self, request): ''' 新增商品 :param request: :param cid: :return: ''' jsonParams = json.loads(request.body) if jsonParams.get('detail') == None or jsonParams.get( 'classification') == None or jsonParams.get('price') == None: return JsonResponse({ 'status': False, 'err': '输入错误' }, status=403) # noinspection PyBroadException try: seller = getUser(request.session.get('login')) if not studentCheck(seller): return JsonResponse({ 'status': False, 'err': '你还未进行学生认证,请前往学生认证后再发布商品' }) classification = Classification.objects.filter(name=jsonParams.get('classification')) if not classification.exists(): return JsonResponse({ 'status': False, 'err': '找不到该分类' }) classification = classification[0] if jsonParams.get('status') != None: status = jsonParams.get('status') else: status = 's' newCommodity = Commodity.objects.create( seller=seller, detail=jsonParams.get('detail'), classification=classification, price=jsonParams.get('price'), status=status ) return JsonResponse({ 'status': True, 'commodity': newCommodity.id }) except: return JsonResponse({ 'status': False, 'err': '未知错误' }, status=403)
def post(self, request): ''' 新建文章 :param request: :return: ''' user = getUser(request.session.get('login')) if not studentCheck(user): return JsonResponse({ 'status': False, 'err': '请完成学生认证' }, status=403) params = json.loads(request.body) try: title = params['title'] content = params['content'] status = params['status'] category = params['category'] except: return JsonResponse({ 'status': False, 'err': '输入错误' }, status=403) if Article.objects.filter(title=title).exists(): return JsonResponse({ 'status': False, 'err': '标题重复' }, status=401) article = Article.objects.create( author=user, title=title, content=content, status=status, category=Category.objects.get(cid=category), ) if params.get('tags'): for tag_name in params.get('tags'): t = Tag.objects.filter(name=tag_name) if not t.exists(): t = Tag.objects.create(name=tag_name) article.tags.add(t) else: t = t[0] article.tags.add(t) return JsonResponse({ 'status': True, 'id': article.id })
def post(self, request, cid): ''' 新增评论 :param request: :param cid: :return: ''' commodity = Commodity.objects.filter(id=cid) if not commodity.exists(): return JsonResponse({'err': '商品不存在', 'status': False}, status=404) params = json.loads(request.body) commodity = commodity[0] user = getUser(request.session.get('login')) if not studentCheck(user): return JsonResponse({'err': '请完成学生认证后再评论', 'status': False}) try: content = params.get('content') except: return JsonResponse({'err': '输入错误', 'status': False}, status=403) comment = CComment.objects.create(fromUser=user, content=content) commodity.comment.add(comment) return JsonResponse({'status': True, 'id': comment.id})
def post(self, request, cid): ''' 创建新订单(下单) :param request: :param cid: :return: ''' try: user = getUser(email=request.session.get('login')) if not studentCheck(user): return JsonResponse({ 'status': False, 'err': '你还未进行学生认证,请前往学生认证后再下单' }) commodity = Commodity.objects.filter(id=cid) if not commodity.exists(): return JsonResponse({ 'err': '商品不存在', 'status': False }, status=404) commodity = commodity[0] if commodity.status == 'o': return JsonResponse({ 'status': False, 'err': '商品已售出' }, status=401) if commodity.seller == user: return JsonResponse({ 'status': False, 'err': '不能购买自己的商品' }, status=401) params = json.loads(request.body) try: address = params.get('address') time = int(params.get('time')) except: return JsonResponse({ 'err': '输入错误', 'status': False }, status=403) '''新建订单''' orderID = self.generateID() '''创建一个"未确认"订单''' order = CommodityOrder.objects.create(id=orderID, commodity=commodity, buyer=user, address=address, unConfirmDeadline=da.now() + timedelta(minutes=time)) '''商品状态修改''' commodity.status = 'o' commodity.save() '''通知商品所有者''' '''站内通知''' OrderNotification.send(user, order, commodity) '''邮件通知''' email_title = '您的商品被下单啦,请尽快处理噢' email_body = '您的商品已被下单,请尽快处理,感谢您使用ALG智慧校园~' email = request.session.get('login') send_mail(email_title, email_body, EMAIL_FROM, [email]) '''结束''' return JsonResponse({'status': True, 'id': order.id}) except: return JsonResponse({'status': False, 'err': '出现未知错误'}, status=403)