u
This commit is contained in:
1 parent
098a061308
commit
994321d049
40 files changed
+1401
-359
No files matched your search
@@ -1,14 +1,15 @@
|
||||
package auth
|
||||
|
||||
import (
|
||||
"base-go-v2/internal/api/money"
|
||||
"base-go-v2/internal/db"
|
||||
response "base-go-v2/internal/reponse"
|
||||
"base-go-v2/internal/router"
|
||||
"base-go-v2/internal/routinex"
|
||||
"base-go-v2/internal/utils/idgen"
|
||||
"base-go-v2/internal/utils/jwtx"
|
||||
"base-go-v2/internal/utils/mapx"
|
||||
"base-go-v2/internal/utils/timex"
|
||||
"base-go-v2/internal/utils/uid"
|
||||
)
|
||||
|
||||
func InitAuthRouter(r *router.Router) {
|
||||
@@ -85,7 +86,7 @@ func loginDefault(c *router.Context) error {
|
||||
Send()
|
||||
}
|
||||
|
||||
userId := user.GetInt("id")
|
||||
userId := user.GetInt64("id")
|
||||
|
||||
// 创建 Access Token 和 Refresh Token
|
||||
accessToken, err := jwtx.CreateAccessToken(userId)
|
||||
@@ -99,8 +100,8 @@ func loginDefault(c *router.Context) error {
|
||||
|
||||
// 返回数据
|
||||
respData := mapx.New().
|
||||
SetIntToString("userId", userId).
|
||||
SetKV(
|
||||
"userId", userId,
|
||||
"username", user.GetString("username"),
|
||||
"seqNo", user.GetInt("seq_no"),
|
||||
"gender", user.GetInt("gender"),
|
||||
@@ -140,9 +141,10 @@ func registerDefault(c *router.Context) error {
|
||||
return response.Fail(c).Message("该账号已被注册").Send()
|
||||
}
|
||||
|
||||
userId := idgen.NextId()
|
||||
// 构造新用户数据
|
||||
newUserData := mapx.New().SetKV(
|
||||
"id", uid.NextID(),
|
||||
"id", userId,
|
||||
"account", account,
|
||||
"password", password,
|
||||
)
|
||||
@@ -150,10 +152,16 @@ func registerDefault(c *router.Context) error {
|
||||
// 插入新用户
|
||||
insertedRows, err := db.InsertOne("user_info", newUserData)
|
||||
if err != nil {
|
||||
return response.Fail(c).Message("注册失败").Send()
|
||||
}
|
||||
|
||||
if insertedRows != 1 {
|
||||
return response.Fail(c).Message("注册失败").Send()
|
||||
}
|
||||
|
||||
err = money.InitDefaultCategories(userId)
|
||||
if err != nil {
|
||||
return c.AddError(err)
|
||||
}
|
||||
return response.Success(c).Message("注册成功").Send()
|
||||
}
|
||||
@@ -21,7 +21,7 @@ func AuthMiddleware() router.HandlerFunc {
|
||||
|
||||
// Access Token 有效
|
||||
if tokenVerify.IsValid {
|
||||
c.Set("user_id", tokenVerify.Claims.UserID)
|
||||
c.SetUserID(tokenVerify.Claims.UserID)
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import (
|
||||
"base-go-v2/internal/logx"
|
||||
"base-go-v2/internal/router"
|
||||
"base-go-v2/internal/routinex"
|
||||
"base-go-v2/internal/utils/uid"
|
||||
"base-go-v2/internal/utils/idgen"
|
||||
"time"
|
||||
)
|
||||
|
||||
@@ -20,7 +20,7 @@ func LoggerMiddleware() router.HandlerFunc {
|
||||
start := time.Now() // 记录开始时间
|
||||
|
||||
// 生成 trackID 并存入 routinex
|
||||
trackID := uid.NextID()
|
||||
trackID := idgen.NextId()
|
||||
routinex.Set(logx.TrackID, trackID)
|
||||
|
||||
// 执行业务逻辑,并捕获错误
|
||||
|
||||
@@ -0,0 +1,79 @@
|
||||
package money
|
||||
|
||||
import (
|
||||
"base-go-v2/internal/db"
|
||||
response "base-go-v2/internal/reponse"
|
||||
"base-go-v2/internal/router"
|
||||
"base-go-v2/internal/utils/idgen"
|
||||
"base-go-v2/internal/utils/mapx"
|
||||
"fmt"
|
||||
)
|
||||
|
||||
func InitMoneyRouter(r *router.Router) {
|
||||
group := r.Group("money")
|
||||
group.GET("/category", getUserCategory)
|
||||
//group := r.Group("auth")
|
||||
}
|
||||
|
||||
// InitDefaultCategories 初始化系统默认分类到用户分类表
|
||||
func InitDefaultCategories(userID int64) error {
|
||||
fmt.Println("进入 InitDefaultCategories ===")
|
||||
|
||||
// 1. 查询系统分类表
|
||||
sysCategories, err := db.FindAll("money_sys_category", "sort_number")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
fmt.Printf("系统分类数量: %d\n", len(sysCategories))
|
||||
|
||||
// 2. 构建批量插入数据
|
||||
userCategories := make([]mapx.M, 0, len(sysCategories))
|
||||
for i, row := range sysCategories {
|
||||
m := mapx.New().SetKV(
|
||||
"id", idgen.NextId(),
|
||||
"user_id", userID,
|
||||
"name", row.GetString("name"),
|
||||
"icon", row.GetString("icon"),
|
||||
"type", row.GetInt("type"),
|
||||
"sort_number", row.GetInt("sort_number"),
|
||||
)
|
||||
fmt.Printf("用户分类 %d: %+v\n", i+1, m)
|
||||
userCategories = append(userCategories, m)
|
||||
}
|
||||
|
||||
// 3. 批量插入到用户分类表
|
||||
if _, err := db.InsertBatch("money_user_category", userCategories); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
fmt.Println("初始化用户分类成功!")
|
||||
return nil
|
||||
}
|
||||
|
||||
func getUserCategory(c *router.Context) error {
|
||||
userId := c.GetUserID()
|
||||
|
||||
// 查询当前用户的分类
|
||||
userCategories, err := db.Find("money_user_category", mapx.New().Set("user_id", userId), "sort_number ASC")
|
||||
if err != nil {
|
||||
return c.AddError(err)
|
||||
}
|
||||
|
||||
// 按 type 分组
|
||||
result := map[string][]mapx.M{
|
||||
"income": {},
|
||||
"expense": {},
|
||||
}
|
||||
|
||||
for _, cat := range userCategories {
|
||||
switch cat.GetInt("type") {
|
||||
case 0:
|
||||
result["income"] = append(result["income"], cat)
|
||||
case 1:
|
||||
result["expense"] = append(result["expense"], cat)
|
||||
}
|
||||
}
|
||||
|
||||
return response.Success(c).Data(result).Send()
|
||||
}
|
||||
@@ -3,6 +3,7 @@ package api
|
||||
import (
|
||||
"base-go-v2/internal/api/auth"
|
||||
"base-go-v2/internal/api/middleware"
|
||||
"base-go-v2/internal/api/money"
|
||||
"base-go-v2/internal/config"
|
||||
"base-go-v2/internal/router"
|
||||
)
|
||||
@@ -17,5 +18,7 @@ func InitAppRouter() *router.Router {
|
||||
r.Use(middleware.AuthMiddleware()).ExcludePaths("/auth/**")
|
||||
|
||||
auth.InitAuthRouter(r)
|
||||
money.InitMoneyRouter(r)
|
||||
|
||||
return r
|
||||
}
|
||||
Reference in new issue
Block a user