Exemplo n.º 1
0
 def get(self):
     self.parser.add_argument(
         "email",
         type=inputs.regex(
             r'(^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$)'),
         required=True,
         location="json",
         help='email format is incorrect')
     args = self.parser.parse_args()
     token = generate_confirmation_token(args.email)
     confirm_url = config.domain + "/api/v1/mall/confirm?token=" + token
     html = '''
             <p>Welcome! Thanks for signing up. Please follow this link to activate your account:</p>
             <p><a href=''' + confirm_url + '''>''' + confirm_url + '''</a></p>
             <br>
             <p>Cheers!</p>'''
     subject = "Please confirm your email"
     send_email(args.email, subject, html)
     return pretty_result(code.OK,
                          msg='Account already confirmed. Please login.')
Exemplo n.º 2
0
 def get(self):
     """
     获取用户列表信息
     :return: json
     """
     user = UsersModel.get(UsersModel, g.user_id)
     returnUser = {
         'id': user.id,
         'userName': user.username,
         'email': user.email,
         'permission': user.permission,
         'avatar': user.avatar
         # 'login_time': user.login_time
     }
     totalCount = 3
     List = [{
         "id": "@id",
         "permission": "editor",
     }]
     return pretty_result(code.OK, data=List)
Exemplo n.º 3
0
 def post(self):
     """
     邀请表信息
     :return: json
     """
     self.parser.add_argument("email", type=inputs.regex(r'(^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$)'),
                              required=True, location="json",
                              help='email format is incorrect')
     args = self.parser.parse_args()
     inviter = InvitersModel.query.filter_by(invite=args.email).all()
     data = []
     if inviter:
         for item in inviter:
             data.append({
                 'id': item.id,
                 'invite': item.invite,
                 'invited': item.invited,
                 'point': config.Inviter_Point,
                 'register_on': item.update_time.strftime("%m/%d/%Y"),
             })
     return pretty_result(code.OK, data=data, msg='get inviter info successful!')
Exemplo n.º 4
0
 def post(self):
     self.parser.add_argument(
         "email",
         type=inputs.regex(
             r'(^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$)'),
         required=True,
         location="json",
         help='email format is incorrect')
     args = self.parser.parse_args()
     password = uuid.uuid4().hex[:8]
     mallUserInfo = MallUsersModel.query.filter_by(email=args.email).first()
     mallUserInfo.password = MallUsersModel.set_password(
         MallUsersModel, password)
     MallUsersModel.update(mallUserInfo)
     html = '''
             <p>Welcome! Please keep your password:</p>
             <p>''' + password + '''</p>
             <br>
             <p>Cheers!</p>'''
     subject = "Your Password"
     send_email(args.email, subject, html)
     return pretty_result(code.OK, msg='Please login again.')
Exemplo n.º 5
0
 def get(self):
     self.parser.add_argument("no", type=str, required=True, location="args",
                              help='no format is incorrect')
     args = self.parser.parse_args()
     orderInfo = OrdersModel.query.filter_by(no=args.no).first()
     OrderItemVOS = []
     productList = orderInfo.productList.split(',')
     for i in productList:
         productInfo = ProductsModel.query.filter_by(id=i).first()
         OrderItemVOS.append(productInfo.to_dict())
     data ={
         'no': orderInfo.no,
         'totalPrice': orderInfo.totalPrice,
         'phone': orderInfo.phone,
         'payType': orderInfo.payType,
         'status': orderInfo.status,
         'productList': orderInfo.productList,
         'addressId': orderInfo.addressId,
         "createTime": orderInfo.createTime,
         'OrderItemVOS': OrderItemVOS
     }
     return pretty_result(code.OK, data=data, msg="get order info successful!")
Exemplo n.º 6
0
    def post(self):
        """ 
        文本校正
        ---
        consumes: application/json
        parameters:
          - name: url 
            in: body 
            required: true
            description: 输入文本图片url 
          - name: urli2
            in: body 
            required: true
            description: 输入文本图片url 

        responses:
          200:
            description: 生成的URL
        """
        # get URL
        self.parser.add_argument("url",
                                 type=str,
                                 location="json",
                                 required=True)
        args = self.parser.parse_args()

        # download
        fileName = wget.download(args.url)

        # handle
        txtLAdjust.run(fileName, "./txt.jpg")
        bos_client.upload_file_to_bos('./txt.jpg')
        url = bos_client.get_bos_file_url('txt.jpg')

        # return
        data = {'url': url}
        return pretty_result(code.OK, data=data)
Exemplo n.º 7
0
    def delete(self):
        self.parser.add_argument("ids",
                                 type=list,
                                 required=True,
                                 location="json",
                                 help='ids is required')
        self.parser.add_argument("updateUser",
                                 type=str,
                                 required=True,
                                 location="json",
                                 help='updateUser is required')
        self.parser.add_argument("content",
                                 type=list,
                                 required=True,
                                 location="json",
                                 help='content is required')
        args = self.parser.parse_args()
        for item in args.ids:
            productInfo = ProductsModel.query.filter_by(id=item).first()
            productPictureList = productInfo.picture.split(",")
            for j in productPictureList:
                old_fname = filePath + str(j) + '.png'
                if os.path.exists(old_fname):
                    os.remove(old_fname)
                else:
                    print(str(j) + " the file does not exist")

        ProductsModel.delete(ProductsModel, args.ids)
        content = str(args.content)
        if len(str(args.content)) > 500:
            content = str(args.ids)
        log = LogsModel(username=args.updateUser,
                        model="product",
                        action="delete",
                        content=content)
        LogsModel.add(LogsModel, log)
        return pretty_result(code.OK, msg='商品信息删除成功!')
