Documentation ¶
Overview ¶
*
- Copyright 2015 @ z3q.net.
- name : account
- author : jarryliu
- date : 2015-07-24 08:48
- description :
- history :
*
- Copyright 2015 @ z3q.net.
- name : balance_info
- author : jarryliu
- date : 2015-07-24 09:42
- description :
- history :
*
- Copyright 2015 @ z3q.net.
- name : charge_log
- author : jarryliu
- date : 2015-07-24 09:19
- description :
- history :
*
- Copyright 2014 @ z3q.net.
- name :
- author : jarryliu
- date : 2014-02-05 20:12
- description :
- history :
*
- Copyright 2015 @ z3q.net.
- name : invitaton_manager
- author : jarryliu
- date : -- :
- description :
- history :
*
- Copyright 2014 @ z3q.net.
- name :
- author : jarryliu
- date : 2013-12-09 10:28
- description :
- history :
Index ¶
Constants ¶
View Source
const ( // 退款 KindBalanceBack = 0 // 消费 KindBalanceShopping = 1 // 充值 KindBalanceCharge = 2 // 赠送 KindBalancePresent = 3 // 流通账户 KindBalanceFlow = 4 // 账户流通 // 扣除余额 KindBalanceDiscount = 5 // 抵扣奖金 KindPresentDiscount = 6 KindGrow = 7 // 增利 // 提现 KindBalanceApplyCash = 11 // 转账 KindBalanceTransfer = 12 // 冻结 KindBalanceFreezes = 13 // 解冻 KindBalanceUnfreezes = 14 // 冻结赠款 KindBalanceFreezesPresent = 15 // 解冻赠款 KindBalanceUnfreezesPresent = 16 // 系统充值 TypeBalanceSystemCharge = 1 // 网银充值 TypeBalanceNetPayCharge = 2 // 客服充值 TypeBalanceServiceCharge = 3 // 订单退款 TypeBalanceOrderRefund = 4 // 提现并充值到余额 TypeApplyCashToCharge = 1 // 提现到银行卡 TypeApplyCashToBank = 2 // 提现到第三方服务提供商(如:Paypal,支付宝等) TypeApplyCashToServiceProvider = 3 // 退款到银行卡 TypeBackToBank = 1 // 退款到第三方 TypeBackToServiceProvider = 2 // 提现请求已提交 StateApplySubmitted = 0 // 提现已经确认 StateApplyConfirmed = 1 // 提现未通过 StateApplyNotPass = 2 // 提现完成 StateApplyOver = 3 StatusNormal = 0 StatusOK = 1 )
View Source
const ( StateStopped = 0 //已停用 StateOk = 1 //正常 BankNoLock = 0 BankLocked = 1 )
Variables ¶
View Source
var ( ErrInvitationCode *domain.DomainError = domain.NewDomainError( "member_err_invation_code", "CODE:1011,邀请码错误") ErrSessionTimeout *domain.DomainError = domain.NewDomainError( "member_session_time_out", "会员会话超时") ErrInvalidSession *domain.DomainError = domain.NewDomainError( "member_invalid_session", "异常会话") ErrNoSuchDeliverAddress *domain.DomainError = domain.NewDomainError( "member_no_such_deliver_address", "配送地址错误") ErrNoSuchMember *domain.DomainError = domain.NewDomainError( "member_no_such_member", "会员不存在") ErrDeliverAddressLen *domain.DomainError = domain.NewDomainError( "err_deliver_address_len", "请填写详细的配送地址") ErrDeliverContactPersonName *domain.DomainError = domain.NewDomainError( "err_deliver_contact_person_name", "收货人不正确") ErrDeliverContactPhone *domain.DomainError = domain.NewDomainError( "err_deliver_phone_is_null", "联系人电话有误") ErrNoSuchBankInfo *domain.DomainError = domain.NewDomainError( "err_no_such_bank_info", "请完善银行卡信息") ErrBankInfoLocked *domain.DomainError = domain.NewDomainError( "err_bank_info_locked", "银行卡信息已锁定,无法更改") ErrBankInfoNoYetSet *domain.DomainError = domain.NewDomainError( "err_bank_info_no_yet_set", "银行卡信息尚未设置") ErrPwdCannotSame *domain.DomainError = domain.NewDomainError( "Err_Pwd_Can_not_Same", "新密码不能与旧密码相同") ErrPwdOldPwdNotRight *domain.DomainError = domain.NewDomainError( "Err_Pwd_Pld_Pwd_Not_Right", "原密码不正确") ErrIncorrectAmount *domain.DomainError = domain.NewDomainError( "err_balance_amount", "金额错误") ErrOutOfBalance *domain.DomainError = domain.NewDomainError( "err_out_of_balance", "超出金额") ErrUsrLength *domain.DomainError = domain.NewDomainError( "err_user_length", "用户名至少6位", ) ErrUsrValidErr *domain.DomainError = domain.NewDomainError( "err_user_valid_err", "用户名为6位以上字符和数字的组合") ErrSameUsr *domain.DomainError = domain.NewDomainError( "err_same_usr", "用户名与原来相同") ErrUsrExist *domain.DomainError = domain.NewDomainError( "err_usr_exist", "用户名已存在") ErrPersonName *domain.DomainError = domain.NewDomainError( "err_person_name", "姓名不正确") ErrEmailValidErr *domain.DomainError = domain.NewDomainError( "err_email_valid_err", "邮箱不正确") ErrPhoneValidErr *domain.DomainError = domain.NewDomainError( "err_phone_valid_err", "手机号码不正确") ErrPhoneHasBind *domain.DomainError = domain.NewDomainError( "err_phone_has_bind", "手机号码已经绑定") ErrQqValidErr *domain.DomainError = domain.NewDomainError( "err_qq_valid_err", "QQ号码不正确") ErrNotSetTradePwd *domain.DomainError = domain.NewDomainError( "err_not_set_tarde_pwd", "交易密码未设置") ErrIncorrectTradePwd *domain.DomainError = domain.NewDomainError( "err_incorrect_tarde_pwd", "交易密码错误") ErrNotEnoughAmount *domain.DomainError = domain.NewDomainError( "err_not_enough_amount", "金额不足") ErrNotSupportTransfer *domain.DomainError = domain.NewDomainError( "err_not_support_transfer", "不支持的转账方式") )
Functions ¶
This section is empty.
Types ¶
type AccountValue ¶
type AccountValue struct { MemberId int `db:"member_id" pk:"yes" json:"memberId"` Integral int `db:"integral"` // 积分 Balance float32 `db:"balance" json:"balance"` // 账户余额 FreezesFee float32 `db:"freezes_fee" json:"freezesFee"` // 冻结金额 PresentBalance float32 `db:"present_balance" json:"presentBalance"` // 奖金账户余额 FreezesPresent float32 `db:"freezes_present" json:"freezesPresent"` // 冻结赠送额 TotalPresentFee float32 `db:"total_present_fee" json:"totalPresentFee"` // 总赠送金额 FlowBalance float32 `db:"flow_balance" json:"flowBalance"` // 流动账户余额 GrowBalance float32 `db:"grow_balance" json:"growBalance"` // 当前理财账户余额 GrowAmount float32 `db:"grow_amount" json:"growAmount"` // 理财总投资金额,不含收益 GrowEarnings float32 `db:"grow_earnings" json:"growEarnings"` // 当前收益金额 GrowTotalEarnings float32 `db:"grow_total_earnings" json:"growTotalEarnings"` // 累积收益金额 TotalFee float32 `db:"total_fee" json:"totalFee"` // 总消费额 TotalCharge float32 `db:"total_charge" json:"totalCharge"` // 总充值额 TotalPay float32 `db:"total_pay" json:"totalPay"` // 总支付额 UpdateTime int64 `db:"update_time" json:"updateTime"` // 更新时间 }
账户值对象
type BalanceInfoValue ¶
type BalanceInfoValue struct { Id int `db:"id" auto:"yes" pk:"yes"` MemberId int `db:"member_id"` TradeNo string `db:"trade_no"` Kind int `db:"kind"` Type int `db:"type"` Title string `db:"title"` Amount float32 `db:"amount"` // 金额 CsnAmount float32 `db:"csn_amount"` // 手续费 RefId int `db:"ref_id"` // 引用编号 State int `db:"state"` CreateTime int64 `db:"create_time"` UpdateTime int64 `db:"update_time"` }
余额变动信息
type BankInfo ¶
type BankInfo struct { MemberId int `db:"member_id" pk:"yes"` Name string `db:"name"` Account string `db:"account"` AccountName string `db:"account_name"` Network string `db:"network"` State int `db:"state"` IsLocked int `db:"is_locked"` UpdateTime int64 `db:"update_time"` }
银行卡信息,因为重要且非频繁更新的数据 所以需要用IsLocked来标记是否锁定
type DeliverAddress ¶
type DeliverAddress struct { Id int `db:"id" pk:"yes" auto:"yes"` MemberId int `db:"member_id"` RealName string `db:"real_name"` Phone string `db:"phone"` Address string `db:"address"` IsDefault int `db:"is_default"` }
会员收货地址
type IAccount ¶
type IAccount interface { // 获取领域对象编号 GetDomainId() int // 获取账户值 GetValue() *AccountValue // 保存 Save() (int, error) // 根据编号获取余额变动信息 GetBalanceInfo(id int) *BalanceInfoValue // 根据号码获取余额变动信息 GetBalanceInfoByNo(no string) *BalanceInfoValue // 保存余额变动信息 SaveBalanceInfo(*BalanceInfoValue) (int, error) // 充值 // @title 充值标题说明 // @no 充值订单编号 // @amount 金额 ChargeBalance(chargeType int, title string, tradeNo string, amount float32) error // 扣减余额 DiscountBalance(title string, tradeNo string, amount float32) error // 赠送金额 PresentBalance(title string, tradeNo string, amount float32) error // 扣减奖金,mustLargeZero是否必须大于0 DiscountPresent(title string, tradeNo string, amount float32, mustLargeZero bool) error // 流通账户余额变动,如扣除,amount传入负数金额 ChargeFlowBalance(title string, tradeNo string, amount float32) error // 订单抵扣消费 OrderDiscount(tradeNo string, amount float32) error // 退款 RequestBackBalance(backType int, title string, amount float32) error // 完成退款 FinishBackBalance(id int, tradeNo string) error // 请求提现,applyType:提现方式,返回info_id,交易号 及错误 RequestApplyCash(applyType int, title string, amount float32, commission float32) (int, string, error) // 确认提现 ConfirmApplyCash(id int, pass bool, remark string) error // 完成提现 FinishApplyCash(id int, tradeNo string) error // 冻结余额 Freezes(title string, tradeNo string, amount float32, referId int) error // 解冻金额 Unfreezes(title string, tradeNo string, amount float32, referId int) error // 冻结赠送金额 FreezesPresent(title string, tradeNo string, amount float32, referId int) error // 解冻赠送金额 UnfreezesPresent(title string, tradeNo string, amount float32, referId int) error // 转账余额到其他账户 TransferBalance(kind int, amount float32, tradeNo string, toTitle, fromTitle string) error // 转账返利账户,kind为转账类型,如 KindBalanceTransfer等 // commission手续费 TransferPresent(kind int, amount float32, commission float32, tradeNo string, toTitle string, fromTitle string) error // 转账活动账户,kind为转账类型,如 KindBalanceTransfer等 // commission手续费 TransferFlow(kind int, amount float32, commission float32, tradeNo string, toTitle string, fromTitle string) error // 将活动金转给其他人 TransferFlowTo(memberId int, kind int, amount float32, commission float32, tradeNo string, toTitle string, fromTitle string) error }
type IBalanceInfo ¶
type IBalanceInfo interface { // 获取领域对象编号 GetDomainId() int // 获取值 GetValue() *BalanceInfoValue // 保存 Save() (int, error) }
账户余额变动信息
type IDeliver ¶
type IDeliver interface { GetDomainId() int GetValue() DeliverAddress SetValue(*DeliverAddress) error Save() (int, error) }
type IInvitationManager ¶
type IInvitationManager interface { // 判断是否由会员邀请 InvitationBy(memberId int) bool // 获取我邀请的会员 GetMyInvitationMembers() []*ValueMember // 获取我的邀请码 GetMyInvitationCode() string // 获取邀请会员下级邀请数量 GetSubInvitationNum() map[int]int // 获取邀请要的会员 GetInvitationMeMember() *ValueMember }
type IMember ¶
type IMember interface { // 获取聚合根编号 GetAggregateRootId() int // 获取值 GetValue() ValueMember // 邀请管理 Invitation() IInvitationManager // 设置值 SetValue(*ValueMember) error // 获取账户 GetAccount() IAccount // 锁定会员 Lock() error // 解锁会员 Unlock() error // 资料是否完善 ProfileCompleted() bool // 获取提现银行信息 GetBank() BankInfo // 保存提现银行信息,保存后将锁定 SaveBank(*BankInfo) error // 解锁提现银行卡信息 UnlockBank() error // 保存积分记录 SaveIntegralLog(*IntegralLog) error // 增加经验值 AddExp(exp int) error // 获取等级 GetLevel() *valueobject.MemberLevel // 增加积分 // todo:partnerId 不需要 AddIntegral(partnerId int, backType int, integral int, log string) error // 获取关联的会员 GetRelation() *MemberRelation // 更新会员绑定 SaveRelation(r *MemberRelation) error // 更换用户名 ChangeUsr(string) error // 保存 Save() (int, error) // 修改密码,旧密码可为空 ModifyPassword(newPwd, oldPwd string) error // 修改交易密码,旧密码可为空 ModifyTradePassword(newPwd, oldPwd string) error // 创建配送地址 CreateDeliver(*DeliverAddress) (IDeliver, error) // 获取配送地址 GetDeliverAddress() []IDeliver // 获取配送地址 GetDeliver(int) IDeliver // 删除配送地址 DeleteDeliver(int) error }
type IMemberRep ¶
type IMemberRep interface { // 根据用户名获取会员 GetMemberValueByUsr(usr string) *ValueMember // 根据手机号码获取会员 GetMemberValueByPhone(phone string) *ValueMember // 获取会员 GetMember(memberId int) IMember // 创建会员 CreateMember(*ValueMember) IMember // 保存 SaveMember(v *ValueMember) (int, error) // 获取会员最后更新时间 GetMemberLatestUpdateTime(int) int64 // 锁定会员 LockMember(id int, state int) error // 根据邀请码获取会员编号 GetMemberIdByInvitationCode(string) int // 获取会员编号 GetMemberIdByUser(string string) int // 用户名是否存在 CheckUsrExist(usr string, memberId int) bool // 手机号码是否使用 CheckPhoneBind(phone string, memberId int) bool // 保存绑定 SaveRelation(*MemberRelation) error // 获取等级 GetLevel(partnerId, levelValue int) *valueobject.MemberLevel // 获取下一个等级 GetNextLevel(partnerId, levelVal int) *valueobject.MemberLevel // 获取会员等级 GetMemberLevels(partnerId int) []*valueobject.MemberLevel // 删除会员等级 DeleteMemberLevel(partnerId, id int) error // 保存等级 SaveMemberLevel(partnerId int, v *valueobject.MemberLevel) (int, error) // 获取账户 GetAccount(memberId int) *AccountValue // 保存账户,传入会员编号 SaveAccount(*AccountValue) (int, error) // 获取银行信息 GetBankInfo(int) *BankInfo // 保存银行信息 SaveBankInfo(*BankInfo) error // 保存积分记录 SaveIntegralLog(*IntegralLog) error // 获取会员关联 GetRelation(memberId int) *MemberRelation // 获取经验值对应的等级 GetLevelValueByExp(partnerId int, exp int) int // 保存地址 SaveDeliver(*DeliverAddress) (int, error) // 获取全部配送地址 GetDeliverAddress(memberId int) []*DeliverAddress // 获取配送地址 GetSingleDeliverAddress(memberId, deliverId int) *DeliverAddress // 删除配送地址 DeleteDeliver(memberId, deliverId int) error // 邀请 GetMyInvitationMembers(memberId int) []*ValueMember // 获取下级会员数量 GetSubInvitationNum(memberIds string) map[int]int // 获取推荐我的人 GetInvitationMeMember(memberId int) *ValueMember // 根据编号获取余额变动信息 GetBalanceInfo(id int) *BalanceInfoValue // 根据号码获取余额变动信息 GetBalanceInfoByNo(tradeNo string) *BalanceInfoValue // 保存余额变动信息 SaveBalanceInfo(v *BalanceInfoValue) (int, error) // 保存理财账户信息 SaveGrowAccount(memberId int, balance, totalAmount, growEarnings, totalGrowEarnings float32, updateTime int64) error }
type IntegralLog ¶
type MemberRelation ¶
type MemberRelation struct { MemberId int `db:"member_id" pk:"yes"` //会员卡号 CardId string `db:"card_id"` //推荐人(会员) RefereesId int `db:"invi_member_id"` //注册关联商家编号 RegisterPartnerId int `db:"reg_partner_id"` }
会员关联表
type ValueMember ¶
type ValueMember struct { Id int `db:"id" auto:"yes" pk:"yes"` Usr string `db:"usr"` Pwd string `db:"Pwd"` // 交易密码 TradePwd string `db:"trade_pwd"` // 姓名 Name string `db:"name"` // 经验值 Exp int `db:"exp"` // 等级 Level int `db:"level"` Sex int `db:"sex"` Avatar string `db:"avatar"` BirthDay string `db:"birthday"` Phone string `db:"phone"` Address string `db:"address"` Im string `db:"im"` Email string `db:"email"` // 邀请码 InvitationCode string `db:"invitation_code"` RegFrom string `db:"reg_from"` RegIp string `db:"reg_ip"` State int `db:"state"` RegTime int64 `db:"reg_time"` Remark string `db:"remark"` //备注 Ext1 string `db:"ext_1"` // 扩展1 Ext2 string `db:"ext_2"` // 扩展2 Ext3 string `db:"ext_3"` // 扩展3 Ext4 string `db:"ext_4"` // 扩展4 Ext5 string `db:"ext_4"` // 扩展5 Ext6 string `db:"ext_4"` // 扩展6 LastLoginTime int64 `db:"last_login_time"` UpdateTime int64 `db:"update_time"` DynamicToken string `db:"-"` // 动态令牌,用于登陆或API调用 TimeoutTime int64 `db:"-"` // 超时时间 }
Click to show internal directories.
Click to hide internal directories.