mirror of
https://gitee.com/XM-GO/PandaX.git
synced 2026-04-23 02:48:34 +08:00
iot init
This commit is contained in:
@@ -1,42 +0,0 @@
|
||||
package api
|
||||
|
||||
import (
|
||||
"github.com/XM-GO/PandaKit/model"
|
||||
"github.com/XM-GO/PandaKit/restfulx"
|
||||
"github.com/XM-GO/PandaKit/utils"
|
||||
"pandax/apps/log/entity"
|
||||
"pandax/apps/log/services"
|
||||
)
|
||||
|
||||
type LogJobApi struct {
|
||||
LogJobApp services.LogJobModel
|
||||
}
|
||||
|
||||
// GetJobLogList Job日志列表
|
||||
func (l *LogJobApi) GetJobLogList(rc *restfulx.ReqCtx) {
|
||||
pageNum := restfulx.QueryInt(rc, "pageNum", 1)
|
||||
pageSize := restfulx.QueryInt(rc, "pageSize", 10)
|
||||
name := restfulx.QueryParam(rc, "name")
|
||||
jobGroup := restfulx.QueryParam(rc, "jobGroup")
|
||||
status := restfulx.QueryParam(rc, "status")
|
||||
|
||||
list, total := l.LogJobApp.FindListPage(pageNum, pageSize, entity.LogJob{Name: name, JobGroup: jobGroup, Status: status})
|
||||
rc.ResData = model.ResultPage{
|
||||
Total: total,
|
||||
PageNum: int64(pageNum),
|
||||
PageSize: int64(pageNum),
|
||||
Data: list,
|
||||
}
|
||||
}
|
||||
|
||||
// DeleteJobLog 批量删除登录日志
|
||||
func (l *LogJobApi) DeleteJobLog(rc *restfulx.ReqCtx) {
|
||||
logIds := restfulx.QueryParam(rc, "logId")
|
||||
group := utils.IdsStrToIdsIntGroup(logIds)
|
||||
l.LogJobApp.Delete(group)
|
||||
}
|
||||
|
||||
// DeleteAll 清空登录日志
|
||||
func (l *LogJobApi) DeleteAll(rc *restfulx.ReqCtx) {
|
||||
l.LogJobApp.DeleteAll()
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
package entity
|
||||
|
||||
import (
|
||||
"github.com/XM-GO/PandaKit/model"
|
||||
)
|
||||
|
||||
type LogJob struct {
|
||||
LogId int64 `json:"logId" gorm:"primary_key;AUTO_INCREMENT"` //主键
|
||||
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:调用方法"`
|
||||
LogInfo string `json:"logInfo" gorm:"type:varchar(255);comment:日志信息"`
|
||||
Status string `json:"status" gorm:"type:varchar(1);comment:状态"`
|
||||
model.BaseModel
|
||||
}
|
||||
@@ -1,49 +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/log/api"
|
||||
"pandax/apps/log/services"
|
||||
)
|
||||
|
||||
func InitJobLogRouter(container *restful.Container) {
|
||||
// Job日志
|
||||
s := &api.LogJobApi{
|
||||
LogJobApp: services.LogJobModelDao,
|
||||
}
|
||||
|
||||
ws := new(restful.WebService)
|
||||
ws.Path("/log/logJob").Produces(restful.MIME_JSON)
|
||||
tags := []string{"logJob"}
|
||||
|
||||
ws.Route(ws.GET("/list").To(func(request *restful.Request, response *restful.Response) {
|
||||
restfulx.NewReqCtx(request, response).WithLog("获取操作日志列表").Handle(s.GetJobLogList)
|
||||
}).
|
||||
Doc("获取操作日志列表").
|
||||
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("name", "name").DataType("string")).
|
||||
Param(ws.QueryParameter("jobGroup", "jobGroup").DataType("string")).
|
||||
Metadata(restfulspec.KeyOpenAPITags, tags).
|
||||
Writes(model.ResultPage{}).
|
||||
Returns(200, "OK", model.ResultPage{}))
|
||||
|
||||
ws.Route(ws.DELETE("/{logId}").To(func(request *restful.Request, response *restful.Response) {
|
||||
restfulx.NewReqCtx(request, response).WithLog("删除操作日志信息").Handle(s.DeleteJobLog)
|
||||
}).
|
||||
Doc("删除操作日志信息").
|
||||
Metadata(restfulspec.KeyOpenAPITags, tags).
|
||||
Param(ws.PathParameter("logId", "多id 1,2,3").DataType("string")))
|
||||
|
||||
ws.Route(ws.DELETE("/all").To(func(request *restful.Request, response *restful.Response) {
|
||||
restfulx.NewReqCtx(request, response).WithLog("清空操作日志信息").Handle(s.DeleteAll)
|
||||
}).
|
||||
Doc("清空操作日志信息").
|
||||
Metadata(restfulspec.KeyOpenAPITags, tags))
|
||||
|
||||
container.Add(ws)
|
||||
}
|
||||
@@ -1,61 +0,0 @@
|
||||
package services
|
||||
|
||||
import (
|
||||
"github.com/XM-GO/PandaKit/biz"
|
||||
"pandax/apps/log/entity"
|
||||
"pandax/pkg/global"
|
||||
)
|
||||
|
||||
type (
|
||||
LogJobModel interface {
|
||||
Insert(data entity.LogJob) *entity.LogJob
|
||||
FindListPage(page, pageSize int, data entity.LogJob) (*[]entity.LogJob, int64)
|
||||
Delete(infoId []int64)
|
||||
DeleteAll()
|
||||
}
|
||||
|
||||
logJobModelImpl struct {
|
||||
table string
|
||||
}
|
||||
)
|
||||
|
||||
var LogJobModelDao LogJobModel = &logJobModelImpl{
|
||||
table: `log_jobs`,
|
||||
}
|
||||
|
||||
func (m *logJobModelImpl) Insert(data entity.LogJob) *entity.LogJob {
|
||||
global.Db.Table(m.table).Create(&data)
|
||||
return &data
|
||||
}
|
||||
|
||||
func (m *logJobModelImpl) FindListPage(page, pageSize int, data entity.LogJob) (*[]entity.LogJob, int64) {
|
||||
list := make([]entity.LogJob, 0)
|
||||
var total int64 = 0
|
||||
offset := pageSize * (page - 1)
|
||||
db := global.Db.Table(m.table)
|
||||
// 此处填写 where参数判断
|
||||
if data.Status != "" {
|
||||
db = db.Where("status = ?", data.Status)
|
||||
}
|
||||
if data.JobGroup != "" {
|
||||
db = db.Where("job_group = ?", data.JobGroup)
|
||||
}
|
||||
if data.Name != "" {
|
||||
db = db.Where("name like ?", "%"+data.Name+"%")
|
||||
}
|
||||
err := db.Where("delete_time IS NULL").Count(&total).Error
|
||||
err = db.Order("log_id desc").Limit(pageSize).Offset(offset).Find(&list).Error
|
||||
|
||||
biz.ErrIsNil(err, "查询登录分页日志信息失败")
|
||||
return &list, total
|
||||
}
|
||||
|
||||
func (m *logJobModelImpl) Delete(logIds []int64) {
|
||||
err := global.Db.Table(m.table).Delete(&entity.LogJob{}, "log_id in (?)", logIds).Error
|
||||
biz.ErrIsNil(err, "删除登录日志信息失败")
|
||||
return
|
||||
}
|
||||
|
||||
func (m *logJobModelImpl) DeleteAll() {
|
||||
global.Db.Exec("DELETE FROM log_jobs")
|
||||
}
|
||||
Reference in New Issue
Block a user