Exemplo n.º 8
0
 def get(self):
     """
     获取权限列表信息
     :return: json
     """
     self.parser.add_argument("totalPrice",
                              type=int,
                              required=True,
                              location="args",
                              help='totalPrice is required')
     self.parser.add_argument(
         "email",
         type=inputs.regex(
             r'(^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$)'),
         required=True,
         location="args",
         help='email format is incorrect')
     args = self.parser.parse_args()
     userInfo = MallUsersModel.query.filter_by(email=args.email).first()
     coupons = []
     disabledCoupons = []
     for item in userInfo.coupon.split(","):
         if item:
             coupon = CouponsModel.query.filter_by(id=item).first()
             if coupon.endTime > int(time.time()):
                 if coupon.couponType == 1 and args.totalPrice < coupon.couponCondition:
                     disabledCoupons.append({
                         'id':
                         coupon.id,
                         'name':
                         coupon.couponName,
                         'startAt':
                         coupon.startTime,
                         'endAt':
                         coupon.endTime,
                         'condition':
                         "无门槛\n" if coupon.couponType == 0 else "有门槛\n" +
                         "" if coupon.couponType == 0 else "高于" +
                         coupon.couponCondition + "可以使用",
                         'value':
                         coupon.discountCondition * 100,
                         'reason':
                         "不满足最低价格!",
                         'valueDesc':
                         coupon.discountCondition,
                         "discountType":
                         coupon.discountType,
                         'unitDesc':
                         "泰铢" if coupon.discountType == "1" else "折",
                     })
                 else:
                     coupons.append({
                         'id':
                         coupon.id,
                         'name':
                         coupon.couponName,
                         'startAt':
                         coupon.startTime,
                         'endAt':
                         coupon.endTime,
                         'condition':
                         "无门槛\n" if coupon.couponType == "0" else "有门槛\n" +
                         ("" if coupon.couponType == "0" else "高于" +
                          str(coupon.couponCondition) + "可以使用"),
                         'value':
                         coupon.discountCondition * 100,
                         'description':
                         coupon.description,
                         'valueDesc':
                         coupon.discountCondition,
                         "discountType":
                         coupon.discountType,
                         'unitDesc':
                         "泰铢" if coupon.discountType == "1" else "折",
                     })
     data = {'disabledCoupons': disabledCoupons, 'coupons': coupons}
     return pretty_result(code.OK, data=data, msg='优惠券信息获取成功!')
Exemplo n.º 9
0
 def post(self):
     """
     创建权限
     :return: json
     """
     # self.parser.add_argument("couponName", type=str, required=True, location="json", help='couponName is required')
     # self.parser.add_argument("startTime", type=str, required=True, location="json", help='startTime is required')
     # self.parser.add_argument("endTime", type=str, required=True, location="json", help='endTime is required')
     # self.parser.add_argument("couponType", type=str, required=True, location="json", help='couponType is required')
     # self.parser.add_argument("couponCondition", type=str, required=True, location="json", help='couponCondition is required')
     # self.parser.add_argument("discountType", type=str, required=True, location="json", help='discountType is required')
     # self.parser.add_argument("discountCondition", type=str, required=True, location="json",
     #                          help='discountCondition is required')
     # self.parser.add_argument("description", type=str, required=True, location="json",help='description is required')
     # self.parser.add_argument("couponStatus", type=str, required=True, location="json",help='couponStatus is required')
     # self.parser.add_argument("couponKey", type=str, required=True, location="json", help='couponKey is required')
     args = self.parser.parse_args()
     args.couponName = 'test5'
     couponsInfo = CouponsModel.query.filter_by(
         couponName=args.couponName).all()
     # couponName = db.Column(db.String(50), nullable=False)
     # startTime = db.Column(db.Integer, default=int(time.time()), nullable=True)
     # endTime = db.Column(db.Integer, default=int(time.time()), nullable=True)
     # couponCount = db.Column(db.Integer, nullable=True)  # 兑换次数
     # couponType = db.Column(db.String(50), nullable=False)  # 优惠类型 有门槛 无门槛
     # couponCondition = db.Column(db.Integer, nullable=True)  # 优惠条件 高于该价格可以使用
     # discountType = db.Column(db.String(50), nullable=False)  # 折扣类型 优惠价格,折扣比例
     # discountCondition = db.Column(db.Integer, nullable=True)  # 优惠面值 折扣比例
     # description = db.Column(db.String(50), nullable=False)
     # couponStatus = db.Column(db.String(50), nullable=False)  # 全部可用 ,兑换码
     # couponKey = db.Column(db.String(50), nullable=False)  # 兑换码
     dt = "2016-05-05 20:28:54"
     dt2 = "2022-05-05 20:28:54"
     args.startTime = int(time.time())
     args.endTime = int(time.time())
     args.couponType = 1  # 无门槛
     args.couponCondition = 10
     args.discountType = 2  # 价格
     args.discountCondition = 8.8
     args.description = "test3"
     args.couponStatus = 1  # 兑换码
     args.couponKey = ""
     if couponsInfo:
         return pretty_result(code.ERROR, msg='该优惠券名字被添加!')
     coupon = CouponsModel(couponName=args.couponName,
                           startTime=args.startTime,
                           endTime=args.endTime,
                           couponType=args.couponType,
                           couponCondition=args.couponCondition,
                           discountType=args.discountType,
                           discountCondition=args.discountCondition,
                           description=args.description,
                           couponStatus=args.couponStatus,
                           couponKey=args.couponKey)
     CouponsModel.add(CouponsModel, coupon)
     if args.discountType == 2:
         usersInfo = MallUsersModel.query.all()
         for item in usersInfo:
             if item.coupon:
                 item.coupon = item.coupon + "," + str(coupon.id)
             else:
                 item.coupon = str(coupon.id)
             MallUsersModel.update(item)
     if coupon.id:
         returnUser = {
             'id': coupon.id,
         }
         return pretty_result(code.OK, data=returnUser, msg='优惠券添加成功')
     else:
         return pretty_result(code.ERROR, data='', msg='优惠券添加失败')
