feat: 添加导入原有积分功能。
parent
f5194c7ef8
commit
a894f97638
@ -0,0 +1,14 @@
|
|||||||
|
package integral
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"github.com/zeromicro/go-zero/core/logx"
|
||||||
|
"live-service/app/user_center/rpc/internal/svc"
|
||||||
|
)
|
||||||
|
|
||||||
|
type IntegralTemp struct {
|
||||||
|
ctx context.Context
|
||||||
|
svcCtx *svc.ServiceContext
|
||||||
|
|
||||||
|
logx.Logger
|
||||||
|
}
|
@ -0,0 +1,91 @@
|
|||||||
|
package integral
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bufio"
|
||||||
|
"context"
|
||||||
|
"fmt"
|
||||||
|
"gorm.io/driver/mysql"
|
||||||
|
"gorm.io/gorm"
|
||||||
|
"gorm.io/gorm/logger"
|
||||||
|
"live-service/app/user_center/model"
|
||||||
|
"log"
|
||||||
|
"os"
|
||||||
|
"regexp"
|
||||||
|
"strconv"
|
||||||
|
"strings"
|
||||||
|
"testing"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestA(t *testing.T) {
|
||||||
|
file, err := os.Open("C:\\Users\\NorthLan\\Desktop\\dmgame v2\\5月.txt")
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("读取文件失败")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
defer file.Close()
|
||||||
|
|
||||||
|
regex, _ := regexp.Compile(`\d+`)
|
||||||
|
|
||||||
|
type jf struct {
|
||||||
|
name string
|
||||||
|
integral int64
|
||||||
|
}
|
||||||
|
jfs := make([]jf, 0)
|
||||||
|
|
||||||
|
scanner := bufio.NewScanner(file)
|
||||||
|
l := 0
|
||||||
|
|
||||||
|
var tmpJ jf
|
||||||
|
for scanner.Scan() {
|
||||||
|
l++
|
||||||
|
line := scanner.Text()
|
||||||
|
if l == 3 {
|
||||||
|
// 名字
|
||||||
|
tmpJ.name = strings.TrimSpace(line)
|
||||||
|
} else if l == 4 {
|
||||||
|
// 电池
|
||||||
|
battery, _ := strconv.ParseInt(regex.FindString(line), 10, 0)
|
||||||
|
tmpJ.integral = battery * 100
|
||||||
|
jfs = append(jfs, tmpJ)
|
||||||
|
//fmt.Println(battery)
|
||||||
|
l = 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
gormDb, err := gorm.Open(mysql.Open("root:root@tcp(127.0.0.1:3306)/dmgame?charset=utf8mb4&loc=Asia%2FShanghai&parseTime=true"), &gorm.Config{
|
||||||
|
Logger: logger.New(
|
||||||
|
log.New(os.Stdout, "\r\n", log.LstdFlags),
|
||||||
|
logger.Config{
|
||||||
|
SlowThreshold: 5 * time.Second,
|
||||||
|
LogLevel: logger.Info,
|
||||||
|
IgnoreRecordNotFoundError: true,
|
||||||
|
Colorful: true,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
})
|
||||||
|
//UserPlatformModel := model.NewUserPlatformModel(gormDb)
|
||||||
|
UserIntegralModel := model.NewUserIntegralModel(gormDb)
|
||||||
|
|
||||||
|
gormDb.Transaction(func(tx *gorm.DB) error {
|
||||||
|
for _, tmpJ := range jfs {
|
||||||
|
var userId int64
|
||||||
|
if err := tx.Table("user_platform").
|
||||||
|
Select("user_id").
|
||||||
|
Where("p_uname = ?", tmpJ.name).Take(&userId).Error; err != nil {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
//fmt.Println(userId)
|
||||||
|
|
||||||
|
UserIntegralModel.ChangeIntegral(context.Background(), tx, userId, tmpJ.integral)
|
||||||
|
|
||||||
|
//tx.Table("user_integral").
|
||||||
|
// Where("user_id = ?", userId).
|
||||||
|
// Update("integral", gorm.Expr("integral + ?", tmpJ.integral))
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
})
|
||||||
|
|
||||||
|
if err := scanner.Err(); err != nil {
|
||||||
|
fmt.Println("err", err)
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue