hasaki_value_card

package
v0.0.0-...-9b2187f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 8, 2021 License: Apache-2.0 Imports: 26 Imported by: 0

Documentation

Index

Constants

View Source
const DeductValueCardGiftAmountTaskType = "deduct_value_card_gift_amount_task_type"
View Source
const UserValueCardOverdueTaskType = "user_value_card_overdue_task_type"

Variables

View Source
var ErrApplyMemberStatus = errors.New("账号正在审核中,请勿重复提交")
View Source
var ErrCardLimit = errors.New("您购买该储值卡达到限购上限")
View Source
var ErrCardNoStock = errors.New("该储值卡库存不足")

判断限购

View Source
var ErrPassMemberStatus = errors.New("账号已通过申请,请勿重复提交")
View Source
var ErrUseNumberLimit = errors.New("该团体卡成员已达上限了")

Functions

func AdminInitialize

func AdminInitialize(router *hskgin.GinHelper)

func CardValidForErpGoodsRetail

func CardValidForErpGoodsRetail(ctx *hskgin.GinContextHelper)

商家助手零售

func CheckStockAndLimit

func CheckStockAndLimit(ctx *hskgin.GinContextHelper, err error)

CheckStockAndLimit 校验库存和限购

func DeductValueCardGiftAmountTask

func DeductValueCardGiftAmountTask(item *hasaki_ticker_task.TickerTaskItem) error

func ExternalImplement

func ExternalImplement()

func Greater

func Greater(col string, key string, s *xorm.Session) *xorm.Session

func GreaterEqual

func GreaterEqual(col string, key string, s *xorm.Session) *xorm.Session

func In

func In(col string, key string, s *xorm.Session) *xorm.Session

func InitDb

func InitDb(config interface{}) (err error)

func InitDbByConfig

func InitDbByConfig(config interface{}) (err error)

func Initialize

func Initialize(router *hskgin.GinHelper)

func JsonContains

func JsonContains(col, key string, s *xorm.Session) *xorm.Session

func Less

func Less(col string, key string, s *xorm.Session) *xorm.Session

func LessEqual

func LessEqual(col string, key string, s *xorm.Session) *xorm.Session

func Like

func Like(col, key string, s *xorm.Session) *xorm.Session

func Page

func Page(cond map[string]string, s *xorm.Session) *xorm.Session

分页 cond["page"] 第几页 cond["page_size"] 多少条

func ParseDate

func ParseDate(date string) (expiredAt time.Time, err error)

func RefundWithSession

func RefundWithSession(s *xorm.Session, payAmount float64, order hasaki_gluelayer.OrderBaseInterface) error

RefundWithSession 退款

func StartDeductValueCardGiftAmountTask

func StartDeductValueCardGiftAmountTask()

func StartUserValueCardOverdueTask

func StartUserValueCardOverdueTask()

func TimeDuration

func TimeDuration(col, begin, end string, s *xorm.Session) *xorm.Session

func UserValueCardOverdueTask

func UserValueCardOverdueTask(item *hasaki_ticker_task.TickerTaskItem) error

func Where

func Where(col, key string, s *xorm.Session) *xorm.Session

Types

type Api

type Api struct {
	// contains filtered or unexported fields
}

func GetApi

func GetApi(ctx interface{}) *Api

func NewApi

func NewApi(dbs ...*xorm.Engine) *Api

func (*Api) ActiveUserValueCard

func (api *Api) ActiveUserValueCard(card *UserValueCard, userId int) error

func (*Api) AddGiftAmount

func (api *Api) AddGiftAmount(card *UserValueCard, orderNo string, amount GiftAmount) error

AddGiftAmount 增加赠送金额记录, 充值、购买

func (*Api) AddUserValueCard

func (api *Api) AddUserValueCard(card *UserValueCard) error

func (*Api) AddValueCardMember

func (api *Api) AddValueCardMember(cardNo, username, mobile string, user *userModel.User) error

func (*Api) AdjustFixAmount

func (api *Api) AdjustFixAmount(cardNo string, changeAmount, amount float64) (int64, error)

AdjustFixAmount 调整固定金额

func (*Api) AdjustMemberBalance

func (api *Api) AdjustMemberBalance(memberId int, changeAmount, amount float64) (int64, error)

AdjustMemberBalance 调整成员余额

func (*Api) CalcFixAmountUseGiftAmount

func (api *Api) CalcFixAmountUseGiftAmount(card *UserValueCard) (float64, error)

CalcFixAmountUseGiftAmount 赠送金额

func (*Api) CalcInvalidGiftAmount

func (api *Api) CalcInvalidGiftAmount(card *UserValueCard, giftAmount float64) (float64, error)

CalcInvalidGiftAmount 根据当前的金额计算失效金额

func (*Api) CalcMemberUseGiftAmount

func (api *Api) CalcMemberUseGiftAmount(card *UserValueCard, member *ValueCardMember, balance float64, payAmount float64) (float64, error)

CalcMemberUseGiftAmount 计算团体卡使用赠送金额

func (*Api) CalcPersonCardUseGiftAmount

func (api *Api) CalcPersonCardUseGiftAmount(card *UserValueCard, payAmount float64) float64

CalcPersonCardUseGiftAmount 计算个人卡使用的赠送金额

func (*Api) CalcRefundInvalidGiftAmount

func (api *Api) CalcRefundInvalidGiftAmount(card *UserValueCard, giftAmount float64) (float64, error)

func (*Api) CalcRefundableAmount

func (api *Api) CalcRefundableAmount(card *UserValueCard, member *ValueCardMember, balance float64) (float64, error)

CalcRefundableAmount 统计可退金额

func (*Api) CalcTeamUseGiftAmount

func (api *Api) CalcTeamUseGiftAmount(card *UserValueCard, payAmount float64) (float64, error)

CalcTeamUseGiftAmount 计算团体卡

func (*Api) CalcValueCardBalance

func (api *Api) CalcValueCardBalance(card *UserValueCard, member *ValueCardMember) (balance float64, err error)

CalcValueCardBalance 计算团体卡或个人卡余额

func (*Api) ChangeValueCardAdmin

func (api *Api) ChangeValueCardAdmin(admin *ValueCardMember, memberId int) error

func (*Api) ChangeValueCardMemberAmount

func (api *Api) ChangeValueCardMemberAmount(cardNo string, id int, amount float64) error

ChangeValueCardMemberAmount 更改团体卡成员金额

func (*Api) CheckAndReturnValueCardAdmin

func (api *Api) CheckAndReturnValueCardAdmin(cardNo, token string) (*ValueCardMember, error)

func (*Api) CheckCardInfoLimitAndStock

func (api *Api) CheckCardInfoLimitAndStock(info *ValueCardInfo, userId int) error

CheckCardInfoLimitAndStock 校验

func (*Api) CheckCardNo

func (api *Api) CheckCardNo(cardNo string) error

func (*Api) CheckUpdateRow

func (api *Api) CheckUpdateRow(err error, row int64, rowErr string) error

func (*Api) CheckValueCardAdmin

func (api *Api) CheckValueCardAdmin(cardNo, token string) error

func (*Api) CountValueCardMember

func (api *Api) CountValueCardMember(cardNo string, status ...MemberStatus) (int64, error)

func (*Api) DeductUserValueCard

func (api *Api) DeductUserValueCard(cardNo string, amount float64, consumeType ConsumeType, desc string) error

DeductUserValueCard 扣费

func (*Api) DelValueCardInfo

func (api *Api) DelValueCardInfo(id int) error

DelValueCardInfo 删除储值卡详情

func (*Api) DeleteValueCardMember

func (api *Api) DeleteValueCardMember(cardNo string, id int) error

删除 - 余额回退

func (*Api) EditValueCardMember

func (api *Api) EditValueCardMember(member *ValueCardMember) (int64, error)

func (*Api) ExistSalesValueCard

func (api *Api) ExistSalesValueCard(brandId int) (bool, error)

ExistSalesValueCard 是否存在上架储值卡

func (*Api) FixAmountUserValueCard

func (api *Api) FixAmountUserValueCard(cardNo string, amount float64) error

func (*Api) FrozenUserValueCard

func (api *Api) FrozenUserValueCard(cardNo string) (int64, error)

func (*Api) GenCardNo

func (api *Api) GenCardNo(brandId int) (string, error)