Exemplo n.º 10
0
 def post(self):
     """
     抽奖信息
     :return: json
     """
     self.parser.add_argument("gender", type=str, required=True, location="json",
                              help='gender is required')
     self.parser.add_argument("size", type=str, required=True, location="json",
                              help='size is required')
     self.parser.add_argument("age", type=str, required=True, location="json",
                              help='age is required')
     self.parser.add_argument("Pclass", type=str, required=True, location="json",
                              help='Pclass is required')
     self.parser.add_argument("count", type=int, required=True, location="json",
                              help='count is required')
     self.parser.add_argument("point", type=int, required=True, location="json",
                              help='point is required')
     self.parser.add_argument("email", type=inputs.regex(r'(^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$)'),
                              required=True, location="json",
                              help='email format is incorrect')
     args = self.parser.parse_args()
     products = ProductsModel.filter_by_gender_size_age_Pclass(ProductsModel, args.gender, args.size, args.age, args.Pclass)
     i = 0
     showData = []
     data=[]
     for item in products:
         print(item)
         if i >= args.count:
             break
         if item.status == "unsold":
             i = i + 1
             showData.append(item)
     if i < args.count:
         for item in products:
             if i >= args.count:
                 break
             if item.status == "online":
                 if (datetime.datetime.now() - item.update_time).total_seconds() > config.countDown:
                     i = i + 1
                     showData.append(item)
     if i < args.count:
         return pretty_result(code.ERROR, data=[], msg='Get award info failed, Product not enough!')
     else:
         for j in showData:
             # 更新次数和状态
             productsInfo = ProductsModel.query.filter_by(id=j.id).first()
             productsInfo.status = 'online'
             productsInfo.showTimes = productsInfo.showTimes + 1
             ProductsModel.update(productsInfo)
             url = ''
             pictures = productsInfo.picture.split(",")
             for i in pictures:
                 url = config.domain + "/api/v1/pictureManagement/get?type=product&id=" + i
                 break
             data.append(
                 {
                     'id': productsInfo.id,
                     'no': productsInfo.no,
                     'position': productsInfo.position,
                     'picture': url,
                     'gender': productsInfo.gender,
                     'size': productsInfo.size,
                     'age': productsInfo.age,
                     'Pclass': productsInfo.Pclass,
                     'type': productsInfo.type,
                     'status': productsInfo.status,
                     'inPrice': productsInfo.inPrice,
                     'outPrice': productsInfo.outPrice,
                     'price': productsInfo.price,
                     'level': productsInfo.level,
                     'showTimes': productsInfo.showTimes,
                     'remark': productsInfo.remark,
                     'updateUser': productsInfo.updateUser,
                     'updateTime': productsInfo.update_time.strftime("%m/%d/%Y %H:%M:%S")
                 }
             )
             Cart = CartsModel(email=args.email, no=productsInfo.no)
             CartsModel.add(CartsModel, Cart)
         mallUserInfo = MallUsersModel.query.filter_by(email=args.email).first()
         mallUserInfo.point = mallUserInfo.point - args.point
         MallUsersModel.update(mallUserInfo)
         return pretty_result(code.OK, data=data, msg='Get award info successful!')
Exemplo n.º 11
0
 def put(self):
     self.parser.add_argument("id",
                              type=int,
                              required=True,
                              location="json",
                              help='id is required')
     self.parser.add_argument("couponName",
                              type=str,
                              required=True,
                              location="json",
                              help='couponName is required')
     self.parser.add_argument("startTime",
                              type=str,
                              required=True,
                              location="json",
                              help='startTime is required')
     self.parser.add_argument("endTime",
                              type=str,
                              required=True,
                              location="json",
                              help='endTime is required')
     self.parser.add_argument("couponType",
                              type=str,
                              required=True,
                              location="json",
                              help='couponType is required')
     self.parser.add_argument("couponCondition",
                              type=str,
                              required=True,
                              location="json",
                              help='couponCondition is required')
     self.parser.add_argument("discountType",
                              type=str,
                              required=True,
                              location="json",
                              help='discountType is required')
     self.parser.add_argument("discountCondition",
                              type=str,
                              required=True,
                              location="json",
                              help='discountCondition is required')
     self.parser.add_argument("description",
                              type=str,
                              required=True,
                              location="json",
                              help='description is required')
     self.parser.add_argument("couponStatus",
                              type=str,
                              required=True,
                              location="json",
                              help='couponStatus is required')
     self.parser.add_argument("couponKey",
                              type=str,
                              required=True,
                              location="json",
                              help='couponKey is required')
     args = self.parser.parse_args()
     couponInfo = CouponsModel.query.filter_by(id=args.id).first()
     couponInfo.couponName = args.couponName
     couponInfo.startTime = args.startTime
     couponInfo.endTime = args.endTime
     couponInfo.couponType = args.couponType
     couponInfo.couponCondition = args.couponCondition
     couponInfo.discountType = args.discountType
     couponInfo.discountCondition = args.discountCondition
     couponInfo.description = args.description
     couponInfo.couponStatus = args.couponStatus
     couponInfo.couponKey = args.couponKey
     CouponsModel.update(couponInfo)
     return pretty_result(code.OK, msg='优惠券信息更新成功!')
Exemplo n.º 12
0
 def post(self):
     """
     充值表信息
     :return: json
     """
     self.parser.add_argument(
         "email",
         type=inputs.regex(
             r'(^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$)'),
         required=True,
         location="json",
         help='email format is incorrect')
     self.parser.add_argument("username",
                              type=str,
                              location="json",
                              required=True,
                              help='username is required')
     self.parser.add_argument(
         "phone",
         type=inputs.regex(
             r'((\+66|0)(\d{1,2}\-?\d{3}\-?\d{3,4}))|((\+๖๖|๐)([๐-๙]{1,2}\-?[๐-๙]{3}\-?[๐-๙]{3,4}))'
         ),
         required=True,
         location="json",
         help='phone is required or format is incorrect')
     self.parser.add_argument("defaultFlag",
                              type=int,
                              location="json",
                              required=True,
                              help='defaultFlag is required')
     self.parser.add_argument("provinceName",
                              type=str,
                              location="json",
                              required=True,
                              help='provinceName is required')
     self.parser.add_argument("cityName",
                              type=str,
                              location="json",
                              required=True,
                              help='cityName is required')
     self.parser.add_argument("townName",
                              type=str,
                              location="json",
                              required=True,
                              help='townName is required')
     self.parser.add_argument("postCode",
                              type=str,
                              location="json",
                              required=True,
                              help='postCode is required')
     self.parser.add_argument("detailAddress",
                              type=str,
                              location="json",
                              required=True,
                              help='detailAddress is required')
     args = self.parser.parse_args()
     if args.defaultFlag:
         AddressModel.updateStatus(AddressModel, args.email)
     Address = AddressModel(email=args.email,
                            addressId=int(time.time()),
                            username=args.username,
                            phone=args.phone.replace("-", ""),
                            defaultFlag=args.defaultFlag,
                            provinceName=args.provinceName,
                            cityName=args.cityName,
                            townName=args.townName,
                            detailAddress=args.detailAddress,
                            postCode=args.postCode)
     AddressModel.add(AddressModel, Address)
     if Address.id:
         return pretty_result(code.OK, msg='Add address successful!')
     else:
         return pretty_result(code.ERROR, msg='Add address failed')
