From ba91b357fb59059ced78bd86be8e5cc49f7fe118 Mon Sep 17 00:00:00 2001 From: wucongxing8150 <815046773@qq.com> Date: Fri, 23 Aug 2024 16:59:44 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9B=E5=BB=BA=E5=8D=95=E9=A1=B9=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E6=97=B6=E5=A2=9E=E5=8A=A0=E4=BC=9A=E5=91=98=E6=94=AF?= =?UTF-8?q?=E4=BB=98=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/service/OrderSingle.go | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/api/service/OrderSingle.go b/api/service/OrderSingle.go index 42d68d7..7128993 100644 --- a/api/service/OrderSingle.go +++ b/api/service/OrderSingle.go @@ -73,6 +73,7 @@ func (r *OrderSingleService) AddOrderSingle(tx *gorm.DB, UserId, QuestionId int6 var payStatus int // 支付状态(1:未支付 2:已支付 3:支付中 4:支付失败 5:支付超时 6:支付关闭 7:已撤销 8:转入退款) var payTime *model.LocalTime // 支付时间 var escrowTradeNo string // 第三方支付流水号 + var validDate *model.LocalTime // 算一算有效期 // 获取问题最终价格 amountTotal, err = questionService.GetUserBuyPrice(UserId, QuestionId) @@ -111,6 +112,18 @@ func (r *OrderSingleService) AddOrderSingle(tx *gorm.DB, UserId, QuestionId int6 payTime = &now // 支付时间 escrowTradeNo = "GD" + global.Snowflake.Generate().String() // 第三方支付流水号 + + // 处理单项有效时间 + systemSingleDao := dao.SystemSingleDao{} + + maps := make(map[string]interface{}) + systemSingle, err := systemSingleDao.GetSystemSingle(maps) + if err != nil { + return nil, errors.New("订单创建失败") + } + + singleValidDate := model.LocalTime(time.Now().Add(time.Duration(systemSingle.ValidDays) * 24 * time.Hour)) + validDate = &singleValidDate } else { if orderPrice == nil { return nil, errors.New("价格异常") @@ -149,6 +162,7 @@ func (r *OrderSingleService) AddOrderSingle(tx *gorm.DB, UserId, QuestionId int6 CancelTime: nil, CancelRemarks: "", OrderRemarks: "", + ValidDate: validDate, } orderSingleDao := dao.OrderSingleDao{} @@ -214,6 +228,23 @@ func (r *OrderSingleService) AddOrderSingle(tx *gorm.DB, UserId, QuestionId int6 } } + // 会员支付 + if payChannel == 3 { + // 增加单项支付次数 + questionService := QuestionService{} + res, err := questionService.AddQuestionPayCount(tx, orderSingle.QuestionId) + if err != nil || res == false { + return nil, errors.New("内部错误") + } + + // 增加用户单项支付次数 + userService := UserService{} + res, err = userService.AddUserSingleSubmitCount(tx, orderSingle.UserId) + if err != nil || res == false { + return nil, errors.New("内部错误") + } + } + return orderSingle, nil }