Files
rootandClaude Opus 5 8679200f41 Initial commit
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 13:57:10 +08:00

43 lines
1.1 KiB
Go

package addwelfareser
import (
"strconv"
"strings"
"time"
"91porn-server/common/stderr"
"91porn-server/models/l/welfarelgmod"
"91porn-server/models/v/usermod"
"91porn-server/web/service/userser"
"github.com/jinzhu/now"
)
func AddWelfare(userId string) (stderr.Code, error) {
uid, err := strconv.ParseUint(userId, 10, 64)
if err != nil {
return stderr.Failure, err
}
user, err := usermod.FindUserByUIDForNoCache(uid)
if err != nil || user == nil {
return stderr.Failure, err
}
if err = welfarelgmod.InsertWelFareLog(welfarelgmod.WelfareLog{
Uid: uid,
FareType: welfarelgmod.Fare_Vip,
FareNum: 2,
DailyDate: now.BeginningOfDay(),
CreatedAt: time.Now(),
}); err != nil {
if strings.Contains(err.Error(), "E11000 duplicate key error") {
return stderr.ErrDbInputExist, err
}
return stderr.Failure, err
}
vipExpire, vipLevel := userser.CheckVipRenew(user, 3, 0)
if _, err := usermod.Update(user.UID, usermod.UserSelector{VipExpireDate: &vipExpire, VipLevel: &vipLevel}); err != nil {
return stderr.Failure, err
}
return stderr.Success, nil
}