Exemplo n.º 13
0
 def put(self):
     self.parser.add_argument("cartItemIds",
                              type=list,
                              location="json",
                              help='cartItemIds format is incorrect')
     args = self.parser.parse_args()
     if args.cartItemIds:
         productInfo = ProductsModel.get_ids(ProductsModel,
                                             args.cartItemIds)
         data = []
         for product in productInfo:
             url = ''
             countDown = (datetime.datetime.now() -
                          product.update_time).total_seconds()
             pictures = product.picture.split(",")
             for i in pictures:
                 url = config.domain + "/api/v1/pictureManagement/get?type=product&id=" + i
                 break
             data.append({
                 'id':
                 product.id,
                 'no':
                 product.no,
                 'name':
                 product.name,
                 'description':
                 product.description,
                 'position':
                 product.position,
                 'picture':
                 url,
                 'gender':
                 product.gender,
                 'size':
                 product.size,
                 'age':
                 product.age,
                 'Pclass':
                 product.Pclass,
                 'type':
                 product.type,
                 'status':
                 product.status,
                 'inPrice':
                 product.inPrice,
                 'outPrice':
                 product.outPrice,
                 'price':
                 product.price,
                 'level':
                 product.level,
                 'showTimes':
                 product.showTimes,
                 'remark':
                 product.remark,
                 'time': (config.countDown - countDown) * 1000,
                 'updateUser':
                 product.updateUser,
                 'updateTime':
                 product.update_time.strftime("%m/%d/%Y %H:%M:%S")
             })
         return pretty_result(code.OK,
                              data=data,
                              msg="get create order info successful!")
     else:
         return pretty_result(code.OK,
                              data=[],
                              msg="get create order info successful!")
Exemplo n.º 14
0
    def post(self):
        """
        用户注册
        :return: json
        """
        self.parser.add_argument(
            "email",
            type=inputs.regex(
                r'(^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$)'),
            required=True,
            location="json",
            help='email format is incorrect')
        self.parser.add_argument(
            "username",
            type=str,
            required=True,
            location="json",
            help='username is required or format is incorrect')
        self.parser.add_argument(
            "inviterId",
            type=str,
            location="json",
            help='inviterId is required or format is incorrect')

        # self.parser.add_argument("phone", type=inputs.regex(r'((\+66|0)(\d{1,2}\-?\d{3}\-?\d{3,4}))|((\+๖๖|๐)([๐-๙]{1,2}\-?[๐-๙]{3}\-?[๐-๙]{3,4}))'), required=True, location="json",
        #                          help='phone is required or format is incorrect')
        # self.parser.add_argument("gender", type=str, required=True, location="json",
        #                          help='gender is required or format is incorrect')
        # self.parser.add_argument("birth", type=str, required=True, location="json",
        #                          help='birth is required or format is incorrect')
        self.parser.add_argument(
            "password",
            type=password_len,
            required=True,
            location="json",
            trim=True,
            help='password is required or format is incorrect')
        args = self.parser.parse_args()
        MallUserEmailInfo = MallUsersModel.query.filter_by(
            email=args.email).all()
        for item in MallUserEmailInfo:
            if item.id != args.id:
                return pretty_result(code.ERROR, msg='The email is exit!')
        # mallUser = MallUsersModel(email=args.email, username=args.username, password=MallUsersModel.set_password(MallUsersModel,  getRSAtext(args.password)),
        #                           registered_on=int(time.time()),phone=args.phone.replace('-', ''), gender=args.gender,birthday=args.birth)
        mallUser = MallUsersModel(email=args.email,
                                  username=args.username,
                                  password=MallUsersModel.set_password(
                                      MallUsersModel,
                                      getRSAtext(args.password)),
                                  registered_on=int(time.time()))
        MallUsersModel.add(MallUsersModel, mallUser)
        token = generate_confirmation_token(args.email)
        confirm_url = config.domain + "/api/v1/mall/confirm?token=" + token
        html = '''
        <p>Welcome! Thanks for signing up. Please follow this link to activate your account:</p>
        <p><a href=''' + confirm_url + '''>''' + confirm_url + '''</a></p>
        <br>
        <p>Cheers!</p>'''
        subject = "Please confirm your email"
        send_email(args.email, subject, html)
        if args.inviterId != 'undefined':
            try:
                inviteEmail = base64.b64decode(args.inviterId)
                inviter = InvitersModel(invite=inviteEmail, invited=args.email)
                InvitersModel.add(InvitersModel, inviter)
                userInfo = InvitersModel.query.filter_by(
                    email=inviteEmail).first()
                userInfo.point = config.Inviter_Point
                InvitersModel.update(userInfo)
            except Exception as e:
                return pretty_result(code.OK, msg='inviterId is not correct')
        if mallUser.id:
            returnUser = {
                'id': mallUser.id,
                'username': mallUser.username,
                'email': mallUser.email,
                'phone': mallUser.phone,
                'gender': mallUser.gender,
                'birth': mallUser.birthday,
                'confirmed': mallUser.confirmed,
                'login_time': mallUser.login_time
            }
            return pretty_result(code.OK,
                                 data=returnUser,
                                 msg='User register successful')
        else:
            return pretty_result(code.ERROR, msg='User register failed')