func (*Api) GetBrandById

func (api *Api) GetBrandById(id int) (*coreModel.Brand, error)

func (*Api) GetCacheAdmin

func (api *Api) GetCacheAdmin(id int) (*userModel.User, error)

func (*Api) GetCacheCard

func (api *Api) GetCacheCard(cardNo string) (*UserValueCard, error)

func (*Api) GetCacheInfo

func (api *Api) GetCacheInfo(id int) (*ValueCardInfo, error)

func (*Api) GetCacheMember

func (api *Api) GetCacheMember(id int) (*ValueCardMember, error)

func (*Api) GetCacheStadium

func (api *Api) GetCacheStadium(id int) (*coreModel.Stadium, error)

func (*Api) GetCacheUser

func (api *Api) GetCacheUser(id int) (*userModel.User, error)

func (*Api) GetCardNoByOrderNo

func (api *Api) GetCardNoByOrderNo(ctx *hskgin.GinContextHelper)

GetCardNoByOrderNo 根据订单号获取卡号

func (*Api) GetUserValueCardByNo

func (api *Api) GetUserValueCardByNo(cardNo string) (*UserValueCard, error)

func (*Api) GetUserValueCardUseNumber

func (api *Api) GetUserValueCardUseNumber(card *UserValueCard) (int, error)

func (*Api) GetValueCardAdmin

func (api *Api) GetValueCardAdmin(cardNo string) (*ValueCardMember, error)

func (*Api) GetValueCardByNo

func (api *Api) GetValueCardByNo(cardNo string) (*ValueCard, error)

func (*Api) GetValueCardInfo

func (api *Api) GetValueCardInfo(id int) (*ValueCardInfo, error)

GetValueCardInfo 获取储值卡信息详情

func (*Api) GetValueCardMember

func (api *Api) GetValueCardMember(id int) (*ValueCardMember, error)

func (*Api) GetValueCardMemberByUser

func (api *Api) GetValueCardMemberByUser(cardNo string, userId int, status ...MemberStatus) (*ValueCardMember, error)

func (*Api) GetValueCardOrderByValueCardNo

func (api *Api) GetValueCardOrderByValueCardNo(cardNo string) (*ValueCardOrder, error)

GetValueCardOrderByValueCardNo 获取储值卡订单详情

func (*Api) GetValueCardQrcodeByNo

func (api *Api) GetValueCardQrcodeByNo(cardNo string) (*ValueCardQrcode, error)

func (*Api) HandleValueCardMember

func (api *Api) HandleValueCardMember(status MemberStatus, memberId int, amount float64) error

func (*Api) ImportUserValueCard

func (api *Api) ImportUserValueCard(request *ImportUserValueCard) error

func (*Api) InitDb

func (api *Api) InitDb() (err error)

func (*Api) InitValueCardQrcode

func (api *Api) InitValueCardQrcode(cardNo string, appid string) (*ValueCardQrcode, error)

func (*Api) ListUpgradableValueCardInfo

func (api *Api) ListUpgradableValueCardInfo(brandId int, price float64, kind CardKind, memberNumber int, _type CardType) ([]*ValueCardInfo, error)

ListUpgradableValueCardInfo 获取可升级的储值卡详情

func (*Api) ListValueCardInfo

func (api *Api) ListValueCardInfo(cond map[string]string) (int64, []*ValueCardInfo, error)

ListValueCardInfo 储值卡详情列表

func (*Api) ListValueCardMember

func (api *Api) ListValueCardMember(cond map[string]string) ([]*ValueCardMember, error)

func (*Api) NewModel

func (api *Api) NewModel() *Model

func (*Api) NewSession

func (api *Api) NewSession() *xorm.Session

func (*Api) PayWithCard

func (api *Api) PayWithCard(token string, cardNo string, order hasaki_gluelayer.OrderBaseInterface, fixes ...bool) error

PayWithCard 卡支付

func (*Api) PayWithFixAmount

func (api *Api) PayWithFixAmount(cardNo string, order hasaki_gluelayer.OrderBaseInterface) error

PayWithFixAmount 直接扣除固定场

func (*Api) PayWithPersonCard

func (api *Api) PayWithPersonCard(token string, card *UserValueCard, order hasaki_gluelayer.OrderBaseInterface, payAmount float64, _type ConsumeType) error

PayWithPersonCard 个人卡支付

func (*Api) PayWithTeamCardFixAmount

func (api *Api) PayWithTeamCardFixAmount(card *UserValueCard, order hasaki_gluelayer.OrderBaseInterface, payAmount float64, _type ConsumeType) error

PayWithTeamCardFixAmount 固定场支付

func (*Api) PayWithTeamCardMember

func (api *Api) PayWithTeamCardMember(token string, card *UserValueCard, order hasaki_gluelayer.OrderBaseInterface, payAmount float64, _type ConsumeType) error

PayWithTeamCardMember 团体卡支付

func (*Api) PurchaseCallbackSuccess

func (api *Api) PurchaseCallbackSuccess(order *ValueCardOrder) error

PurchaseCallbackSuccess 购买回调

func (*Api) RechargeBalance

func (api *Api) RechargeBalance(cardNo string, amount float64, exp time.Time) (int64, error)

RechargeBalance 充值

func (*Api) RechargeCallbackSuccess

func (api *Api) RechargeCallbackSuccess(order *ValueCardOrder) error

RechargeCallbackSuccess 充值成功回调

func (*Api) RechargeGiftAmount

func (api *Api) RechargeGiftAmount(cardNo string, giftAmount float64) (int64, error)

RechargeGiftAmount 充值赠送金额

func (*Api) RechargeUserValueCard

func (api *Api) RechargeUserValueCard(orderNo, cardNo string, amount float64, day int, giftAmount GiftAmount) error

RechargeUserValueCard 充值

func (*Api) RefreshValueCardQrcode

func (api *Api) RefreshValueCardQrcode(cardNo string, appid string) (*ValueCardQrcode, error)

func (*Api) RefundBalance

func (api *Api) RefundBalance(cardNo string, amount float64) (int64, error)

RefundBalance 退款

func (*Api) RefundFixAmount

func (api *Api) RefundFixAmount(cardNo string, amount float64) (int64, error)

RefundFixAmount 退还团体卡固定金额

func (*Api) RefundGiftAmount

func (api *Api) RefundGiftAmount(cardNo string, giftAmount float64) (int64, error)

RefundGiftAmount 回退赠送金额

func (*Api) RefundMemberBalance

func (api *Api) RefundMemberBalance(memberId int, amount float64) (int64, error)

RefundMemberBalance 团体卡 - 成员回退余额

func (*Api) RefundPersonCard

func (api *Api) RefundPersonCard(card *UserValueCard, payAmount, giftInvalidAmount float64,
	_type ConsumeType, order hasaki_gluelayer.OrderBaseInterface) error

RefundPersonCard 个人卡退款

func (*Api) RefundTeamFixAmount

func (api *Api) RefundTeamFixAmount(card *UserValueCard, payAmount, giftInvalidAmount float64,
	_type ConsumeType, order hasaki_gluelayer.OrderBaseInterface) error

RefundTeamFixAmount 团体卡固定金额退款

func (*Api) RefundTeamMember

func (api *Api) RefundTeamMember(card *UserValueCard, payAmount, giftInvalidAmount float64,
	_type ConsumeType, order hasaki_gluelayer.OrderBaseInterface) error

RefundTeamMember 团体卡成员退款

func (*Api) RefundValueCardOrder

func (api *Api) RefundValueCardOrder(brandId int, cardNo string, amount float64, reason string) error

RefundValueCardOrder 退钱

func (*Api) ReturnUserValueCard

func (api *Api) ReturnUserValueCard(brandId int, cardNo string, reason string, amount float64) error

ReturnUserValueCard 退卡

func (*Api) SaveValueCardInfo

func (api *Api) SaveValueCardInfo(info *ValueCardInfo) error

SaveValueCardInfo 保存储值卡信息

func (*Api) SaveValueCardQrcode

func (api *Api) SaveValueCardQrcode(qrcode *ValueCardQrcode) error

func (*Api) SetSession

func (api *Api) SetSession(s *xorm.Session)

func (*Api) SumMemberTotalAmount

func (api *Api) SumMemberTotalAmount(cardNo string) (float64, error)

func (*Api) SumMemberUsableAmount

