Skip to content

Commit d4268e1

Browse files
author
奇淼(piexlmax
authored
Merge pull request #532 from flipped-aurora/gva_gormv2_dev
Gva gormv2 dev
2 parents 3eed609 + 4b159fe commit d4268e1

File tree

19 files changed

+100
-228
lines changed

19 files changed

+100
-228
lines changed

server/api/v1/sys_initdb.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55
"gin-vue-admin/model/request"
66
"gin-vue-admin/model/response"
77
"gin-vue-admin/service"
8+
89
"go.uber.org/zap"
910

1011
"github.com/gin-gonic/gin"
@@ -18,8 +19,8 @@ import (
1819
// @Router /init/initdb [post]
1920
func InitDB(c *gin.Context) {
2021
if global.GVA_DB != nil {
21-
global.GVA_LOG.Error("非法访问!")
22-
response.FailWithMessage("非法访问", c)
22+
global.GVA_LOG.Error("已存在数据库配置!")
23+
response.FailWithMessage("已存在数据库配置", c)
2324
return
2425
}
2526
var dbInfo request.InitDB
@@ -30,7 +31,7 @@ func InitDB(c *gin.Context) {
3031
}
3132
if err := service.InitDB(dbInfo); err != nil {
3233
global.GVA_LOG.Error("自动创建数据库失败!", zap.Any("err", err))
33-
response.FailWithMessage("自动创建数据库失败,请查看后台日志", c)
34+
response.FailWithMessage("自动创建数据库失败,请查看后台日志,检查后在进行初始化", c)
3435
return
3536
}
3637
response.OkWithData("自动创建数据库成功", c)

server/api/v1/sys_user.go

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,15 @@ import (
2323
// @Success 200 {string} string "{"success":true,"data":{},"msg":"登陆成功"}"
2424
// @Router /base/login [post]
2525
func Login(c *gin.Context) {
26-
var L request.Login
27-
_ = c.ShouldBindJSON(&L)
28-
if err := utils.Verify(L, utils.LoginVerify); err != nil {
26+
var l request.Login
27+
_ = c.ShouldBindJSON(&l)
28+
if err := utils.Verify(l, utils.LoginVerify); err != nil {
2929
response.FailWithMessage(err.Error(), c)
3030
return
3131
}
32-
if store.Verify(L.CaptchaId, L.Captcha, true) {
33-
U := &model.SysUser{Username: L.Username, Password: L.Password}
34-
if err, user := service.Login(U); err != nil {
32+
if store.Verify(l.CaptchaId, l.Captcha, true) {
33+
u := &model.SysUser{Username: l.Username, Password: l.Password}
34+
if err, user := service.Login(u); err != nil {
3535
global.GVA_LOG.Error("登陆失败! 用户名不存在或者密码错误!", zap.Any("err", err))
3636
response.FailWithMessage("用户名不存在或者密码错误", c)
3737
} else {
@@ -112,13 +112,13 @@ func tokenNext(c *gin.Context, user model.SysUser) {
112112
// @Success 200 {string} string "{"success":true,"data":{},"msg":"注册成功"}"
113113
// @Router /user/register [post]
114114
func Register(c *gin.Context) {
115-
var R request.Register
116-
_ = c.ShouldBindJSON(&R)
117-
if err := utils.Verify(R, utils.RegisterVerify); err != nil {
115+
var r request.Register
116+
_ = c.ShouldBindJSON(&r)
117+
if err := utils.Verify(r, utils.RegisterVerify); err != nil {
118118
response.FailWithMessage(err.Error(), c)
119119
return
120120
}
121-
user := &model.SysUser{Username: R.Username, NickName: R.NickName, Password: R.Password, HeaderImg: R.HeaderImg, AuthorityId: R.AuthorityId}
121+
user := &model.SysUser{Username: r.Username, NickName: r.NickName, Password: r.Password, HeaderImg: r.HeaderImg, AuthorityId: r.AuthorityId}
122122
err, userReturn := service.Register(*user)
123123
if err != nil {
124124
global.GVA_LOG.Error("注册失败!", zap.Any("err", err))
@@ -142,8 +142,8 @@ func ChangePassword(c *gin.Context) {
142142
response.FailWithMessage(err.Error(), c)
143143
return
144144
}
145-
U := &model.SysUser{Username: user.Username, Password: user.Password}
146-
if err, _ := service.ChangePassword(U, user.NewPassword); err != nil {
145+
u := &model.SysUser{Username: user.Username, Password: user.Password}
146+
if err, _ := service.ChangePassword(u, user.NewPassword); err != nil {
147147
global.GVA_LOG.Error("修改失败!", zap.Any("err", err))
148148
response.FailWithMessage("修改失败,原密码与当前账户不符", c)
149149
} else {

server/config.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ captcha:
5353
img-height: 80
5454

5555
# mysql connect configuration
56+
# 未初始化之前请勿手动修改数据库信息!!!如果一定要手动初始化请看(https://www.gin-vue-admin.com/docs/first)
5657
mysql:
5758
path: ''
5859
config: ''

server/model/sys_auto_code.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ type AutoCodeStruct struct {
77
StructName string `json:"structName"` // Struct名称
88
TableName string `json:"tableName"` // 表名
99
PackageName string `json:"packageName"` // 文件名称
10+
HumpPackageName string `json:"humpPackageName"` // go文件名称
1011
Abbreviation string `json:"abbreviation"` // Struct简称
1112
Description string `json:"description"` // Struct中文名称
1213
AutoCreateApiToSql bool `json:"autoCreateApiToSql"` // 是否自动创建api

server/router/sys_base.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,11 @@ package router
22

33
import (
44
"gin-vue-admin/api/v1"
5-
"gin-vue-admin/middleware"
65
"github.com/gin-gonic/gin"
76
)
87

98
func InitBaseRouter(Router *gin.RouterGroup) (R gin.IRoutes) {
10-
BaseRouter := Router.Group("base").Use(middleware.NeedInit())
9+
BaseRouter := Router.Group("base")
1110
{
1211
BaseRouter.POST("login", v1.Login)
1312
BaseRouter.POST("captcha", v1.Captcha)

server/service/exa_excel_parse.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ func ParseInfoList2Excel(infoList []model.SysBaseMenu, filePath string) error {
2424
menu.Component,
2525
})
2626
}
27-
excel.SaveAs(filePath)
28-
return nil
27+
err := excel.SaveAs(filePath)
28+
return err
2929
}
3030

3131
func ParseExcel2InfoList() ([]model.SysBaseMenu, error) {

server/service/jwt_black_list.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ func JsonInBlacklist(jwtList model.JwtBlacklist) (err error) {
2626
//@return: bool
2727

2828
func IsBlacklist(jwt string) bool {
29-
isNotFound := errors.Is(global.GVA_DB.Where("jwt = ?", jwt).First(&model.JwtBlacklist{}).Error, gorm.ErrRecordNotFound)
29+
err := global.GVA_DB.Where("jwt = ?", jwt).First(&model.JwtBlacklist{}).Error
30+
isNotFound := errors.Is(err, gorm.ErrRecordNotFound)
3031
return !isNotFound
3132
}
3233

server/service/sys_auto_code.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -360,8 +360,15 @@ func getNeedList(autoCode *model.AutoCodeStruct) (dataList []tplData, fileList [
360360
origFileName := strings.TrimSuffix(trimBase[lastSeparator+1:], ".tpl")
361361
firstDot := strings.Index(origFileName, ".")
362362
if firstDot != -1 {
363+
var fileName string
364+
if origFileName[firstDot:] !=".go"{
365+
fileName = autoCode.PackageName+origFileName[firstDot:]
366+
}else{
367+
fileName = autoCode.HumpPackageName+origFileName[firstDot:]
368+
}
369+
363370
dataList[index].autoCodePath = filepath.Join(autoPath, trimBase[:lastSeparator], autoCode.PackageName,
364-
origFileName[:firstDot], autoCode.PackageName+origFileName[firstDot:])
371+
origFileName[:firstDot], fileName)
365372
}
366373
}
367374

server/service/sys_initdb.go

Lines changed: 11 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,11 @@ import (
99
"gin-vue-admin/model/request"
1010
"gin-vue-admin/source"
1111
"gin-vue-admin/utils"
12+
"path/filepath"
13+
1214
"github.com/spf13/viper"
1315
"gorm.io/driver/mysql"
1416
"gorm.io/gorm"
15-
"path/filepath"
1617
)
1718

1819
//@author: [songzhibin97](https://github.com/songzhibin97)
@@ -71,13 +72,6 @@ func initDB(InitDBFunctions ...model.InitDBFunc) (err error) {
7172
//@return: error
7273

7374
func InitDB(conf request.InitDB) error {
74-
BaseMysql := config.Mysql{
75-
Path: "",
76-
Dbname: "",
77-
Username: "",
78-
Password: "",
79-
Config: "charset=utf8mb4&parseTime=True&loc=Local",
80-
}
8175

8276
if conf.Host == "" {
8377
conf.Host = "127.0.0.1"
@@ -100,15 +94,11 @@ func InitDB(conf request.InitDB) error {
10094
Config: "charset=utf8mb4&parseTime=True&loc=Local",
10195
}
10296

103-
if err := writeConfig(global.GVA_VP, MysqlConfig); err != nil {
104-
return err
105-
}
106-
m := global.GVA_CONFIG.Mysql
107-
if m.Dbname == "" {
97+
if MysqlConfig.Dbname == "" {
10898
return nil
10999
}
110100

111-
linkDns := m.Username + ":" + m.Password + "@tcp(" + m.Path + ")/" + m.Dbname + "?" + m.Config
101+
linkDns := MysqlConfig.Username + ":" + MysqlConfig.Password + "@tcp(" + MysqlConfig.Path + ")/" + MysqlConfig.Dbname + "?" + MysqlConfig.Config
112102
mysqlConfig := mysql.Config{
113103
DSN: linkDns, // DSN data source name
114104
DefaultStringSize: 191, // string 类型字段的默认长度
@@ -118,15 +108,11 @@ func InitDB(conf request.InitDB) error {
118108
SkipInitializeWithVersion: false, // 根据版本自动配置
119109
}
120110
if db, err := gorm.Open(mysql.New(mysqlConfig), &gorm.Config{DisableForeignKeyConstraintWhenMigrating: true}); err != nil {
121-
//global.GVA_LOG.Error("MySQL启动异常!", zap.Any("err", err))
122-
//os.Exit(0)
123-
//return nil
124-
_ = writeConfig(global.GVA_VP, BaseMysql)
125111
return nil
126112
} else {
127113
sqlDB, _ := db.DB()
128-
sqlDB.SetMaxIdleConns(m.MaxIdleConns)
129-
sqlDB.SetMaxOpenConns(m.MaxOpenConns)
114+
sqlDB.SetMaxIdleConns(MysqlConfig.MaxIdleConns)
115+
sqlDB.SetMaxOpenConns(MysqlConfig.MaxOpenConns)
130116
global.GVA_DB = db
131117
}
132118

@@ -147,7 +133,7 @@ func InitDB(conf request.InitDB) error {
147133
model.SysOperationRecord{},
148134
)
149135
if err != nil {
150-
_ = writeConfig(global.GVA_VP, BaseMysql)
136+
global.GVA_DB = nil
151137
return err
152138
}
153139
err = initDB(
@@ -163,7 +149,10 @@ func InitDB(conf request.InitDB) error {
163149
source.File,
164150
source.BaseMenu)
165151
if err != nil {
166-
_ = writeConfig(global.GVA_VP, BaseMysql)
152+
global.GVA_DB = nil
153+
return err
154+
}
155+
if err = writeConfig(global.GVA_VP, MysqlConfig); err != nil {
167156
return err
168157
}
169158
global.GVA_CONFIG.AutoCode.Root, _ = filepath.Abs("..")

server/utils/upload/aliyun_oss.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ func (*AliyunOSS) UploadFile(file *multipart.FileHeader) (string, string, error)
2525
global.GVA_LOG.Error("function file.Open() Failed", zap.Any("err", openError.Error()))
2626
return "", "", errors.New("function file.Open() Failed, err:" + openError.Error())
2727
}
28-
28+
defer f.Close() // 创建文件 defer 关闭
2929
// 上传阿里云路径 文件名格式 自己可以改 建议保证唯一性
3030
yunFileTmpPath := filepath.Join("uploads", time.Now().Format("2006-01-02")) + "/" + file.Filename
3131

0 commit comments

Comments
 (0)