Exemplo n.º 15
0
 def post(self):
     self.parser.add_argument("no",
                              type=str,
                              required=True,
                              location="form",
                              help='no is required')
     self.parser.add_argument("name",
                              type=str,
                              required=True,
                              location="form",
                              help='name is required')
     self.parser.add_argument("description",
                              type=str,
                              required=True,
                              location="form",
                              help='description is required')
     self.parser.add_argument("position",
                              type=str,
                              required=True,
                              location="form",
                              help='position is required')
     self.parser.add_argument("picture",
                              type=FileStorage,
                              required=True,
                              location='files',
                              action='append',
                              help='picture is required')
     self.parser.add_argument("gender",
                              type=str,
                              required=True,
                              location="form",
                              help='gender is required')
     self.parser.add_argument("size",
                              type=str,
                              required=True,
                              location="form",
                              help='size is required')
     self.parser.add_argument("age",
                              type=str,
                              required=True,
                              location="form",
                              help='age is required')
     self.parser.add_argument("Pclass",
                              type=str,
                              required=True,
                              location="form",
                              help='Pclass is required')
     self.parser.add_argument("type",
                              type=str,
                              required=True,
                              location="form",
                              help='type is required')
     self.parser.add_argument("status",
                              type=str,
                              required=True,
                              location="form",
                              help='status is required')
     self.parser.add_argument("inPrice",
                              type=int,
                              required=True,
                              location="form",
                              help='inPrice is required')
     self.parser.add_argument("outPrice",
                              type=int,
                              required=True,
                              location="form",
                              help='outPrice is required')
     self.parser.add_argument("price",
                              type=int,
                              required=True,
                              location="form",
                              help='price is required')
     self.parser.add_argument("level",
                              type=int,
                              required=True,
                              location="form",
                              help='level is required')
     self.parser.add_argument("showTimes",
                              type=int,
                              default=0,
                              location="form",
                              help='showTimes is required')
     self.parser.add_argument("remark",
                              type=str,
                              location="form",
                              help='remark is not required')
     self.parser.add_argument("updateUser",
                              type=str,
                              required=True,
                              location="form",
                              help='updateUser is required')
     self.parser.add_argument("removeList",
                              type=str,
                              required=True,
                              location="form",
                              help='removelist is required')
     args = self.parser.parse_args()
     productNoInfo = ProductsModel.query.filter_by(no=args.no).all()
     if productNoInfo:
         return pretty_result(code.ERROR, msg='该商品已经被录入!')
     removeList = args.removeList.split(",")
     pictureList = ''
     for item in args.picture:
         if item.filename in removeList:
             continue
         new_fname = filePath + str(item.filename) + '.png'
         item.save(new_fname)
         pictureList = pictureList + str(item.filename) + ","
     pictureList = pictureList[:-1]
     product = ProductsModel(no=args.no,
                             position=args.position,
                             picture=pictureList,
                             gender=args.gender,
                             size=args.size,
                             age=args.age,
                             Pclass=args.Pclass,
                             type=args.type,
                             name=args.name,
                             description=args.description,
                             status=args.status,
                             inPrice=args.inPrice,
                             outPrice=args.outPrice,
                             price=args.price,
                             level=args.level,
                             remark=args.remark,
                             showTimes=args.showTimes,
                             updateUser=args.updateUser)
     ProductsModel.add(ProductsModel, product)
     if product.id:
         content = str({
             "no": args.no,
             "name": args.name,
             "description": args.description,
             "position": args.position,
             "picture": pictureList,
             "gender": args.gender,
             "size": args.size,
             "age": args.age,
             "Pclass": args.Pclass,
             "type": args.type,
             "status": args.status,
             "inPrice": args.inPrice,
             "outPrice": args.outPrice,
             "price": args.price,
             "level": args.level,
             "remark": args.remark,
             "showTimes": args.showTimes,
             "updateUser": args.updateUser
         })
         log = LogsModel(username=args.updateUser,
                         model="product",
                         action="add",
                         content=content)
         LogsModel.add(LogsModel, log)
         return pretty_result(code.OK, msg='商品信息创建成功!')
     else:
         return pretty_result(code.Error, msg='商品信息创建失败!')
Exemplo n.º 16
0
 def get(self):
     user_id = get_jwt_identity()
     user = User.query.get(user_id)
     return pretty_result(http_code.OK, data=UserSchema().dump(user))
Exemplo n.º 17
0
 def param_error(e):
     return pretty_result(http_code.NOTFOUND_ERROR)
Exemplo n.º 18
0
 def post(self):
     self.parser.add_argument(
         "email",
         type=inputs.regex(
             r'(^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$)'),
         required=True,
         location="json",
         help='email format is incorrect')
     args = self.parser.parse_args()
     cartInfo = CartsModel.query.filter_by(email=args.email).all()
     data = []
     for item in cartInfo:
         countDown = (datetime.datetime.now() -
                      item.update_time).total_seconds()
         if countDown < config.countDown:
             product = ProductsModel.query.filter_by(no=item.no).first()
             url = ''
             pictures = product.picture.split(",")
             for i in pictures:
                 url = config.domain + "/api/v1/pictureManagement/get?type=product&id=" + i
                 break
             data.append({
                 'id':
                 product.id,
                 'no':
                 product.no,
                 'name':
                 product.name,
                 'description':
                 product.description,
                 'position':
                 product.position,
                 'picture':
                 url,
                 'gender':
                 product.gender,
                 'size':
                 product.size,
                 'age':
                 product.age,
                 'Pclass':
                 product.Pclass,
                 'type':
                 product.type,
                 'status':
                 product.status,
                 'inPrice':
                 product.inPrice,
                 'outPrice':
                 product.outPrice,
                 'price':
                 product.price,
                 'level':
                 product.level,
                 'showTimes':
                 product.showTimes,
                 'remark':
                 product.remark,
                 'time': (config.countDown - countDown) * 1000,
                 'updateUser':
                 product.updateUser,
                 'updateTime':
                 product.update_time.strftime("%m/%d/%Y %H:%M:%S")
             })
     return pretty_result(code.OK,
                          data=data,
                          msg="get cart info successful!")
Exemplo n.º 19
0
 def get(self):
     """
     地址表信息
     :return: json
     """
     self.parser.add_argument(
         "email",
         type=inputs.regex(
             r'(^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$)'),
         location="args",
         help='email format is incorrect')
     self.parser.add_argument("pageNo",
                              type=int,
                              required=True,
                              location="args",
                              help='pageNo format is incorrect')
     self.parser.add_argument("pageSize",
                              type=int,
                              required=True,
                              location="args",
                              help='pageSize format is incorrect')
     self.parser.add_argument("addressId",
                              type=int,
                              location="args",
                              help='addressId format is incorrect')
     args = self.parser.parse_args()
     if args.addressId:
         Address = AddressModel.query.filter_by(
             addressId=args.addressId).all()
         result = []
         if Address:
             for item in Address:
                 result.append({
                     'id': item.id,
                     'email': item.email,
                     'addressId': item.addressId,
                     'username': item.username,
                     'phone': item.phone,
                     'defaultFlag': item.defaultFlag,
                     'provinceName': item.provinceName,
                     'cityName': item.cityName,
                     'townName': item.townName,
                     'postCode': item.postCode,
                     'detailAddress': item.detailAddress,
                 })
         return pretty_result(code.OK,
                              data=result[0],
                              msg='Get address successful')
     Address = AddressModel.query.filter_by(email=args.email).all()
     totalCount = len(Address)
     result = []
     if Address:
         for item in Address:
             result.append({
                 'id': item.id,
                 'email': item.email,
                 'addressId': item.addressId,
                 'username': item.username,
                 'phone': item.phone,
                 'defaultFlag': item.defaultFlag,
                 'provinceName': item.provinceName,
                 'cityName': item.cityName,
                 'townName': item.townName,
                 'postCode': item.postCode,
                 'detailAddress': item.detailAddress,
             })
     data = {
         'pageNo': args.pageNo,
         'pageSize': args.pageSize,
         'totalCount': totalCount,
         'items': result
     }
     return pretty_result(code.OK, data=data, msg='Get address successful')
