class MemberInfoModel(Schema): member_birthday = fields.Nested(MemberBirthday, description="会员生日") member_birthday_month = fields.List(fields.String(description="会员生日月份")) member_gender = fields.List( EnumString(description="会员性别", enum=['男', '女', '其他'])) member_age = fields.Nested(MemberAge, description="会员年龄") member_status = fields.List( EnumString(description="会员状态", enum=['正常', '作废', '异常卡', '未激活'])) member_register_date = fields.Nested(MemberRegisterDate, description="会员注册日期") member_manage_store = fields.List(fields.String(description="会员管理门店")) member_manage_store_operation_status = fields.List( fields.String(description="会员管理门店状态")) member_register_store = fields.List(fields.String(description="会员注册门店")) member_last_grade_change_date = fields.Nested(MemberLastGradeChangeDate, description="最近一次等级变更日期") member_last_feedback_date = fields.Nested(MemberLastFeedbackDate, description="最近一次回访日期") member_reg_source = fields.List(fields.String(description="注册渠道")) member_is_batch_mobile = MinMaxInteger(description="是否绑定手机(1:是/0:否)", min=0, max=1) member_is_batch_wechat = MinMaxInteger(description="是否绑定微信(1:是/0:否)", min=0, max=1) member_is_batch_taobao = MinMaxInteger(description="是否绑定淘宝(1:是/0:否)", min=0, max=1)
class MemberGroupingDetailQOValidator(Schema): brand_code = fields.String(description="品牌编号", required=True) member_info_model = fields.Nested(MemberInfoModel, description="会员基础信息相关参数") grade_info_model = fields.Nested(GradeInfoModel, description="等级信息相关参数") score_info_model = fields.Nested(ScoreInfoModel, description="积分相关信息参数") lst_consumption_model = fields.Nested(LstConsumptionModel, description="最近消费相关参数") fst_consumption_model = fields.Nested(FstConsumptionModel, description="首次消费相关参数") coupon_info_model = fields.Nested(CouponInfoModel, description="券相关参数") cml_consumption_model = fields.Nested(CmlConsumptionModel, description="累计消费相关参数") page_num = MinMaxInteger(description="页码", min=1, required=True) page_size = MinMaxInteger(description="一页大小", min=1, required=True)
class CmlAvgSalesItemPerOrder(Schema): lt = MinMaxInteger(description="小于", min=0) gt = MinMaxInteger(description="大于", min=0) eq = MinMaxInteger(description="等于", min=0) bt = NotEmptyList(MinMaxInteger(description="介于", min=0), length=2)
class CmlReturnAmount(Schema): lt = MinMaxInteger(description="小于", min=0) gt = MinMaxInteger(description="大于", min=0) eq = MinMaxInteger(description="等于", min=0) bt = NotEmptyList(MinMaxInteger(description="介于", min=0), length=2)
class CmlConsumptionMonths(Schema): lt = MinMaxInteger(description="小于", min=0) gt = MinMaxInteger(description="大于", min=0) eq = MinMaxInteger(description="等于", min=0) bt = NotEmptyList(MinMaxInteger(description="介于", min=0), length=2)
class MemberAge(Schema): lt = MinMaxInteger(description="小于", min=0) gt = MinMaxInteger(description="大于", min=0) eq = MinMaxInteger(description="等于", min=0) bt = NotEmptyList(MinMaxInteger(description="介于", min=0), length=2)