初始
This commit is contained in:
85
api/v1/common/source/source.go
Normal file
85
api/v1/common/source/source.go
Normal file
@ -0,0 +1,85 @@
|
||||
package source
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
"github.com/gogf/gf/v2/net/ghttp"
|
||||
"github.com/gogf/gf/v2/os/gctx"
|
||||
"github.com/tiger1103/gfast/v3/api/v1/common/globe"
|
||||
"github.com/tiger1103/gfast/v3/api/v1/common/source/clt"
|
||||
"github.com/tiger1103/gfast/v3/api/v1/common/source/pak"
|
||||
"github.com/tiger1103/gfast/v3/database"
|
||||
"github.com/tiger1103/gfast/v3/internal/app/system/dao"
|
||||
"path"
|
||||
)
|
||||
|
||||
func InitSource(group *ghttp.RouterGroup) {
|
||||
ReadAllSourceFromDB()
|
||||
group.Group("/data/service", func(group *ghttp.RouterGroup) {
|
||||
group.Bind(new(LoadSource))
|
||||
})
|
||||
}
|
||||
|
||||
type LoadSource struct {
|
||||
}
|
||||
type LoadSourceReq struct {
|
||||
g.Meta `path:"load-compact-service" summary:"引擎加载资源" method:"post" tags:"资源相关" `
|
||||
SourceID string `json:"source_id" v:"required" dc:"资源id"`
|
||||
}
|
||||
type LoadSourceRes struct {
|
||||
Type string `json:"type"`
|
||||
Url string `json:"url"`
|
||||
database.SourceInfo
|
||||
}
|
||||
|
||||
func (LoadSource) LoadCompactService(ctx context.Context, req *LoadSourceReq) (res *LoadSourceRes, err error) {
|
||||
obj := database.GetSourceDB(req.SourceID)
|
||||
res = &LoadSourceRes{
|
||||
Url: obj.Url,
|
||||
Type: obj.Type,
|
||||
}
|
||||
res.North = obj.Info.North
|
||||
res.West = obj.Info.West
|
||||
res.East = obj.Info.East
|
||||
res.South = obj.Info.South
|
||||
res.ProFile = obj.Info.ProFile
|
||||
res.TilingScheme = obj.Info.TilingScheme
|
||||
res.MaxLevel = obj.Info.MaxLevel
|
||||
res.MinLevel = obj.Info.MinLevel
|
||||
return
|
||||
}
|
||||
|
||||
func ReadAllSourceFromDB() {
|
||||
var sources []database.SOURCE
|
||||
var gfb []database.SOURCE
|
||||
g.DB().Model(&database.SOURCE{})
|
||||
ctx := gctx.New()
|
||||
//模型
|
||||
dao.QianqiMoxing.Ctx(ctx).Scan(&sources)
|
||||
//光伏板
|
||||
dao.QianqiGuangfuban.Ctx(ctx).Scan(&gfb)
|
||||
sources = append(sources, gfb...)
|
||||
for _, v := range sources {
|
||||
suffix := path.Ext(v.SourcePath)
|
||||
switch suffix {
|
||||
case globe.CLT:
|
||||
err, obj := clt.OpenClt(v.SourcePath, v.SourceID)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
}
|
||||
marshal, _ := json.Marshal(obj)
|
||||
fmt.Println(string(marshal), v.SourceID)
|
||||
break
|
||||
case globe.PAK:
|
||||
err, obj := pak.OpenPak(v.SourcePath, v.SourceID)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
}
|
||||
marshal, _ := json.Marshal(obj)
|
||||
fmt.Println(string(marshal), v.SourceID)
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user