micro-account/pkg/model/user_test.go
2025-02-20 16:18:23 +08:00

187 lines
4.6 KiB
Go

package model
import (
"fmt"
"github.com/fonchain_enterprise/micro-account/api/account"
"github.com/fonchain_enterprise/micro-account/pkg/common/utils"
"github.com/fonchain_enterprise/micro-account/pkg/infrsatructure/external"
"github.com/fonchain_enterprise/micro-account/pkg/m"
"testing"
"time"
)
func TestDomainCount(t *testing.T) {
}
func TestSynMailAccount(t *testing.T) {
//数据库
mysqlConfig := MysqlConfig{
Db: "mysql",
DbHost: "rm-bp176edrl1g6kcycblo.mysql.rds.aliyuncs.com",
DbPort: "3306",
DbUser: "fonchain_opv",
DbPassWord: "IhQmhg8HZjDmU=Ove5PnA^D",
DbName: "fontree-account",
}
LoadEnv(mysqlConfig)
external.LoadEnv("postmaster@fontree.cn", "Zaq12wsx", "fontree.cn", true)
var users []User
domain := m.DefaultDomain
DB.Model(&User{}).Where(&User{Domain: &domain}).Where("isNull(mail_account) and id >50 ").Where("status != 'left'").Limit(100).Find(&users)
fmt.Println(users)
if len(users) <= 0 {
return
}
for _, user := range users {
var englishName, mailAccount, mailAccountPrefix string
var num int64
if utils.HasEnglishAndChinese(user.Nickname) {
return
}
englishName = user.Nickname
if utils.HasChinese(user.Nickname) {
englishName = GetEnglishNameByName(user.Nickname)
}
DB.Model(&User{}).Unscoped().Preload("DeletedAt").Where(&User{Domain: user.Domain, EnglishName: englishName}).Count(&num)
if num >= 1 {
mailAccount = fmt.Sprintf("%s%02d@%s", englishName, num+1, m.MailDomain)
mailAccountPrefix = fmt.Sprintf("%s%02d", englishName, num+1)
} else {
mailAccount = fmt.Sprintf("%s@%s", englishName, m.MailDomain)
mailAccountPrefix = fmt.Sprintf("%s", englishName)
}
err := external.ReadMail.CreateMailAccount(external.CreateAccountInfo{Username: mailAccountPrefix, Password: "Aa.123456", Cn: user.Nickname})
if err != nil {
fmt.Println("2------", err)
return
}
if err := DB.Model(&User{}).Where(&User{ID: uint(user.ID)}).UpdateColumns(&User{MailAccount: mailAccount, EnglishName: englishName}).Error; err != nil {
fmt.Println("1------", err)
return
}
fmt.Println("设置成功一个", user.Nickname)
time.Sleep(1 * time.Second)
}
}
func TestGetMemCry(t *testing.T) {
user := &User{
ID: 153,
MnemonicWords: "bbX/2x+VK1zMX/oETDqPyw67Sj16H2ex8J8+tp7gFoSVUpL1UXLAJbqcURigOOZU",
}
fmt.Println(user.GetMemCry())
}
func TestNick(t *testing.T) {
fmt.Println(SendPhoneNum["13788998899"])
if _, ok := SendPhoneNum["13788998899"]; ok {
fmt.Println("1-----", SendPhoneNum["13788998899"])
}
}
func TestGetEnglishNameByName(t *testing.T) {
type args struct {
nickName string
}
tests := []struct {
name string
args args
want string
}{
{args: args{nickName: "阿丽米罕·色依提"}},
// TODO: Add test cases.
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if got := GetEnglishNameByName(tt.args.nickName); got != tt.want {
t.Errorf("GetEnglishNameByName() = %v, want %v", got, tt.want)
}
})
}
}
func TestUser_recordTrainVideo(t *testing.T) {
//数据库
mysqlConfig := MysqlConfig{
Db: "mysql",
DbHost: "172.16.100.93",
DbPort: "9061",
DbUser: "root",
DbPassWord: "123456",
DbName: "fontree-account",
}
//http://172.16.100.93:9010/salebot
LoadEnv(mysqlConfig)
external.LoadEnv("postmaster@fontree.cn", "Zaq12wsx", "fontree.cn", true)
var user *User
domain := m.DefaultDomain
DB.Model(&User{}).Where(&User{Domain: &domain, ID: 40}).Find(&user)
var trains []*account.TrainVideo
trains = append(trains, &account.TrainVideo{TrainUUID: "1", TrainDesc: "111--", Video: "x111x"})
trains = append(trains, &account.TrainVideo{TrainUUID: "2", TrainDesc: "2--", Video: "x2x"})
trains = append(trains, &account.TrainVideo{TrainUUID: "4", TrainDesc: "4--", Video: "x4x"})
err := user.recordTrainVideo(trains)
fmt.Println("err", err)
}
func TestSynTrainVideo(t *testing.T) {
//数据库
mysqlConfig := MysqlConfig{
Db: "mysql",
DbHost: "172.16.100.93",
DbPort: "9061",
DbUser: "root",
DbPassWord: "123456",
DbName: "fontree-account",
}
LoadEnv(mysqlConfig)
var users []User
domain := m.DefaultDomain
DB.Model(&User{}).Where(&User{Domain: &domain}).Where("train != ''").Limit(1000).Find(&users)
//fmt.Println(users)
if len(users) <= 0 {
return
}
fmt.Println(len(users))
for _, t1 := range users {
var trains []*account.TrainVideo
trains = append(trains, &account.TrainVideo{TrainUUID: "1", TrainDesc: "市场培训", Video: t1.Train})
err := t1.recordTrainVideo(trains)
if err != nil {
fmt.Println(t1.ID, err)
}
}
}