| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- 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"
- )
- // NewAppInfoLogic
- // @函数名:NewAppInfoLogic
- // @函数功能描述: 初始化appinfo
- // @返回值:AppInfo
- //
- func NewAppInfoLogic() AppInfo {
- return AppInfo{
- SvcCtx: svc.SvcCtx,
- }
- }
- type AppInfo struct {
- SvcCtx *svc.ServiceContext
- }
- // SaveAppInfo
- // @函数名:SaveAppInfo
- // @函数功能描述: 保存appinfo
- // @对象名:c
- // @参数定义:req
- // @返回值:error
- //
- func (c *AppInfo) SaveAppInfo(req *model.SysApp) error {
- maps := gconv.Map(req)
- return c.SvcCtx.SysApp.Base.Replace(maps)
- }
- // SaveAppInfoMap
- // @函数名:SaveAppInfoMap
- // @函数功能描述: 用map类型保存appinfo
- // @对象名:c
- // @参数定义:maps
- // @返回值:error
- //
- func (c *AppInfo) SaveAppInfoMap(maps map[string]interface{}) error {
- if maps == nil || len(maps) == 0 {
- return errors.New("参数为空")
- }
- return c.SvcCtx.SysApp.Base.Replace(maps)
- }
- // DelAppInfo
- // @函数名:DelAppInfo
- // @函数功能描述: 删除appInfo
- // @对象名:c
- // @参数定义:id
- // @返回值:error
- //
- func (c *AppInfo) DelAppInfo(id int32) error {
- md := c.SvcCtx.SysApp
- _, err := md.Where(md.ID.Eq(id)).Delete()
- return err
- }
- // GetAppInfo
- // @函数名:GetAppInfo
- // @函数功能描述: 获取appInfo
- // @对象名:c
- // @参数定义:req
- // @返回值:*dto.GetAppInfoResponse
- // @返回值:error
- //
- func (c *AppInfo) GetAppInfo(req *dto.GetAppInfoRequest) (*dto.GetAppInfoResponse, error) {
- var (
- resp = new(dto.GetAppInfoResponse)
- )
- cond := new(dao.Condition)
- where := map[string]any{}
- if req.AppName != "" {
- UserNameLikeStr := fmt.Sprintf("%s like ?", c.SvcCtx.SysApp.Appname.String())
- where[UserNameLikeStr] = "%" + req.AppName + "%"
- }
- if req.AppId != 0 {
- where[c.SvcCtx.SysApp.Appid.String()] = req.AppId
- }
- cond.Where = where
- var num int64
- c.SvcCtx.SysApp.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.SysApp.Base.Find(cond, &resp.List)
- if err != nil {
- return resp, err
- }
- resp.Total = num
- return resp, nil
- }
|