func (api *Api) SumMemberUsableAmount(cardNo string) (float64, error)

func (Api) SumUserTotalBalance

func (api Api) SumUserTotalBalance(userId int) (float64, error)

func (*Api) SumUserValueCardBalance

func (api *Api) SumUserValueCardBalance(card *UserValueCard) (float64, error)

func (*Api) UpgradeCallbackSuccess

func (api *Api) UpgradeCallbackSuccess(order *ValueCardOrder) error

UpgradeCallbackSuccess 升级回调

func (*Api) UseBalance

func (api *Api) UseBalance(cardNo string, amount float64) (int64, error)

UseBalance 使用余额

func (*Api) UseFixAmount

func (api *Api) UseFixAmount(cardNo string, amount float64) (int64, error)

UseFixAmount 使用固定金额

func (*Api) UseGiftAmount

func (api *Api) UseGiftAmount(cardNo string, giftAmount float64) (int64, error)

UseGiftAmount 使用赠送金额

func (*Api) UseMemberBalance

func (api *Api) UseMemberBalance(memberId int, amount float64) (int64, error)

UseMemberBalance 团体卡 - 成员使用余额

func (*Api) ValueCardOrderCallbackSuccess

func (api *Api) ValueCardOrderCallbackSuccess(orderNo string) error

ValueCardOrderCallbackSuccess 回调

type BindingValueCard

type BindingValueCard struct {
	CardName     string   `json:"card_name"`
	CardNo       string   `json:"card_no"`
	CardKind     CardKind `json:"card_kind"`
	MemberNumber int      `json:"member_number"`
}

type BrandLite

type BrandLite struct {
	Id    int    `json:"id"`
	Name  string `json:"name"`
	Image string `json:"image"`
}

type CardCreateType

type CardCreateType int
const (
	MiniProgramBuy CardCreateType = 0
	AdminCreate    CardCreateType = 1
)

type CardInfo

type CardInfo struct {
	CardInfoId  int                    `json:"card_info_id"`
	CardName    string                 `json:"card_name"`
	CardNo      string                 `json:"card_no"`
	CardKind    CardKind               `json:"card_kind"`
	ParValue    float64                `json:"par_value"`
	Price       float64                `json:"price"`
	Balance     float64                `json:"balance"`
	Template    map[string]interface{} `json:"template"`
	ValidMonth  int                    `json:"valid_month"`
	RechargeFee *RechargeFee           `json:"recharge_fee"`
	GiftAmount  GiftAmount             `json:"gift_amount"`
}

type CardKind

type CardKind int
const (
	PersonCard   CardKind = 1
	TeamCard     CardKind = 2 // 团体主卡
	TeamViceCard CardKind = 3 // 团体副卡
)

type CardRechargeRecord

type CardRechargeRecord struct {
	PayAmount    float64 `json:"pay_amount"`
	CardNo       string  `json:"card_no"`
	OrderNo      string  `json:"order_no"`
	PayTime      string  `json:"pay_time"`
	PayTypeText  string  `json:"pay_type_text"`
	TradeNo      string  `json:"trade_no"`
	GiftAmount   float64 `json:"gift_amount"`
	GiftValidDay string  `json:"gift_valid_day"`
}

type CardStatus

type CardStatus int
const (
	InactiveCardStatus CardStatus = 0 // 待激活
	ActiveCardStatus   CardStatus = 1 // 使用中
	InvalidCardStatus  CardStatus = 2 // 以失效
	ReturnCardStatus   CardStatus = 3 // 已退卡
)

type CardType

type CardType int
const (
	BrandCard   CardType = 0
	StadiumCard CardType = 1
)

type CardUpgradeRecord

type CardUpgradeRecord struct {
	StadiumName string                 `json:"stadium_name"`
	CardName    string                 `json:"card_name"`
	OrderNo     string                 `json:"order_no"`
	OrderWay    OrderWay               `json:"order_way"`
	CardNo      string                 `json:"card_no"`
	ParValue    float64                `json:"par_value"`
	Price       float64                `json:"price"`
	PayAmount   float64                `json:"pay_amount"`
	ExpiredAt   string                 `json:"expired_at"`
	Template    map[string]interface{} `json:"template"`
	PayTime     hsktime.Time           `json:"pay_time"`
	Password    string                 `json:"password"`
	Username    string                 `json:"username"`
	Mobile      string                 `json:"mobile"`
	Mark        string                 `json:"mark"`
	PayTypeText string                 `json:"pay_type_text"`
	TradeNo     string                 `json:"trade_no"`
}

type ConsumeType

type ConsumeType int
const (
	OtherConsume           ConsumeType = iota - 1 // 其他 -1
	PurchaseConsume                               // 购买
	UpgradeConsume                                //  升级
	RechargeConsume                               // 充值
	VenueNumberConsume                            // 场次
	PersonNumberConsume                           // 人次
	PersonTimingConsume                           // 人时
	VenueTimingConsume                            // 场时
	CourseConsume                                 // 课程培训
	OrderPlayConsume                              // 约玩
	Shop2Consume                                  // 新商城
	VendingMachineConsume                         // 售货机
	CoffeeMachineConsume                          // 咖啡机
	LockerConsume                                 // 储物柜
	LeaseConsume                                  // 租售柜
	WaterValveConsume                             // 水阀
	GameAppointmentConsume                        // 赛事
	ErpGoodsRetailConsume                         // 线下消费  即商家助手物品零售
	GiftAmountConsume                             // 赠送金额
)

func (ConsumeType) GetSceneTypeName

func (c ConsumeType) GetSceneTypeName() string

type CurUserValueCard

type CurUserValueCard struct {
	CardName  string `json:"card_name"`
	CardNo    string `json:"card_no"`
	Discount  string `json:"discount"`
	PayAmount string `json:"pay_amount"`
}

type GiftAmount

type GiftAmount struct {
	Amount      float64         `json:"amount" xorm:"not null default 0.00 comment('赠送金额') DECIMAL(18,2)"`
	ValidOption int             `json:"valid_option" xorm:"not null default 0 comment('是否永久') INT(11)"`
	ValidDay    int             `json:"valid_day" xorm:"not null default 0 comment('有效天') INT(11)"`
	Scene       GiftAmountScene `json:"scene" xorm:"not null default 0 comment('场景') INT(11)"`
}

func (*GiftAmount) GiftAmountScene

func (g *GiftAmount) GiftAmountScene() string

func (*GiftAmount) GiftValidDay

func (g *GiftAmount) GiftValidDay() string

type GiftAmountScene

type GiftAmountScene int
const (
	PurchaseGiftAmountScene GiftAmountScene = iota
	RechargeGiftAmountScene
	ConsumeGiftAmountScene
	RefundGiftAmountScene
	InvalidGiftAmountScene
)

type ImportCardError

type ImportCardError struct {
	Error  string `json:"error"`
	CardNo string `json:"card_no"`
}

type ImportUserValueCard

type ImportUserValueCard struct {
	BrandId    int     `json:"brand_id"`
	StadiumId  int     `json:"stadium_id"`
	CardInfoId int     `json:"card_info_id"`
	CardNo     string  `json:"card_no"`
	Balance    float64 `json:"balance"`
	ExpiredAt  string  `json:"expired_at"`
	Password   string  `json:"password"`
	Mobile     string  `json:"mobile"`
	Name       string  `json:"name"`
	Mark       string  `json:"mark"`
}

func (*ImportUserValueCard) GenUserValueCard

func (p *ImportUserValueCard) GenUserValueCard(cardInfo *ValueCardInfo) *UserValueCard

func (*ImportUserValueCard) ValidateParam

func (p *ImportUserValueCard) ValidateParam() error

type MemberStatus

type MemberStatus int
const (
	ApplyMemberStatus  MemberStatus = 0 // 申请
	PassMemberStatus   MemberStatus = 1 // 通过
	RejectMemberStatus MemberStatus = 2 // 拒绝
	DeleteMemberStatus MemberStatus = 3 // 删除
)

type Model

type Model struct {
	Id        int          `json:"id" xorm:"not null pk autoincr INT(11)"`
	CreatedAt hsktime.Time `json:"created_at" xorm:"created comment('创建时间')"`
	UpdatedAt hsktime.Time `json:"updated_at" xorm:"updated comment('更新时间')"`
	DeletedAt hsktime.Time `json:"-" xorm:"deleted comment('是否删除') TIMESTAMP"`
	Db        *xorm.Engine `json:"-" xorm:"-"`
	// contains filtered or unexported fields
}

