Example #1
0
    def get(self):
        user_id = self.current_user_id
        # picture_url = self.arg('picture_url')
        picture_url = User.convert_http_to_https(self.arg('picture_url'))
        desc = self.arg('desc', "")
        picture_type = self.arg('picture_type', "")
        price = self.arg_int('price', 0)
        is_private = self.arg_int('is_private', 1)
        lock_type = self.arg_int('lock_type', 0)
        lock_count = self.arg_int('lock_count', 0)
        location = self.arg('location', "")
        mention = self.arg('mention', [])
        created_at = datetime.datetime.now()

        picture_id = PictureInfo.create_picture(user_id=user_id,
                                                created_at=created_at,
                                                picture_url=picture_url,
                                                desc=desc,
                                                picture_type=picture_type,
                                                price=price,
                                                is_private=is_private,
                                                lock_type=lock_type,
                                                lock_count=lock_count,
                                                location=location,
                                                mention=mention,
                                                type=1)
        if picture_id:
            self.write({
                "status": "success",
                "picture_id": picture_id,
            })
        else:
            self.write({
                "status": "failed",
            })
Example #2
0
    def get(self):
        picture_id = self.arg('picture_id')
        page = self.arg_int('page')
        page_count = self.arg_int('page_count')
        user_list = PictureInfo.get_unlock_user_list(picture_id=picture_id,
                                                     page=page,
                                                     page_count=page_count)
        data = []
        for user_id in user_list:
            user = PictureInfo.get_picture_user(user_id)
            data.append(convert_user(user))

        self.write({
            "status": "success",
            "data": data,
        })
Example #3
0
    def get(self):
        user_id = self.current_user_id
        page = self.arg_int('page')
        page_count = self.arg_int('page_count')

        pictures = PictureInfo.get_picture_list(page=page,
                                                page_count=page_count)
        data = []
        for picture in pictures:
            user = PictureInfo.get_picture_user(user_id=picture.user_id)
            if not user_id:
                is_purchase = False
                is_like = False
            else:
                is_purchase = PictureInfo.check_is_purchase(
                    picture.id, user_id)
                is_like = PictureInfo.check_is_like(picture.id, user_id)
            picture_count = PictureInfo.objects.filter(user_id=user.id,
                                                       status=0).count()
            if picture.lock_type == 0:
                is_purchase = True
            if is_purchase:
                dic = {
                    "user": convert_user(user),
                    "picture": convert_real_picture(picture),
                    "is_like": is_like,
                    "is_purchase": is_purchase,
                    "picture_count": picture_count,
                }
            else:
                dic = {
                    "user": convert_user(user),
                    "picture": convert_picture(picture),
                    "is_like": is_like,
                    "is_purchase": is_purchase,
                    "picture_count": picture_count,
                }
            data.append(dic)

        self.write({
            "status": "success",
            "data": data,
        })
Example #4
0
 def get(self):
     user_id = self.current_user_id
     picture_id = self.arg('picture_id')
     status = PictureInfo.delete_picture(picture_id, user_id)
     if status:
         self.write({
             "status": "success",
         })
     else:
         self.write({
             "status": "failed",
         })
Example #5
0
    def get(self):
        picture_id = self.arg('picture_id')
        PictureInfo.add_viewcount(picture_id)
        picture = PictureInfo.get_picture_info(picture_id=picture_id)
        comments = picture.comment
        comments.reverse()
        data = []
        for comment_id in comments:
            comment = CommentInfo.comment_view(comment_id=comment_id)
            user = CommentInfo.get_comment_user(user_id=comment.user_id)
            if comment.reply_id:
                reply_user = CommentInfo.get_comment_user(
                    user_id=comment.reply_id)
                dic = {
                    "id": str(comment.id),
                    "user": convert_user(user),
                    "reply": convert_user(reply_user),
                    "comment": comment.comment,
                    "like_count": comment.like_count,
                    "created_at": datetime_to_timestamp(comment.created_at),
                    "status": comment.status,
                    "picture_id": comment.picture_id,
                }
            else:
                dic = {
                    "id": str(comment.id),
                    "user": convert_user(user),
                    "comment": comment.comment,
                    "like_count": comment.like_count,
                    "created_at": datetime_to_timestamp(comment.created_at),
                    "status": comment.status,
                    "picture_id": comment.picture_id,
                }
            data.append(dic)

        self.write({
            "status": "success",
            "picture": convert_real_picture(picture),
            "data": data,
        })
Example #6
0
 def get(self):
     user_id = int(self.current_user_id)
     picture_id = self.arg('picture_id')
     status = PictureInfo.cancel_likeuser(picture_id, user_id)
     if status:
         self.write({
             "status": "success",
             "picture_id": picture_id,
         })
     else:
         self.write({
             "status": "failed",
         })
