diff --git a/apps/visual/api/rulechain.go b/apps/visual/api/rulechain.go index e3febb8..05292fb 100644 --- a/apps/visual/api/rulechain.go +++ b/apps/visual/api/rulechain.go @@ -31,12 +31,11 @@ func (r *RuleChainApi) RuleChainTest(rc *restfulx.ReqCtx) { // GetVisualRuleChainList WorkInfo列表数据 func (p *RuleChainApi) GetVisualRuleChainList(rc *restfulx.ReqCtx) { - data := entity.VisualRuleChain{} pageNum := restfulx.QueryInt(rc, "pageNum", 1) pageSize := restfulx.QueryInt(rc, "pageSize", 10) - data.RuleName = restfulx.QueryParam(rc, "ruleName") - data.Status = restfulx.QueryParam(rc, "status") - + ruleName := restfulx.QueryParam(rc, "ruleName") + status := restfulx.QueryParam(rc, "status") + data := entity.VisualRuleChain{RuleName: ruleName, Status: status} list, total := p.VisualRuleChainApp.FindListPage(pageNum, pageSize, data) rc.ResData = model.ResultPage{ diff --git a/apps/visual/api/visual_screen_gropu.go b/apps/visual/api/visual_screen_gropu.go new file mode 100644 index 0000000..312e37d --- /dev/null +++ b/apps/visual/api/visual_screen_gropu.go @@ -0,0 +1,65 @@ +package api + +// ========================================================================== +// 生成日期:2023-04-10 02:51:27 +0000 UTC +// 生成路径: apps/visual/api/visual_screen_group.go +// 生成人:panda +// ========================================================================== +import ( + "github.com/XM-GO/PandaKit/model" + "github.com/XM-GO/PandaKit/restfulx" + "strings" + + "pandax/apps/visual/entity" + "pandax/apps/visual/services" +) + +type VisualScreenGroupApi struct { + VisualScreenGroupApp services.VisualScreenGroupModel +} + +// GetVisualScreenGroupList DataSetGroup列表数据 +func (p *VisualScreenGroupApi) GetVisualScreenGroupList(rc *restfulx.ReqCtx) { + data := entity.VisualScreenGroup{} + pageNum := restfulx.QueryInt(rc, "pageNum", 1) + pageSize := restfulx.QueryInt(rc, "pageSize", 10) + data.Name = restfulx.QueryParam(rc, "name") + + list, total := p.VisualScreenGroupApp.FindListPage(pageNum, pageSize, data) + + rc.ResData = model.ResultPage{ + Total: total, + PageNum: int64(pageNum), + PageSize: int64(pageNum), + Data: list, + } +} + +// GetVisualScreenGroup 获取DataSetGroup +func (p *VisualScreenGroupApi) GetVisualScreenGroup(rc *restfulx.ReqCtx) { + id := restfulx.PathParam(rc, "id") + rc.ResData = p.VisualScreenGroupApp.FindOne(id) +} + +// InsertVisualScreenGroup 添加DataSetGroup +func (p *VisualScreenGroupApi) InsertVisualScreenGroup(rc *restfulx.ReqCtx) { + var data entity.VisualScreenGroup + restfulx.BindQuery(rc, &data) + + p.VisualScreenGroupApp.Insert(data) +} + +// UpdateVisualScreenGroup 修改DataSetGroup +func (p *VisualScreenGroupApi) UpdateVisualScreenGroup(rc *restfulx.ReqCtx) { + var data entity.VisualScreenGroup + restfulx.BindQuery(rc, &data) + + p.VisualScreenGroupApp.Update(data) +} + +// DeleteVisualScreenGroup 删除DataSetGroup +func (p *VisualScreenGroupApi) DeleteVisualScreenGroup(rc *restfulx.ReqCtx) { + id := restfulx.PathParam(rc, "id") + ids := strings.Split(id, ",") + p.VisualScreenGroupApp.Delete(ids) +} diff --git a/apps/visual/entity/rulechain.go b/apps/visual/entity/rulechain.go index 1f50b87..bb6926c 100644 --- a/apps/visual/entity/rulechain.go +++ b/apps/visual/entity/rulechain.go @@ -8,10 +8,10 @@ type VisualRuleChain struct { UserId string `gorm:"userId;type:varchar(64);comment:用户Id" json:"userId"` RuleId string `gorm:"primary_key;" json:"ruleId"` RuleName string `gorm:"ruleName;type:varchar(50);comment:名称" json:"ruleName"` - RuleDataJson string `gorm:"ruleDataJson;type:varchar(50);comment:Json数据" json:"ruleDataJson"` - RuleBase64 string `gorm:"ruleBase64;type:varchar(50);comment:Base64缩略图" json:"ruleBase64"` //缩略图 base64 - RuleRemark string `gorm:"ruleRemark;type:varchar(50);comment:说明" json:"ruleRemark"` - Status string `gorm:"status;type:varchar(50);comment:状态" json:"status"` + RuleDataJson string `gorm:"ruleDataJson;type:text;comment:Json数据" json:"ruleDataJson"` + RuleBase64 string `gorm:"ruleBase64;type:text;comment:Base64缩略图" json:"ruleBase64"` //缩略图 base64 + RuleRemark string `gorm:"ruleRemark;type:varchar(256);comment:说明" json:"ruleRemark"` + Status string `gorm:"status;type:varchar(1);comment:状态" json:"status"` Creator string `json:"creator"` //创建者 model.BaseModel } diff --git a/apps/visual/entity/screen.go b/apps/visual/entity/screen.go index ade7061..9e2271d 100644 --- a/apps/visual/entity/screen.go +++ b/apps/visual/entity/screen.go @@ -2,6 +2,17 @@ package entity import "github.com/XM-GO/PandaKit/model" +type VisualScreenGroup struct { + Id string `gorm:"id;primary_key;type:varchar(64);comment:Id" json:"id"` + Name string `gorm:"name;type:varchar(64);comment:分组名称" json:"name"` + Pid string `gorm:"pid;type:varchar(64);comment:父Id" json:"pid"` + Level int64 `gorm:"level;type:int;comment:等级" json:"level"` +} + +func (VisualScreenGroup) TableName() string { + return "visual_screen_group" +} + type VisualScreen struct { UserId string `gorm:"userId;type:varchar(64);comment:用户Id" json:"userId"` ScreenId string `gorm:"primary_key;" json:"screenId"` diff --git a/apps/visual/router/dataset_group.go b/apps/visual/router/dataset_group.go index da63a55..d1ff746 100644 --- a/apps/visual/router/dataset_group.go +++ b/apps/visual/router/dataset_group.go @@ -22,7 +22,7 @@ func InitVisualDataSetGroupRouter(container *restful.Container) { } ws := new(restful.WebService) - ws.Path("/visual/datasetgroup").Produces(restful.MIME_JSON) + ws.Path("/visual/dataset/group").Produces(restful.MIME_JSON) tags := []string{"datasetgroup"} ws.Route(ws.GET("/list").To(func(request *restful.Request, response *restful.Response) { diff --git a/apps/visual/router/rulechain.go b/apps/visual/router/rulechain.go index 267b50e..a565701 100644 --- a/apps/visual/router/rulechain.go +++ b/apps/visual/router/rulechain.go @@ -7,10 +7,13 @@ import ( "github.com/emicklei/go-restful/v3" "pandax/apps/visual/api" "pandax/apps/visual/entity" + "pandax/apps/visual/services" ) func InitRuleChainRouter(container *restful.Container) { - s := &api.RuleChainApi{} + s := &api.RuleChainApi{ + VisualRuleChainApp: services.VisualRuleChainModelDao, + } ws := new(restful.WebService) ws.Path("/visual/rulechain").Produces(restful.MIME_JSON) diff --git a/apps/visual/router/visual_screen_group.go b/apps/visual/router/visual_screen_group.go new file mode 100644 index 0000000..d1221bf --- /dev/null +++ b/apps/visual/router/visual_screen_group.go @@ -0,0 +1,70 @@ +// ========================================================================== +// 生成日期:2023-04-10 02:51:27 +0000 UTC +// 生成路径: apps/visual/router/visual_data_set_group.go +// 生成人:panda +// ========================================================================== +package router + +import ( + "github.com/XM-GO/PandaKit/model" + "github.com/XM-GO/PandaKit/restfulx" + "pandax/apps/visual/api" + "pandax/apps/visual/entity" + "pandax/apps/visual/services" + + restfulspec "github.com/emicklei/go-restful-openapi/v2" + "github.com/emicklei/go-restful/v3" +) + +func InitVisualScreenGroupRouter(container *restful.Container) { + s := &api.VisualScreenGroupApi{ + VisualScreenGroupApp: services.VisualScreenGroupModelDao, + } + + ws := new(restful.WebService) + ws.Path("/visual/screen/group").Produces(restful.MIME_JSON) + tags := []string{"datasetgroup"} + + ws.Route(ws.GET("/list").To(func(request *restful.Request, response *restful.Response) { + restfulx.NewReqCtx(request, response).WithLog("获取ScreenGroup分页列表").Handle(s.GetVisualScreenGroupList) + }). + Doc("获取ScreenGroup分页列表"). + Param(ws.QueryParameter("pageNum", "页数").Required(true).DataType("int")). + Param(ws.QueryParameter("pageSize", "每页条数").Required(true).DataType("int")). + Metadata(restfulspec.KeyOpenAPITags, tags). + Writes(model.ResultPage{}). + Returns(200, "OK", model.ResultPage{})) + + ws.Route(ws.GET("/{id}").To(func(request *restful.Request, response *restful.Response) { + restfulx.NewReqCtx(request, response).WithLog("获取ScreenGroup信息").Handle(s.GetVisualScreenGroup) + }). + Doc("获取ScreenGroup信息"). + Param(ws.PathParameter("", "Id").DataType("string")). + Metadata(restfulspec.KeyOpenAPITags, tags). + Writes(entity.VisualScreenGroup{}). // on the response + Returns(200, "OK", entity.VisualScreenGroup{}). + Returns(404, "Not Found", nil)) + + ws.Route(ws.POST("").To(func(request *restful.Request, response *restful.Response) { + restfulx.NewReqCtx(request, response).WithLog("添加ScreenGroup信息").Handle(s.InsertVisualScreenGroup) + }). + Doc("添加ScreenGroup信息"). + Metadata(restfulspec.KeyOpenAPITags, tags). + Reads(entity.VisualScreenGroup{})) + + ws.Route(ws.PUT("").To(func(request *restful.Request, response *restful.Response) { + restfulx.NewReqCtx(request, response).WithLog("修改ScreenGroup信息").Handle(s.UpdateVisualScreenGroup) + }). + Doc("修改ScreenGroup信息"). + Metadata(restfulspec.KeyOpenAPITags, tags). + Reads(entity.VisualScreenGroup{})) + + ws.Route(ws.DELETE("/{}").To(func(request *restful.Request, response *restful.Response) { + restfulx.NewReqCtx(request, response).WithLog("删除ScreenGroup信息").Handle(s.DeleteVisualScreenGroup) + }). + Doc("删除ScreenGroup信息"). + Metadata(restfulspec.KeyOpenAPITags, tags). + Param(ws.PathParameter("", "多id 1,2,3").DataType("string"))) + + container.Add(ws) +} diff --git a/apps/visual/services/cisual_screen_group.go b/apps/visual/services/cisual_screen_group.go new file mode 100644 index 0000000..def023f --- /dev/null +++ b/apps/visual/services/cisual_screen_group.go @@ -0,0 +1,87 @@ +// ========================================================================== +// 生成日期:2023-04-10 02:51:27 +0000 UTC +// 生成路径: apps/visual/services/visual_data_set_group.go +// 生成人:panda +// ========================================================================== + +package services + +import ( + "github.com/XM-GO/PandaKit/biz" + "pandax/apps/visual/entity" + "pandax/pkg/global" +) + +type ( + VisualScreenGroupModel interface { + Insert(data entity.VisualScreenGroup) *entity.VisualScreenGroup + FindOne(id string) *entity.VisualScreenGroup + FindListPage(page, pageSize int, data entity.VisualScreenGroup) (*[]entity.VisualScreenGroup, int64) + FindList(data entity.VisualScreenGroup) *[]entity.VisualScreenGroup + Update(data entity.VisualScreenGroup) *entity.VisualScreenGroup + Delete(ids []string) + } + + screenGroupModelImpl struct { + table string + } +) + +var VisualScreenGroupModelDao VisualScreenGroupModel = &screenGroupModelImpl{ + table: `visual_screen_group`, +} + +func (m *screenGroupModelImpl) Insert(data entity.VisualScreenGroup) *entity.VisualScreenGroup { + err := global.Db.Table(m.table).Create(&data).Error + biz.ErrIsNil(err, "添加数据集分组失败") + return &data +} + +func (m *screenGroupModelImpl) FindOne(id string) *entity.VisualScreenGroup { + resData := new(entity.VisualScreenGroup) + db := global.Db.Table(m.table).Where("id = ?", id) + err := db.First(resData).Error + biz.ErrIsNil(err, "查询数据集分组失败") + return resData +} + +func (m *screenGroupModelImpl) FindListPage(page, pageSize int, data entity.VisualScreenGroup) (*[]entity.VisualScreenGroup, int64) { + list := make([]entity.VisualScreenGroup, 0) + var total int64 = 0 + offset := pageSize * (page - 1) + db := global.Db.Table(m.table) + // 此处填写 where参数判断 + if data.Name != "" { + db = db.Where("name like ?", "%"+data.Name+"%") + } + if data.Pid != "" { + db = db.Where("pid = ?", data.Pid) + } + err := db.Count(&total).Error + err = db.Order("create_time").Limit(pageSize).Offset(offset).Find(&list).Error + biz.ErrIsNil(err, "查询数据集分组分页列表失败") + return &list, total +} + +func (m *screenGroupModelImpl) FindList(data entity.VisualScreenGroup) *[]entity.VisualScreenGroup { + list := make([]entity.VisualScreenGroup, 0) + db := global.Db.Table(m.table) + // 此处填写 where参数判断 + if data.Name != "" { + db = db.Where("name like ?", "%"+data.Name+"%") + } + if data.Pid != "" { + db = db.Where("pid = ?", data.Pid) + } + biz.ErrIsNil(db.Order("create_time").Find(&list).Error, "查询数据集分组列表失败") + return &list +} + +func (m *screenGroupModelImpl) Update(data entity.VisualScreenGroup) *entity.VisualScreenGroup { + biz.ErrIsNil(global.Db.Table(m.table).Updates(&data).Error, "修改数据集分组失败") + return &data +} + +func (m *screenGroupModelImpl) Delete(s []string) { + biz.ErrIsNil(global.Db.Table(m.table).Delete(&entity.VisualScreenGroup{}, "id in (?)", s).Error, "删除数据集分组失败") +} diff --git a/apps/visual/services/dataset_group.go b/apps/visual/services/dataset_group.go index d9af210..ac38988 100644 --- a/apps/visual/services/dataset_group.go +++ b/apps/visual/services/dataset_group.go @@ -15,11 +15,11 @@ import ( type ( VisualDataSetGroupModel interface { Insert(data entity.VisualDataSetGroup) *entity.VisualDataSetGroup - FindOne(string) *entity.VisualDataSetGroup + FindOne(id string) *entity.VisualDataSetGroup FindListPage(page, pageSize int, data entity.VisualDataSetGroup) (*[]entity.VisualDataSetGroup, int64) FindList(data entity.VisualDataSetGroup) *[]entity.VisualDataSetGroup Update(data entity.VisualDataSetGroup) *entity.VisualDataSetGroup - Delete(s []string) + Delete(ids []string) } datasetgroupModelImpl struct { @@ -82,6 +82,6 @@ func (m *datasetgroupModelImpl) Update(data entity.VisualDataSetGroup) *entity.V return &data } -func (m *datasetgroupModelImpl) Delete(s []string) { - biz.ErrIsNil(global.Db.Table(m.table).Delete(&entity.VisualDataSetGroup{}, "id in (?)", s).Error, "删除数据集分组失败") +func (m *datasetgroupModelImpl) Delete(ids []string) { + biz.ErrIsNil(global.Db.Table(m.table).Delete(&entity.VisualDataSetGroup{}, "id in (?)", ids).Error, "删除数据集分组失败") } diff --git a/pkg/initialize/table.go b/pkg/initialize/table.go index 1f911a6..d8c0515 100644 --- a/pkg/initialize/table.go +++ b/pkg/initialize/table.go @@ -54,6 +54,7 @@ func InitTable() { visualEntity.VisualDataSetTable{}, visualEntity.VisualDataSetField{}, visualEntity.VisualScreen{}, + visualEntity.VisualScreenGroup{}, visualEntity.VisualRuleChain{}, ), "初始化表失败")