func NewModel

func NewModel(es ...*xorm.Engine) *Model

func (*Model) Add

func (m *Model) Add(bean interface{}) error

func (*Model) AddGiftAmountRecord

func (m *Model) AddGiftAmountRecord(ga *ValueCardGiftAmount) error

AddGiftAmountRecord 添加赠送金额

func (*Model) AddValueCardConsume

func (m *Model) AddValueCardConsume(consume *ValueCardConsume) error

func (*Model) BuilderValueCardMember

func (m *Model) BuilderValueCardMember(userId int, status ...MemberStatus) *builder.Builder

func (*Model) ChangeMemberAmount

func (m *Model) ChangeMemberAmount(memberId int, amount, changeAmount float64) (int64, error)

func (*Model) ClearValueCardMember

func (m *Model) ClearValueCardMember(cardNo string) error

ClearValueCardMember 退卡-清除用户余额

func (*Model) CountUserValueCard

func (m *Model) CountUserValueCard(userId, cardInfoId int) (int64, error)

func (*Model) CountValueCardMember

func (m *Model) CountValueCardMember(cardNo string, status ...MemberStatus) (int64, error)

CountValueCardMember 统计数量

func (*Model) CurrentUserValueCard

func (m *Model) CurrentUserValueCard(userId int) (cards []*ValueCard, err error)

func (*Model) DecrStockNumber

func (m *Model) DecrStockNumber(id int) error

DecrStockNumber 减少库存

func (*Model) Del

func (m *Model) Del(bean interface{}, id int) error

func (*Model) DelUserValueCard

func (m *Model) DelUserValueCard(cardNo string) error

func (*Model) EditUserValueCard

func (m *Model) EditUserValueCard(card *UserValueCard, cols ...string) (int64, error)

func (*Model) EditValueCardMember

func (m *Model) EditValueCardMember(member *ValueCardMember) (int64, error)

EditValueCardMember 编辑成员信息

func (*Model) EditValueCardOrder

func (m *Model) EditValueCardOrder(order *ValueCardOrder) error

func (*Model) ExistSalesValueCard

func (m *Model) ExistSalesValueCard(brandId int) (bool, error)

ExistSalesValueCard 该品牌是否存在储值卡

func (*Model) ExistUserValueCard

func (m *Model) ExistUserValueCard(cardNo string) (bool, error)

func (*Model) ExistUserValueCardByUserId

func (m *Model) ExistUserValueCardByUserId(userId, stadiumId int) (bool, error)

某个用户

func (*Model) ExistValueCardInfo

func (m *Model) ExistValueCardInfo(id int) (bool, error)

func (*Model) FrozenUserValueCard

func (m *Model) FrozenUserValueCard(cardNo string) (int64, error)

func (*Model) Get

func (m *Model) Get(bean interface{}, id int) error

func (*Model) GetCurrentValueCardMember

func (m *Model) GetCurrentValueCardMember(cardNo string) (members []*ValueCardMember, err error)

GetCurrentValueCardMember 获取团体卡卡当前成员

func (*Model) GetMemberBySeqNo

func (m *Model) GetMemberBySeqNo(seqNo string) (*ValueCardMember, error)

GetMemberBySeqNo 根据序列号获取成员

func (*Model) GetPassMemberByUserId

func (m *Model) GetPassMemberByUserId(userId int, cardNo string) (*ValueCardMember, error)

GetPassMemberByUserId 获取通过成员的账号信息 雷同GetValueCardMemberByUser

func (*Model) GetUserValueCardByNo

func (m *Model) GetUserValueCardByNo(cardNo string) (*UserValueCard, error)

func (*Model) GetValueCardAdmin

func (m *Model) GetValueCardAdmin(cardNo string) (*ValueCardMember, error)

GetValueCardAdmin 通过订单号获取管理员

func (*Model) GetValueCardByNo

func (m *Model) GetValueCardByNo(cardNo string) (*ValueCard, error)

func (*Model) GetValueCardGiftAmount

func (m *Model) GetValueCardGiftAmount(id int) (*ValueCardGiftAmount, error)

GetValueCardGiftAmount 根据ID获取某条赠送金额记录

func (*Model) GetValueCardMember

func (m *Model) GetValueCardMember(id int) (*ValueCardMember, error)

GetValueCardMember 根据ID获取成员信息

func (*Model) GetValueCardMemberByUser

func (m *Model) GetValueCardMemberByUser(cardNo string, userId int, status ...MemberStatus) (*ValueCardMember, error)

GetValueCardMemberByUser

func (*Model) GetValueCardOrderByNo

func (m *Model) GetValueCardOrderByNo(orderNo string) (*ValueCardOrder, error)

func (*Model) GetValueCardOrderByValueCardNo

func (m *Model) GetValueCardOrderByValueCardNo(valueCardNo string) (*ValueCardOrder, error)

func (*Model) GetValueCardQrcodeByNo

func (m *Model) GetValueCardQrcodeByNo(cardNo string) (*ValueCardQrcode, error)

func (*Model) IncrSalesNumber

func (m *Model) IncrSalesNumber(id int) error

IncrSalesNumber 赠金销售量

func (*Model) ListAdminUserValueCard

func (m *Model) ListAdminUserValueCard(cond map[string]string) (total int64, cards []*UserValueCard, err error)

ListAdminUserValueCard

func (*Model) ListUpgradableValueCardInfo

func (m *Model) ListUpgradableValueCardInfo(brandId int, price float64, kind CardKind, memberNumber int, _type CardType) (infos []*ValueCardInfo, err error)

ListUpgradableValueCardInfo

func (*Model) ListUserValueCard

func (m *Model) ListUserValueCard(userId int, status CardStatus, cond map[string]string) (total int64, cards []*ValueCard, err error)

func (*Model) ListUserValueCardByMobile

func (m *Model) ListUserValueCardByMobile(mobile string) (cards []*UserValueCard, err error)

func (*Model) ListUserValueCardByPassword

func (m *Model) ListUserValueCardByPassword(cardNo string, password string) (cards []*UserValueCard, err error)

func (*Model) ListValueCardConsume

func (m *Model) ListValueCardConsume(cond map[string]string) (total int64, consumes []*ValueCardConsume, err error)

func (*Model) ListValueCardConsumeByCardNo

func (m *Model) ListValueCardConsumeByCardNo(cardNo string) (consumes []*ValueCardConsume, err error)

func (*Model) ListValueCardGiftAmount

func (m *Model) ListValueCardGiftAmount(cond map[string]string) (total int64, list []*ValueCardGiftAmount, err error)

ListValueCardGiftAmount 赠送金额列表

func (*Model) ListValueCardInfo

func (m *Model) ListValueCardInfo(cond map[string]string) (total int64, infos []*ValueCardInfo, err error)

ListValueCardInfo 储值卡信息列表

func (*Model) ListValueCardMember

func (m *Model) ListValueCardMember(cond map[string]string) (members []*ValueCardMember, err error)

ListValueCardMember 用户列表

func (*Model) ListValueCardOrder

func (m *Model) ListValueCardOrder(cond map[string]string) (total int64, orders []*ValueCardOrder, err error)

func (*Model) ListValueCardOrderByCardNo

func (m *Model) ListValueCardOrderByCardNo(cardNo string) (orders []*ValueCardOrder, err error)

ListValueCardOrderByCardNo 根据card_no获取有效的订单列表

func (*Model) NewSession

func (m *Model) NewSession() *xorm.Session

func (*Model) ReturnUserValueCardByNo

func (m *Model) ReturnUserValueCardByNo(cardNo string, amount, restBalance float64) (int64, error)

func (*Model) Save

func (m *Model) Save(bean interface{}, id int, cols ...string) error

func (*Model) SetInvalidUserValueCardByNo

func (m *Model) SetInvalidUserValueCardByNo(cardNo string) error

func (*Model) SetInvalidUserValueCardByUserId

func (m *Model) SetInvalidUserValueCardByUserId(userId int) error

func (*Model) SumGiftAmount3

func (m *Model) SumGiftAmount3(cardNo string) (float64, error)

SumGiftAmount3 统计前3个月的赠送金额