Exemplo n.º 20
0
 def put(self):
     """
     充值表信息
     :return: json
     """
     self.parser.add_argument(
         "email",
         type=inputs.regex(
             r'(^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$)'),
         required=True,
         location="json",
         help='email format is incorrect')
     self.parser.add_argument("username",
                              type=str,
                              location="json",
                              required=True,
                              help='username is required')
     self.parser.add_argument("addressId",
                              type=str,
                              location="json",
                              required=True,
                              help='addressId is required')
     self.parser.add_argument(
         "phone",
         type=inputs.regex(
             r'((\+66|0)(\d{1,2}\-?\d{3}\-?\d{3,4}))|((\+๖๖|๐)([๐-๙]{1,2}\-?[๐-๙]{3}\-?[๐-๙]{3,4}))'
         ),
         required=True,
         location="json",
         help='phone is required or format is incorrect')
     self.parser.add_argument("defaultFlag",
                              type=int,
                              location="json",
                              required=True,
                              help='defaultFlag is required')
     self.parser.add_argument("provinceName",
                              type=str,
                              location="json",
                              required=True,
                              help='provinceName is required')
     self.parser.add_argument("cityName",
                              type=str,
                              location="json",
                              required=True,
                              help='cityName is required')
     self.parser.add_argument("townName",
                              type=str,
                              location="json",
                              required=True,
                              help='townName is required')
     self.parser.add_argument("detailAddress",
                              type=str,
                              location="json",
                              required=True,
                              help='detailAddress is required')
     args = self.parser.parse_args()
     Address = AddressModel.query.filter_by(
         addressId=args.addressId).first()
     if Address.defaultFlag == 0 and args.defaultFlag == 1:
         AddressModel.updateStatus(AddressModel, args.email)
     Address.email = args.email
     Address.username = args.username
     Address.phone = args.phone
     Address.defaultFlag = args.defaultFlag
     Address.provinceName = args.provinceName
     Address.cityName = args.cityName
     Address.townName = args.townName
     Address.detailAddress = args.detailAddress
     AddressModel.update(Address)
     if Address.id:
         return pretty_result(code.OK, msg='Update address successful!')
     else:
         return pretty_result(code.ERROR, msg='Update address failed')
Exemplo n.º 21
0
 def param_error(e):
     return pretty_result(http_code.PARAM_ERROR)
Exemplo n.º 22
0
 def get(self):
     """
     获取商品列表信息
     :return: json
     """
     self.parser.add_argument("pageNo",
                              type=int,
                              required=True,
                              location="args",
                              help='pageNo is required')
     self.parser.add_argument("pageSize",
                              type=int,
                              required=True,
                              location="args",
                              help='pageSize is required')
     self.parser.add_argument("no",
                              type=str,
                              required=True,
                              location="args",
                              help='no is required')
     self.parser.add_argument("Pclass",
                              type=str,
                              required=True,
                              location="args",
                              help='Pclass is required')
     args = self.parser.parse_args()
     product_list = ProductsModel.paginate(ProductsModel, args.pageNo,
                                           args.pageSize)
     items = []
     totalCount = product_list.total
     product_list = product_list.items
     if args.no or args.Pclass:
         product_list = ProductsModel.filter_by_no_Pclass(
             ProductsModel, args.no, args.Pclass)
         totalCount = len(product_list)
     for product in product_list:
         fileList = []
         pictures = product.picture.split(",")
         for i in pictures:
             url = config.domain + "/api/v1/pictureManagement/get?type=product&id=" + i
             fileList.append({"name": i, "url": url})
         items.append({
             'id':
             product.id,
             'no':
             product.no,
             'name':
             product.name,
             'description':
             product.description,
             'position':
             product.position,
             'picture':
             fileList,
             'gender':
             product.gender,
             'size':
             product.size,
             'age':
             product.age,
             'Pclass':
             product.Pclass,
             'type':
             product.type,
             'status':
             product.status,
             'inPrice':
             product.inPrice,
             'outPrice':
             product.outPrice,
             'price':
             product.price,
             'level':
             product.level,
             'showTimes':
             product.showTimes,
             'remark':
             product.remark,
             'updateUser':
             product.updateUser,
             'updateTime':
             product.update_time.strftime("%m/%d/%Y %H:%M:%S")
         })
     data = {
         'pageNo': args.pageNo,
         'pageSize': args.pageSize,
         'totalCount': totalCount,
         'items': items
     }
     return pretty_result(code.OK, data=data, msg='商品信息获取成功!')
Exemplo n.º 23
0
 def delete(self):
     self.parser.add_argument("addressId", type=str, required=True, location="json", help='addressId is required')
     args = self.parser.parse_args()
     AddressModel.delete(AddressModel, [args.addressId])
     return pretty_result(code.OK, msg='Delete address successful!')
Exemplo n.º 24
0
 def get(self):
     """
     套餐细节信息
     :return: json
     """
     self.parser.add_argument("no",
                              type=str,
                              required=True,
                              location="args",
                              help='no is required')
     args = self.parser.parse_args()
     product_list = ProductsModel.query.filter_by(no=args.no).all()
     items = []
     for product in product_list:
         fileList = []
         pictures = product.picture.split(",")
         for i in pictures:
             url = config.domain + "/api/v1/pictureManagement/get?type=product&id=" + i
             fileList.append({"name": i, "url": url})
         countDown = (datetime.datetime.now() -
                      product.update_time).total_seconds()
         items.append({
             'id':
             product.id,
             'no':
             product.no,
             'name':
             product.name,
             'description':
             product.description,
             'position':
             product.position,
             'picture':
             fileList,
             'gender':
             product.gender,
             'size':
             product.size,
             'age':
             product.age,
             'Pclass':
             product.Pclass,
             'type':
             product.type,
             'status':
             product.status,
             'inPrice':
             product.inPrice,
             'outPrice':
             product.outPrice,
             'price':
             product.price,
             'level':
             product.level,
             'showTimes':
             product.showTimes,
             'remark':
             product.remark,
             'time': (config.countDown - countDown) * 1000,
             'updateUser':
             product.updateUser,
             'updateTime':
             product.update_time.strftime("%m/%d/%Y %H:%M:%S")
         })
     if items:
         return pretty_result(code.OK,
                              data=items,
                              msg='Get product detail successful!')
     else:
         return pretty_result(code.ERROR,
                              data=[],
                              msg='The product no is exit!')