Example #7
0
 def get(self):
     user_id = self.current_user_id
     picture_id = self.arg('picture_id')
     reply_id = self.arg_int('reply_id', 0)
     comment = self.arg('comment')
     created_at = datetime.datetime.now()
     status = PictureInfo.create_comment(picture_id=picture_id,
                                         user_id=user_id,
                                         reply_id=reply_id,
                                         created_at=created_at,
                                         comment=comment)
     if status:
         self.write({
             "status": "success",
         })
     else:
         self.write({
             "status": "failed",
         })
Example #8
0
    def get(self):
        user_id = self.current_user_id
        picture_urls = self.arg('picture_urls')
        picture_url_list = picture_urls.split(',')
        picture_ids = []
        type = self.arg_int("type", 1)
        publish_status = self.arg_int("publish_status", 1)
        """
        发布相册规则:
        vip 认证用户可以发精美相册
        最多每天发9张
        精华照片在 精华相册中展示,并且同步到动态.
        """
        new_count = len(picture_url_list)
        user = User.objects.filter(id=user_id).first()

        code, message = PictureInfo.check_count(new_count, user, type)

        if code == 2:
            return self.write({"status": "failed", "error": _(message)})

        moment_pic_ids = []
        if picture_url_list:
            created_at = datetime.datetime.now()
            for temp_pic_url in picture_url_list:
                pic_info = PictureInfo()
                pic_url = User.convert_http_to_https(temp_pic_url)
                pic_info.picture_url = pic_url
                pic_info.picture_real_url = pic_url
                pic_info.user_id = user_id
                pic_info.lock_type = 0
                pic_info.created_at = created_at
                pic_info.type = 1
                pic_info.status = 0
                pic_info.show_status = 3
                pic_info.save()

                if type == 2:
                    # 精华相册
                    pic_info.update(set__type=2)
                    moment_pic_ids.append(str(pic_info.id))
                    # PictureInfo.generate_blurred_picture(pic_url, str(pic_info.id))
                else:
                    pic_info.update(set__type=1)
                    moment_pic_ids.append(str(pic_info.id))

                picture_ids.append(str(pic_info.id))

        MessageSender.send_picture_detect(pic_url=picture_urls,
                                          user_id=user_id,
                                          pic_channel=0,
                                          source=3,
                                          obj_id=None,
                                          pic_type=type)

        # 同步到动态
        if publish_status == 2:
            picture_url_list = []
            for moment_pic_id in moment_pic_ids:
                moment_pic = PictureInfo.objects.filter(
                    id=moment_pic_id, show_status__ne=2).first()
                if moment_pic:
                    picture_url_list.append(moment_pic.picture_real_url)

            code, message = UserMoment.check_moment_count(user)
            if code == 2:
                return self.write({'status': "fail", 'error': _(message)})

            user_moment = UserMoment()
            user_moment.user_id = user_id
            user_moment.like_count = 0
            user_moment.like_user_list = []
            user_moment.comment_count = 0

            if picture_url_list:
                for picture_url in picture_url_list:
                    if picture_url:
                        pic_url = User.convert_http_to_https(picture_url)
                        if type == 2:
                            dict = {
                                "url": pic_url,
                                "status": 1,
                                "is_essence": 1,
                            }
                            user_moment.content = ""
                            user_moment.type = 2
                        else:
                            dict = {"url": pic_url, "status": 1}
                            user_moment.content = ""
                            user_moment.type = 4
                        user_moment.img_list.append(dict)

            user_moment.show_status = 1
            user_moment.delete_status = 1
            user_moment.ispass = 2
            user_moment.is_public = 1
            user_moment.create_time = datetime.datetime.now()

            user_moment.save()

            from app_redis.user.models.user import UserRedis
            pure_id = "597ef85718ce420b7d46ce11"
            if user.is_video_auth == 1:
                if user.label:
                    if pure_id in user.label:
                        user_moment.update(set__is_pure=1)
                    else:
                        user_moment.update(set__is_pure=3)
                else:
                    user_moment.update(set__is_pure=3)
            else:
                if UserRedis.is_target_user(user.id):
                    user_moment.update(set__is_pure=2)
                else:
                    user_moment.update(set__is_pure=4)

            MessageSender.send_picture_detect(pic_url="",
                                              user_id=0,
                                              pic_channel=0,
                                              source=2,
                                              obj_id=str(user_moment.id))

        if picture_ids:
            self.write({"status": "success", "picture_ids": picture_ids})
        else:
            self.write({
                "status": "failed",
            })