diff --git a/api/controller/CallBack.go b/api/controller/CallBack.go index d87d967..17329b0 100644 --- a/api/controller/CallBack.go +++ b/api/controller/CallBack.go @@ -86,6 +86,22 @@ func (r *CallBack) WxPaySingle(c *gin.Context) { } orderSingleData["escrow_trade_no"] = transaction.TransactionId orderSingleData["updated_at"] = time.Now().Format("2006-01-02 15:04:05") + + // 处理单项有效时间 + if *wxPayResult.PayStatus == 2 { + systemSingleDao := dao.SystemSingleDao{} + + maps := make(map[string]interface{}) + systemSingle, err := systemSingleDao.GetSystemSingle(maps) + if err != nil { + tx.Rollback() + c.JSON(http.StatusBadRequest, gin.H{"code": "ERROR", "message": err}) + return + } + + orderSingleData["valid_date"] = time.Now().Add(time.Duration(systemSingle.ValidDays) * 24 * time.Hour) + } + err = orderSingleDao.EditOrderSingleById(tx, orderSingle.OrderId, orderSingleData) if err != nil { tx.Rollback() diff --git a/api/controller/Question.go b/api/controller/Question.go index 89b6c91..0a90615 100644 --- a/api/controller/Question.go +++ b/api/controller/Question.go @@ -116,9 +116,6 @@ func (r *Question) GetQuestion(c *gin.Context) { return } - // 获取问题被购买数量 - buyCount, _ := questionService.GetQuestionBuyCount(userId, questionId) - g := dto.GetQuestionDto(question) // 加载数据-是否收藏 @@ -127,6 +124,9 @@ func (r *Question) GetQuestion(c *gin.Context) { // 加载数据-首次购买价格 g.LoadFirstTimePrice(firstTimePrice) + // 获取问题被购买数量 + buyCount, _ := questionService.GetQuestionBuyCount(userId, questionId) + // 加载数据-问题被购买数量 g.LoadBuyCount(buyCount) diff --git a/api/service/User.go b/api/service/User.go index 29b7419..b854b9b 100644 --- a/api/service/User.go +++ b/api/service/User.go @@ -107,12 +107,13 @@ func (r *UserService) AddUserMemberValidDate(tx *gorm.DB, user *model.User, d in userData["is_member"] = 1 } + var t time.Time if user.MemberExpireDate == nil { - userData["is_member"] = time.Now().Format("2006-01-02 15:04:05") + t = time.Now() } else { - t := time.Time(*user.MemberExpireDate) - userData["is_member"] = t.Add(time.Duration(d) * 24 * time.Hour) + t = time.Time(*user.MemberExpireDate) } + userData["is_member"] = t.Add(time.Duration(d) * 24 * time.Hour) userDao := dao.UserDao{} err := userDao.EditUserById(tx, user.UserId, userData)