From e11277282685478b329653ec920da16b0bf3871d Mon Sep 17 00:00:00 2001 From: "yan.y" Date: Wed, 14 Aug 2024 16:11:31 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E6=83=A0=E5=88=B8=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/api/auth.go | 29 ++++++++++++++++++++--------- business/api/car.go | 12 ++++++++++++ business/api/coupons.go | 2 +- business/models/dataModel.go | 1 + 4 files changed, 34 insertions(+), 10 deletions(-) diff --git a/business/api/auth.go b/business/api/auth.go index 996e49f..b690469 100644 --- a/business/api/auth.go +++ b/business/api/auth.go @@ -73,19 +73,30 @@ func (p DefParty) login() web_iris.Party { database.Instance().Model(&models.User{}).Where("open_id = ?", info.Openid).Find(&userInfo) if userInfo.Id == 0 { newUser := models.User{ - NickName: loginRequest.NickName, - HeadImgUrl: loginRequest.HeadImgUrl, - Amount: 0, - OpenId: info.Openid, - UnionId: info.Unionid, - UserType: 0, - Mobile: "", - Role: 0, - Status: 1, + NickName: loginRequest.NickName, + HeadImgUrl: loginRequest.HeadImgUrl, + Amount: 0, + OpenId: info.Openid, + UnionId: info.Unionid, + UserType: 0, + Mobile: "", + Role: 0, + Status: 1, + InviteUserId: loginRequest.InviteUserId, } err := database.Instance().Create(&newUser).Error zap_server.ZAPLOG.Info("create", zap.Any("err", err)) userInfo = newUser + for _, coupons := range CouponsMap { + if coupons.SendStatus == 2 { + //新注册用户下发优惠券 + newUserCoupons := models.UserCoupons{ + Uid: userInfo.Id, + Cid: coupons.Id, + } + database.Instance().Create(&newUserCoupons) + } + } } token := genToken(userInfo.Id) response := LoginResponse{ diff --git a/business/api/car.go b/business/api/car.go index 5707b16..e4c2a2b 100644 --- a/business/api/car.go +++ b/business/api/car.go @@ -220,6 +220,18 @@ func (p DefParty) carServiceProcess() web_iris.Party { "LastServiceDate": pet.PetInfo.LastServiceDate, } database.Instance().Model(&pet.PetInfo).Updates(&updateValues) + if orderUserInfo.InviteUserId > 0 { + for _, coupons := range CouponsMap { + if coupons.SendStatus == 3 { + //完成订单给邀请用户发送优惠券 + newUserCoupons := models.UserCoupons{ + Uid: orderUserInfo.InviteUserId, + Cid: coupons.Id, + } + database.Instance().Create(&newUserCoupons) + } + } + } } else if carServiceProcessRequest.Type == 3 { subOrderInfo.PayRemark = carServiceProcessRequest.PayRemark database.Instance().Save(&subOrderInfo) diff --git a/business/api/coupons.go b/business/api/coupons.go index 740a428..89f85f6 100644 --- a/business/api/coupons.go +++ b/business/api/coupons.go @@ -56,7 +56,7 @@ func (p DefParty) getUserCouponsList() web_iris.Party { } var coupons []models.Coupons - database.Instance().Model(&models.Coupons{}).Joins("JOIN user_coupons on coupons.id = user_coupons.cid and coupons.expire_time > ?", time.Now().UnixNano()/int64(time.Millisecond)).Where(" user_coupons.coupons_status = ? and user_coupons.uid = ?", getUserCouponsListRequest.Status, headerInfo.Uid).Find(&coupons) + database.Instance().Model(&models.Coupons{}).Joins("JOIN user_coupons on coupons.id = user_coupons.cid and coupons.expire_time > ? and coupons.send_status = 1", time.Now().UnixNano()/int64(time.Millisecond)).Where(" user_coupons.coupons_status = ? and user_coupons.uid = ?", getUserCouponsListRequest.Status, headerInfo.Uid).Find(&coupons) for index, coupon := range coupons { coupons[index].PeriodInfo = strings.Split(coupon.Period, ",") } diff --git a/business/models/dataModel.go b/business/models/dataModel.go index 1bba906..797b108 100644 --- a/business/models/dataModel.go +++ b/business/models/dataModel.go @@ -285,6 +285,7 @@ type Coupons struct { CreateTime time.Time `gorm:"type:timestamp;default:CURRENT_TIMESTAMP" json:"createTime"` //创建时间 UpdateTime time.Time `gorm:"type:timestamp;default:CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP" json:"-"` //更新时间 Status int `gorm:"default:1" json:"-"` //数据状态 + SendStatus int `gorm:"not null" json:"-"` //下发类型 1领取 2新用户注册赠送 3邀请新用户赠送 } type UserCoupons struct {