func (*Model) SumMemberTotalAmount

func (m *Model) SumMemberTotalAmount(cardNo string) (float64, error)

func (*Model) SumMemberUsableAmount

func (m *Model) SumMemberUsableAmount(cardNo string) (float64, error)

func (*Model) SumRefundableGiftAmount

func (m *Model) SumRefundableGiftAmount(orderNo, cardNo string) (float64, error)

SumRefundableGiftAmount 某个订单可退赠送金额

func (*Model) SumUserTotalBalance

func (m *Model) SumUserTotalBalance(userId int) (float64, error)

func (*Model) SumValidGiftAmount

func (m *Model) SumValidGiftAmount(cardNo string) (float64, error)

SumValidGiftAmount 某个订单最大有效的赠送金额

func (*Model) SumValueCardOrderPayAmount

func (m *Model) SumValueCardOrderPayAmount(cardNo string) (float64, error)

SumValueCardOrderPayAmount 统计pay_amount

func (*Model) UserValueCardForErpGoodsRetail

func (m *Model) UserValueCardForErpGoodsRetail(key string) (cards []*ValueCardErp, err error)

零售专用

type OrderWay

type OrderWay int
const (
	PurchaseOrderWay OrderWay = 0
	UpgradeOrderWay  OrderWay = 1
	RechargeOrderWay OrderWay = 2
)

type PassAuditParam

type PassAuditParam struct {
	BrandId    int          `json:"brand_id"`
	Status     MemberStatus `json:"status"`
	Token      string       `json:"token"`
	CardNo     string       `json:"card_no"`
	AuditItems []struct {
		MemberId int     `json:"member_id"`
		Amount   float64 `json:"amount"`
	} `json:"audit_items"`
}

func (*PassAuditParam) Validate

func (p *PassAuditParam) Validate() error

type PayValueCardInfo

type PayValueCardInfo struct {
	Id           int          `json:"id"`
	BrandId      int          `json:"brand_id"`
	TitleName    string       `json:"title_name"`
	Name         string       `json:"name"`
	Kind         CardKind     `json:"kind"`
	Number       int          `json:"number"`
	MemberNumber int          `json:"member_number"`
	ParValue     float64      `json:"par_value"`
	Price        float64      `json:"price"`
	GiftAmount   float64      `json:"gift_amount"`
	GiftValidDay string       `json:"gift_valid_day"`
	ExpiredAt    hsktime.Time `json:"expired_at"`
	WarnPrompt   string       `json:"warn_prompt"`
	PayAmount    float64      `json:"pay_amount"`
}

type RechargeFee

type RechargeFee struct {
	RechargeAmount float64 `json:"recharge_amount"`
	ExtendValidDay int     `json:"extend_valid_day"`
	GiftAmount     float64 `json:"gift_amount"`
	ValidOption    int     `json:"valid_option"`
	ValidDay       int     `json:"valid_day"`
}

type RechargeFeeDetail

type RechargeFeeDetail struct {
	CardExtendDay string  `json:"card_extend_day"` // 延期
	Price         float64 `json:"price"`           // 价格
	GiftAmount    float64 `json:"gift_amount"`     // 赠送金额
	ParValue      float64 `json:"par_value"`       // 面值
	GiftValidDay  string  `json:"gift_valid_day"`  // 赠送金额
}

type SceneType

type SceneType int
const (
	NoDiscountScene      SceneType = -1 // 无折扣场景
	VenueNumberScene     SceneType = 0  // 场次
	VenueTimingScene     SceneType = 1  // 场时
	PersonTimingScene    SceneType = 2  // 人时
	PersonNumberScene    SceneType = 3  // 人次
	CourseScene          SceneType = 4  // 课程
	OrderPlayScene       SceneType = 5  // 约玩
	Shop2Scene           SceneType = 6  // 商城
	VendingMachineScene  SceneType = 7  // 售货柜
	LockerScene          SceneType = 8  // 储物柜
	LeaseScene           SceneType = 9  // 租售柜
	CoffeeMachineScene   SceneType = 10 // 咖啡机
	WaterValveScene      SceneType = 11 // 智能浴室
	GameAppointmentScene SceneType = 12 // 赛事
	ErpGoodsRetailScene  SceneType = 13 // 商家助手物品零售
)

func (SceneType) GetConsumeType

func (s SceneType) GetConsumeType() ConsumeType

type StadiumLite

type StadiumLite struct {
	Id            int    `json:"id"`
	Name          string `json:"name"`
	VenueAddr     string `json:"venue_addr"`
	VenueMobile   string `json:"venue_mobile"`
	ContactMobile string `json:"contact_mobile"`
	Lng           string `json:"lng"`
	Lat           string `json:"lat"`
}

type UserValueCard

type UserValueCard struct {
	Model `xorm:"extends"`

	BrandId         int            `json:"brand_id" xorm:"not null default 0 comment('品牌id') INT(11)"`                        // 品牌ID
	BuyStadiumId    int            `json:"buy_stadium_id" xorm:"not null default 0 comment('当前购买门店')"`                        // 当前购买门店ID
	UserId          int            `json:"user_id" xorm:"not null default 0 comment('用户id')"`                                 // 用户ID
	CardNo          string         `json:"card_no" xorm:"not null default '' comment('卡号')"`                                  // 储值卡卡号
	CardName        string         `json:"card_name" xorm:"not null default '' comment('卡名称')"`                               // 储值卡卡名称
	CardKind        CardKind       `json:"card_kind" xorm:"not null default 0 comment('卡类型')"`                                // 储值卡卡类型
	TotalAmount     float64        `json:"total_amount" xorm:"not null default 0.00 comment('卡内总金额') DECIMAL(18,2)"`          // 累计最大金额
	Balance         float64        `json:"balance" xorm:"not null default 0.00 comment('卡余额') DECIMAL(18,2)"`                 // 可用余额
	FixAmount       float64        `json:"fix_amount" xorm:"not null default 0.00 comment('固定金额') DECIMAL(18,2)"`             // 固定金额
	FixUsableAmount float64        `json:"fix_usable_amount" xorm:"not null default 0.00 comment('固定可用金额') DECIMAL(18,2)"`    // 储值卡固定金额
	MemberNumber    int            `json:"member_number" xorm:"not null default 0 comment('团体卡总人数')"`                         // 团体卡人数
	CardInfoId      int            `json:"card_info_id" xorm:"not null default 0 comment('卡信息id')"`                           // 卡信息ID
	ExpiredAt       hsktime.Time   `json:"expired_at" xorm:"DATETIME comment('有效期')"`                                         // 卡有效期
	Status          CardStatus     `json:"status" xorm:"not null default 0 comment('卡状态[0未激活/1已激活/2失效/3退还]') TINYINT(1)"`     // 卡状态
	IsFrozen        bool           `json:"is_frozen" xorm:"not null default 0 comment('是否冻结') TINYINT(1)"`                    // 是否冻结
	FirstCardName   string         `json:"first_card_name" xorm:"not null default '' comment('创建卡名字') VARCHAR(128)"`          // 第一张卡名称
	CreateType      CardCreateType `json:"create_type" xorm:"not null default 0 comment('创建途径[0小程序购买/1后台管理员创建]') TINYINT(1)"` // 创建
	GiveAmount      float64        `json:"give_amount" xorm:"not null default 0.00 comment('购买差额[面值-单价]') DECIMAL(18,2)"`     // 不存在扣除
	GiftAmount      float64        `json:"gift_amount" xorm:"not null default 0.00 comment('总赠送金额') DECIMAL(18,2)"`           // 不存在扣除
	GiftUsedAmount  float64        `json:"gift_used_amount" xorm:"not null default 0.00 comment('已用赠送金额') DECIMAL(18,2)"`     // 可用赠送金额
	ImportAmount    float64        `json:"import_amount" xorm:"not null default 0.00 comment('导入金额') DECIMAL(18,2)"`          // 导入金额
	CardInfo        *ValueCardInfo `json:"card_info" xorm:"JSON comment('卡信息详情')"`                                            // 卡信息
	SourceCard      *ValueCardInfo `json:"source_card" xorm:"JSON comment('原卡信息')"`                                           // 原卡
	OrderNo         string         `json:"order_no" xorm:"not null default '' comment('相关订单') VARCHAR(500)"`                  // 购买订单ID
	Username        string         `json:"username" xorm:"not null default '' comment('用户名')"`                                // 用户名
	Password        string         `json:"password" xorm:"not null default '' comment('密码')"`                                 //
	Mobile          string         `json:"mobile" xorm:"not null default '' comment('手机')"`                                   //
	Mark            string         `json:"mark" xorm:"TEXT comment('备注')"`

	Brand      *BrandLite     `json:"brand" xorm:"-"`
	Stadiums   []*StadiumLite `json:"stadiums" xorm:"-"`
	BuyStadium *StadiumLite   `json:"buy_stadium" xorm:"-"`
	Nickname   string         `json:"nickname" xorm:"-"`
}

