@@ -40,5 +40,6 @@ | |||||
确保安装了所需的依赖,然后运行以下命令: | 确保安装了所需的依赖,然后运行以下命令: | ||||
```bash | ```bash | ||||
.\cmd_db.bat HelloWorld | |||||
.\cmd_dao.bat HelloWorld | |||||
.\cmd_db.bat hello_world ---> 自动生成模型类 | |||||
.\cmd_dao.bat hello_world ---> 自动生成接口类 | |||||
cmd_implement.bat hello_world ---> 自动生成实现类 |
@@ -3,12 +3,14 @@ setlocal | |||||
set "BasePath=./" | set "BasePath=./" | ||||
REM 假设已经提供了接口名作为参数 | |||||
set "InterfaceName=%~1" | |||||
REM 假设已经提供了文件名作为参数 | |||||
set "FileName=%~1" | |||||
REM 将接口名转换为小写并设置最终文件名 | |||||
for /f "delims=" %%i in ('powershell -Command "('%InterfaceName%').ToLower()"') do set "LowerInterfaceName=%%i" | |||||
set "FinalFile=%BasePath%src\dao\%LowerInterfaceName%_dao.go" | |||||
REM 将参数设置最终文件名 | |||||
set "FinalFile=%BasePath%src\dao\%FileName%_dao.go" | |||||
REM 将文件名转换成大驼峰格式并设置成最终接口名 | |||||
for /f "delims=" %%i in ('powershell -File "%BasePath%etc\ps\ConvertToUpperCase.ps1" -inputString "%FileName%"') do set "InterfaceName=%%i" | |||||
REM 使用 PowerShell 替换接口名称,并指定 UTF-8 编码 | REM 使用 PowerShell 替换接口名称,并指定 UTF-8 编码 | ||||
powershell -Command "(Get-Content '%BasePath%etc\template\template_interface.tpl') -replace 'DemoInterface', '%InterfaceName%' | Out-File -FilePath '%BasePath%temp_interface.go' -Encoding UTF8" | powershell -Command "(Get-Content '%BasePath%etc\template\template_interface.tpl') -replace 'DemoInterface', '%InterfaceName%' | Out-File -FilePath '%BasePath%temp_interface.go' -Encoding UTF8" | ||||
@@ -16,5 +18,6 @@ powershell -Command "(Get-Content '%BasePath%etc\template\template_interface.tpl | |||||
REM 如果需要,将临时文件重命名为最终文件(取决于move Y?N) | REM 如果需要,将临时文件重命名为最终文件(取决于move Y?N) | ||||
move /Y "%BasePath%temp_interface.go" "%FinalFile%" | move /Y "%BasePath%temp_interface.go" "%FinalFile%" | ||||
echo Interface file %FileName%_dao.go generated successfully. | |||||
endlocal | endlocal | ||||
echo Interface file %LowerInterfaceName%_dao.go generated successfully. |
@@ -0,0 +1,23 @@ | |||||
@echo off | |||||
setlocal | |||||
set "BasePath=./" | |||||
REM 假设已经提供了文件名作为参数 | |||||
set "FileName=%~1" | |||||
REM 将参数设置最终文件名 | |||||
set "FinalFile=%BasePath%src\implement\%FileName%_db.go" | |||||
REM 将文件名转换成大驼峰格式并设置成最终实现类名 | |||||
for /f "delims=" %%i in ('powershell -File "%BasePath%etc\ps\ConvertToUpperCase.ps1" -inputString "%FileName%"') do set "ImplementName=%%i" | |||||
REM 使用 PowerShell 替换接口名称,并指定 UTF-8 编码 | |||||
powershell -Command "(Get-Content '%BasePath%etc\template\template_implement.tpl') -replace 'DemoImplement', '%ImplementName%' | Out-File -FilePath '%BasePath%temp_implement.go' -Encoding UTF8" | |||||
REM 如果需要,将临时文件重命名为最终文件(取决于move Y?N) | |||||
move /Y "%BasePath%temp_implement.go" "%FinalFile%" | |||||
echo Implement file %FileName%_dao.go generated successfully. | |||||
endlocal |
@@ -1,17 +1,9 @@ | |||||
package {{.Models}} | |||||
@echo off | |||||
setlocal | |||||
{{$ilen := len .Imports}} | |||||
{{if gt $ilen 0}} | |||||
import ( | |||||
{{range .Imports}}"{{.}}"{{end}} | |||||
) | |||||
{{end}} | |||||
set "inputString=hello_world" | |||||
for /f "delims=" %%i in ('powershell -File "ConvertToUpperCase.ps1" -inputString "%inputString%"') do set "outputVar=%%i" | |||||
{{range .Tables}} | |||||
type {{Mapper .Name}} struct { | |||||
{{$table := .}} | |||||
{{range .ColumnsSeq}}{{$col := $table.GetColumn .}} {{Mapper $col.Name}} {{Type $col}} {{Tag $table $col}} | |||||
{{end}} | |||||
} | |||||
{{end}} | |||||
echo %outputVar% | |||||
endlocal |
@@ -0,0 +1,9 @@ | |||||
param($inputString) | |||||
$words = $inputString.Split('_') | |||||
$outputString = "" | |||||
foreach ($word in $words) { | |||||
$outputString += $word.Substring(0,1).ToUpper() + $word.Substring(1).ToLower() + "" | |||||
} | |||||
$outputString = $outputString.TrimEnd() | |||||
$outputString -replace ' ', '' # 如果想要没有空格的字符串,取消注释这行代码 | |||||
$outputString |
@@ -0,0 +1,14 @@ | |||||
package implement | |||||
import ( | |||||
"code.fnuoos.com/go_rely_warehouse/zyos_model.git/src/dao" | |||||
"xorm.io/xorm" | |||||
) | |||||
type DemoImplementDb struct { | |||||
Db *xorm.Engine | |||||
} | |||||
func NewDemoImplementDb(engine *xorm.Engine) dao.DemoImplementDao { | |||||
return &DemoImplementDb{Db: engine} | |||||
} |
@@ -1,8 +1,6 @@ | |||||
package dao | package dao | ||||
import ( | |||||
"code.fnuoos.com/go_rely_warehouse/zyos_model.git/src/models" | |||||
) | |||||
import "code.fnuoos.com/go_rely_warehouse/zyos_model.git/src/models" | |||||
type HappyOrchardSeedDao interface { | type HappyOrchardSeedDao interface { | ||||
GetHappyOrchardSeed(id int) (m *models.HappyOrchardSeed, err error) | GetHappyOrchardSeed(id int) (m *models.HappyOrchardSeed, err error) |
@@ -0,0 +1,5 @@ | |||||
package dao | |||||
type HelloWorldDao interface { | |||||
//TODO:: You can add specific method definitions here | |||||
} |
@@ -0,0 +1,14 @@ | |||||
package implement | |||||
import ( | |||||
"code.fnuoos.com/go_rely_warehouse/zyos_model.git/src/dao" | |||||
"xorm.io/xorm" | |||||
) | |||||
type DemoDb struct { | |||||
Db *xorm.Engine | |||||
} | |||||
func NewDemoDb(engine *xorm.Engine) dao.DemoDao { | |||||
return &DemoDb{Db: engine} | |||||
} |
@@ -7,15 +7,15 @@ import ( | |||||
"xorm.io/xorm" | "xorm.io/xorm" | ||||
) | ) | ||||
type happyOrchardRewardDb struct { | |||||
type HappyOrchardRewardDb struct { | |||||
Db *xorm.Engine | Db *xorm.Engine | ||||
} | } | ||||
func NewHappyOrchardRewardDb(engine *xorm.Engine) dao.HappyOrchardRewardDao { | func NewHappyOrchardRewardDb(engine *xorm.Engine) dao.HappyOrchardRewardDao { | ||||
return &happyOrchardRewardDb{Db: engine} | |||||
return &HappyOrchardRewardDb{Db: engine} | |||||
} | } | ||||
func (h happyOrchardRewardDb) GetHappyOrchardReward(id int) (m *models.HappyOrchardReward, err error) { | |||||
func (h HappyOrchardRewardDb) GetHappyOrchardReward(id int) (m *models.HappyOrchardReward, err error) { | |||||
m = new(models.HappyOrchardReward) | m = new(models.HappyOrchardReward) | ||||
has, err := h.Db.Where("id =?", id).Get(m) | has, err := h.Db.Where("id =?", id).Get(m) | ||||
if err != nil { | if err != nil { | ||||
@@ -7,15 +7,15 @@ import ( | |||||
"xorm.io/xorm" | "xorm.io/xorm" | ||||
) | ) | ||||
type happyOrchardRewardExchangeRecordsDb struct { | |||||
type HappyOrchardRewardExchangeRecordsDb struct { | |||||
Db *xorm.Engine | Db *xorm.Engine | ||||
} | } | ||||
func NewHappyOrchardRewardExchangeRecordsDb123456(engine *xorm.Engine) dao.HappyOrchardRewardExchangeRecordsDao { | |||||
return &happyOrchardRewardExchangeRecordsDb{Db: engine} | |||||
func NewHappyOrchardRewardExchangeRecordsDb(engine *xorm.Engine) dao.HappyOrchardRewardExchangeRecordsDao { | |||||
return &HappyOrchardRewardExchangeRecordsDb{Db: engine} | |||||
} | } | ||||
func (h happyOrchardRewardExchangeRecordsDb) GetHappyOrchardRewardExchangeRecords(id int) (m *models.HappyOrchardRewardExchangeRecords, err error) { | |||||
func (h HappyOrchardRewardExchangeRecordsDb) GetHappyOrchardRewardExchangeRecords(id int) (m *models.HappyOrchardRewardExchangeRecords, err error) { | |||||
//TODO implement me | //TODO implement me | ||||
m = new(models.HappyOrchardRewardExchangeRecords) | m = new(models.HappyOrchardRewardExchangeRecords) | ||||
has, err := h.Db.Where("id =?", id).Get(m) | has, err := h.Db.Where("id =?", id).Get(m) | ||||
@@ -28,7 +28,7 @@ func (h happyOrchardRewardExchangeRecordsDb) GetHappyOrchardRewardExchangeRecord | |||||
return m, nil | return m, nil | ||||
} | } | ||||
func (h happyOrchardRewardExchangeRecordsDb) FindHappyOrchardRewardExchangeRecordsByUid(uid int) (mm *[]models.HappyOrchardRewardExchangeRecords, err error) { | |||||
func (h HappyOrchardRewardExchangeRecordsDb) FindHappyOrchardRewardExchangeRecordsByUid(uid int) (mm *[]models.HappyOrchardRewardExchangeRecords, err error) { | |||||
//TODO implement me | //TODO implement me | ||||
var m []models.HappyOrchardRewardExchangeRecords | var m []models.HappyOrchardRewardExchangeRecords | ||||
if err := h.Db.Where("uid =?", uid).Desc("id").Find(&m); err != nil { | if err := h.Db.Where("uid =?", uid).Desc("id").Find(&m); err != nil { | ||||
@@ -7,15 +7,15 @@ import ( | |||||
"xorm.io/xorm" | "xorm.io/xorm" | ||||
) | ) | ||||
type happyOrchardSeedDb struct { | |||||
type HappyOrchardSeedDb struct { | |||||
Db *xorm.Engine | Db *xorm.Engine | ||||
} | } | ||||
func NewHappyOrchardSeedDb(engine *xorm.Engine) dao.HappyOrchardSeedDao { | func NewHappyOrchardSeedDb(engine *xorm.Engine) dao.HappyOrchardSeedDao { | ||||
return &happyOrchardSeedDb{Db: engine} | |||||
return &HappyOrchardSeedDb{Db: engine} | |||||
} | } | ||||
func (h happyOrchardSeedDb) GetHappyOrchardSeed(id int) (m *models.HappyOrchardSeed, err error) { | |||||
func (h HappyOrchardSeedDb) GetHappyOrchardSeed(id int) (m *models.HappyOrchardSeed, err error) { | |||||
m = new(models.HappyOrchardSeed) | m = new(models.HappyOrchardSeed) | ||||
has, err := h.Db.Where("id =?", id).Get(m) | has, err := h.Db.Where("id =?", id).Get(m) | ||||
if err != nil { | if err != nil { | ||||
@@ -0,0 +1,14 @@ | |||||
package implement | |||||
import ( | |||||
"code.fnuoos.com/go_rely_warehouse/zyos_model.git/src/dao" | |||||
"xorm.io/xorm" | |||||
) | |||||
type HelloWorldDb struct { | |||||
Db *xorm.Engine | |||||
} | |||||
func NewHelloWorldDb(engine *xorm.Engine) dao.HelloWorldDao { | |||||
return &HelloWorldDb{Db: engine} | |||||
} |
@@ -29,7 +29,6 @@ type HappyOrchardBasicSetting struct { | |||||
UpgradeRewardWaterDroplet int `json:"upgrade_reward_water_droplet" xorm:"not null default 0 comment('升级奖励水滴') INT(11)"` | UpgradeRewardWaterDroplet int `json:"upgrade_reward_water_droplet" xorm:"not null default 0 comment('升级奖励水滴') INT(11)"` | ||||
ReplaceSeedNums int `json:"replace_seed_nums" xorm:"not null default 0 comment('更换种子次数') INT(11)"` | ReplaceSeedNums int `json:"replace_seed_nums" xorm:"not null default 0 comment('更换种子次数') INT(11)"` | ||||
StageNameCustom string `json:"stage_name_custom" xorm:"not null comment('阶段自定义') TEXT"` | StageNameCustom string `json:"stage_name_custom" xorm:"not null comment('阶段自定义') TEXT"` | ||||
LevelRules string `json:"level_rules" xorm:"not null comment('等级规则') TEXT"` | |||||
VirtualRewardIsAutoSend int `json:"virtual_reward_is_auto_send" xorm:"not null default 0 comment('虚拟奖品是否自动发放(1:是 2:否)') TINYINT(1)"` | VirtualRewardIsAutoSend int `json:"virtual_reward_is_auto_send" xorm:"not null default 0 comment('虚拟奖品是否自动发放(1:是 2:否)') TINYINT(1)"` | ||||
CreateAt string `json:"create_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | CreateAt string `json:"create_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | ||||
UpdateAt string `json:"update_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | UpdateAt string `json:"update_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | ||||
@@ -1,12 +1,18 @@ | |||||
package models | package models | ||||
type HappyOrchardSeed struct { | type HappyOrchardSeed struct { | ||||
Id int `json:"id" xorm:"not null pk autoincr comment('自增id') INT(11)"` | |||||
Name string `json:"name" xorm:"not null default '' comment('名称') VARCHAR(255)"` | |||||
WaterNums int `json:"water_nums" xorm:"not null default 0 comment('所需水滴数') INT(11)"` | |||||
SeedImgUrl string `json:"seed_img_url" xorm:"not null default '' comment('种子图片地址') VARCHAR(255)"` | |||||
SeedMatureImgUrl string `json:"seed_mature_img_url" xorm:"not null default '' comment('种子成熟后图片地址') VARCHAR(255)"` | |||||
Sort int `json:"sort" xorm:"not null default 0 comment('排序') INT(11)"` | |||||
CreateAt string `json:"create_at" xorm:"not null default 'CURRENT_TIMESTAMP' comment('创建时间') DATETIME"` | |||||
UpdateAt string `json:"update_at" xorm:"not null default 'CURRENT_TIMESTAMP' comment('更新时间') DATETIME"` | |||||
Id int `json:"id" xorm:"not null pk autoincr comment('自增id') INT(11)"` | |||||
Name string `json:"name" xorm:"not null default '' comment('名称') VARCHAR(255)"` | |||||
WaterNums int `json:"water_nums" xorm:"not null default 0 comment('所需水滴数') INT(11)"` | |||||
SeedImgUrl string `json:"seed_img_url" xorm:"not null default '' comment('种子图片地址') VARCHAR(255)"` | |||||
SeedMatureImgUrl string `json:"seed_mature_img_url" xorm:"not null default '' comment('种子成熟后图片地址') VARCHAR(255)"` | |||||
Sort int `json:"sort" xorm:"not null default 0 comment('排序') INT(11)"` | |||||
NeedWatersNumForStage0 int `json:"need_waters_num_for_stage_0" xorm:"not null default 0 comment('阶段1所需水滴数') INT(11)"` | |||||
NeedWatersNumForStage1 int `json:"need_waters_num_for_stage_1" xorm:"not null default 0 comment('阶段2所需水滴数') INT(11)"` | |||||
NeedWatersNumForStage2 int `json:"need_waters_num_for_stage_2" xorm:"not null default 0 comment('阶段3所需水滴数') INT(11)"` | |||||
NeedWatersNumForStage3 int `json:"need_waters_num_for_stage_3" xorm:"not null default 0 comment('阶段4所需水滴数') INT(11)"` | |||||
NeedWatersNumForStage4 int `json:"need_waters_num_for_stage_4" xorm:"not null default 0 comment('阶段5所需水滴数') INT(11)"` | |||||
NeedWatersNumForStage5 int `json:"need_waters_num_for_stage_5" xorm:"not null default 0 comment('阶段6所需水滴数') INT(11)"` | |||||
CreateAt string `json:"create_at" xorm:"not null default 'CURRENT_TIMESTAMP' comment('创建时间') DATETIME"` | |||||
UpdateAt string `json:"update_at" xorm:"not null default 'CURRENT_TIMESTAMP' comment('更新时间') DATETIME"` | |||||
} | } |