member
This commit is contained in:
@@ -6,6 +6,8 @@ import (
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"git.rosy.net.cn/jx-callback/business/jxstore/financial"
|
||||
|
||||
"git.rosy.net.cn/baseapi"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils/excel"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils/tasksch"
|
||||
@@ -587,47 +589,70 @@ func RefreshUserMemberStatus(ctx *jxcontext.Context) (err error) {
|
||||
}
|
||||
|
||||
func InvestMember(ctx *jxcontext.Context, memberID int) (err error) {
|
||||
// var (
|
||||
// db = dao.GetDB()
|
||||
// memberCards []*model.MemberCard
|
||||
// memberCard *model.MemberCard
|
||||
// )
|
||||
// userMembers, err := dao.GetUserMember(db, ctx.GetUserID(), model.MemberTypeNormal)
|
||||
// configList, err := dao.QueryConfigs(db, model.ConfigTypeName[model.ConfigTypeMemberCard], model.ConfigTypeMemberCard, "")
|
||||
// if len(configList) <= 0 {
|
||||
// return fmt.Errorf("未找到会员卡配置!")
|
||||
// }
|
||||
// config := configList[0]
|
||||
// err = jxutils.Strings2Objs(config.Value, &memberCards)
|
||||
// if err != nil {
|
||||
// return err
|
||||
// }
|
||||
// for _, v := range memberCards {
|
||||
// if v.ID == memberID {
|
||||
// memberCard = v
|
||||
// }
|
||||
// }
|
||||
// dao.Begin(db)
|
||||
// defer func() {
|
||||
// if r := recover(); r != nil {
|
||||
// dao.Rollback(db)
|
||||
// panic(r)
|
||||
// }
|
||||
// }()
|
||||
// //证明已经开了会员了,相当于续费
|
||||
// if len(userMembers) > 0 {
|
||||
// userMember := userMembers[0]
|
||||
// if memberID == model.MemberCardTypeMonth {
|
||||
// userMember.EndAt = userMember.EndAt.AddDate(0, 1, 0)
|
||||
// } else {
|
||||
// userMember.EndAt = userMember.EndAt.AddDate(1, 0, 0)
|
||||
// }
|
||||
// } else {
|
||||
// userMember2 := &model.UserMember{}
|
||||
// dao.WrapAddIDCULDEntity(userMember2, ctx.GetUserName())
|
||||
// }
|
||||
// //账户余额支出
|
||||
// //支出明细、
|
||||
// dao.Commit(db)
|
||||
var (
|
||||
db = dao.GetDB()
|
||||
memberCards []*model.MemberCard
|
||||
memberCard *model.MemberCard
|
||||
)
|
||||
userMembers, err := dao.GetUserMember(db, ctx.GetUserID(), model.MemberTypeNormal)
|
||||
configList, err := dao.QueryConfigs(db, model.ConfigTypeName[model.ConfigTypeMemberCard], model.ConfigTypeMemberCard, "")
|
||||
userBill, err := dao.GetUserBill(db, ctx.GetUserID(), "")
|
||||
if len(configList) <= 0 {
|
||||
return fmt.Errorf("未找到会员卡配置!")
|
||||
}
|
||||
config := configList[0]
|
||||
err = jxutils.Strings2Objs(config.Value, &memberCards)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
for _, v := range memberCards {
|
||||
if v.ID == memberID {
|
||||
memberCard = v
|
||||
}
|
||||
}
|
||||
dao.Begin(db)
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
dao.Rollback(db)
|
||||
panic(r)
|
||||
}
|
||||
}()
|
||||
//证明已经开了会员了,相当于续费
|
||||
if len(userMembers) > 0 {
|
||||
userMember := userMembers[0]
|
||||
if memberID == model.MemberCardTypeMonth {
|
||||
userMember.EndAt = userMember.EndAt.AddDate(0, 1, 0)
|
||||
} else {
|
||||
userMember.EndAt = userMember.EndAt.AddDate(1, 0, 0)
|
||||
}
|
||||
if _, err = dao.UpdateEntity(db, userMember, "EndAt"); err != nil {
|
||||
dao.Rollback(db)
|
||||
}
|
||||
} else {
|
||||
userMember2 := &model.UserMember{
|
||||
UserID: ctx.GetUserID(),
|
||||
MemberType: model.MemberTypeNormal,
|
||||
MemberTypeID: memberID,
|
||||
}
|
||||
if memberID == model.MemberCardTypeMonth {
|
||||
userMember2.EndAt = time.Now().AddDate(0, 1, 0)
|
||||
} else {
|
||||
userMember2.EndAt = time.Now().AddDate(1, 0, 0)
|
||||
}
|
||||
dao.WrapAddIDCULDEntity(userMember2, ctx.GetUserName())
|
||||
if err = dao.CreateEntity(db, userMember2); err != nil {
|
||||
dao.Rollback(db)
|
||||
}
|
||||
}
|
||||
//支出明细
|
||||
if err = financial.AddBillExpend(db, userBill.BillID, model.BillTypeMember, memberCard.Price); err != nil {
|
||||
dao.Rollback(db)
|
||||
}
|
||||
//账户余额支出
|
||||
userBill.AccountBalance -= memberCard.Price
|
||||
if _, err = dao.UpdateEntity(db, userBill, "AccountBalance"); err != nil {
|
||||
dao.Rollback(db)
|
||||
}
|
||||
dao.Commit(db)
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -214,7 +214,6 @@ type UserMember struct {
|
||||
func (v *UserMember) TableIndex() [][]string {
|
||||
return [][]string{
|
||||
[]string{"UserID"},
|
||||
[]string{"OrderID"},
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user