func (*UserValueCard) BindingValidate

func (u *UserValueCard) BindingValidate(_type int, uniqueId string) error

func (*UserValueCard) GetBindingValueCard

func (u *UserValueCard) GetBindingValueCard() *BindingValueCard

func (*UserValueCard) GetCurUserValueCard

func (u *UserValueCard) GetCurUserValueCard(discount, payAmount string) *CurUserValueCard

func (*UserValueCard) GetDiscount

func (u *UserValueCard) GetDiscount(scene SceneType) (float64, error)

func (*UserValueCard) GetFirstCardName

func (u *UserValueCard) GetFirstCardName() string

func (*UserValueCard) GetUserValueCardConsume

func (u *UserValueCard) GetUserValueCardConsume(useNumber int, consumes []*ValueCardConsume) *UserValueCardConsume

func (*UserValueCard) GetUserValueCardForAdmin

func (u *UserValueCard) GetUserValueCardForAdmin(useNumber int, records ...*CardUpgradeRecord) *UserValueCardForAdmin

func (*UserValueCard) Init

func (u *UserValueCard) Init(info *ValueCardInfo)

func (*UserValueCard) SetBrand

func (u *UserValueCard) SetBrand(brand *coreModel.Brand)

func (*UserValueCard) SetBuyStadium

func (u *UserValueCard) SetBuyStadium(stadium *coreModel.Stadium)

func (*UserValueCard) SetStadium

func (u *UserValueCard) SetStadium(stadium *coreModel.Stadium)

func (*UserValueCard) SetUser

func (u *UserValueCard) SetUser(user *userModel.User)

func (*UserValueCard) Upgrade

func (u *UserValueCard) Upgrade(info *ValueCardInfo)

func (*UserValueCard) ValidateFixAmount

func (u *UserValueCard) ValidateFixAmount(amount float64) error

func (*UserValueCard) ValidatePersonCardBalance

func (u *UserValueCard) ValidatePersonCardBalance(amount float64) error

func (*UserValueCard) ValidateUpgradeCardInfo

func (u *UserValueCard) ValidateUpgradeCardInfo(info *ValueCardInfo) error

func (*UserValueCard) ValidateUser

func (u *UserValueCard) ValidateUser(userId int) error

func (*UserValueCard) ValidateValid

func (u *UserValueCard) ValidateValid() error

type UserValueCardConsume

type UserValueCardConsume struct {
	CardName  string              `json:"card_name"`
	CardNo    string              `json:"card_no"`
	Nickname  string              `json:"nickname"`
	Kind      CardKind            `json:"kind"`
	UseNumber string              `json:"use_number"`
	Consumes  []*ValueCardConsume `json:"consumes"`
}

type UserValueCardForAdmin

type UserValueCardForAdmin struct {
	BrandName        string               `json:"brand_name"`
	BuyStadiumName   string               `json:"buy_stadium_name"`
	CardNo           string               `json:"card_no"`
	Kind             CardKind             `json:"kind"`
	Name             string               `json:"name"`
	Nickname         string               `json:"nickname"`
	ParValue         float64              `json:"par_value"`
	Price            float64              `json:"price"`
	Status           CardStatus           `json:"status"`
	Balance          float64              `json:"balance"`
	FixUsableAmount  float64              `json:"fix_usable_amount"`
	GiveAmount       float64              `json:"give_amount"`
	GiftAmount       float64              `json:"gift_amount"`
	UseNumber        string               `json:"use_number"`
	RefundableAmount float64              `json:"refundable_amount"`
	ExpiredAt        hsktime.Time         `json:"expired_at"`
	CreatedAt        hsktime.Time         `json:"created_at"`
	CreatedType      CardCreateType       `json:"created_type"`
	Records          []*CardUpgradeRecord `json:"records"`
	Members          []*ValueCardMember   `json:"members"`
}

type UserValueCardForUser

type UserValueCardForUser struct {
	DisplayName          string               `json:"display_name"`
	CardKind             CardKind             `json:"card_kind"`
	CardNo               string               `json:"card_no"`
	ExpiredAt            string               `json:"expired_at"`
	CardName             string               `json:"card_name"`
	SourceCardName       string               `json:"source_card_name"`
	MemberNumber         int                  `json:"member_number"`
	UseNumber            int                  `json:"use_number"`
	Balance              string               `json:"balance"`
	GiftUsableAmount     string               `json:"gift_usable_amount"`
	RefundableAmount     string               `json:"refundable_amount"`
	OrderNo              string               `json:"order_no"`
	CreatedAt            string               `json:"created_at"`
	IsRefund             bool                 `json:"is_refund"`
	Template             interface{}          `json:"template"`
	WarnPrompt           string               `json:"warn_prompt"`
	UsageNotice          string               `json:"usage_notice"`
	Introduction         string               `json:"introduction"`
	Scenes               []*ValueCardScene    `json:"scenes"`
	Stadiums             []*StadiumLite       `json:"stadiums"`
	AdminMemberId        int                  `json:"admin_member_id"`
	Status               CardStatus           `json:"status"`
	HaveReturnCardRecord bool                 `json:"have_return_card_record"` // 是否有退卡记录
	RechargeFees         []*RechargeFeeDetail `json:"recharge_fees"`           // 充值
}

type ValueCard

type ValueCard struct {
	Card   *UserValueCard   `json:"card" xorm:"extends"`
	Member *ValueCardMember `json:"member" xorm:"extends"`
}

func (*ValueCard) CanRefund

func (v *ValueCard) CanRefund() error

func (*ValueCard) GetUserValueCardForUser

func (v *ValueCard) GetUserValueCardForUser(useNumber int, balance, refundableAmount float64) *UserValueCardForUser

func (*ValueCard) RechargeFeed

func (v *ValueCard) RechargeFeed() (details []*RechargeFeeDetail)

type ValueCardConsume

type ValueCardConsume struct {
	Model `xorm:"extends"`

	BrandId       int         `json:"brand_id" xorm:"not null default 0 comment('品牌ID') INT(11)"`
	StadiumId     int         `json:"stadium_id" xorm:"not null default 0 comment('门店id') INT(11)"`
	CardNo        string      `json:"card_no" xorm:"not null default '' comment('卡号')"`
	UserId        int         `json:"user_id" xorm:"not null default 0 comment('用户ID')"`
	Balance       float64     `json:"balance" xorm:"not null default 0.00 comment('卡余额') DECIMAL(18,2)"` // 余额是后的
	MemberId      int         `json:"member_id" xorm:"not null default 0 comment('成员ID')"`
	MemberBalance float64     `json:"member_balance" xorm:"not null default 0.00 comment('消费成员余额') DECIMAL(18,2)"`
	Type          ConsumeType `json:"type" xorm:"not null default 0 comment('消费类型')"`
	Amount        float64     `json:"amount" xorm:"not null default 0 comment('消费金额') DECIMAL(18,2)"`
	OrderNo       string      `json:"order_no" xorm:"not null default '' comment('卡号')"`
	Desc          string      `json:"desc" xorm:"not null default '' comment('描述')"`

	Brand     *BrandLite   `json:"brand" xorm:"-"`
	Stadium   *StadiumLite `json:"stadium" xorm:"-"`
	Operator  string       `json:"operator" xorm:"-"`
	TypeName  string       `json:"type_name" xorm:"-"`
	SceneType string       `json:"scene_type" xorm:"-"` // 场景
}

func (*ValueCardConsume) GetTypeDesc

func (c *ValueCardConsume) GetTypeDesc()

func (*ValueCardConsume) GetValueCardConsumeDetail

func (c *ValueCardConsume) GetValueCardConsumeDetail(card *UserValueCard, member *ValueCardMember) *ValueCardConsumeDetail

