func backCashForMember(m member.IMember, order *shopping.ValueOrder, fee int, refName string) error { //更新账户 acc := m.GetAccount() acv := acc.GetValue() bFee := float32(fee) acv.PresentBalance += bFee // 更新赠送余额 acv.TotalPresentFee += bFee acv.UpdateTime = time.Now().Unix() _, err := acc.Save() if err == nil { //给自己返现 icLog := &member.IncomeLog{ MemberId: m.GetAggregateRootId(), OrderId: order.Id, Type: "backcash", Fee: float32(fee), Log: fmt.Sprintf("推广返现¥%s元,订单号:%s,来源:%s", format.FormatFloat(bFee), order.OrderNo, refName), State: 1, RecordTime: acv.UpdateTime, } err = m.SaveIncomeLog(icLog) } return err }
// 获取会员汇总信息 func (this *memberService) GetMemberSummary(memberId int) *dto.MemberSummary { var m member.IMember = this._memberRep.GetMember(memberId) if m != nil { mv := m.GetValue() acv := m.GetAccount().GetValue() lv := m.GetLevel() return &dto.MemberSummary{ Id: m.GetAggregateRootId(), Usr: mv.Usr, Name: mv.Name, Exp: mv.Exp, Level: mv.Level, LevelName: lv.Name, Integral: acv.Integral, Balance: acv.Balance, PresentBalance: acv.PresentBalance, UpdateTime: mv.UpdateTime, } } return nil }
// 结算数据持久化 func (this *Cart) SettlePersist(shopId, paymentOpt, deliverOpt, deliverId int) error { var shop partner.IShop var deliver member.IDeliver var err error if shopId > 0 { var pt partner.IPartner pt, err = this._partnerRep.GetPartner(this._partnerId) if err != nil { return err } shop = pt.GetShop(shopId) if shop == nil { return partner.ErrNoSuchShop } this._shop = shop this._value.ShopId = shopId } if this._value.BuyerId > 0 && deliverId > 0 { var m member.IMember m, err = this._memberRep.GetMember(this._value.BuyerId) if err != nil { return err } deliver = m.GetDeliver(deliverId) fmt.Println("-----", m.GetAggregateRootId(), deliverId) if deliver == nil { return member.ErrInvalidSession } this._deliver = deliver this._value.DeliverId = deliverId } this._value.PaymentOpt = paymentOpt this._value.DeliverOpt = deliverOpt return nil }