Exemplo n.º 25
0
 def put(self):
     self.parser.add_argument("id",
                              type=int,
                              required=True,
                              location="form",
                              help='id is required')
     self.parser.add_argument("no",
                              type=str,
                              required=True,
                              location="form",
                              help='no is required')
     self.parser.add_argument("name",
                              type=str,
                              required=True,
                              location="form",
                              help='name is required')
     self.parser.add_argument("description",
                              type=str,
                              required=True,
                              location="form",
                              help='description is required')
     self.parser.add_argument("position",
                              type=str,
                              required=True,
                              location="form",
                              help='position is required')
     self.parser.add_argument("picture",
                              type=FileStorage,
                              location='files',
                              action='append',
                              help='picture is file')
     self.parser.add_argument("gender",
                              type=str,
                              required=True,
                              location="form",
                              help='gender is required')
     self.parser.add_argument("size",
                              type=str,
                              required=True,
                              location="form",
                              help='size is required')
     self.parser.add_argument("age",
                              type=str,
                              required=True,
                              location="form",
                              help='age is required')
     self.parser.add_argument("Pclass",
                              type=str,
                              required=True,
                              location="form",
                              help='Pclass is required')
     self.parser.add_argument("type",
                              type=str,
                              required=True,
                              location="form",
                              help='type is required')
     self.parser.add_argument("status",
                              type=str,
                              required=True,
                              location="form",
                              help='status is required')
     self.parser.add_argument("inPrice",
                              type=str,
                              required=True,
                              location="form",
                              help='inprice is required')
     self.parser.add_argument("outPrice",
                              type=str,
                              required=True,
                              location="form",
                              help='outprice is required')
     self.parser.add_argument("price",
                              type=int,
                              required=True,
                              location="form",
                              help='price is required')
     self.parser.add_argument("level",
                              type=int,
                              required=True,
                              location="form",
                              help='level is required')
     self.parser.add_argument("showTimes",
                              type=str,
                              required=True,
                              location="form",
                              help='showTimes is required')
     self.parser.add_argument("remark",
                              type=str,
                              location="form",
                              help='remark is not required')
     self.parser.add_argument("updateUser",
                              type=str,
                              required=True,
                              location="form",
                              help='updateUser is required')
     self.parser.add_argument("removeList",
                              type=str,
                              required=True,
                              location="form",
                              help='removelist is required')
     args = self.parser.parse_args()
     productNoInfo = ProductsModel.query.filter_by(no=args.no).all()
     for item in productNoInfo:
         if item.id != args.id:
             return pretty_result(code.ERROR, msg='该商品编号已存在,不可以编辑!')
     productInfo = ProductsModel.query.filter_by(no=args.no).first()
     productPictureList = productInfo.picture.split(",")
     removeList = args.removeList.split(",")
     pictureList = ''
     for j in removeList:
         if j in productPictureList:
             productPictureList.remove(j)
             old_fname = filePath + str(j) + '.png'
             if os.path.exists(old_fname):
                 os.remove(old_fname)
             else:
                 print(str(j) + " the file does not exist")
     if args.picture:
         for item in args.picture:
             if item.filename in removeList:
                 continue
             new_fname = filePath + str(item.filename) + '.png'
             item.save(new_fname)
             productPictureList.append(str(item.filename))
     pictureList = ','.join(productPictureList)
     productInfo.no = args.no
     productInfo.name = args.name
     productInfo.description = args.description
     productInfo.position = args.position
     productInfo.picture = pictureList
     productInfo.gender = args.gender
     productInfo.size = args.size
     productInfo.age = args.age
     productInfo.Pclass = args.Pclass
     productInfo.type = args.type
     productInfo.status = args.status
     productInfo.inPrice = args.inPrice
     productInfo.outPrice = args.outPrice
     productInfo.price = args.price
     productInfo.level = args.level
     productInfo.showTimes = args.showTimes
     productInfo.remark = args.remark
     productInfo.updateUser = args.updateUser
     ProductsModel.update(productInfo)
     content = str({
         "no": args.no,
         "name": args.name,
         "description": args.description,
         "position": args.position,
         "picture": pictureList,
         "gender": args.gender,
         "size": args.size,
         "age": args.age,
         "Pclass": args.Pclass,
         "type": args.type,
         "status": args.status,
         "inPrice": args.inPrice,
         "outPrice": args.outPrice,
         "price": args.price,
         "level": args.level,
         "remark": args.remark,
         "showTimes": args.showTimes,
         "updateUser": args.updateUser
     })
     log = LogsModel(username=args.updateUser,
                     model="product",
                     action="edit",
                     content=content)
     LogsModel.add(LogsModel, log)
     return pretty_result(code.OK, msg='商品信息修改成功!')
Exemplo n.º 26
0
 def decorated_function(*args, **kwargs):
     if g.confirmed is False:
         return pretty_result(code.UNAUTHORIZATION_ERROR,
                              msg='User must confirm Email.')
     else:
         return func(*args, **kwargs)
