This commit is contained in:
苏尹岚
2020-10-19 15:25:31 +08:00
parent a41052cd9c
commit a9e9d30308
2 changed files with 67 additions and 43 deletions

View File

@@ -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
}

View File

@@ -214,7 +214,6 @@ type UserMember struct {
func (v *UserMember) TableIndex() [][]string {
return [][]string{
[]string{"UserID"},
[]string{"OrderID"},
}
}