示例#1
0
    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)
示例#2
0
 def post(self, request):
     '''
     为初次进入有闲的用户创建有闲账户
     :param request:
     :return:
     '''
     user = getUser(request.session.get('login'))
     if not studentCheck(user):
         return JsonResponse({
             'status': False,
             'err': '请完成学生认证'
         },
                             status=403)
示例#3
0
 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)
示例#4
0
 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
     })
示例#5
0
 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})
示例#6
0
    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)