| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- package logic
- import (
- "errors"
- "fmt"
- "git.rtzhtech.cn/iss/public-lib/dao"
- "git.rtzhtech.cn/iss/public-lib/dto"
- "git.rtzhtech.cn/iss/public-lib/model"
- "git.rtzhtech.cn/iss/public-lib/svc"
- "github.com/gogf/gf/v2/util/gconv"
- )
- // NewLogOperateLogic
- // @函数名:NewLogOperateLogic
- // @函数功能描述: 初始化日志
- // @返回值:LogOperate
- //
- func NewLogOperateLogic() LogOperate {
- return LogOperate{
- SvcCtx: svc.SvcCtx,
- }
- }
- type LogOperate struct {
- SvcCtx *svc.ServiceContext
- }
- // SaveLogOperate
- // @函数名:SaveLogOperate
- // @函数功能描述: 保存日志
- // @对象名:c
- // @参数定义:req
- // @返回值:error
- //
- func (c *LogOperate) SaveLogOperate(req *model.LogOperate) error {
- maps := gconv.Map(req)
- return c.SvcCtx.LogOperate.Base.Replace(maps)
- }
- // SaveLogOperateMap
- // @函数名:SaveLogOperateMap
- // @函数功能描述: map结构保存日志
- // @对象名:c
- // @参数定义:maps
- // @返回值:error
- //
- func (c *LogOperate) SaveLogOperateMap(maps map[string]interface{}) error {
- if maps == nil || len(maps) == 0 {
- return errors.New("参数为空")
- }
- return c.SvcCtx.LogOperate.Base.Replace(maps)
- }
- // DelLogOperate
- // @函数名:DelLogOperate
- // @函数功能描述: 删除日志
- // @对象名:c
- // @参数定义:id
- // @返回值:error
- //
- func (c *LogOperate) DelLogOperate(id int32) error {
- md := c.SvcCtx.LogOperate
- _, err := md.Where(md.ID.Eq(id)).Delete()
- return err
- }
- // GetLogOperate
- // @函数名:GetLogOperate
- // @函数功能描述: 获取日志
- // @对象名:c
- // @参数定义:req
- // @返回值:*dto.GetLogOperateResponse
- // @返回值:error
- //
- func (c *LogOperate) GetLogOperate(req *dto.GetLogOperateRequest) (*dto.GetLogOperateResponse, error) {
- var (
- resp = new(dto.GetLogOperateResponse)
- )
- cond := new(dao.Condition)
- where := map[string]any{}
- if req.AppId > 0 {
- where["appid"] = req.AppId
- }
- if req.Usrname != "" {
- where["usrname like ?"] = "%" + req.Usrname + "%"
- }
- if req.StartAt != "" {
- startAt := fmt.Sprintf("%s >= ?", c.SvcCtx.LogOperate.CreateAt.String())
- where[startAt] = req.StartAt
- }
- if req.EndAt != "" {
- endAt := fmt.Sprintf("%s <= ?", c.SvcCtx.LogOperate.CreateAt.String())
- where[endAt] = req.EndAt
- }
- cond.Where = where
- var num int64
- c.SvcCtx.LogOperate.Base.Count(cond, &num)
- if req.Page < 1 {
- req.Page = 1
- }
- if req.Limit < 1 {
- req.Limit = 20
- }
- cond.Limit = req.Limit
- cond.Offset = (req.Page - 1) * req.Limit
- cond.OrderBy = "id desc"
- err := c.SvcCtx.LogOperate.Base.Find(cond, &resp.List)
- if err != nil {
- return resp, err
- }
- resp.Total = num
- return resp, nil
- }
|