Exemplo n.º 27
0
    def put(self):
        self.parser.add_argument("id", type=int, required=True, location="form", help='id is required')
        self.parser.add_argument("no", type=str, required=True, location="form", help='no is required')
        self.parser.add_argument("name", type=str, required=True, location="form", help='name is required')
        self.parser.add_argument("type", type=str, required=True, location="form", help='type is required')
        self.parser.add_argument("gender", type=str, required=True, location="form", help='gender is required')
        self.parser.add_argument("size", type=str, required=True, location="form", help='size is required')
        self.parser.add_argument("age", type=str, required=True, location="form", help='age is required')
        self.parser.add_argument("Pclass", type=str, required=True, location="form", help='Pclass is required')
        self.parser.add_argument("count", type=str, required=True, location="form", help='count is required')
        # self.parser.add_argument("price", type=int, required=True, location="form", help='price is required')
        # self.parser.add_argument("total", type=int, required=True, location="form", help='total is required')
        self.parser.add_argument("picture", type=FileStorage, location='files', action='append',
                                 help='picture is file')
        self.parser.add_argument("description", type=FileStorage, location='files', action='append',
                                 help='description is file')
        self.parser.add_argument("point", type=int, required=True, location="form", help='point is required')
        self.parser.add_argument("remark", type=str, location="form", help='remark is required')
        self.parser.add_argument("updateUser", type=str, required=True, location="form", help='updateUser is required')
        self.parser.add_argument("removeList", type=str, required=True, location="form", help='removelist is required')
        self.parser.add_argument("removeList2", type=str, required=True, location="form", help='removelist2 is required')
        args = self.parser.parse_args()
        packageInfo = PackageModel.query.filter_by(name=args.name).all()
        for item in packageInfo:
            if item.id != args.id:
                return pretty_result(code.ERROR, msg='该套餐管理已经被添加!')
        packageInfo = PackageModel.query.filter_by(id=args.id).first()
        packagePictureList = packageInfo.picture.split(",")
        removeList = args.removeList.split(",")
        pictureList = ''
        for j in removeList:
            if j in packagePictureList:
                packagePictureList.remove(j)
                old_fname = filePath + str(j) + '.png'
                if os.path.exists(old_fname):
                    os.remove(old_fname)
                else:
                    print(str(j) + " the file does not exist")
        if args.picture:
            for item in args.picture:
                if item.filename in removeList:
                    continue
                new_fname = filePath + str(item.filename) + '.png'
                item.save(new_fname)
                packagePictureList.append(str(item.filename))
        pictureList = ','.join(packagePictureList)

        packagePictureList2 = packageInfo.description.split(",")
        removeList2 = args.removeList2.split(",")
        pictureList2 = ''
        for j in removeList2:
            if j in packagePictureList2:
                packagePictureList2.remove(j)
                old_fname = filePath + str(j) + '.png'
                if os.path.exists(old_fname):
                    os.remove(old_fname)
                else:
                    print(str(j) + " the file does not exist")
        if args.description:
            for item in args.description:
                if item.filename in removeList2:
                    continue
                new_fname = filePath + str(item.filename) + '.png'
                item.save(new_fname)
                packagePictureList2.append(str(item.filename))
        pictureList2 = ','.join(packagePictureList2)

        packageInfo.id = args.id
        packageInfo.no = args.no
        packageInfo.name = args.name
        packageInfo.type = args.type
        packageInfo.gender = args.gender
        packageInfo.size = args.size
        packageInfo.age = args.age
        packageInfo.Pclass = args.Pclass
        # packageInfo.price = args.price
        # packageInfo.total = args.total
        packageInfo.point = args.point
        packageInfo.picture = pictureList
        packageInfo.description = pictureList2
        packageInfo.remark = args.remark
        packageInfo.updateUser = args.updateUser
        PackageModel.update(packageInfo)
        content = str({"name": args.name, "no":args.no, "type": args.type, "gender": args.gender,
                       "size": args.size, "age": args.age, "Pclass": args.Pclass,
                       "point": args.point,"picture": pictureList, "description": pictureList2, "remark": args.remark,
                       "updateUser": args.updateUser})
        log = LogsModel(username=args.updateUser, model="package", action="edit", content=content)
        LogsModel.add(LogsModel, log)
        return pretty_result(code.OK, msg='套餐管理信息更新成功!')
Exemplo n.º 28
0
 def get(self):
     """
     获取套餐管理列表信息
     :return: json
     """
     self.parser.add_argument("pageNo", type=int, required=True, location="args",
                              help='pageNo is required')
     self.parser.add_argument("pageSize", type=int, required=True, location="args", help='pageSize is required')
     self.parser.add_argument("name", type=str, required=True, location="args", help='name is required')
     self.parser.add_argument("Pclass[]", type=str, location="args", action='append', help='Pclass is required')
     self.parser.add_argument("age", type=str, required=True, location="args", help='age is required')
     self.parser.add_argument("size", type=str, required=True, location="args", help='size is required')
     self.parser.add_argument("gender", type=str, required=True, location="args", help='gender is required')
     args = self.parser.parse_args()
     # package_list = PackageModel.paginate(PackageModel, args.pageNo, args.pageSize)
     items = []
     # totalCount = package_list.total
     # package_list = package_list.items
     # if args.name and args.Pclass:
     Pclass = args['Pclass[]']
     if(not args['Pclass[]']):
         Pclass = ['coat', 'pants', 'skirt']
     package_list = PackageModel.filter_by_name_gender_size_age_Pclass(PackageModel, args.name, args.gender, args.size, args.age, Pclass)
     # package_list = PackageModel.filter_by_name_Pclass(PackageModel, args.name, args.Pclass)
     totalCount = len(package_list)
     for package in package_list:
         fileList = []
         fileList2 = []
         url = config.domain +"/api/v1/pictureManagement/get?type=package&id=" + package.picture
         fileList.append({"name": package.picture, "url": url})
         description = package.description.split(",")
         for i in description:
             url2 = config.domain + "/api/v1/pictureManagement/get?type=package&id=" + i
             fileList2.append({"name": i, "url": url2})
         items.append(
             {
                 'id': package.id,
                 'name': package.name,
                 'no': package.no,
                 'type': package.type,
                 'gender': package.gender,
                 'size': package.size,
                 'age': package.age,
                 'Pclass': package.Pclass,
                 'count': package.count,
                 # 'price': package.price,
                 # 'total': package.total,
                 'point': package.point,
                 'description': fileList2,
                 'picture': fileList,
                 'remark': package.remark,
                 'updateUser': package.updateUser,
                 'updateTime': package.update_time.strftime("%m/%d/%Y %H:%M:%S")
             }
         )
     data = {
         'pageNo': args.pageNo,
         'pageSize': args.pageSize,
         'totalCount': totalCount,
         'items': items
     }
     return pretty_result(code.OK, data=data, msg='套餐配置信息获取成功!')
Exemplo n.º 29
0
 def get(self):
     """
     获取用户列表信息
     :return: json
     """
     self.parser.add_argument("pageNo",
                              type=int,
                              required=True,
                              location="args",
                              help='pageNo is required')
     self.parser.add_argument("pageSize",
                              type=int,
                              required=True,
                              location="args",
                              help='pageSize is required')
     self.parser.add_argument("username",
                              type=str,
                              required=True,
                              location="args",
                              help='username is required')
     self.parser.add_argument("model",
                              type=str,
                              required=True,
                              location="args",
                              help='model is required')
     self.parser.add_argument("action",
                              type=str,
                              required=True,
                              location="args",
                              help='action is required')
     args = self.parser.parse_args()
     log_list = LogsModel.paginate(LogsModel, args.pageNo, args.pageSize)
     items = []
     totalCount = log_list.total
     log_list = log_list.items
     if args.username:
         log_list = LogsModel.filter_by_username_model_action(
             LogsModel, args.username, args.model, args.action)
         totalCount = len(log_list)
     for log in log_list:
         items.append({
             'id':
             log.id,
             'username':
             log.username,
             'model':
             log.model,
             'action':
             log.action,
             'content':
             log.content,
             'updateTime':
             log.update_time.strftime("%m/%d/%Y %H:%M:%S")
         })
     data = {
         'pageNo': args.pageNo,
         'pageSize': args.pageSize,
         'totalCount': totalCount,
         'items': items
     }
     return pretty_result(code.OK, data=data, msg='日志信息获取成功!')
Exemplo n.º 30
0
 def framework_error(e):
     print(e)
     if not app.config['DEBUG']:
         return pretty_result(http_code.UNKNOWN_ERROR)  # 未知错误(统一为服务端异常)
     else:
         raise e