func (*ValueCardConsume) SetBrand

func (c *ValueCardConsume) SetBrand(brand *coreModel.Brand)

func (*ValueCardConsume) SetOperator

func (c *ValueCardConsume) SetOperator(user *userModel.User, member *ValueCardMember)

func (*ValueCardConsume) SetStadium

func (c *ValueCardConsume) SetStadium(stadium *coreModel.Stadium)

type ValueCardConsumeDetail

type ValueCardConsumeDetail struct {
	TitleName       string      `json:"title_name"`
	Desc            string      `json:"desc"`
	Amount          string      `json:"amount"`
	Operator        string      `json:"operator"`
	Balance         string      `json:"balance"`
	ConsumeTime     string      `json:"consume_time"`
	ConsumeType     ConsumeType `json:"consume_type"`
	ConsumeTypeName string      `json:"consume_type_name"`
	OrderNo         string      `json:"order_no"`
	GiftAmountScene string      `json:"gift_amount_scene"`
	GiftValidDay    string      `json:"gift_valid_day"`
}

type ValueCardErp

type ValueCardErp struct {
	Card           *UserValueCard   `json:"card" xorm:"extends"`
	Member         *ValueCardMember `json:"member" xorm:"extends"`
	MemberNickname string           `json:"member_nickname" xorm:"m_nickname"`
	PersonNickname string           `json:"person_nickname" xorm:"u_nickname"`
}

type ValueCardGiftAmount

type ValueCardGiftAmount struct {
	Model `xorm:"extends"`

	GiftAmount GiftAmount   `json:"gift_amount" xorm:"extends"` //
	BrandId    int          `json:"brand_id" xorm:"not null default 0 comment('品牌ID') INT(11)"`
	StadiumId  int          `json:"stadium_id" xorm:"not null default 0 comment('门店id') INT(11)"`
	CardNo     string       `json:"card_no" xorm:"not null default '' comment('卡号')"`
	OrderNo    string       `json:"order_no" xorm:"not null default '' comment('订单号')"`
	ExpiredAt  hsktime.Time `json:"expired_at" xorm:"DATETIME comment('赠送金额有效期')"`
	Flag       int          `json:"flag" xorm:"not null default 0 comment('是否处理') INT(11)"`

	GiftAmountScene    string `json:"gift_amount_scene" xorm:"-"`
	GiftAmountValidDay string `json:"gift_amount_valid_day" xorm:"-"`
}

type ValueCardInfo

type ValueCardInfo struct {
	Model `xorm:"extends"`

	BrandId              int                    `json:"brand_id" xorm:"not null default 0 comment('品牌id') INT(11)"`
	IsSales              int                    `json:"is_sales" xorm:"not null default 0 comment('是否上架[0否/1是]')"`
	Weights              float64                `json:"weights" xorm:"not null default 0 comment('排序')"`
	Type                 CardType               `json:"type" xorm:"not null default 0 comment('类型(品牌/门店)')"`
	CreatorId            int                    `json:"creator_id" xorm:"not null default 0 comment('创建人') INT(11)"`
	Name                 string                 `json:"name" xorm:"not null default '' comment('名称') VARCHAR(128)"`
	Kind                 CardKind               `json:"kind" xorm:"not null default 0 comment('种类(团体或个人)')"`
	MemberNumber         int                    `json:"member_number" xorm:"not null default 0 comment('团队使用人数') INT(11)"`
	Price                float64                `json:"price" xorm:"not null default 0.00 comment('价格') DECIMAL(18,2)"`
	ParValue             float64                `json:"par_value" xorm:"not null default 0.00 comment('面值') DECIMAL(18,2)"`
	ValidMonth           int                    `json:"valid_month" xorm:"not null default 12 comment('有效期限,月') INT(11)"`
	IsStock              bool                   `json:"is_stock" xorm:"not null default 0 comment('是否限制库存') TINYINT(1)"`
	Stock                int                    `json:"stock" xorm:"not null default 0 comment('库存') INT(11)"`
	IsLimit              bool                   `json:"is_limit" xorm:"not null default 0 comment('是否限购[0否/1是]')"`
	LimitNumber          int                    `json:"limit_number" xorm:"not default 0 comment('限购数量') INT(11)"`
	IsRefund             bool                   `json:"is_refund" xorm:"not null default 0 comment('是否可退款[0不/1可]')"`
	RefundDesc           string                 `json:"refund_desc" xorm:"not null default '' comment('退款说明') VARCHAR(255)"`
	Template             map[string]interface{} `json:"template" xorm:"json comment('模板')"`
	StadiumIds           []int                  `json:"stadium_ids" xorm:"JSON comment('使用门店')"`
	Scenes               []*ValueCardScene      `json:"scenes" xorm:"JSON comment('使用场景')"`
	Labels               []*ValueCardLabel      `json:"labels" xorm:"JSON comment('标签')"`
	WarnPrompt           string                 `json:"warn_prompt" xorm:"TEXT comment('温馨提示')"`
	UsageNotice          string                 `json:"usage_notice" xorm:"TEXT comment('使用须知')"`
	Introduction         string                 `json:"introduction" xorm:"TEXT comment('介绍')"`
	SalesNumber          int                    `json:"sales_number" xorm:"not null default 0 comment('销售数量') INT(11)"`
	GiftAmount           float64                `json:"gift_amount" xorm:"not null default 0.00 comment('赠送金额') DECIMAL(18,2)"`
	GiftAmountWarnPrompt string                 `json:"gift_amount_warn_prompt" xorm:"TEXT comment('赠送金额温馨提示')"`
	GiftValidOption      int                    `json:"gift_valid_option" xorm:"not null default 0 comment('赠送金额有效期选项')"`
	GiftValidDay         int                    `json:"gift_valid_day" xorm:"not null default 0 comment('赠送金额有效期')"`
	RechargeFees         []*RechargeFee         `json:"recharge_fees" xorm:"json comment('充值金额')"`

	Creator  string         `json:"creator" xorm:"-"` //创建人
	Brand    *BrandLite     `json:"brand" xorm:"-"`
	Stadiums []*StadiumLite `json:"stadiums" xorm:"-"`
}

储值卡信息

func (*ValueCardInfo) CheckSceneType

func (v *ValueCardInfo) CheckSceneType(sceneType SceneType) error

func (*ValueCardInfo) GenUserValueCard

func (v *ValueCardInfo) GenUserValueCard(order *ValueCardOrder, p *ImportUserValueCard) *UserValueCard

func (*ValueCardInfo) GetCardInfo

func (v *ValueCardInfo) GetCardInfo(balance float64, cardNo string) CardInfo

func (*ValueCardInfo) GetGiftValidDay

func (v *ValueCardInfo) GetGiftValidDay() string

func (*ValueCardInfo) GetPayValueCardInfo

func (v *ValueCardInfo) GetPayValueCardInfo(number int) *PayValueCardInfo

func (*ValueCardInfo) GetValueCardInfoDetail

func (v *ValueCardInfo) GetValueCardInfoDetail() *ValueCardInfoDetail

func (*ValueCardInfo) GetValueCardInfoLite

func (v *ValueCardInfo) GetValueCardInfoLite() *ValueCardInfoLite

func (*ValueCardInfo) SetBrand

func (v *ValueCardInfo) SetBrand(brand *coreModel.Brand)

func (*ValueCardInfo) SetStadium

func (v *ValueCardInfo) SetStadium(stadium *coreModel.Stadium)

func (*ValueCardInfo) ValidateIsSales

func (v *ValueCardInfo) ValidateIsSales() error

func (*ValueCardInfo) ValidateLimit

func (v *ValueCardInfo) ValidateLimit(count int) error

func (*ValueCardInfo) ValidateParam

func (v *ValueCardInfo) ValidateParam(role string) error

func (*ValueCardInfo) ValidateStadiumId

func (v *ValueCardInfo) ValidateStadiumId(stadiumId int) error

func (*ValueCardInfo) ValidateStock

func (v *ValueCardInfo) ValidateStock() error

type ValueCardInfoDetail

