diff --git a/apps/develop/api/gen.go b/apps/develop/api/gen.go index e04bb48..d0dcda8 100644 --- a/apps/develop/api/gen.go +++ b/apps/develop/api/gen.go @@ -1,48 +1,30 @@ package api import ( + "github.com/XM-GO/PandaKit/restfulx" "pandax/apps/develop/gen" "pandax/apps/develop/services" - "pandax/base/ginx" ) type GenApi struct { GenTableApp services.SysGenTableModel } -// @Summary 代码视图 -// @Description 获取JSON -// @Tags 工具 / 生成工具 -// @Param tableId path int true "tableId" -// @Success 200 {string} string "{"code": 200, "data": [...]}" -// @Router /develop/code/gen/preview/{tableId} [get] -// @Security X-TOKEN -func (e *GenApi) Preview(rc *ginx.ReqCtx) { - tableId := ginx.PathParamInt(rc.GinCtx, "tableId") +// Preview 代码视图 +func (e *GenApi) Preview(rc *restfulx.ReqCtx) { + tableId := restfulx.PathParamInt(rc, "tableId") rc.ResData = gen.Preview(int64(tableId)) } -// @Summary 代码生成 -// @Description 获取JSON -// @Tags 工具 / 生成工具 -// @Param tableId path int true "tableId" -// @Success 200 {string} string "{"code": 200, "data": [...]}" -// @Router /develop/code/gen/code/{tableId} [get] -// @Security X-TOKEN -func (e *GenApi) GenCode(rc *ginx.ReqCtx) { - tableId := ginx.PathParamInt(rc.GinCtx, "tableId") +// GenCode 代码生成 +func (e *GenApi) GenCode(rc *restfulx.ReqCtx) { + tableId := restfulx.PathParamInt(rc, "tableId") gen.GenCode(int64(tableId)) } -// @Summary 配置生成 -// @Description 生成API和菜单 -// @Tags 工具 / 生成工具 -// @Param tableId path int true "tableId" -// @Success 200 {string} string "{"code": 200, "data": [...]}" -// @Router /develop/code/gen/configure/{tableId} [get] -// @Security X-TOKEN -func (e *GenApi) GenConfigure(rc *ginx.ReqCtx) { - tableId := ginx.PathParamInt(rc.GinCtx, "tableId") - menuId := ginx.QueryInt(rc.GinCtx, "menuId", 0) +// GenConfigure 配置生成 +func (e *GenApi) GenConfigure(rc *restfulx.ReqCtx) { + tableId := restfulx.PathParamInt(rc, "tableId") + menuId := restfulx.QueryInt(rc, "menuId", 0) gen.GenConfigure(tableId, menuId) } diff --git a/apps/develop/api/table.go b/apps/develop/api/table.go index a100e6c..3abd4c8 100644 --- a/apps/develop/api/table.go +++ b/apps/develop/api/table.go @@ -1,11 +1,13 @@ package api import ( + "github.com/XM-GO/PandaKit/model" + "github.com/XM-GO/PandaKit/restfulx" + "github.com/XM-GO/PandaKit/utils" + "pandax/apps/develop/api/vo" "pandax/apps/develop/entity" "pandax/apps/develop/gen" "pandax/apps/develop/services" - "pandax/base/ginx" - "pandax/base/utils" "strings" "sync" ) @@ -14,104 +16,65 @@ type GenTableApi struct { GenTableApp services.SysGenTableModel } -// @Summary 分页列表数据 / page list data -// @Description 数据库表列分页列表 / database table column page list -// @Tags 工具 / 生成工具 -// @Param tableName query string false "tableName / 数据表名称" -// @Param pageSize query int false "pageSize / 页条数" -// @Param pageNum query int false "pageNum / 页码" -// @Success 200 {string} string "{"code": 200, "data": [...]}" -// @Router /develop/code/table/db/list [get] -func (g *GenTableApi) GetDBTableList(rc *ginx.ReqCtx) { - pageNum := ginx.QueryInt(rc.GinCtx, "pageNum", 1) - pageSize := ginx.QueryInt(rc.GinCtx, "pageSize", 10) - tableName := rc.GinCtx.Query("tableName") +// GetDBTableList 分页列表数据 / page list data +func (g *GenTableApi) GetDBTableList(rc *restfulx.ReqCtx) { + pageNum := restfulx.QueryInt(rc, "pageNum", 1) + pageSize := restfulx.QueryInt(rc, "pageSize", 10) + tableName := restfulx.QueryParam(rc, "tableName") + list, total := g.GenTableApp.FindDbTablesListPage(pageNum, pageSize, entity.DBTables{TableName: tableName}) - rc.ResData = map[string]any{ - "data": list, - "total": total, - "pageNum": pageNum, - "pageSize": pageSize, + rc.ResData = model.ResultPage{ + Total: total, + PageNum: int64(pageNum), + PageSize: int64(pageNum), + Data: list, } } -// @Summary 分页列表数据 -// @Description 生成表分页列表 -// @Tags 工具 / 生成工具 -// @Param tableName query string false "tableName / 数据表名称" -// @Param tableComment query string false "tableComment / 数据表描述" -// @Param pageSize query int false "pageSize / 页条数" -// @Param pageIndex query int false "pageIndex / 页码" -// @Success 200 {string} string "{"code": 200, "data": [...]}" -// @Router /develop/code/table/list [get] -func (g *GenTableApi) GetTablePage(rc *ginx.ReqCtx) { - pageNum := ginx.QueryInt(rc.GinCtx, "pageNum", 1) - pageSize := ginx.QueryInt(rc.GinCtx, "pageSize", 10) - tableName := rc.GinCtx.Query("tableName") - tableComment := rc.GinCtx.Query("tableComment") +// GetTablePage 分页列表数据 +func (g *GenTableApi) GetTablePage(rc *restfulx.ReqCtx) { + pageNum := restfulx.QueryInt(rc, "pageNum", 1) + pageSize := restfulx.QueryInt(rc, "pageSize", 10) + tableName := restfulx.QueryParam(rc, "tableName") + tableComment := restfulx.QueryParam(rc, "tableComment") + list, total := g.GenTableApp.FindListPage(pageNum, pageSize, entity.DevGenTable{TableName: tableName, TableComment: tableComment}) - rc.ResData = map[string]any{ - "data": list, - "total": total, - "pageNum": pageNum, - "pageSize": pageSize, + rc.ResData = model.ResultPage{ + Total: total, + PageNum: int64(pageNum), + PageSize: int64(pageNum), + Data: list, } } -// @Summary 获取表信息 -// @Description 获取JSON -// @Tags 工具 / 生成工具 -// @Param tableId path int true "tableId" -// @Success 200 {string} string "{"code": 200, "data": [...]}" -// @Router /develop/code/table/info/{tableId} [get] -// @Security Bearer -func (g *GenTableApi) GetTableInfo(rc *ginx.ReqCtx) { - tableId := ginx.PathParamInt(rc.GinCtx, "tableId") +// GetTableInfo 获取表信息 +func (g *GenTableApi) GetTableInfo(rc *restfulx.ReqCtx) { + tableId := restfulx.PathParamInt(rc, "tableId") result := g.GenTableApp.FindOne(entity.DevGenTable{TableId: int64(tableId)}, true) - mp := make(map[string]any) - mp["list"] = result.Columns - mp["info"] = result - rc.ResData = mp + rc.ResData = vo.TableInfoVo{ + List: result.Columns, + Info: *result, + } } -// @Summary 获取表信息 -// @Description 获取JSON -// @Tags 工具 / 生成工具 -// @Param tableName query string false "tableName / 数据表名称" -// @Success 200 {string} string "{"code": 200, "data": [...]}" -// @Router /develop/code/table/info/tableName [get] -// @Security X-TOKEN -func (g *GenTableApi) GetTableInfoByName(rc *ginx.ReqCtx) { - tableName := rc.GinCtx.Query("tableName") +// GetTableInfoByName 获取表信息 +func (g *GenTableApi) GetTableInfoByName(rc *restfulx.ReqCtx) { + tableName := restfulx.QueryParam(rc, "tableName") result := g.GenTableApp.FindOne(entity.DevGenTable{TableName: tableName}, true) - mp := make(map[string]any) - mp["list"] = result.Columns - mp["info"] = result - rc.ResData = mp + rc.ResData = vo.TableInfoVo{ + List: result.Columns, + Info: *result, + } } -// @Summary 获取树表信息 -// @Description 获取JSON -// @Tags 工具 / 生成工具 -// @Success 200 {string} string "{"code": 200, "data": [...]}" -// @Router /develop/code/table/tableTree [get] -// @Security X-TOKEN -func (g *GenTableApi) GetTableTree(rc *ginx.ReqCtx) { +// GetTableTree 获取树表信息 +func (g *GenTableApi) GetTableTree(rc *restfulx.ReqCtx) { rc.ResData = g.GenTableApp.FindTree(entity.DevGenTable{}) } -// @Summary 添加表结构 -// @Description 添加表结构 -// @Tags 工具 / 生成工具 -// @Accept application/json -// @Product application/json -// @Param tableName query string false "tableName / 数据表名称" -// @Success 200 {string} string "{"code": 200, "message": "添加成功"}" -// @Success 200 {string} string "{"code": -1, "message": "添加失败"}" -// @Router /develop/code/table [post] -// @Security Bearer -func (g *GenTableApi) Insert(rc *ginx.ReqCtx) { - tablesList := strings.Split(rc.GinCtx.Query("tables"), ",") +// Insert 添加表结构 +func (g *GenTableApi) Insert(rc *restfulx.ReqCtx) { + tablesList := strings.Split(restfulx.QueryParam(rc, "tables"), ",") wg := sync.WaitGroup{} for i := 0; i < len(tablesList); i++ { @@ -126,32 +89,16 @@ func (g *GenTableApi) Insert(rc *ginx.ReqCtx) { wg.Wait() } -// @Summary 修改表结构 -// @Description 修改表结构 -// @Tags 工具 / 生成工具 -// @Accept application/json -// @Product application/json -// @Param data body entity.DevGenTable true "body" -// @Success 200 {string} string "{"code": 200, "message": "添加成功"}" -// @Success 200 {string} string "{"code": -1, "message": "添加失败"}" -// @Router /develop/code/table [put] -// @Security Bearer -func (g *GenTableApi) Update(rc *ginx.ReqCtx) { +// Update 修改表结构 +func (g *GenTableApi) Update(rc *restfulx.ReqCtx) { var data entity.DevGenTable - ginx.BindJsonAndValid(rc.GinCtx, &data) + restfulx.BindJsonAndValid(rc, &data) g.GenTableApp.Update(data) } -// Delete -// @Summary 删除表结构 -// @Description 删除表结构 -// @Tags 工具 / 生成工具 -// @Param tableId path int true "tableId" -// @Success 200 {string} string "{"code": 200, "message": "删除成功"}" -// @Success 200 {string} string "{"code": -1, "message": "删除失败"}" -// @Router /develop/code/table/{tableId} [delete] -func (g *GenTableApi) Delete(rc *ginx.ReqCtx) { - tableIds := rc.GinCtx.Param("tableId") +// Delete 删除表结构 +func (g *GenTableApi) Delete(rc *restfulx.ReqCtx) { + tableIds := restfulx.PathParam(rc, "tableId") group := utils.IdsStrToIdsIntGroup(tableIds) g.GenTableApp.Delete(group) } diff --git a/apps/develop/gen/gen.go b/apps/develop/gen/gen.go index 839d103..1856c2a 100644 --- a/apps/develop/gen/gen.go +++ b/apps/develop/gen/gen.go @@ -6,7 +6,6 @@ import ( "github.com/XM-GO/PandaKit/biz" "github.com/XM-GO/PandaKit/utils" "github.com/kakuilan/kgo" - "log" "os" "pandax/apps/develop/entity" "pandax/apps/develop/services" @@ -380,7 +379,7 @@ func Preview(tableId int64) map[string]any { mp := make(map[string]any) mp["template/entity.template"] = b1.String() - mp["template/service.template"] = b2.String() + mp["template/services.template"] = b2.String() mp["template/api.template"] = b3.String() mp["template/router.template"] = b4.String() mp["template/jsApi.template"] = b5.String() @@ -398,7 +397,7 @@ func GenCode(tableId int64) { t1, err := template.ParseFiles("resource/template/go/entity.template") biz.ErrIsNil(err, "entity模版读取失败!") - t2, err := template.ParseFiles("resource/template/go/service.template") + t2, err := template.ParseFiles("resource/template/go/services.template") biz.ErrIsNil(err, "service模版读取失败!") t3, err := template.ParseFiles("resource/template/go/api.template") @@ -473,7 +472,6 @@ func GenConfigure(tableId, parentId int) { CreateBy: "admin", } insert := sysServices.SysMenuModelDao.Insert(menu) - log.Println("insert", insert.MenuId) //新增按钮 menuA := sysEntity.SysMenu{ ParentId: insert.MenuId, diff --git a/apps/develop/router/gen.go b/apps/develop/router/gen.go index 1c46dd2..9d10a19 100644 --- a/apps/develop/router/gen.go +++ b/apps/develop/router/gen.go @@ -1,28 +1,50 @@ package router import ( - "github.com/gin-gonic/gin" + "github.com/XM-GO/PandaKit/restfulx" + restfulspec "github.com/emicklei/go-restful-openapi/v2" + "github.com/emicklei/go-restful/v3" "pandax/apps/develop/api" "pandax/apps/develop/services" - "pandax/base/ginx" ) -func InitGenRouter(router *gin.RouterGroup) { +func InitGenRouter(container *restful.Container) { + // 登录日志 - genApi := &api.GenApi{ + s := &api.GenApi{ GenTableApp: services.DevGenTableModelDao, } - gen := router.Group("gen") - gen.GET("preview/:tableId", func(c *gin.Context) { - ginx.NewReqCtx(c).WithLog("获取生成代码视图").Handle(genApi.Preview) - }) + ws := new(restful.WebService) + ws.Path("/develop/code/gen").Produces(restful.MIME_JSON) + tags := []string{"codegen"} - gen.GET("code/:tableId", func(c *gin.Context) { - ginx.NewReqCtx(c).WithLog("生成代码").Handle(genApi.GenCode) - }) + ws.Route(ws.GET("/preview/{tableId}").To(func(request *restful.Request, response *restful.Response) { + restfulx.NewReqCtx(request, response).WithLog("获取生成代码视图").Handle(s.Preview) + }). + Doc("获取生成代码视图"). + Param(ws.PathParameter("tableId", "Id").DataType("int").DefaultValue("1")). + Metadata(restfulspec.KeyOpenAPITags, tags). + Returns(200, "OK", map[string]any{}). + Returns(404, "Not Found", nil)) - gen.GET("configure/:tableId", func(c *gin.Context) { - ginx.NewReqCtx(c).WithLog("生成配置").Handle(genApi.GenConfigure) - }) + ws.Route(ws.GET("/code/{tableId}").To(func(request *restful.Request, response *restful.Response) { + restfulx.NewReqCtx(request, response).WithLog("生成代码").Handle(s.GenCode) + }). + Doc("生成代码"). + Param(ws.PathParameter("tableId", "Id").DataType("int").DefaultValue("1")). + Metadata(restfulspec.KeyOpenAPITags, tags). + Returns(200, "OK", map[string]any{}). + Returns(404, "Not Found", nil)) + + ws.Route(ws.GET("/configure/{tableId}").To(func(request *restful.Request, response *restful.Response) { + restfulx.NewReqCtx(request, response).WithLog("生成配置").Handle(s.GenConfigure) + }). + Doc("生成配置"). + Param(ws.PathParameter("tableId", "Id").DataType("int").DefaultValue("1")). + Metadata(restfulspec.KeyOpenAPITags, tags). + Returns(200, "OK", map[string]any{}). + Returns(404, "Not Found", nil)) + + container.Add(ws) } diff --git a/apps/develop/router/table.go b/apps/develop/router/table.go index 9bb504b..d073090 100644 --- a/apps/develop/router/table.go +++ b/apps/develop/router/table.go @@ -1,48 +1,81 @@ package router import ( - "github.com/gin-gonic/gin" + "github.com/XM-GO/PandaKit/model" + "github.com/XM-GO/PandaKit/restfulx" + restfulspec "github.com/emicklei/go-restful-openapi/v2" + "github.com/emicklei/go-restful/v3" "pandax/apps/develop/api" + "pandax/apps/develop/api/vo" + "pandax/apps/develop/entity" "pandax/apps/develop/services" - "pandax/base/ginx" ) -func InitGenTableRouter(router *gin.RouterGroup) { +func InitGenTableRouter(container *restful.Container) { // 登录日志 - genApi := &api.GenTableApi{ + s := &api.GenTableApi{ GenTableApp: services.DevGenTableModelDao, } - gen := router.Group("table") - gen.GET("/db/list", func(c *gin.Context) { - ginx.NewReqCtx(c).WithLog("获取数据库列表").Handle(genApi.GetDBTableList) - }) + ws := new(restful.WebService) + ws.Path("/develop/code/table").Produces(restful.MIME_JSON) + tags := []string{"codetable"} - gen.GET("list", func(c *gin.Context) { - ginx.NewReqCtx(c).WithLog("获取表列表").Handle(genApi.GetTablePage) - }) + ws.Route(ws.GET("/db/list").To(func(request *restful.Request, response *restful.Response) { + restfulx.NewReqCtx(request, response).WithLog("获取数据库列表").Handle(s.GetDBTableList) + }). + Doc("获取数据库列表"). + Metadata(restfulspec.KeyOpenAPITags, tags). + Returns(200, "OK", model.ResultPage{})) - gen.GET("/info/tableName", func(c *gin.Context) { - ginx.NewReqCtx(c).WithLog("获取表信息By tableName").Handle(genApi.GetTableInfoByName) - }) + ws.Route(ws.GET("/list").To(func(request *restful.Request, response *restful.Response) { + restfulx.NewReqCtx(request, response).WithLog("获取表列表").Handle(s.GetTablePage) + }). + Doc("获取表列表"). + Metadata(restfulspec.KeyOpenAPITags, tags). + Returns(200, "OK", model.ResultPage{})) - gen.GET("info/:tableId", func(c *gin.Context) { - ginx.NewReqCtx(c).WithLog("获取表信息").Handle(genApi.GetTableInfo) - }) + ws.Route(ws.GET("/info/tableName").To(func(request *restful.Request, response *restful.Response) { + restfulx.NewReqCtx(request, response).WithLog("获取表信息By tableName").Handle(s.GetTableInfoByName) + }). + Doc("获取表信息By tableName"). + Metadata(restfulspec.KeyOpenAPITags, tags). + Returns(200, "OK", vo.TableInfoVo{})) - gen.GET("tableTree", func(c *gin.Context) { - ginx.NewReqCtx(c).WithLog("获取表树").Handle(genApi.GetTableTree) - }) + ws.Route(ws.GET("/info/{tableId}").To(func(request *restful.Request, response *restful.Response) { + restfulx.NewReqCtx(request, response).WithLog("获取表信息").Handle(s.GetTableInfo) + }). + Doc("获取表信息"). + Param(ws.PathParameter("tenantId", "租户Id").DataType("int").DefaultValue("1")). + Metadata(restfulspec.KeyOpenAPITags, tags). + Returns(200, "OK", vo.TableInfoVo{}). + Returns(404, "Not Found", nil)) - gen.POST("", func(c *gin.Context) { - ginx.NewReqCtx(c).WithLog("新增表").Handle(genApi.Insert) - }) + ws.Route(ws.GET("/tableTree").To(func(request *restful.Request, response *restful.Response) { + restfulx.NewReqCtx(request, response).WithLog("获取表树").Handle(s.GetTableTree) + }). + Doc("获取表树"). + Metadata(restfulspec.KeyOpenAPITags, tags). + Returns(200, "OK", []entity.DevGenTable{})) - gen.PUT("", func(c *gin.Context) { - ginx.NewReqCtx(c).WithLog("修改表").Handle(genApi.Update) - }) + ws.Route(ws.POST("").To(func(request *restful.Request, response *restful.Response) { + restfulx.NewReqCtx(request, response).WithLog("新增表").Handle(s.Insert) + }). + Doc("新增表"). + Metadata(restfulspec.KeyOpenAPITags, tags)) // from the request - gen.DELETE(":tableId", func(c *gin.Context) { - ginx.NewReqCtx(c).WithLog("删除表").Handle(genApi.Delete) - }) + ws.Route(ws.PUT("").To(func(request *restful.Request, response *restful.Response) { + restfulx.NewReqCtx(request, response).WithLog("修改表").Handle(s.Update) + }). + Doc("修改表"). + Metadata(restfulspec.KeyOpenAPITags, tags)) // from the request + + ws.Route(ws.DELETE("/{tableId}").To(func(request *restful.Request, response *restful.Response) { + restfulx.NewReqCtx(request, response).WithLog("删除表").Handle(s.Delete) + }). + Doc("删除表"). + Metadata(restfulspec.KeyOpenAPITags, tags). + Param(ws.PathParameter("tableId", "多id 1,2,3").DataType("string"))) + + container.Add(ws) } diff --git a/apps/develop/services/gen_table.go b/apps/develop/services/gen_table.go index 0514c6f..5f279c4 100644 --- a/apps/develop/services/gen_table.go +++ b/apps/develop/services/gen_table.go @@ -53,7 +53,7 @@ func (m *devGenTableModelImpl) FindDbTablesListPage(page, pageSize int, data ent if global.Conf.Server.DbType == "postgresql" { db = db.Where("table_schema = ? ", "public") } - db = db.Where("table_name NOT LIKE 'dev_%'") + //db = db.Where("table_name NOT LIKE 'dev_%'") if data.TableName != "" { db = db.Where("table_name like ?", "%"+data.TableName+"%") } diff --git a/apps/flow/api/flow_work_classify.go b/apps/flow/api/flow_work_classify.go deleted file mode 100644 index 1c5731a..0000000 --- a/apps/flow/api/flow_work_classify.go +++ /dev/null @@ -1,65 +0,0 @@ -package api - -// ========================================================================== -// 生成日期:2022-08-24 22:02:33 +0800 CST -// 生成路径: apps/flow/api/flow_work_classify.go -// 生成人:panda -// ========================================================================== -import ( - "github.com/XM-GO/PandaKit/model" - "github.com/XM-GO/PandaKit/restfulx" - - "github.com/XM-GO/PandaKit/utils" - "pandax/apps/flow/entity" - "pandax/apps/flow/services" -) - -type FlowWorkClassifyApi struct { - FlowWorkClassifyApp services.FlowWorkClassifyModel -} - -// GetFlowWorkClassifyList Classify列表数据 -func (p *FlowWorkClassifyApi) GetFlowWorkClassifyList(rc *restfulx.ReqCtx) { - data := entity.FlowWorkClassify{} - pageNum := restfulx.QueryInt(rc, "pageNum", 1) - pageSize := restfulx.QueryInt(rc, "pageSize", 10) - data.Name = restfulx.QueryParam(rc, "name") - - list, total := p.FlowWorkClassifyApp.FindListPage(pageNum, pageSize, data) - - rc.ResData = model.ResultPage{ - Total: total, - PageNum: int64(pageNum), - PageSize: int64(pageNum), - Data: list, - } -} - -// GetFlowWorkClassify 获取Classify -func (p *FlowWorkClassifyApi) GetFlowWorkClassify(rc *restfulx.ReqCtx) { - id := restfulx.PathParamInt(rc, "id") - p.FlowWorkClassifyApp.FindOne(int64(id)) -} - -// InsertFlowWorkClassify 添加Classify -func (p *FlowWorkClassifyApi) InsertFlowWorkClassify(rc *restfulx.ReqCtx) { - var data entity.FlowWorkClassify - restfulx.BindQuery(rc, &data) - data.Creator = int(rc.LoginAccount.UserId) - p.FlowWorkClassifyApp.Insert(data) -} - -// UpdateFlowWorkClassify 修改Classify -func (p *FlowWorkClassifyApi) UpdateFlowWorkClassify(rc *restfulx.ReqCtx) { - var data entity.FlowWorkClassify - restfulx.BindQuery(rc, &data) - - p.FlowWorkClassifyApp.Update(data) -} - -// DeleteFlowWorkClassify 删除Classify -func (p *FlowWorkClassifyApi) DeleteFlowWorkClassify(rc *restfulx.ReqCtx) { - id := restfulx.PathParam(rc, "id") - ids := utils.IdsStrToIdsIntGroup(id) - p.FlowWorkClassifyApp.Delete(ids) -} diff --git a/apps/flow/api/flow_work_info.go b/apps/flow/api/flow_work_info.go deleted file mode 100644 index a2be547..0000000 --- a/apps/flow/api/flow_work_info.go +++ /dev/null @@ -1,66 +0,0 @@ -package api - -// ========================================================================== -// 生成日期:2023-03-29 20:01:11 +0800 CST -// 生成路径: apps/flow/api/rulechain.go -// 生成人:panda -// ========================================================================== -import ( - "github.com/XM-GO/PandaKit/model" - "github.com/XM-GO/PandaKit/restfulx" - - "github.com/XM-GO/PandaKit/utils" - "pandax/apps/flow/entity" - "pandax/apps/flow/services" -) - -type FlowWorkInfoApi struct { - FlowWorkInfoApp services.FlowWorkInfoModel -} - -// GetFlowWorkInfoList WorkInfo列表数据 -func (p *FlowWorkInfoApi) GetFlowWorkInfoList(rc *restfulx.ReqCtx) { - data := entity.FlowWorkInfo{} - pageNum := restfulx.QueryInt(rc, "pageNum", 1) - pageSize := restfulx.QueryInt(rc, "pageSize", 10) - data.Name = restfulx.QueryParam(rc, "name") - data.Icon = restfulx.QueryParam(rc, "icon") - - list, total := p.FlowWorkInfoApp.FindListPage(pageNum, pageSize, data) - - rc.ResData = model.ResultPage{ - Total: total, - PageNum: int64(pageNum), - PageSize: int64(pageNum), - Data: list, - } -} - -// GetFlowWorkInfo 获取WorkInfo -func (p *FlowWorkInfoApi) GetFlowWorkInfo(rc *restfulx.ReqCtx) { - id := restfulx.PathParamInt(rc, "id") - rc.ResData = p.FlowWorkInfoApp.FindOne(int64(id)) -} - -// InsertFlowWorkInfo 添加WorkInfo -func (p *FlowWorkInfoApi) InsertFlowWorkInfo(rc *restfulx.ReqCtx) { - var data entity.FlowWorkInfo - restfulx.BindQuery(rc, &data) - data.Creator = int(rc.LoginAccount.UserId) - p.FlowWorkInfoApp.Insert(data) -} - -// UpdateFlowWorkInfo 修改WorkInfo -func (p *FlowWorkInfoApi) UpdateFlowWorkInfo(rc *restfulx.ReqCtx) { - var data entity.FlowWorkInfo - restfulx.BindQuery(rc, &data) - - p.FlowWorkInfoApp.Update(data) -} - -// DeleteFlowWorkInfo 删除WorkInfo -func (p *FlowWorkInfoApi) DeleteFlowWorkInfo(rc *restfulx.ReqCtx) { - id := restfulx.PathParam(rc, "id") - ids := utils.IdsStrToIdsIntGroup(id) - p.FlowWorkInfoApp.Delete(ids) -} diff --git a/apps/flow/api/flow_work_templates.go b/apps/flow/api/flow_work_templates.go deleted file mode 100644 index 07de6c1..0000000 --- a/apps/flow/api/flow_work_templates.go +++ /dev/null @@ -1,64 +0,0 @@ -package api - -// ========================================================================== -// 生成日期:2023-03-29 19:46:55 +0800 CST -// 生成路径: apps/flow/api/flow_work_templates.go -// 生成人:panda -// ========================================================================== -import ( - "github.com/XM-GO/PandaKit/model" - "github.com/XM-GO/PandaKit/restfulx" - - "github.com/XM-GO/PandaKit/utils" - "pandax/apps/flow/entity" - "pandax/apps/flow/services" -) - -type FlowWorkTemplatesApi struct { - FlowWorkTemplatesApp services.FlowWorkTemplatesModel -} - -// GetFlowWorkTemplatesList WorkTemplates列表数据 -func (p *FlowWorkTemplatesApi) GetFlowWorkTemplatesList(rc *restfulx.ReqCtx) { - data := entity.FlowWorkTemplates{} - pageNum := restfulx.QueryInt(rc, "pageNum", 1) - pageSize := restfulx.QueryInt(rc, "pageSize", 10) - data.Name = restfulx.QueryParam(rc, "name") - - list, total := p.FlowWorkTemplatesApp.FindListPage(pageNum, pageSize, data) - - rc.ResData = model.ResultPage{ - Total: total, - PageNum: int64(pageNum), - PageSize: int64(pageNum), - Data: list, - } -} - -// GetFlowWorkTemplates 获取WorkTemplates -func (p *FlowWorkTemplatesApi) GetFlowWorkTemplates(rc *restfulx.ReqCtx) { - id := restfulx.PathParamInt(rc, "id") - rc.ResData = p.FlowWorkTemplatesApp.FindOne(int64(id)) -} - -// InsertFlowWorkTemplates 添加WorkTemplates -func (p *FlowWorkTemplatesApi) InsertFlowWorkTemplates(rc *restfulx.ReqCtx) { - var data entity.FlowWorkTemplates - restfulx.BindQuery(rc, &data) - data.Creator = int(rc.LoginAccount.UserId) - p.FlowWorkTemplatesApp.Insert(data) -} - -// UpdateFlowWorkTemplates 修改WorkTemplates -func (p *FlowWorkTemplatesApi) UpdateFlowWorkTemplates(rc *restfulx.ReqCtx) { - var data entity.FlowWorkTemplates - restfulx.BindQuery(rc, &data) - p.FlowWorkTemplatesApp.Update(data) -} - -// DeleteFlowWorkTemplates 删除WorkTemplates -func (p *FlowWorkTemplatesApi) DeleteFlowWorkTemplates(rc *restfulx.ReqCtx) { - id := restfulx.PathParam(rc, "id") - ids := utils.IdsStrToIdsIntGroup(id) - p.FlowWorkTemplatesApp.Delete(ids) -} diff --git a/apps/flow/entity/work_classify.go b/apps/flow/entity/work_classify.go deleted file mode 100644 index 0608adb..0000000 --- a/apps/flow/entity/work_classify.go +++ /dev/null @@ -1,14 +0,0 @@ -package entity - -import "github.com/XM-GO/PandaKit/model" - -// FlowWorkClassify 工作流流程分类 -type FlowWorkClassify struct { - model.BaseAutoModel - Name string `gorm:"column:name; type: varchar(128)" json:"name"` // 分类名称 - Creator int `gorm:"column:creator; type: int" json:"creator"` // 创建者 -} - -func (FlowWorkClassify) TableName() string { - return "flow_work_classify" -} diff --git a/apps/flow/entity/work_info.go b/apps/flow/entity/work_info.go deleted file mode 100644 index 9216c05..0000000 --- a/apps/flow/entity/work_info.go +++ /dev/null @@ -1,23 +0,0 @@ -package entity - -import ( - "github.com/XM-GO/PandaKit/model" -) - -// FlowWorkInfo 工作流信息 -type FlowWorkInfo struct { - model.BaseAutoModel - Name string `gorm:"column:name; type:varchar(128)" json:"name"` // 流程名称 - Icon string `gorm:"column:icon; type:varchar(128)" json:"icon" ` // 流程标签 - Structure model.JSONB `gorm:"column:structure; type:json" json:"structure" ` // 流程结构 - FormStructure model.JSONB `gorm:"column:structure; type:json" json:"structure" ` // 表单结构 - Classify int `gorm:"column:classify; type:int" json:"classify"` // 分类ID - SubmitCount int `gorm:"column:submit_count; type:int; default:0" json:"submitCount"` // 提交统计 - Creator int `gorm:"column:creator; type:int" json:"creator"` // 创建者 - Cc int `gorm:"column:cc; type:int" json:"cc"` // 抄送人 - Remarks string `gorm:"column:remarks; type:varchar(1024)" json:"remarks"` // 流程备注 -} - -func (FlowWorkInfo) TableName() string { - return "flow_work_info" -} diff --git a/apps/flow/entity/work_order.go b/apps/flow/entity/work_order.go deleted file mode 100644 index e2256e1..0000000 --- a/apps/flow/entity/work_order.go +++ /dev/null @@ -1,26 +0,0 @@ -package entity - -import ( - "encoding/json" - "github.com/XM-GO/PandaKit/model" -) - -// FlowWorkOrder 工作流工单 -type FlowWorkOrder struct { - model.BaseAutoModel - Title string `gorm:"column:title; type:varchar(128)" json:"title"` // 工单标题 - Priority int `gorm:"column:priority; type:int" json:"priority"` // 工单优先级 1,正常 2,紧急 3,非常紧急 - Process int `gorm:"column:process; type:int" json:"process"` // 流程ID - Classify int `gorm:"column:classify; type:int" json:"classify"` // 分类ID - IsEnd int `gorm:"column:is_end; type:int; default:0" json:"is_end"` // 是否结束, 0 未结束,1 已结束 - IsDenied int `gorm:"column:is_denied; type:int; default:0" json:"is_denied"` // 是否被拒绝, 0 没有,1 有 - State json.RawMessage `gorm:"column:state; type:json" json:"state"` // 状态信息 - RelatedPerson json.RawMessage `gorm:"column:related_person; type:json" json:"related_person"` // 工单所有处理人 - Creator int `gorm:"column:creator; type:int" json:"creator"` // 创建人 - UrgeCount int `gorm:"column:urge_count; type:int; default:0" json:"urge_count"` // 催办次数 - UrgeLastTime int `gorm:"column:urge_last_time; type:int; default:0" json:"urge_last_time"` // 上一次催促时间 -} - -func (FlowWorkOrder) TableName() string { - return "flow_work_order" -} diff --git a/apps/flow/entity/work_order_templates.go b/apps/flow/entity/work_order_templates.go deleted file mode 100644 index ae1a011..0000000 --- a/apps/flow/entity/work_order_templates.go +++ /dev/null @@ -1,17 +0,0 @@ -package entity - -import ( - "github.com/XM-GO/PandaKit/model" -) - -// FlowWorkOrderTemplate 工单绑定模版数据 -type FlowWorkOrderTemplate struct { - model.BaseAutoModel - WorkOrder int `gorm:"column:work_order; type: int" json:"work_order"` // 工单ID - FormStructure model.JSONB `gorm:"column:form_structure; type: json" json:"form_structure"` // 表单结构 - FormData model.JSONB `gorm:"column:form_data; type: json" json:"form_data"` // 表单数据 -} - -func (FlowWorkOrderTemplate) TableName() string { - return "flow_work_order_templates" -} diff --git a/apps/flow/entity/work_stage.go b/apps/flow/entity/work_stage.go deleted file mode 100644 index ab11f9f..0000000 --- a/apps/flow/entity/work_stage.go +++ /dev/null @@ -1,25 +0,0 @@ -package entity - -import ( - "github.com/XM-GO/PandaKit/model" -) - -// FlowWorkStage 工作流工序(流转历史) -type FlowWorkStage struct { - model.BaseAutoModel - Title string `gorm:"column:title; type: varchar(128)" json:"title"` // 工单标题 - WorkOrder int `gorm:"column:work_order; type: int" json:"work_order"` // 工单ID - State string `gorm:"column:state; type: varchar(128)" json:"state"` // 工单状态 - Source string `gorm:"column:source; type: varchar(128)" json:"source"` // 源节点ID - Target string `gorm:"column:target; type: varchar(128)" json:"target"` // 目标节点ID - Stage string `gorm:"column:stage; type: varchar(128)" json:"stage"` // 流转ID - Status int `gorm:"column:status; type: int" json:"status"` // 流转状态 1 同意, 0 拒绝, 2 其他 - Processor string `gorm:"column:processor; type: varchar(45)" json:"processor"` // 处理人 - ProcessorId int `gorm:"column:processor_id; type: int" json:"processor_id"` // 处理人ID - CostDuration int64 `gorm:"column:cost_duration; type: int" json:"cost_duration"` // 处理时长 - Remarks string `gorm:"column:remarks; type: text" json:"remarks"` // 备注 -} - -func (FlowWorkStage) TableName() string { - return "flow_work_stage" -} diff --git a/apps/flow/entity/work_templates.go b/apps/flow/entity/work_templates.go deleted file mode 100644 index 434d9be..0000000 --- a/apps/flow/entity/work_templates.go +++ /dev/null @@ -1,18 +0,0 @@ -package entity - -import ( - "github.com/XM-GO/PandaKit/model" -) - -// FlowWorkTemplates 工作流表单模板 -type FlowWorkTemplates struct { - model.BaseAutoModel - Name string `gorm:"column:name; type: varchar(128)" json:"name" binding:"required"` // 模板名称 - FormStructure model.JSONB `gorm:"column:form_structure; type: json" json:"form_structure"` // 表单结构 - Creator int `gorm:"column:creator; type: int" json:"creator"` // 创建者 - Remarks string `gorm:"column:remarks; type: text" json:"remarks"` // 备注 -} - -func (FlowWorkTemplates) TableName() string { - return "flow_work_templates" -} diff --git a/apps/flow/router/flow_work_classify.go b/apps/flow/router/flow_work_classify.go deleted file mode 100644 index 2fed179..0000000 --- a/apps/flow/router/flow_work_classify.go +++ /dev/null @@ -1,70 +0,0 @@ -// ========================================================================== -// 生成日期:2022-08-24 22:02:33 +0800 CST -// 生成路径: apps/flow/router/flow_work_classify.go -// 生成人:panda -// ========================================================================== -package router - -import ( - "github.com/XM-GO/PandaKit/model" - "github.com/XM-GO/PandaKit/restfulx" - "pandax/apps/flow/api" - "pandax/apps/flow/entity" - "pandax/apps/flow/services" - - restfulspec "github.com/emicklei/go-restful-openapi/v2" - "github.com/emicklei/go-restful/v3" -) - -func InitFlowWorkClassifyRouter(container *restful.Container) { - s := &api.FlowWorkClassifyApi{ - FlowWorkClassifyApp: services.FlowWorkClassifyModelDao, - } - - ws := new(restful.WebService) - ws.Path("/flow/workclassify").Produces(restful.MIME_JSON) - tags := []string{"workclassify"} - - ws.Route(ws.GET("/list").To(func(request *restful.Request, response *restful.Response) { - restfulx.NewReqCtx(request, response).WithLog("获取Classify分页列表").Handle(s.GetFlowWorkClassifyList) - }). - Doc("获取Classify分页列表"). - 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("获取Classify信息").Handle(s.GetFlowWorkClassify) - }). - Doc("获取Classify信息"). - Param(ws.PathParameter("id", "Id").DataType("int")). - Metadata(restfulspec.KeyOpenAPITags, tags). - Writes(entity.FlowWorkClassify{}). // on the response - Returns(200, "OK", entity.FlowWorkClassify{}). - Returns(404, "Not Found", nil)) - - ws.Route(ws.POST("").To(func(request *restful.Request, response *restful.Response) { - restfulx.NewReqCtx(request, response).WithLog("添加Classify信息").Handle(s.InsertFlowWorkClassify) - }). - Doc("添加Classify信息"). - Metadata(restfulspec.KeyOpenAPITags, tags). - Reads(entity.FlowWorkClassify{})) - - ws.Route(ws.PUT("").To(func(request *restful.Request, response *restful.Response) { - restfulx.NewReqCtx(request, response).WithLog("修改Classify信息").Handle(s.UpdateFlowWorkClassify) - }). - Doc("修改Classify信息"). - Metadata(restfulspec.KeyOpenAPITags, tags). - Reads(entity.FlowWorkClassify{})) - - ws.Route(ws.DELETE("/{id}").To(func(request *restful.Request, response *restful.Response) { - restfulx.NewReqCtx(request, response).WithLog("删除Classify信息").Handle(s.DeleteFlowWorkClassify) - }). - Doc("删除Classify信息"). - Metadata(restfulspec.KeyOpenAPITags, tags). - Param(ws.PathParameter("id", "多id 1,2,3").DataType("string"))) - - container.Add(ws) -} diff --git a/apps/flow/router/flow_work_info.go b/apps/flow/router/flow_work_info.go deleted file mode 100644 index 18c5d35..0000000 --- a/apps/flow/router/flow_work_info.go +++ /dev/null @@ -1,70 +0,0 @@ -// ========================================================================== -// 生成日期:2023-03-29 20:01:11 +0800 CST -// 生成路径: apps/flow/router/rulechain.go -// 生成人:panda -// ========================================================================== -package router - -import ( - "github.com/XM-GO/PandaKit/model" - "github.com/XM-GO/PandaKit/restfulx" - "pandax/apps/flow/api" - "pandax/apps/flow/entity" - "pandax/apps/flow/services" - - restfulspec "github.com/emicklei/go-restful-openapi/v2" - "github.com/emicklei/go-restful/v3" -) - -func InitFlowWorkInfoRouter(container *restful.Container) { - s := &api.FlowWorkInfoApi{ - FlowWorkInfoApp: services.FlowWorkInfoModelDao, - } - - ws := new(restful.WebService) - ws.Path("/flow/workinfo").Produces(restful.MIME_JSON) - tags := []string{"workinfo"} - - ws.Route(ws.GET("/list").To(func(request *restful.Request, response *restful.Response) { - restfulx.NewReqCtx(request, response).WithLog("获取WorkInfo分页列表").Handle(s.GetFlowWorkInfoList) - }). - Doc("获取WorkInfo分页列表"). - 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("获取WorkInfo信息").Handle(s.GetFlowWorkInfo) - }). - Doc("获取WorkInfo信息"). - Param(ws.PathParameter("id", "Id").DataType("int")). - Metadata(restfulspec.KeyOpenAPITags, tags). - Writes(entity.FlowWorkInfo{}). // on the response - Returns(200, "OK", entity.FlowWorkInfo{}). - Returns(404, "Not Found", nil)) - - ws.Route(ws.POST("").To(func(request *restful.Request, response *restful.Response) { - restfulx.NewReqCtx(request, response).WithLog("添加WorkInfo信息").Handle(s.InsertFlowWorkInfo) - }). - Doc("添加WorkInfo信息"). - Metadata(restfulspec.KeyOpenAPITags, tags). - Reads(entity.FlowWorkInfo{})) - - ws.Route(ws.PUT("").To(func(request *restful.Request, response *restful.Response) { - restfulx.NewReqCtx(request, response).WithLog("修改WorkInfo信息").Handle(s.UpdateFlowWorkInfo) - }). - Doc("修改WorkInfo信息"). - Metadata(restfulspec.KeyOpenAPITags, tags). - Reads(entity.FlowWorkInfo{})) - - ws.Route(ws.DELETE("/{id}").To(func(request *restful.Request, response *restful.Response) { - restfulx.NewReqCtx(request, response).WithLog("删除WorkInfo信息").Handle(s.DeleteFlowWorkInfo) - }). - Doc("删除WorkInfo信息"). - Metadata(restfulspec.KeyOpenAPITags, tags). - Param(ws.PathParameter("id", "多id 1,2,3").DataType("string"))) - - container.Add(ws) -} diff --git a/apps/flow/router/flow_work_templates.go b/apps/flow/router/flow_work_templates.go deleted file mode 100644 index 8937bf6..0000000 --- a/apps/flow/router/flow_work_templates.go +++ /dev/null @@ -1,70 +0,0 @@ -// ========================================================================== -// 生成日期:2023-03-29 19:46:55 +0800 CST -// 生成路径: apps/flow/router/flow_work_templates.go -// 生成人:panda -// ========================================================================== -package router - -import ( - "github.com/XM-GO/PandaKit/model" - "github.com/XM-GO/PandaKit/restfulx" - "pandax/apps/flow/api" - "pandax/apps/flow/entity" - "pandax/apps/flow/services" - - restfulspec "github.com/emicklei/go-restful-openapi/v2" - "github.com/emicklei/go-restful/v3" -) - -func InitFlowWorkTemplatesRouter(container *restful.Container) { - s := &api.FlowWorkTemplatesApi{ - FlowWorkTemplatesApp: services.FlowWorkTemplatesModelDao, - } - - ws := new(restful.WebService) - ws.Path("/flow/worktemplates").Produces(restful.MIME_JSON) - tags := []string{"worktemplates"} - - ws.Route(ws.GET("/list").To(func(request *restful.Request, response *restful.Response) { - restfulx.NewReqCtx(request, response).WithLog("获取WorkTemplates分页列表").Handle(s.GetFlowWorkTemplatesList) - }). - Doc("获取WorkTemplates分页列表"). - 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("获取WorkTemplates信息").Handle(s.GetFlowWorkTemplates) - }). - Doc("获取WorkTemplates信息"). - Param(ws.PathParameter("id", "Id").DataType("int")). - Metadata(restfulspec.KeyOpenAPITags, tags). - Writes(entity.FlowWorkTemplates{}). // on the response - Returns(200, "OK", entity.FlowWorkTemplates{}). - Returns(404, "Not Found", nil)) - - ws.Route(ws.POST("").To(func(request *restful.Request, response *restful.Response) { - restfulx.NewReqCtx(request, response).WithLog("添加WorkTemplates信息").Handle(s.InsertFlowWorkTemplates) - }). - Doc("添加WorkTemplates信息"). - Metadata(restfulspec.KeyOpenAPITags, tags). - Reads(entity.FlowWorkTemplates{})) - - ws.Route(ws.PUT("").To(func(request *restful.Request, response *restful.Response) { - restfulx.NewReqCtx(request, response).WithLog("修改WorkTemplates信息").Handle(s.UpdateFlowWorkTemplates) - }). - Doc("修改WorkTemplates信息"). - Metadata(restfulspec.KeyOpenAPITags, tags). - Reads(entity.FlowWorkTemplates{})) - - ws.Route(ws.DELETE("/{id}").To(func(request *restful.Request, response *restful.Response) { - restfulx.NewReqCtx(request, response).WithLog("删除WorkTemplates信息").Handle(s.DeleteFlowWorkTemplates) - }). - Doc("删除WorkTemplates信息"). - Metadata(restfulspec.KeyOpenAPITags, tags). - Param(ws.PathParameter("id", "多id 1,2,3").DataType("string"))) - - container.Add(ws) -} diff --git a/apps/flow/services/flow_work_classify.go b/apps/flow/services/flow_work_classify.go deleted file mode 100644 index 93699d0..0000000 --- a/apps/flow/services/flow_work_classify.go +++ /dev/null @@ -1,87 +0,0 @@ -// ========================================================================== -// 生成日期:2022-08-24 22:02:33 +0800 CST -// 生成路径: apps/flow/services/flow_work_classify.go -// 生成人:panda -// ========================================================================== - -package services - -import ( - "github.com/XM-GO/PandaKit/biz" - "pandax/apps/flow/entity" - "pandax/pkg/global" -) - -type ( - FlowWorkClassifyModel interface { - Insert(data entity.FlowWorkClassify) *entity.FlowWorkClassify - FindOne(id int64) *entity.FlowWorkClassify - FindListPage(page, pageSize int, data entity.FlowWorkClassify) (*[]entity.FlowWorkClassify, int64) - FindList(data entity.FlowWorkClassify) *[]entity.FlowWorkClassify - Update(data entity.FlowWorkClassify) *entity.FlowWorkClassify - Delete(ids []int64) - } - - workclassifyModelImpl struct { - table string - } -) - -var FlowWorkClassifyModelDao FlowWorkClassifyModel = &workclassifyModelImpl{ - table: `flow_work_classify`, -} - -func (m *workclassifyModelImpl) Insert(data entity.FlowWorkClassify) *entity.FlowWorkClassify { - err := global.Db.Table(m.table).Create(&data).Error - biz.ErrIsNil(err, "添加工作流分类失败") - return &data -} - -func (m *workclassifyModelImpl) FindOne(id int64) *entity.FlowWorkClassify { - resData := new(entity.FlowWorkClassify) - db := global.Db.Table(m.table).Where("id = ?", id) - err := db.First(resData).Error - biz.ErrIsNil(err, "查询工作流分类失败") - return resData -} - -func (m *workclassifyModelImpl) FindListPage(page, pageSize int, data entity.FlowWorkClassify) (*[]entity.FlowWorkClassify, int64) { - list := make([]entity.FlowWorkClassify, 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.Creator != 0 { - db = db.Where("creator = ?", data.Creator) - } - 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 *workclassifyModelImpl) FindList(data entity.FlowWorkClassify) *[]entity.FlowWorkClassify { - list := make([]entity.FlowWorkClassify, 0) - db := global.Db.Table(m.table) - // 此处填写 where参数判断 - if data.Name != "" { - db = db.Where("name like ?", "%"+data.Name+"%") - } - if data.Creator != 0 { - db = db.Where("creator = ?", data.Creator) - } - biz.ErrIsNil(db.Order("create_time").Find(&list).Error, "查询工作流分类列表失败") - return &list -} - -func (m *workclassifyModelImpl) Update(data entity.FlowWorkClassify) *entity.FlowWorkClassify { - biz.ErrIsNil(global.Db.Table(m.table).Updates(&data).Error, "修改工作流分类失败") - return &data -} - -func (m *workclassifyModelImpl) Delete(ids []int64) { - biz.ErrIsNil(global.Db.Table(m.table).Delete(&entity.FlowWorkClassify{}, "id in (?)", ids).Error, "删除工作流分类失败") -} diff --git a/apps/flow/services/flow_work_info.go b/apps/flow/services/flow_work_info.go deleted file mode 100644 index 3bacbbe..0000000 --- a/apps/flow/services/flow_work_info.go +++ /dev/null @@ -1,101 +0,0 @@ -// ========================================================================== -// 生成日期:2023-03-29 20:01:11 +0800 CST -// 生成路径: apps/flow/services/rulechain.go -// 生成人:panda -// ========================================================================== - -package services - -import ( - "github.com/XM-GO/PandaKit/biz" - "pandax/apps/flow/entity" - "pandax/pkg/global" -) - -type ( - FlowWorkInfoModel interface { - Insert(data entity.FlowWorkInfo) *entity.FlowWorkInfo - FindOne(id int64) *entity.FlowWorkInfo - FindListPage(page, pageSize int, data entity.FlowWorkInfo) (*[]entity.FlowWorkInfo, int64) - FindList(data entity.FlowWorkInfo) *[]entity.FlowWorkInfo - Update(data entity.FlowWorkInfo) *entity.FlowWorkInfo - Delete(ids []int64) - } - - workinfoModelImpl struct { - table string - } -) - -var FlowWorkInfoModelDao FlowWorkInfoModel = &workinfoModelImpl{ - table: `flow_work_info`, -} - -func (m *workinfoModelImpl) Insert(data entity.FlowWorkInfo) *entity.FlowWorkInfo { - err := global.Db.Table(m.table).Create(&data).Error - biz.ErrIsNil(err, "添加流程失败") - return &data -} - -func (m *workinfoModelImpl) FindOne(id int64) *entity.FlowWorkInfo { - resData := new(entity.FlowWorkInfo) - db := global.Db.Table(m.table).Where("id = ?", id) - err := db.First(resData).Error - biz.ErrIsNil(err, "查询流程失败") - return resData -} - -func (m *workinfoModelImpl) FindListPage(page, pageSize int, data entity.FlowWorkInfo) (*[]entity.FlowWorkInfo, int64) { - list := make([]entity.FlowWorkInfo, 0) - var total int64 = 0 - offset := pageSize * (page - 1) - db := global.Db.Table(m.table) - // 此处填写 where参数判断 - db.Where("delete_time IS NULL") - if data.Name != "" { - db = db.Where("name like ?", "%"+data.Name+"%") - } - if data.Creator != 0 { - db = db.Where("creator = ?", data.Creator) - } - if data.Remarks != "" { - db = db.Where("remarks like ?", "%"+data.Remarks+"%") - } - if data.Classify != 0 { - db = db.Where("classify = ?", data.Classify) - } - 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 *workinfoModelImpl) FindList(data entity.FlowWorkInfo) *[]entity.FlowWorkInfo { - list := make([]entity.FlowWorkInfo, 0) - db := global.Db.Table(m.table) - // 此处填写 where参数判断 - db.Where("delete_time IS NULL") - if data.Name != "" { - db = db.Where("name like ?", "%"+data.Name+"%") - } - if data.Creator != 0 { - db = db.Where("creator = ?", data.Creator) - } - if data.Remarks != "" { - db = db.Where("remarks like ?", "%"+data.Remarks+"%") - } - if data.Classify != 0 { - db = db.Where("classify = ?", data.Classify) - } - biz.ErrIsNil(db.Order("create_time").Find(&list).Error, "查询流程列表失败") - return &list -} - -func (m *workinfoModelImpl) Update(data entity.FlowWorkInfo) *entity.FlowWorkInfo { - biz.ErrIsNil(global.Db.Table(m.table).Updates(&data).Error, "修改流程失败") - return &data -} - -func (m *workinfoModelImpl) Delete(ids []int64) { - biz.ErrIsNil(global.Db.Table(m.table).Delete(&entity.FlowWorkInfo{}, "id in (?)", ids).Error, "删除流程失败") -} diff --git a/apps/flow/services/flow_work_templates.go b/apps/flow/services/flow_work_templates.go deleted file mode 100644 index 745765d..0000000 --- a/apps/flow/services/flow_work_templates.go +++ /dev/null @@ -1,106 +0,0 @@ -// ========================================================================== -// 生成日期:2023-03-29 19:46:55 +0800 CST -// 生成路径: apps/flow/services/flow_work_templates.go -// 生成人:panda -// ========================================================================== - -package services - -import ( - "github.com/XM-GO/PandaKit/biz" - "pandax/apps/flow/entity" - "pandax/pkg/global" -) - -type ( - FlowWorkTemplatesModel interface { - Insert(data entity.FlowWorkTemplates) *entity.FlowWorkTemplates - FindOne(id int64) *entity.FlowWorkTemplates - FindListPage(page, pageSize int, data entity.FlowWorkTemplates) (*[]entity.FlowWorkTemplates, int64) - FindList(data entity.FlowWorkTemplates) *[]entity.FlowWorkTemplates - Update(data entity.FlowWorkTemplates) *entity.FlowWorkTemplates - Delete(ids []int64) - } - - worktemplatesModelImpl struct { - table string - } -) - -var FlowWorkTemplatesModelDao FlowWorkTemplatesModel = &worktemplatesModelImpl{ - table: `flow_work_templates`, -} - -func (m *worktemplatesModelImpl) Insert(data entity.FlowWorkTemplates) *entity.FlowWorkTemplates { - err := global.Db.Table(m.table).Create(&data).Error - biz.ErrIsNil(err, "添加工作流模板失败") - return &data -} - -func (m *worktemplatesModelImpl) FindOne(id int64) *entity.FlowWorkTemplates { - resData := new(entity.FlowWorkTemplates) - db := global.Db.Table(m.table).Where("id = ?", id) - err := db.First(resData).Error - biz.ErrIsNil(err, "查询工作流模板失败") - return resData -} - -func (m *worktemplatesModelImpl) FindListPage(page, pageSize int, data entity.FlowWorkTemplates) (*[]entity.FlowWorkTemplates, int64) { - list := make([]entity.FlowWorkTemplates, 0) - var total int64 = 0 - offset := pageSize * (page - 1) - db := global.Db.Table(m.table) - // 此处填写 where参数判断 - if data.Remarks != "" { - db = db.Where("remarks = ?", data.Remarks) - } - db.Where("delete_time IS NULL") - if data.Name != "" { - db = db.Where("name like ?", "%"+data.Name+"%") - } - if data.Creator != 0 { - db = db.Where("creator = ?", data.Creator) - } - if data.Remarks != "" { - db = db.Where("name like ?", "%"+data.Remarks+"%") - } - 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 *worktemplatesModelImpl) FindList(data entity.FlowWorkTemplates) *[]entity.FlowWorkTemplates { - list := make([]entity.FlowWorkTemplates, 0) - db := global.Db.Table(m.table) - // 此处填写 where参数判断 - if data.Remarks != "" { - db = db.Where("remarks = ?", data.Remarks) - } - db.Where("delete_time IS NULL") - if data.Name != "" { - db = db.Where("name like ?", "%"+data.Name+"%") - } - if data.Creator != 0 { - db = db.Where("creator = ?", data.Creator) - } - if data.Remarks != "" { - db = db.Where("name like ?", "%"+data.Remarks+"%") - } - biz.ErrIsNil(db.Order("create_time").Find(&list).Error, "查询工作流模板列表失败") - return &list -} - -func (m *worktemplatesModelImpl) Update(data entity.FlowWorkTemplates) *entity.FlowWorkTemplates { - err := global.Db.Table(m.table).Updates(&data).Error - if err != nil { - global.Log.Error(err) - biz.ErrIsNil(global.Db.Table(m.table).Updates(&data).Error, "修改工作流模板失败") - } - - return &data -} - -func (m *worktemplatesModelImpl) Delete(ids []int64) { - biz.ErrIsNil(global.Db.Table(m.table).Delete(&entity.FlowWorkTemplates{}, "id in (?)", ids).Error, "删除工作流模板失败") -} diff --git a/apps/job/api/job.go b/apps/job/api/job.go index c7b2d02..e2b73ab 100644 --- a/apps/job/api/job.go +++ b/apps/job/api/job.go @@ -1,170 +1,95 @@ package api import ( + "github.com/XM-GO/PandaKit/biz" + "github.com/XM-GO/PandaKit/model" + "github.com/XM-GO/PandaKit/restfulx" + "github.com/kakuilan/kgo" + "log" "pandax/apps/job/api/from" "pandax/apps/job/entity" "pandax/apps/job/jobs" "pandax/apps/job/services" - "pandax/base/biz" - "pandax/base/ginx" - "pandax/base/utils" + "strings" ) type JobApi struct { JobApp services.JobModel } -// @Summary 添加任务 -// @Description 获取JSON -// @Tags 任务 -// @Accept application/json -// @Product application/json -// @Param data body entity.SysJob true "data" -// @Success 200 {string} string "{"code": 200, "message": "添加成功"}" -// @Success 200 {string} string "{"code": 400, "message": "添加失败"}" -// @Router /job/job [post] -// @Security X-TOKEN -func (j *JobApi) CreateJob(rc *ginx.ReqCtx) { +func (j *JobApi) CreateJob(rc *restfulx.ReqCtx) { var job entity.SysJob - ginx.BindJsonAndValid(rc.GinCtx, &job) - - job.CreateBy = rc.LoginAccount.UserName + restfulx.BindQuery(rc, &job) + job.Id = kgo.KStr.Uniqid("") + job.Owner = rc.LoginAccount.UserName j.JobApp.Insert(job) } -// @Summary job列表 -// @Description 获取JSON -// @Tags 任务 -// @Param status query string false "status" -// @Param jobName query string false "jobName" -// @Param jobGroup query string false "jobGroup" -// @Param pageSize query int false "页条数" -// @Param pageNum query int false "页码" -// @Success 200 {string} string "{"code": 200, "data": [...]}" -// @Router /job/list [get] -// @Security -func (j *JobApi) GetJobList(rc *ginx.ReqCtx) { - pageNum := ginx.QueryInt(rc.GinCtx, "pageNum", 1) - pageSize := ginx.QueryInt(rc.GinCtx, "pageSize", 10) - jobName := rc.GinCtx.Query("jobName") - jobGroup := rc.GinCtx.Query("jobGroup") - status := rc.GinCtx.Query("status") +func (j *JobApi) GetJobList(rc *restfulx.ReqCtx) { + pageNum := restfulx.QueryInt(rc, "pageNum", 1) + pageSize := restfulx.QueryInt(rc, "pageSize", 10) + jobName := restfulx.QueryParam(rc, "jobName") + status := restfulx.QueryParam(rc, "status") - list, total := j.JobApp.FindListPage(pageNum, pageSize, entity.SysJob{JobName: jobName, JobGroup: jobGroup, Status: status}) - rc.ResData = map[string]any{ - "data": list, - "total": total, - "pageNum": pageNum, - "pageSize": pageSize, + list, total := j.JobApp.FindListPage(pageNum, pageSize, entity.SysJob{JobName: jobName, Status: status}) + rc.ResData = model.ResultPage{ + Total: total, + PageNum: int64(pageNum), + PageSize: int64(pageNum), + Data: list, } } -// @Summary 获取一个job -// @Description 获取JSON -// @Tags 任务 -// @Param jobId path int true "jobId" -// @Success 200 {string} string "{"code": 200, "data": [...]}" -// @Router /job/{jobId} [get] -// @Security -func (j *JobApi) GetJob(rc *ginx.ReqCtx) { - jobId := ginx.PathParamInt(rc.GinCtx, rc.GinCtx.Param("jobId")) - rc.ResData = j.JobApp.FindOne(int64(jobId)) +func (j *JobApi) GetJob(rc *restfulx.ReqCtx) { + jobId := restfulx.PathParam(rc, "jobId") + rc.ResData = j.JobApp.FindOne(jobId) } -// @Summary 修改JOB -// @Description 获取JSON -// @Tags 任务 -// @Accept application/json -// @Product application/json -// @Param data body entity.SysJob true "body" -// @Success 200 {string} string "{"code": 200, "message": "添加成功"}" -// @Success 200 {string} string "{"code": 400, "message": "添加失败"}" -// @Router /job [put] -// @Security X-TOKEN -func (l *JobApi) UpdateJob(rc *ginx.ReqCtx) { +func (l *JobApi) UpdateJob(rc *restfulx.ReqCtx) { var job entity.SysJob - ginx.BindJsonAndValid(rc.GinCtx, &job) + restfulx.BindQuery(rc, &job) l.JobApp.Update(job) } -// @Summary 批量删除JOB -// @Description 删除数据 -// @Tags 任务 -// @Param infoId path string true "以逗号(,)分割的infoId" -// @Success 200 {string} string "{"code": 200, "message": "删除成功"}" -// @Success 200 {string} string "{"code": 400, "message": "删除失败"}" -// @Router /job/{jobId} [delete] -func (l *JobApi) DeleteJob(rc *ginx.ReqCtx) { - jobIds := rc.GinCtx.Param("jobId") - group := utils.IdsStrToIdsIntGroup(jobIds) +func (l *JobApi) DeleteJob(rc *restfulx.ReqCtx) { + jobIds := restfulx.PathParam(rc, "jobId") + group := strings.Split(jobIds, ",") l.JobApp.Delete(group) } -// @Summary 停止JOB -// @Description 停止Job -// @Tags 任务 -// @Param jobId path int true "jobId" -// @Success 200 {string} string "{"code": 200, "message": "删除成功"}" -// @Success 200 {string} string "{"code": 400, "message": "删除失败"}" -// @Router /job/stop/{jobId} [get] -func (l *JobApi) StopJobForService(rc *ginx.ReqCtx) { - jobId := ginx.PathParamInt(rc.GinCtx, "jobId") - job := l.JobApp.FindOne(int64(jobId)) +func (l *JobApi) StopJobForService(rc *restfulx.ReqCtx) { + jobId := restfulx.PathParam(rc, "jobId") + job := l.JobApp.FindOne(jobId) jobs.Remove(jobs.Crontab, job.EntryId) } -// @Summary 开始JOB -// @Description 开始Job -// @Tags 任务 -// @Success 200 {string} string "{"code": 200, "message": "删除成功"}" -// @Success 200 {string} string "{"code": 400, "message": "删除失败"}" -// @Router /job/stop/{jobId} [get] -func (l *JobApi) StartJobForService(rc *ginx.ReqCtx) { - jobId := ginx.PathParamInt(rc.GinCtx, "jobId") - job := l.JobApp.FindOne(int64(jobId)) +func (l *JobApi) StartJobForService(rc *restfulx.ReqCtx) { + jobId := restfulx.PathParam(rc, "jobId") + job := l.JobApp.FindOne(jobId) biz.IsTrue(job.Status == "0", "以关闭的任务不能开启") biz.IsTrue(job.EntryId == 0, "任务不能重复启动") var err error - if job.JobType == "1" { - var j = &jobs.HttpJob{} - j.InvokeTarget = job.InvokeTarget - j.CronExpression = job.CronExpression - j.JobId = job.JobId - j.Name = job.JobName - j.JobGroup = job.JobGroup - j.MisfirePolicy = job.MisfirePolicy - job.EntryId, err = jobs.AddJob(jobs.Crontab, j) - biz.ErrIsNil(err, "添加JOB失败") - } else { - var j = &jobs.ExecJob{} - j.InvokeTarget = job.InvokeTarget - j.CronExpression = job.CronExpression - j.JobId = job.JobId - j.Name = job.JobName - j.JobGroup = job.JobGroup - j.Args = job.Args - j.MisfirePolicy = job.MisfirePolicy - job.EntryId, err = jobs.AddJob(jobs.Crontab, j) - biz.ErrIsNil(err, "添加JOB失败") - } + var j = &jobs.ExecJob{} + j.InvokeTarget = job.TargetInvoke + j.CronExpression = job.CronExpression + j.JobId = job.Id + j.Name = job.JobName + j.Args = job.TargetArgs + j.MisfirePolicy = job.MisfirePolicy + job.EntryId, err = jobs.AddJob(jobs.Crontab, j) + log.Println(err) + biz.ErrIsNil(err, "添加JOB失败") + l.JobApp.Update(*job) } -// @Summary 修改JOB状态 -// @Description 获取JSON -// @Tags 任务 -// @Accept application/json -// @Product application/json -// @Param data body from.JobStatus true "body" -// @Success 200 {string} string "{"code": 200, "message": "添加成功"}" -// @Success 200 {string} string "{"code": 400, "message": "添加失败"}" -// @Router /job/changeStatus [put] -// @Security X-TOKEN -func (l *JobApi) UpdateStatusJob(rc *ginx.ReqCtx) { +func (l *JobApi) UpdateStatusJob(rc *restfulx.ReqCtx) { var job from.JobStatus - ginx.BindJsonAndValid(rc.GinCtx, &job) - - l.JobApp.Update(entity.SysJob{JobId: job.JobId, Status: job.Status}) + restfulx.BindQuery(rc, &job) + sjob := entity.SysJob{} + sjob.Id = job.JobId + sjob.Status = job.Status + l.JobApp.Update(sjob) } diff --git a/apps/job/entity/job.go b/apps/job/entity/job.go index 18a9dac..ba52970 100644 --- a/apps/job/entity/job.go +++ b/apps/job/entity/job.go @@ -1,20 +1,17 @@ package entity -import "pandax/base/model" +import ( + "pandax/pkg/global" +) type SysJob struct { - JobId int64 `json:"jobId" gorm:"primaryKey;autoIncrement"` // 编码 - JobName string `json:"jobName" gorm:"type:varchar(255);"` // 名称 - JobGroup string `json:"jobGroup" gorm:"type:varchar(255);"` // 任务分组 - JobType string `json:"jobType" gorm:"type:varchar(1);"` // 任务类型 - CronExpression string `json:"cronExpression" gorm:"type:varchar(255);"` // cron表达式 - InvokeTarget string `json:"invokeTarget" gorm:"type:varchar(255);"` // 调用目标 - Args string `json:"args" gorm:"type:varchar(255);"` // 目标参数 - MisfirePolicy string `json:"misfirePolicy" gorm:"type:varchar(1);"` // 执行策略 - Concurrent string `json:"concurrent" gorm:"type:varchar(1);"` // 是否并发 - Status string `json:"status" gorm:"type:varchar(1);"` // 状态 - EntryId int `json:"entryId" gorm:"type:int;"` // job启动时返回的id - CreateBy string `json:"createBy" gorm:"type:varchar(128);comment:创建人"` - UpdateBy string `json:"updateBy" gorm:"type:varchar(128);comment:更新者"` - model.BaseModel + global.BaseAuthModel + JobName string `json:"jobName" gorm:"type:varchar(255);"` // 名称 + TargetInvoke string `json:"targetInvoke" gorm:"type:varchar(64);comment:目标类型"` //调用目标 设备还是产品 + TargetArgs string `json:"targetArgs" gorm:"type:varchar(64);comment:目标Id"` //目标传参 设备或者产品id + JobContent string `json:"jobContent" gorm:"type:json;comment:任务内容"` //目标传参 要执行的内容 + CronExpression string `json:"cronExpression" gorm:"type:varchar(255);"` // cron表达式 + MisfirePolicy string `json:"misfirePolicy" gorm:"type:varchar(1);"` // 执行策略 + Status string `json:"status" gorm:"type:varchar(1);"` // 状态 + EntryId int `json:"entryId" gorm:"type:int;"` // job启动时返回的id } diff --git a/apps/job/entity/log_job.go b/apps/job/entity/log_job.go index ec14260..462c261 100644 --- a/apps/job/entity/log_job.go +++ b/apps/job/entity/log_job.go @@ -1,16 +1,14 @@ package entity import ( - "pandax/base/model" + "pandax/pkg/global" ) -type LogJob struct { - LogId int64 `json:"logId" gorm:"primary_key;AUTO_INCREMENT"` //主键 +type JobLog struct { + global.BaseAuthModel Name string `json:"name" gorm:"type:varchar(128);comment:任务名称"` - JobGroup string `json:"jobGroup" gorm:"type:varchar(128);comment:分组"` EntryId int `json:"entryId" gorm:"type:int;comment:任务id"` - InvokeTarget string `json:"invokeTarget" gorm:"type:varchar(128);comment:调用方法"` + TargetInvoke string `json:"targetInvoke" gorm:"type:varchar(128);comment:调用方法"` LogInfo string `json:"logInfo" gorm:"type:varchar(255);comment:日志信息"` Status string `json:"status" gorm:"type:varchar(1);comment:状态"` - model.BaseModel } diff --git a/apps/resource/api/email.go b/apps/resource/api/email.go deleted file mode 100644 index e2c704f..0000000 --- a/apps/resource/api/email.go +++ /dev/null @@ -1,105 +0,0 @@ -package api - -import ( - "github.com/XM-GO/PandaKit/biz" - email "github.com/XM-GO/PandaKit/mail" - "github.com/XM-GO/PandaKit/model" - "github.com/XM-GO/PandaKit/restfulx" - "github.com/XM-GO/PandaKit/utils" - "pandax/apps/resource/api/from" - "pandax/apps/resource/entity" - "pandax/apps/resource/services" -) - -/** - * @Description 添加qq群467890197 交流学习 - * @Author 熊猫 - * @Date 2022/1/14 15:23 - **/ - -type ResEmailsApi struct { - ResEmailsApp services.ResEmailsModel -} - -// GetResEmailsList ResEmails列表数据 -func (p *ResEmailsApi) GetResEmailsList(rc *restfulx.ReqCtx) { - - pageNum := restfulx.QueryInt(rc, "pageNum", 1) - pageSize := restfulx.QueryInt(rc, "pageSize", 10) - status := restfulx.QueryParam(rc, "status") - category := restfulx.QueryParam(rc, "category") - - data := entity.ResEmail{Status: status, Category: category} - list, total := p.ResEmailsApp.FindListPage(pageNum, pageSize, data) - li := *list - for i, data := range li { - data.From = utils.DdmMail(data.From) - data.Secret = utils.DdmPassword(data.Secret) - li[i] = data - } - rc.ResData = model.ResultPage{ - Total: total, - PageNum: int64(pageNum), - PageSize: int64(pageNum), - Data: list, - } -} - -// GetResEmails 获取ResEmails -func (p *ResEmailsApi) GetResEmails(rc *restfulx.ReqCtx) { - mailId := restfulx.PathParamInt(rc, "mailId") - p.ResEmailsApp.FindOne(int64(mailId)) -} - -// InsertResEmails 添加ResEmails -func (p *ResEmailsApi) InsertResEmails(rc *restfulx.ReqCtx) { - var data entity.ResEmail - restfulx.BindQuery(rc, &data) - - p.ResEmailsApp.Insert(data) -} - -// UpdateResEmails 修改ResEmails -func (p *ResEmailsApi) UpdateResEmails(rc *restfulx.ReqCtx) { - var data entity.ResEmail - restfulx.BindQuery(rc, &data) - if utils.ISDdmMail(data.From) { - data.From = "" - } - if utils.IsDdmPassword(data.Secret) { - data.Secret = "" - } - p.ResEmailsApp.Update(data) -} - -// DeleteResEmails 删除ResEmails -func (p *ResEmailsApi) DeleteResEmails(rc *restfulx.ReqCtx) { - mailId := restfulx.PathParam(rc, "mailId") - mailIds := utils.IdsStrToIdsIntGroup(mailId) - p.ResEmailsApp.Delete(mailIds) -} - -// UpdateMailStatus 删除ResEmails -func (p *ResEmailsApi) UpdateMailStatus(rc *restfulx.ReqCtx) { - var data entity.ResEmail - restfulx.BindQuery(rc, &data) - - p.ResEmailsApp.Update(entity.ResEmail{MailId: data.MailId, Status: data.Status}) -} - -// DebugMail 测试发邮件 -func (p *ResEmailsApi) DebugMail(rc *restfulx.ReqCtx) { - var data from.SendMail - restfulx.BindQuery(rc, &data) - - one := p.ResEmailsApp.FindOne(data.MailId) - ml := email.Mail{ - Host: one.Host, - Port: one.Port, - From: one.From, - Nickname: one.Nickname, - Secret: one.Secret, - IsSSL: one.IsSSL, - } - biz.ErrIsNil(ml.Email(data.To, data.Subject, data.Body), "邮件发送失败") -} diff --git a/apps/resource/api/from/mail.go b/apps/resource/api/from/mail.go deleted file mode 100644 index 1096938..0000000 --- a/apps/resource/api/from/mail.go +++ /dev/null @@ -1,14 +0,0 @@ -package from - -/** - * @Description 添加qq群467890197 交流学习 - * @Author 熊猫 - * @Date 2022/1/14 16:53 - **/ - -type SendMail struct { - MailId int64 `json:"mailId"` - To string `json:"to"` - Subject string `json:"subject"` - Body string `json:"body"` -} diff --git a/apps/resource/api/oss.go b/apps/resource/api/oss.go deleted file mode 100644 index f3fb7f6..0000000 --- a/apps/resource/api/oss.go +++ /dev/null @@ -1,122 +0,0 @@ -package api - -import ( - "fmt" - "github.com/XM-GO/PandaKit/biz" - "github.com/XM-GO/PandaKit/model" - "github.com/XM-GO/PandaKit/oss" - "github.com/XM-GO/PandaKit/restfulx" - "github.com/XM-GO/PandaKit/utils" - "pandax/apps/resource/entity" - "pandax/apps/resource/services" - "time" -) - -/** - * @Description 添加qq群467890197 交流学习 - * @Author 熊猫 - * @Date 2022/1/13 15:19 - **/ - -type ResOssesApi struct { - ResOssesApp services.ResOssesModel -} - -// GetResOssesList ResOsses列表数据 -func (p *ResOssesApi) GetResOssesList(rc *restfulx.ReqCtx) { - - pageNum := restfulx.QueryInt(rc, "pageNum", 1) - pageSize := restfulx.QueryInt(rc, "pageSize", 10) - status := restfulx.QueryParam(rc, "status") - category := restfulx.QueryParam(rc, "category") - ossCode := restfulx.QueryParam(rc, "ossCode") - - data := entity.ResOss{Status: status, Category: category, OssCode: ossCode} - list, total := p.ResOssesApp.FindListPage(pageNum, pageSize, data) - li := *list - for i, data := range li { - data.AccessKey = utils.DdmKey(data.AccessKey) - data.SecretKey = utils.DdmKey(data.SecretKey) - li[i] = data - } - rc.ResData = model.ResultPage{ - Total: total, - PageNum: int64(pageNum), - PageSize: int64(pageNum), - Data: list, - } -} - -// GetResOsses 获取ResOsses -func (p *ResOssesApi) GetResOsses(rc *restfulx.ReqCtx) { - ossId := restfulx.PathParamInt(rc, "ossId") - p.ResOssesApp.FindOne(int64(ossId)) -} - -// InsertResOsses 添加ResOsses -func (p *ResOssesApi) InsertResOsses(rc *restfulx.ReqCtx) { - var data entity.ResOss - restfulx.BindQuery(rc, &data) - - p.ResOssesApp.Insert(data) -} - -// UpdateResOsses 修改ResOsses -func (p *ResOssesApi) UpdateResOsses(rc *restfulx.ReqCtx) { - var data entity.ResOss - restfulx.BindQuery(rc, &data) - if utils.IsDdmKey(data.AccessKey) { - data.AccessKey = "" - } - if utils.IsDdmKey(data.SecretKey) { - data.SecretKey = "" - } - p.ResOssesApp.Update(data) -} - -// DeleteResOsses 删除ResOsses -func (p *ResOssesApi) DeleteResOsses(rc *restfulx.ReqCtx) { - ossId := restfulx.PathParam(rc, "ossId") - ossIds := utils.IdsStrToIdsIntGroup(ossId) - p.ResOssesApp.Delete(ossIds) -} - -// UplaodResOsses 上传文件ResOsses -func (p *ResOssesApi) UplaodResOsses(rc *restfulx.ReqCtx) { - _, handler, _ := rc.Request.Request.FormFile("file") - ossCode := restfulx.QueryParam(rc, "ossCode") - list := p.ResOssesApp.FindList(entity.ResOss{OssCode: ossCode}) - li := *list - yunFileTmpPath := "uploads/" + time.Now().Format("2006-01-02") + "/" + handler.Filename - // 读取本地文件。 - f, openError := handler.Open() - biz.ErrIsNil(openError, "function file.Open() Failed") - biz.ErrIsNil(NewOss(li[0]).PutObj(yunFileTmpPath, f), "上传OSS失败") - - rc.ResData = fmt.Sprintf("https://%s.%s/%s", li[0].BucketName, li[0].Endpoint, yunFileTmpPath) -} - -// UpdateOssStatus 修改ResOsses状态 -func (p *ResOssesApi) UpdateOssStatus(rc *restfulx.ReqCtx) { - var data entity.ResOss - restfulx.BindQuery(rc, &data) - - p.ResOssesApp.Update(entity.ResOss{OssId: data.OssId, Status: data.Status}) -} - -func NewOss(ens entity.ResOss) oss.Driver { - switch ens.Category { - case "0": - return oss.NewAliOss(oss.AliConfig{ - AccessKey: ens.AccessKey, - SecretKey: ens.SecretKey, - Bucket: ens.BucketName, - Endpoint: ens.Endpoint, - }) - case "1": - //return oss.NewQnOss() - case "2": - //return oss.NewTencentOss() - } - return nil -} diff --git a/apps/resource/entity/mail.go b/apps/resource/entity/mail.go deleted file mode 100644 index 36355cf..0000000 --- a/apps/resource/entity/mail.go +++ /dev/null @@ -1,21 +0,0 @@ -package entity - -import "github.com/XM-GO/PandaKit/model" - -/** - * @Description 添加qq群467890197 交流学习 - * @Author 熊猫 - * @Date 2022/1/13 14:47 - **/ -type ResEmail struct { - MailId int64 `json:"mailId" gorm:"primaryKey;AUTO_INCREMENT;comment:主键编码"` - Category string `json:"category" grom:"type:varchar(1);comment:分类qq或163"` // 0 163邮箱,1 qq邮箱 2 企业邮箱 - Host string `json:"host" grom:"type:varchar(64);comment:服务器地址"` // 服务器地址 - Port int `json:"port" grom:"type:int;comment:服务器端口"` // 服务器端口 - From string `json:"from" grom:"type:varchar(64);comment:邮箱账号"` // 邮箱账号 - Nickname string `json:"nickname" grom:"type:varchar(64);comment:发件人"` // 发件人 - Secret string `json:"secret" grom:"type:varchar(64);comment:邮箱密码"` // 邮箱密码 - IsSSL bool `json:"isSsl" grom:"comment:是否开启ssl"` // 是否开启ssl - Status string `json:"status" grom:"type:varchar(1);comment:状态"` - model.BaseModel -} diff --git a/apps/resource/entity/oss.go b/apps/resource/entity/oss.go deleted file mode 100644 index 1a410fd..0000000 --- a/apps/resource/entity/oss.go +++ /dev/null @@ -1,24 +0,0 @@ -package entity - -import "github.com/XM-GO/PandaKit/model" - -/** - * @Description 添加qq群467890197 交流学习 - * @Author 熊猫 - * @Date 2022/1/13 14:47 - **/ - -type ResOss struct { - OssId int64 `json:"ossId" gorm:"primaryKey;AUTO_INCREMENT;comment:主键编码"` - Category string `json:"category" grom:"type:varchar(1);comment:种类"` // 0 阿里云 1.七牛云 2. 腾讯云 - AppId string `json:"appId" gorm:"type:varchar(128);comment:AppId"` - AccessKey string `json:"accessKey" gorm:"type:varchar(128);comment:accessKey"` - SecretKey string `json:"secretKey" gorm:"type:varchar(128);comment:secretKey"` - BucketName string `json:"bucketName" gorm:"type:varchar(128);comment:bucketName"` - Endpoint string `json:"endpoint" gorm:"type:varchar(128);comment:endpoint"` - OssCode string `json:"ossCode" gorm:"type:varchar(128);comment:ossCode"` - Region string `json:"region" gorm:"type:varchar(128);comment:地址"` - Remark string `json:"remark" gorm:"type:varchar(128);comment:说明"` - Status string `json:"status" gorm:"type:varchar(1);comment:状态"` // 0.启用 1.禁止 - model.BaseModel -} diff --git a/apps/resource/entity/sms.go b/apps/resource/entity/sms.go deleted file mode 100644 index 646d1ec..0000000 --- a/apps/resource/entity/sms.go +++ /dev/null @@ -1,7 +0,0 @@ -package entity - -/** - * @Description 添加qq群467890197 交流学习 - * @Author 熊猫 - * @Date 2022/1/13 14:47 - **/ diff --git a/apps/resource/router/email.go b/apps/resource/router/email.go deleted file mode 100644 index ca089a2..0000000 --- a/apps/resource/router/email.go +++ /dev/null @@ -1,85 +0,0 @@ -package router - -import ( - "github.com/XM-GO/PandaKit/model" - "github.com/XM-GO/PandaKit/restfulx" - restfulspec "github.com/emicklei/go-restful-openapi/v2" - "github.com/emicklei/go-restful/v3" - "pandax/apps/resource/api" - "pandax/apps/resource/api/from" - "pandax/apps/resource/entity" - "pandax/apps/resource/services" -) - -/** - * @Description 添加qq群467890197 交流学习 - * @Author 熊猫 - * @Date 2022/1/14 15:24 - **/ - -func InitResEmailsRouter(container *restful.Container) { - s := &api.ResEmailsApi{ - ResEmailsApp: services.ResEmailsModelDao, - } - ws := new(restful.WebService) - ws.Path("/resource/email").Produces(restful.MIME_JSON) - tags := []string{"email"} - - ws.Route(ws.GET("/list").To(func(request *restful.Request, response *restful.Response) { - restfulx.NewReqCtx(request, response).WithLog("获取ResEmails分页列表").Handle(s.GetResEmailsList) - }). - Doc("获取ResEmails分页列表"). - Param(ws.QueryParameter("pageNum", "页数").Required(true).DataType("int")). - Param(ws.QueryParameter("pageSize", "每页条数").Required(true).DataType("int")). - Param(ws.QueryParameter("status", "status").DataType("string")). - Param(ws.QueryParameter("category", "category").DataType("string")). - Metadata(restfulspec.KeyOpenAPITags, tags). - Writes(model.ResultPage{}). - Returns(200, "OK", model.ResultPage{})) - - ws.Route(ws.GET("/{mailId}").To(func(request *restful.Request, response *restful.Response) { - restfulx.NewReqCtx(request, response).WithLog("获取ResEmails信息").Handle(s.GetResEmails) - }). - Doc("获取ResEmails信息"). - Param(ws.PathParameter("mailId", "Id").DataType("int")). - Metadata(restfulspec.KeyOpenAPITags, tags). - Writes(entity.ResEmail{}). - Returns(200, "OK", entity.ResEmail{}). - Returns(404, "Not Found", nil)) - - ws.Route(ws.POST("").To(func(request *restful.Request, response *restful.Response) { - restfulx.NewReqCtx(request, response).WithLog("添加ResEmails信息").Handle(s.InsertResEmails) - }). - Doc("添加ResEmails信息"). - Metadata(restfulspec.KeyOpenAPITags, tags). - Reads(entity.ResEmail{})) - - ws.Route(ws.PUT("").To(func(request *restful.Request, response *restful.Response) { - restfulx.NewReqCtx(request, response).WithLog("修改ResEmails信息").Handle(s.UpdateResEmails) - }). - Doc("修改ResEmails信息"). - Metadata(restfulspec.KeyOpenAPITags, tags). - Reads(entity.ResEmail{})) // from the request - - ws.Route(ws.DELETE("/{mailId}").To(func(request *restful.Request, response *restful.Response) { - restfulx.NewReqCtx(request, response).WithLog("删除ResEmails信息").Handle(s.DeleteResEmails) - }). - Doc("删除ResEmails信息"). - Metadata(restfulspec.KeyOpenAPITags, tags). - Param(ws.PathParameter("mailId", "多id 1,2,3").DataType("string"))) - - ws.Route(ws.POST("/debugMail").To(func(request *restful.Request, response *restful.Response) { - restfulx.NewReqCtx(request, response).WithLog("调试").Handle(s.DebugMail) - }). - Doc("调试"). - Reads(from.SendMail{}). - Metadata(restfulspec.KeyOpenAPITags, tags)) - - ws.Route(ws.PUT("/changeStatus").To(func(request *restful.Request, response *restful.Response) { - restfulx.NewReqCtx(request, response).WithLog("修改状态").Handle(s.UpdateMailStatus) - }). - Doc("修改状态"). - Metadata(restfulspec.KeyOpenAPITags, tags)) - - container.Add(ws) -} diff --git a/apps/resource/router/oss.go b/apps/resource/router/oss.go deleted file mode 100644 index d924f92..0000000 --- a/apps/resource/router/oss.go +++ /dev/null @@ -1,85 +0,0 @@ -package router - -import ( - "github.com/XM-GO/PandaKit/model" - "github.com/XM-GO/PandaKit/restfulx" - restfulspec "github.com/emicklei/go-restful-openapi/v2" - "github.com/emicklei/go-restful/v3" - "pandax/apps/resource/api" - "pandax/apps/resource/entity" - "pandax/apps/resource/services" -) - -/** - * @Description 添加qq群467890197 交流学习 - * @Author 熊猫 - * @Date 2022/1/13 15:21 - **/ - -func InitResOssRouter(container *restful.Container) { - s := &api.ResOssesApi{ - ResOssesApp: services.ResOssesModelDao, - } - ws := new(restful.WebService) - ws.Path("/resource/oss").Produces(restful.MIME_JSON) - tags := []string{"oss"} - - ws.Route(ws.GET("/list").To(func(request *restful.Request, response *restful.Response) { - restfulx.NewReqCtx(request, response).WithLog("获取ResOsses分页列表").Handle(s.GetResOssesList) - }). - Doc("获取ResOsses分页列表"). - Param(ws.QueryParameter("pageNum", "页数").Required(true).DataType("int")). - Param(ws.QueryParameter("pageSize", "每页条数").Required(true).DataType("int")). - Param(ws.QueryParameter("status", "status").DataType("string")). - Param(ws.QueryParameter("category", "category").DataType("string")). - Param(ws.QueryParameter("ossCode", "ossCode").DataType("string")). - Metadata(restfulspec.KeyOpenAPITags, tags). - Writes(model.ResultPage{}). - Returns(200, "OK", model.ResultPage{})) - - ws.Route(ws.GET("/{ossId}").To(func(request *restful.Request, response *restful.Response) { - restfulx.NewReqCtx(request, response).WithLog("获取ResOsses信息").Handle(s.GetResOsses) - }). - Doc("获取ResOsses信息"). - Param(ws.PathParameter("ossId", "Id").DataType("int")). - Metadata(restfulspec.KeyOpenAPITags, tags). - Writes(entity.ResOss{}). // on the response - Returns(200, "OK", entity.ResOss{}). - Returns(404, "Not Found", nil)) - - ws.Route(ws.POST("").To(func(request *restful.Request, response *restful.Response) { - restfulx.NewReqCtx(request, response).WithLog("添加ResOsses信息").Handle(s.InsertResOsses) - }). - Doc("添加ResOsses信息"). - Metadata(restfulspec.KeyOpenAPITags, tags). - Reads(entity.ResOss{})) - - ws.Route(ws.PUT("").To(func(request *restful.Request, response *restful.Response) { - restfulx.NewReqCtx(request, response).WithLog("修改ResOsses信息").Handle(s.UpdateResOsses) - }). - Doc("修改ResOsses信息"). - Metadata(restfulspec.KeyOpenAPITags, tags). - Reads(entity.ResOss{})) // from the request - - ws.Route(ws.DELETE("/{ossId}").To(func(request *restful.Request, response *restful.Response) { - restfulx.NewReqCtx(request, response).WithLog("删除ResOsses信息").Handle(s.DeleteResOsses) - }). - Doc("删除ResOsses信息"). - Metadata(restfulspec.KeyOpenAPITags, tags). - Param(ws.PathParameter("ossId", "多id 1,2,3").DataType("string"))) - - ws.Route(ws.POST("/uploadFile").To(func(request *restful.Request, response *restful.Response) { - restfulx.NewReqCtx(request, response).WithLog("测试文件上传").Handle(s.UplaodResOsses) - }). - Doc("测试文件上传"). - Param(ws.QueryParameter("ossCode", "ossCode").DataType("string")). - Metadata(restfulspec.KeyOpenAPITags, tags)) - - ws.Route(ws.PUT("/changeStatus").To(func(request *restful.Request, response *restful.Response) { - restfulx.NewReqCtx(request, response).WithLog("修改状态").Handle(s.UpdateOssStatus) - }). - Doc("修改状态"). - Metadata(restfulspec.KeyOpenAPITags, tags)) - - container.Add(ws) -} diff --git a/apps/resource/services/email.go b/apps/resource/services/email.go deleted file mode 100644 index 87018dd..0000000 --- a/apps/resource/services/email.go +++ /dev/null @@ -1,94 +0,0 @@ -package services - -import ( - "github.com/XM-GO/PandaKit/biz" - "pandax/apps/resource/entity" - "pandax/pkg/global" -) - -/** - * @Description 添加qq群467890197 交流学习 - * @Author 熊猫 - * @Date 2022/1/14 15:21 - **/ - -type ( - ResEmailsModel interface { - Insert(data entity.ResEmail) *entity.ResEmail - FindOne(mailId int64) *entity.ResEmail - FindListPage(page, pageSize int, data entity.ResEmail) (*[]entity.ResEmail, int64) - FindList(data entity.ResEmail) *[]entity.ResEmail - Update(data entity.ResEmail) *entity.ResEmail - Delete(mailIds []int64) - } - - emailModelImpl struct { - table string - } -) - -var ResEmailsModelDao ResEmailsModel = &emailModelImpl{ - table: `res_emails`, -} - -func (m *emailModelImpl) Insert(data entity.ResEmail) *entity.ResEmail { - err := global.Db.Table(m.table).Create(&data).Error - biz.ErrIsNil(err, "添加ResEmails失败") - return &data -} - -func (m *emailModelImpl) FindOne(mailId int64) *entity.ResEmail { - resData := new(entity.ResEmail) - err := global.Db.Table(m.table).Where("mail_id = ?", mailId).First(resData).Error - biz.ErrIsNil(err, "查询ResEmails失败") - return resData -} - -func (m *emailModelImpl) FindListPage(page, pageSize int, data entity.ResEmail) (*[]entity.ResEmail, int64) { - list := make([]entity.ResEmail, 0) - var total int64 = 0 - offset := pageSize * (page - 1) - db := global.Db.Table(m.table) - // 此处填写 where参数判断 - if data.MailId != 0 { - db = db.Where("mail_id = ?", data.MailId) - } - if data.Status != "" { - db = db.Where("status = ?", data.Status) - } - if data.Category != "" { - db = db.Where("category = ?", data.Category) - } - db.Where("delete_time IS NULL") - err := db.Count(&total).Error - err = db.Order("create_time").Limit(pageSize).Offset(offset).Find(&list).Error - biz.ErrIsNil(err, "查询ResEmails分页列表失败") - return &list, total -} - -func (m *emailModelImpl) FindList(data entity.ResEmail) *[]entity.ResEmail { - list := make([]entity.ResEmail, 0) - db := global.Db.Table(m.table) - // 此处填写 where参数判断 - if data.MailId != 0 { - db = db.Where("mail_id = ?", data.MailId) - } - if data.Status != "" { - db = db.Where("status = ?", data.Status) - } - if data.Category != "" { - db = db.Where("category = ?", data.Category) - } - db.Where("delete_time IS NULL") - biz.ErrIsNil(db.Order("create_time").Find(&list).Error, "查询ResEmails列表失败") - return &list -} - -func (m *emailModelImpl) Update(data entity.ResEmail) *entity.ResEmail { - biz.ErrIsNil(global.Db.Table(m.table).Updates(&data).Error, "修改ResEmails失败") - return &data -} - -func (m *emailModelImpl) Delete(mailIds []int64) { - biz.ErrIsNil(global.Db.Table(m.table).Delete(&entity.ResEmail{}, "mail_id in (?)", mailIds).Error, "删除ResEmails失败") -} diff --git a/apps/resource/services/oss.go b/apps/resource/services/oss.go deleted file mode 100644 index ffd4eb9..0000000 --- a/apps/resource/services/oss.go +++ /dev/null @@ -1,101 +0,0 @@ -package services - -import ( - "github.com/XM-GO/PandaKit/biz" - "pandax/apps/resource/entity" - "pandax/pkg/global" -) - -/** - * @Description 添加qq群467890197 交流学习 - * @Author 熊猫 - * @Date 2022/1/13 15:17 - **/ - -// ========================================================================== -// 生成日期:2022-01-13 15:12:14 +0800 CST -// 生成路径: apps/admin/services/res_osses.go -// 生成人:panda -// ========================================================================== - -type ( - ResOssesModel interface { - Insert(data entity.ResOss) *entity.ResOss - FindOne(ossId int64) *entity.ResOss - FindListPage(page, pageSize int, data entity.ResOss) (*[]entity.ResOss, int64) - FindList(data entity.ResOss) *[]entity.ResOss - Update(data entity.ResOss) *entity.ResOss - Delete(ossIds []int64) - } - - resOssesModelImpl struct { - table string - } -) - -var ResOssesModelDao ResOssesModel = &resOssesModelImpl{ - table: `res_osses`, -} - -func (m *resOssesModelImpl) Insert(data entity.ResOss) *entity.ResOss { - err := global.Db.Table(m.table).Create(&data).Error - biz.ErrIsNil(err, "添加ResOsses失败") - return &data -} - -func (m *resOssesModelImpl) FindOne(ossId int64) *entity.ResOss { - resData := new(entity.ResOss) - err := global.Db.Table(m.table).Where("oss_id = ?", ossId).First(resData).Error - biz.ErrIsNil(err, "查询ResOsses失败") - return resData -} - -func (m *resOssesModelImpl) FindListPage(page, pageSize int, data entity.ResOss) (*[]entity.ResOss, int64) { - list := make([]entity.ResOss, 0) - var total int64 = 0 - offset := pageSize * (page - 1) - db := global.Db.Table(m.table) - // 此处填写 where参数判断 - if data.OssId != 0 { - db = db.Where("oss_id = ?", data.OssId) - } - if data.OssCode != "" { - db = db.Where("oss_code = ?", data.OssCode) - } - if data.Status != "" { - db = db.Where("status = ?", data.Status) - } - if data.Category != "" { - db = db.Where("category = ?", data.Category) - } - - db.Where("delete_time IS NULL") - err := db.Count(&total).Error - err = db.Order("create_time").Limit(pageSize).Offset(offset).Find(&list).Error - biz.ErrIsNil(err, "查询ResOsses分页列表失败") - return &list, total -} - -func (m *resOssesModelImpl) FindList(data entity.ResOss) *[]entity.ResOss { - list := make([]entity.ResOss, 0) - db := global.Db.Table(m.table) - // 此处填写 where参数判断 - if data.OssId != 0 { - db = db.Where("oss_id = ?", data.OssId) - } - if data.OssCode != "" { - db = db.Where("oss_code = ?", data.OssCode) - } - db.Where("status = '0' AND delete_time IS NULL") - biz.ErrIsNil(db.Order("create_time").Find(&list).Error, "查询ResOsses列表失败") - return &list -} - -func (m *resOssesModelImpl) Update(data entity.ResOss) *entity.ResOss { - biz.ErrIsNil(global.Db.Table(m.table).Updates(&data).Error, "修改ResOsses失败") - return &data -} - -func (m *resOssesModelImpl) Delete(ossIds []int64) { - biz.ErrIsNil(global.Db.Table(m.table).Delete(&entity.ResOss{}, "oss_id in (?)", ossIds).Error, "删除ResOsses失败") -} diff --git a/fatal.log b/fatal.log new file mode 100644 index 0000000..66e54a6 --- /dev/null +++ b/fatal.log @@ -0,0 +1,2 @@ + +2023-08-22 15:15:49-------------------------------- diff --git a/go.mod b/go.mod index c2f6a16..e9bbc46 100644 --- a/go.mod +++ b/go.mod @@ -37,7 +37,6 @@ require ( require ( github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible // indirect github.com/StackExchange/wmi v0.0.0-20210224194228-fe8f1750fd46 // indirect - github.com/aliyun/aliyun-oss-go-sdk v2.2.0+incompatible // indirect github.com/bluenviron/mediacommon v0.7.0 // indirect github.com/brianvoe/gofakeit/v6 v6.0.2 // indirect github.com/casbin/casbin/v2 v2.37.4 // indirect @@ -50,11 +49,12 @@ require ( github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect github.com/discoviking/fsm v0.0.0-20150126104936-f4a273feecca // indirect github.com/dlclark/regexp2 v1.7.0 // indirect - github.com/dustin/go-humanize v1.0.0 // indirect github.com/eapache/go-resiliency v1.3.0 // indirect github.com/eapache/go-xerial-snappy v0.0.0-20230111030713-bf00bc1b83b6 // indirect github.com/eapache/queue v1.1.0 // indirect github.com/ghettovoice/gosip v0.0.0-20230802091127-d58873a3fe44 // indirect + github.com/gin-contrib/sse v0.1.0 // indirect + github.com/gin-gonic/gin v1.7.4 // indirect github.com/go-ole/go-ole v1.2.6 // indirect github.com/go-openapi/jsonpointer v0.19.5 // indirect github.com/go-openapi/jsonreference v0.20.0 // indirect @@ -99,7 +99,6 @@ require ( github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect github.com/klauspost/compress v1.16.0 // indirect - github.com/klauspost/cpuid/v2 v2.1.0 // indirect github.com/leodido/go-urn v1.2.1 // indirect github.com/lib/pq v1.10.4 // indirect github.com/logrusorgru/aurora v2.0.3+incompatible // indirect @@ -109,9 +108,6 @@ require ( github.com/mattn/go-isatty v0.0.16 // indirect github.com/mcuadros/go-defaults v1.2.0 // indirect github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d // indirect - github.com/minio/md5-simd v1.1.2 // indirect - github.com/minio/minio-go/v7 v7.0.36 // indirect - github.com/minio/sha256-simd v1.0.0 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 // indirect @@ -125,10 +121,8 @@ require ( github.com/pion/randutil v0.1.0 // indirect github.com/pion/rtp v1.8.0 // indirect github.com/pion/webrtc/v3 v3.1.56 // indirect - github.com/pkg/errors v0.9.1 // indirect github.com/power-devops/perfstat v0.0.0-20220216144756-c35f1ee13d7c // indirect github.com/q191201771/naza v0.30.8 // indirect - github.com/qiniu/go-sdk/v7 v7.11.0 // indirect github.com/quic-go/qtls-go1-18 v0.2.0 // indirect github.com/quic-go/qtls-go1-19 v0.2.0 // indirect github.com/quic-go/qtls-go1-20 v0.1.0 // indirect @@ -136,13 +130,14 @@ require ( github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/richardlehane/mscfb v1.0.4 // indirect github.com/richardlehane/msoleps v1.0.3 // indirect - github.com/rs/xid v1.4.0 // indirect + github.com/rogpeppe/go-internal v1.8.0 // indirect github.com/satori/go.uuid v1.2.1-0.20181028125025-b2ce2384e17b // indirect github.com/shirou/gopsutil/v3 v3.22.11 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/tevino/abool v1.2.0 // indirect github.com/tklauser/go-sysconf v0.3.11 // indirect github.com/tklauser/numcpus v0.6.0 // indirect + github.com/ugorji/go/codec v1.1.7 // indirect github.com/x-cray/logrus-prefixed-formatter v0.5.2 // indirect github.com/xuri/efp v0.0.0-20220603152613-6918739fd470 // indirect github.com/xuri/nfp v0.0.0-20220409054826-5e722a1d9e22 // indirect @@ -162,7 +157,6 @@ require ( golang.org/x/time v0.3.0 // indirect golang.org/x/tools v0.6.0 // indirect google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013 // indirect - gopkg.in/ini.v1 v1.66.6 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect gorm.io/driver/mysql v1.2.0 // indirect diff --git a/go.sum b/go.sum index 920c02a..17029cb 100644 --- a/go.sum +++ b/go.sum @@ -14,10 +14,7 @@ github.com/StackExchange/wmi v0.0.0-20210224194228-fe8f1750fd46 h1:5sXbqlSomvdjl github.com/StackExchange/wmi v0.0.0-20210224194228-fe8f1750fd46/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= github.com/XM-GO/PandaKit v0.0.0-20230628055017-c47e7aa81cd4 h1:SlGUf970WIctMhu8ZZBNsZfY1bdCbGGo9wLm5V0ceeM= github.com/XM-GO/PandaKit v0.0.0-20230628055017-c47e7aa81cd4/go.mod h1:iyVx5byF4Z//dBpXMy22ZtgSnQAN/U9qjwGyU02QfSA= -github.com/aliyun/aliyun-oss-go-sdk v2.2.0+incompatible h1:ht2+VfbXtNLGhCsnTMc6/N26nSTBK6qdhktjYyjJQkk= -github.com/aliyun/aliyun-oss-go-sdk v2.2.0+incompatible/go.mod h1:T/Aws4fEfogEE9v+HPhhw+CntffsBHJ8nXQCwKr0/g8= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/baiyubin/aliyun-sts-go-sdk v0.0.0-20180326062324-cfa1a18b161f h1:ZNv7On9kyUzm7fvRZumSyy/IUiSC7AzL0I1jKKtwooA= github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= github.com/bluenviron/mediacommon v0.7.0 h1:dJWLLL9oDbAqfK8KuNfnDUQwNbeMAtGeRjZc9Vo95js= github.com/bluenviron/mediacommon v0.7.0/go.mod h1:wuLJdxcITiSPgY1MvQqrX+qPlKmNfeV9wNvXth5M98I= @@ -79,8 +76,6 @@ github.com/dop251/goja v0.0.0-20230304130813-e2f543bf4b4c h1:/utv6nmTctV6OVgfk5+ github.com/dop251/goja v0.0.0-20230304130813-e2f543bf4b4c/go.mod h1:QMWlm50DNe14hD7t24KEqZuUdC9sOTy8W6XbCU1mlw4= github.com/dop251/goja_nodejs v0.0.0-20210225215109-d91c329300e7/go.mod h1:hn7BA7c8pLvoGndExHudxTDKZ84Pyvv+90pbBjbTz0Y= github.com/dop251/goja_nodejs v0.0.0-20211022123610-8dd9abb0616d/go.mod h1:DngW8aVqWbuLRMHItjPUyqdj+HWPvnQe8V8y1nDpIbM= -github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo= -github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/eapache/go-resiliency v1.3.0 h1:RRL0nge+cWGlxXbUzJ7yMcq6w2XBEr19dCN6HECGaT0= github.com/eapache/go-resiliency v1.3.0/go.mod h1:5yPzW0MIvSe0JDsv0v+DvcjEv2FyD6iZYSs1ZI+iQho= github.com/eapache/go-xerial-snappy v0.0.0-20230111030713-bf00bc1b83b6 h1:8yY/I9ndfrgrXUbOGObLHKBR4Fl3nZXwM2c7OYTT8hM= @@ -108,6 +103,10 @@ github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4 github.com/ghettovoice/gosip v0.0.0-20230802091127-d58873a3fe44 h1:m4/46V6uAJ95CLimMRHJjiH5psW1JuL+iLeUBzF2r70= github.com/ghettovoice/gosip v0.0.0-20230802091127-d58873a3fe44/go.mod h1:rlD1yLOErWYohWTryG/2bTTpmzB79p52ntLA/uIFXeI= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= +github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= +github.com/gin-gonic/gin v1.7.4 h1:QmUZXrvJ9qZ3GfWvQ+2wnW/1ePrTEJqPKMYEU3lD/DM= +github.com/gin-gonic/gin v1.7.4/go.mod h1:jD2toBW3GZUr5UMcdrwQA10I7RuaFOl/SGeDjXkfUtY= github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= github.com/go-ole/go-ole v1.2.5/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= @@ -133,6 +132,7 @@ github.com/go-playground/locales v0.14.0/go.mod h1:sawfccIbzZTqEDETgFXqTho0QybSa github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= github.com/go-playground/universal-translator v0.18.0 h1:82dyy6p4OuJq4/CByFNOn/jYrnRPArHwAcmLoJZxyho= github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl+lu/H90nyDXpg0fqeB/AQUGNTVA= +github.com/go-playground/validator/v10 v10.4.1/go.mod h1:nlOn6nFhuKACm19sB/8EGNn9GlaMV7XkbRSipzJ0Ii4= github.com/go-playground/validator/v10 v10.8.0 h1:1kAa0fCrnpv+QYdkdcRzrRM7AyYs5o8+jZdJCz9xj6k= github.com/go-playground/validator/v10 v10.8.0/go.mod h1:9JhgTzTaE31GZDpH/HSvHiRJrJ3iKAgqqH0Bl/Ocjdk= github.com/go-redis/redis v6.15.9+incompatible h1:K0pv1D7EQUjfyoMql+r/jZqCLizCGKFlFgcHWWmHQjg= @@ -288,6 +288,7 @@ github.com/jordan-wright/email v4.0.1-0.20210109023952-943e75fe5223+incompatible github.com/jordan-wright/email v4.0.1-0.20210109023952-943e75fe5223+incompatible/go.mod h1:1c7szIrayyPPB/987hsnvNzLushdWf4o/79s3P08L8A= github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= +github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= @@ -299,10 +300,6 @@ github.com/kelindar/tcp v1.0.0/go.mod h1:JB5hj1cshLU60XrLij2BBxW3JQ4hOye8vqbyvuK github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/klauspost/compress v1.16.0 h1:iULayQNOReoYUe+1qtKOqw9CwJv3aNQu8ivo7lw1HU4= github.com/klauspost/compress v1.16.0/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= -github.com/klauspost/cpuid/v2 v2.0.1/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.0.4/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.1.0 h1:eyi1Ad2aNJMW95zcSbmGg7Cg6cq3ADwLpMAP96d8rF0= -github.com/klauspost/cpuid/v2 v2.1.0/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= @@ -314,6 +311,7 @@ github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= github.com/leodido/go-urn v1.2.1 h1:BqpAaACuzVSgi/VLzGZIobT2z4v53pjosyNd9Yv6n/w= github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY= github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= @@ -348,12 +346,6 @@ github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyex github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d h1:5PJl274Y63IEHC+7izoQE9x6ikvDFZS2mDVS3drnohI= github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= github.com/minio/highwayhash v1.0.2 h1:Aak5U0nElisjDCfPSG79Tgzkn2gl66NxOMspRrKnA/g= -github.com/minio/md5-simd v1.1.2 h1:Gdi1DZK69+ZVMoNHRXJyNcxrMA4dSxoYHZSQbirFg34= -github.com/minio/md5-simd v1.1.2/go.mod h1:MzdKDxYpY2BT9XQFocsiZf/NKVtR7nkE4RoEpN+20RM= -github.com/minio/minio-go/v7 v7.0.36 h1:KPzAl8C6jcRFEUsGUHR6deRivvKATPNZThzi7D9y/sc= -github.com/minio/minio-go/v7 v7.0.36/go.mod h1:nCrRzjoSUQh8hgKKtu3Y708OLvRLtuASMg2/nvmbarw= -github.com/minio/sha256-simd v1.0.0 h1:v1ta+49hkWZyvaKwrQB8elexRqm6Y0aMLjCNsrYxo6g= -github.com/minio/sha256-simd v1.0.0/go.mod h1:OuYzVNI5vcoYIAmbIvHPl3N3jUzVedXbKy5RFepssQM= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -430,7 +422,6 @@ github.com/pixelbender/go-sdp v1.1.0/go.mod h1:6IBlz9+BrUHoFTea7gcp4S54khtOhjCW/ github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= -github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= @@ -439,10 +430,6 @@ github.com/power-devops/perfstat v0.0.0-20220216144756-c35f1ee13d7c/go.mod h1:Om github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/q191201771/naza v0.30.8 h1:Lhh29o65C4PmTDj2l+eKfsw9dddpgWZk4bFICtcnSaA= github.com/q191201771/naza v0.30.8/go.mod h1:n+dpJjQSh90PxBwxBNuifOwQttywvSIN5TkWSSYCeBk= -github.com/qiniu/dyn v1.3.0/go.mod h1:E8oERcm8TtwJiZvkQPbcAh0RL8jO1G0VXJMW3FAWdkk= -github.com/qiniu/go-sdk/v7 v7.11.0 h1:Cdx/1E3ybv0OFKnkGwoDN/t6bCCntjrWhwWuRaqI3XQ= -github.com/qiniu/go-sdk/v7 v7.11.0/go.mod h1:btsaOc8CA3hdVloULfFdDgDc+g4f3TDZEFsDY0BLE+w= -github.com/qiniu/x v1.10.5/go.mod h1:03Ni9tj+N2h2aKnAz+6N0Xfl8FwMEDRC2PAlxekASDs= github.com/quic-go/qtls-go1-18 v0.2.0 h1:5ViXqBZ90wpUcZS0ge79rf029yx0dYB0McyPJwqqj7U= github.com/quic-go/qtls-go1-18 v0.2.0/go.mod h1:moGulGHK7o6O8lSPSZNoOwcLvJKJ85vVNc7oJFD65bc= github.com/quic-go/qtls-go1-19 v0.2.0 h1:Cvn2WdhyViFUHoOqK52i51k4nDX8EwIh5VJiVM4nttk= @@ -466,8 +453,6 @@ github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTE github.com/rogpeppe/go-internal v1.8.0 h1:FCbCCtXNOY3UtUuHUYaghJg4y7Fd14rXifAYUAtL9R8= github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= -github.com/rs/xid v1.4.0 h1:qd7wPTDkN6KQx2VmMBLrpHkiyQwgFXRnkOLacUiaSNY= -github.com/rs/xid v1.4.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= github.com/rs/zerolog v1.13.0/go.mod h1:YbFCdg8HfsridGWAh22vktObvhZbQsZXe4/zB0OKkWU= github.com/rs/zerolog v1.15.0/go.mod h1:xYTKnLHcpfU2225ny5qZjxnj9NvkumZYjJHlAThCjNc= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= @@ -513,6 +498,9 @@ github.com/tklauser/go-sysconf v0.3.11 h1:89WgdJhk5SNwJfu+GKyYveZ4IaJ7xAkecBo+Kd github.com/tklauser/go-sysconf v0.3.11/go.mod h1:GqXfhXY3kiPa0nAXPDIQIWzJbMCB7AmcWpGR8lSZfqI= github.com/tklauser/numcpus v0.6.0 h1:kebhY2Qt+3U6RNK7UqpYNA+tJ23IBEGKkB7JQBfDYms= github.com/tklauser/numcpus v0.6.0/go.mod h1:FEZLMke0lhOUG6w2JadTzp0a+Nl8PF/GFkQ5UVIcaL4= +github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= +github.com/ugorji/go/codec v1.1.7 h1:2SvQaVZ1ouYrrKKwoSk2pzd4A9evlKJb9oTL+OaLUSs= +github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= github.com/x-cray/logrus-prefixed-formatter v0.5.2 h1:00txxvfBM9muc0jiLIEAkAcIMJzfthRT6usrui8uGmg= github.com/x-cray/logrus-prefixed-formatter v0.5.2/go.mod h1:2duySbKsL6M18s5GU7VPsoEPHyzalCE06qoARUCeBBE= github.com/xuri/efp v0.0.0-20220603152613-6918739fd470 h1:6932x8ltq1w4utjmfMPVj09jdMlkY0aiA6+Skbtl3/c= @@ -621,7 +609,6 @@ golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= @@ -657,10 +644,8 @@ golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210525143221-35b2ab0089ea/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211020174200-9d6173849985/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -758,8 +743,6 @@ gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EV gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/inconshreveable/log15.v2 v2.0.0-20180818164646-67afb5ed74ec/go.mod h1:aPpfJ7XW+gOuirDoZ8gHhLh3kZ1B08FtV2bbmy7Jv3s= -gopkg.in/ini.v1 v1.66.6 h1:LATuAqN/shcYAOkv3wl2L4rkaKqkcgTBQjOyYDvcPKI= -gopkg.in/ini.v1 v1.66.6/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= @@ -767,6 +750,7 @@ gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= diff --git a/panda_log.log b/panda_log.log new file mode 100644 index 0000000..6f17cd8 --- /dev/null +++ b/panda_log.log @@ -0,0 +1,18 @@ +2023-08-22 15:15:49.405 [INFO] [D:/workspace/go/pkg/mod/github.com/!x!m-!g!o/!panda!kit@v0.0.0-20230628055017-c47e7aa81cd4/starter/gorm.go:36] : 连接mysql [root:!MyEMS1@tcp(127.0.0.1:3306)/pandax_iot?charset=utf8&loc=Local&parseTime=true] +2023-08-22 15:15:49.410 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:46] : mysql连接成功 +2023-08-22 15:15:49.413 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:51] : Redis连接成功 +2023-08-22 15:15:49.413 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:58] : Tdengine连接成功 +2023-08-22 15:15:49.663 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:76] : 路由初始化完成 +2023-08-22 15:15:49.664 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:38] : HTTP Server listen: :8889 +2023-08-22 15:15:49.665 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:37] : IOTHUB HOOK Start SUCCESS,Grpc Server listen: :9001 +2023-08-22 15:15:49.729 [INFO] [D:/workspace/go/project/PandaX/PandaX/apps/job/jobs/jobbase.go:83] : 2023-08-22 15:15:49 [INFO] JobCore start success. +2023-08-22 15:51:54.609 [INFO] [D:/workspace/go/pkg/mod/github.com/!x!m-!g!o/!panda!kit@v0.0.0-20230628055017-c47e7aa81cd4/starter/gorm.go:36] : 连接mysql [root:!MyEMS1@tcp(127.0.0.1:3306)/pandax_iot?charset=utf8&loc=Local&parseTime=true] +2023-08-22 15:51:54.615 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:46] : mysql连接成功 +2023-08-22 15:51:54.617 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:51] : Redis连接成功 +2023-08-22 15:51:54.617 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:58] : Tdengine连接成功 +2023-08-22 15:51:54.626 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:76] : 路由初始化完成 +2023-08-22 15:51:54.626 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:38] : HTTP Server listen: :8889 +2023-08-22 15:51:54.627 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:37] : IOTHUB HOOK Start SUCCESS,Grpc Server listen: :9001 +2023-08-22 15:51:54.634 [INFO] [D:/workspace/go/project/PandaX/PandaX/apps/job/jobs/jobbase.go:83] : 2023-08-22 15:51:54 [INFO] JobCore start success. +2023-08-22 15:51:54.637 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:156] : 账号pandax,密码pandax,开始认证 +2023-08-22 15:51:54.641 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:96] : Client emqx@172.17.0.2 Connected diff --git a/pkg/initialize/table.go b/pkg/initialize/table.go index 16f88cb..61ad40b 100644 --- a/pkg/initialize/table.go +++ b/pkg/initialize/table.go @@ -3,10 +3,8 @@ package initialize import ( "github.com/XM-GO/PandaKit/biz" devEntity "pandax/apps/develop/entity" - flowEntity "pandax/apps/flow/entity" jobEntity "pandax/apps/job/entity" logEntity "pandax/apps/log/entity" - resSourceEntity "pandax/apps/resource/entity" systemEntity "pandax/apps/system/entity" "pandax/pkg/global" ) @@ -37,15 +35,6 @@ func InitTable() { jobEntity.SysJob{}, devEntity.DevGenTable{}, devEntity.DevGenTableColumn{}, - resSourceEntity.ResOss{}, - resSourceEntity.ResEmail{}, - - flowEntity.FlowWorkClassify{}, - flowEntity.FlowWorkInfo{}, - flowEntity.FlowWorkTemplates{}, - flowEntity.FlowWorkOrder{}, - flowEntity.FlowWorkOrderTemplate{}, - flowEntity.FlowWorkStage{}, ), "初始化表失败") } diff --git a/pkg/middleware/oper.go b/pkg/middleware/oper.go index 3c1fbee..f6d483c 100644 --- a/pkg/middleware/oper.go +++ b/pkg/middleware/oper.go @@ -1,15 +1,15 @@ package middleware import ( - "github.com/XM-GO/PandaKit/ginx" + "github.com/XM-GO/PandaKit/restfulx" "github.com/XM-GO/PandaKit/utils" "net/http" "pandax/apps/log/entity" "pandax/apps/log/services" ) -func OperationHandler(rc *ginx.ReqCtx) error { - c := rc.GinCtx +func OperationHandler(rc *restfulx.ReqCtx) error { + c := rc.Request // 请求操作不做记录 if c.Request.Method == http.MethodGet || rc.LoginAccount == nil { return nil @@ -17,25 +17,27 @@ func OperationHandler(rc *ginx.ReqCtx) error { if rc.RequiredPermission == nil || !rc.RequiredPermission.NeedToken { return nil } - oper := entity.LogOper{ - Title: rc.LogInfo.Description, - BusinessType: "0", - Method: c.Request.Method, - OperName: rc.LoginAccount.UserName, - OperUrl: c.Request.URL.Path, - OperIp: c.ClientIP(), - OperLocation: utils.GetRealAddressByIP(c.ClientIP()), - OperParam: "", - Status: "0", - } - if c.Request.Method == "POST" { - oper.BusinessType = "1" - } else if c.Request.Method == "PUT" { - oper.BusinessType = "2" - } else if c.Request.Method == "DELETE" { - oper.BusinessType = "3" - } - services.LogOperModelDao.Insert(oper) + go func() { + oper := entity.LogOper{ + Title: rc.LogInfo.Description, + BusinessType: "0", + Method: c.Request.Method, + OperName: rc.LoginAccount.UserName, + OperUrl: c.Request.URL.Path, + OperIp: c.Request.RemoteAddr, + OperLocation: utils.GetRealAddressByIP(c.Request.RemoteAddr), + OperParam: "", + Status: "0", + } + if c.Request.Method == "POST" { + oper.BusinessType = "1" + } else if c.Request.Method == "PUT" { + oper.BusinessType = "2" + } else if c.Request.Method == "DELETE" { + oper.BusinessType = "3" + } + services.LogOperModelDao.Insert(oper) + }() return nil } diff --git a/shutdown.bat b/shutdown.bat new file mode 100644 index 0000000..80a870f --- /dev/null +++ b/shutdown.bat @@ -0,0 +1 @@ +taskkill /pid 26700 -t -f \ No newline at end of file