type ValueCardInfoDetail struct {
	ValueCardInfoLite
	Price                float64           `json:"price"`
	GiftAmount           float64           `json:"gift_amount"`
	GiftValidDay         string            `json:"gift_valid_day"`
	Stock                int               `json:"stock"` //
	IsRefund             bool              `json:"is_refund"`
	Limit                int               `json:"limit"`
	Labels               []*ValueCardLabel `json:"labels"`
	Template             interface{}       `json:"template"`
	WarnPrompt           string            `json:"warn_prompt"`
	GiftAmountWarnPrompt string            `json:"gift_amount_warn_prompt"`
	UsageNotice          string            `json:"usage_notice"`
	Introduction         string            `json:"introduction"`
	Scenes               []*ValueCardScene `json:"scenes"`
	StadiumNum           int               `json:"stadium_num"`
	Stadiums             []*StadiumLite    `json:"stadiums"`
}

type ValueCardInfoLite

type ValueCardInfoLite struct {
	Id           int         `json:"id"`
	BrandId      int         `json:"brand_id"`
	TitleName    string      `json:"title_name"`
	Type         CardType    `json:"type"`
	Name         string      `json:"name"`
	Kind         CardKind    `json:"kind"`
	MemberNumber int         `json:"member_number"`
	ValidMonth   int         `json:"valid_month"`
	Template     interface{} `json:"template"`
	ParValue     float64     `json:"par_value"`
	Price        float64     `json:"price"`
	DiffPrice    float64     `json:"diff_price"`
}

func (*ValueCardInfoLite) SetDiffPrice

func (v *ValueCardInfoLite) SetDiffPrice(price float64)

type ValueCardLabel

type ValueCardLabel struct {
	Status bool   `json:"status"`
	Name   string `json:"name"`
	Icon   string `json:"icon"`
}

func FilterLabel

func FilterLabel(labelList []*ValueCardLabel, kind CardKind, isRefund, isLimit bool, limitNumber int) (labels []*ValueCardLabel)

type ValueCardMember

type ValueCardMember struct {
	Model `xorm:"extends"`

	SeqNo        string       `json:"seq_no" xorm:"not null default '' comment('相关的序列') VARCHAR(128)"`
	BrandId      int          `json:"brand_id" xorm:"not null default 0 comment('品牌id') INT(11)"`      // 品牌
	CardNo       string       `json:"card_no" xorm:"not null default '' comment('卡号') VARCHAR(128)"`   // 卡号
	UserId       int          `json:"user_id" xorm:"not null default 0 comment('用户id') INT(11)"`       // 管理员
	Username     string       `json:"username" xorm:"not null default '' comment('用户名') VARCHAR(128)"` // 用户名
	Mobile       string       `json:"mobile" xorm:"not null default '' comment('手机号码') VARCHAR(128)"`  // 手机号码
	Status       MemberStatus `json:"status" xorm:"not null default 0 comment('状态') TINYINT(1)"`       // 状态
	IsAdmin      int          `json:"is_admin" xorm:"not null default 0 comment('是否管理员') TINYINT(1)"`  // 管理员
	TotalAmount  float64      `json:"total_amount" xorm:"not null default 0.00 comment('总金额') DECIMAL(18,2)"`
	UsableAmount float64      `json:"usable_amount" xorm:"not null default 0.00 comment('可用金额') DECIMAL(18,2)"` // 去掉可用

	AvatarUrl  string  `json:"avatar_url" xorm:"-"`
	CardAmount float64 `json:"card_amount" xorm:"-"`
	Nickname   string  `json:"nickname" xorm:"-"`
}

func (*ValueCardMember) GetUsableAmount

func (v *ValueCardMember) GetUsableAmount(amount float64) float64

func (*ValueCardMember) GetUsedAmount

func (v *ValueCardMember) GetUsedAmount() float64

func (*ValueCardMember) GetUser

func (v *ValueCardMember) GetUser(user *userModel.User)

func (*ValueCardMember) ValidateBalance

func (v *ValueCardMember) ValidateBalance(amount float64) error

func (*ValueCardMember) ValidateChangeAmount

func (v *ValueCardMember) ValidateChangeAmount(amount float64) error

func (*ValueCardMember) ValidatePassStatus

func (v *ValueCardMember) ValidatePassStatus() error

type ValueCardOrder

type ValueCardOrder struct {
	Model `xorm:"extends"`

	coreModel.OrderBaseModel `xorm:"extends"`
	ValueCardName            string   `json:"value_card_name" xorm:"not null default '' comment('卡名')"`
	ValueCardNo              string   `json:"value_card_no" xorm:"not null default '' comment('卡号')"` // 用户卡号
	CardInfo                 CardInfo `json:"card_info" xorm:"json comment('相关卡信息')"`
	OrderWay                 OrderWay `json:"order_way" xorm:"not null default 0 comment('订单途径')"`

	Brand   *BrandLite   `json:"brand" xorm:"-"`
	Stadium *StadiumLite `json:"stadium" xorm:"-"`
}

func (*ValueCardOrder) GetCardRechargeRecord

func (o *ValueCardOrder) GetCardRechargeRecord() *CardRechargeRecord

充值记录

func (*ValueCardOrder) GetCardUpgradeRecord

func (o *ValueCardOrder) GetCardUpgradeRecord(expiredAt string) *CardUpgradeRecord

func (*ValueCardOrder) GetValueCardOrderLite

func (o *ValueCardOrder) GetValueCardOrderLite(user *userModel.User) *ValueCardOrderLite

func (*ValueCardOrder) SetBrand

func (o *ValueCardOrder) SetBrand(brand *coreModel.Brand)

func (*ValueCardOrder) SetStadium

func (o *ValueCardOrder) SetStadium(stadium *coreModel.Stadium)

type ValueCardOrderEvent

type ValueCardOrderEvent struct{}

func NewValueCardOrderEvent

func NewValueCardOrderEvent() *ValueCardOrderEvent

func (*ValueCardOrderEvent) Adaptation

func (*ValueCardOrderEvent) Name

func (e *ValueCardOrderEvent) Name() string

func (*ValueCardOrderEvent) OrderAdd

func (*ValueCardOrderEvent) OrderFailure

失败了

func (*ValueCardOrderEvent) OrderRefund

func (*ValueCardOrderEvent) OrderSuccess

func (*ValueCardOrderEvent) OrderTimeout

func (*ValueCardOrderEvent) SaveOrderData

type ValueCardOrderLite

type ValueCardOrderLite struct {
	BrandName   string                `json:"brand_name"`
	StadiumName string                `json:"stadium_name"`
	CardKind    CardKind              `json:"card_kind"`
	CardName    string                `json:"card_name"`
	OrderNo     string                `json:"order_no"`
	PayStatus   types.OrderStatusType `json:"pay_status"`
	PayAmount   string                `json:"pay_amount"`
	Nickname    string                `json:"nickname"`
	CardNo      string                `json:"card_no"`
	OrderWay    OrderWay              `json:"order_way"`
	PayTypeText string                `json:"pay_type_text"`
	PayTime     string                `json:"pay_time"`
	CardInfo    CardInfo              `json:"card_info"`
}

type ValueCardQrcode

type ValueCardQrcode struct {
	Model `xorm:"extends"`

	CardNo    string       `json:"card_no" xorm:"not null default '' comment('卡号')"`   // 关联卡号
	Qrcode    string       `json:"qrcode" xorm:"not null default '' comment('二维码地址')"` // 二维码地址
	ExpiredAt hsktime.Time `json:"expired_at" xorm:"DATETIME comment('过期时间')"`         // 过期时间
	TeamName  string       `json:"team_name" xorm:"not null default '' comment('团队名称')"`
	Mark      string       `json:"mark" xorm:"TEXT comment('备注信息')"`

	CardName  string `json:"card_name" xorm:"-"`
	AdminName string `json:"admin_name" xorm:"-"`
	StepText  string `json:"step_text" xorm:"-"`
}

邀请二维码

func (*ValueCardQrcode) GetStepText

func (qr *ValueCardQrcode) GetStepText()

func (*ValueCardQrcode) ValidateExpiredAt

func (qr *ValueCardQrcode) ValidateExpiredAt() error

type ValueCardScene

type ValueCardScene struct {
	Name      string    `json:"name"`
	Scene     SceneType `json:"scene"`
	Discount  float64   `json:"discount"`
	IsSupport bool      `json:"is_support"`
}

func FilterScene

func FilterScene(sceneList []*ValueCardScene) (scenes []*ValueCardScene)

func (*ValueCardScene) GetName

func (v *ValueCardScene) GetName()

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL