appInfoLogic.go 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. package logic
  2. import (
  3. "errors"
  4. "fmt"
  5. "git.rtzhtech.cn/iss/public-lib/dao"
  6. "git.rtzhtech.cn/iss/public-lib/dto"
  7. "git.rtzhtech.cn/iss/public-lib/model"
  8. "git.rtzhtech.cn/iss/public-lib/svc"
  9. "github.com/gogf/gf/v2/util/gconv"
  10. )
  11. // NewAppInfoLogic
  12. // @函数名:NewAppInfoLogic
  13. // @函数功能描述: 初始化appinfo
  14. // @返回值:AppInfo
  15. //
  16. func NewAppInfoLogic() AppInfo {
  17. return AppInfo{
  18. SvcCtx: svc.SvcCtx,
  19. }
  20. }
  21. type AppInfo struct {
  22. SvcCtx *svc.ServiceContext
  23. }
  24. // SaveAppInfo
  25. // @函数名:SaveAppInfo
  26. // @函数功能描述: 保存appinfo
  27. // @对象名:c
  28. // @参数定义:req
  29. // @返回值:error
  30. //
  31. func (c *AppInfo) SaveAppInfo(req *model.SysApp) error {
  32. maps := gconv.Map(req)
  33. return c.SvcCtx.SysApp.Base.Replace(maps)
  34. }
  35. // SaveAppInfoMap
  36. // @函数名:SaveAppInfoMap
  37. // @函数功能描述: 用map类型保存appinfo
  38. // @对象名:c
  39. // @参数定义:maps
  40. // @返回值:error
  41. //
  42. func (c *AppInfo) SaveAppInfoMap(maps map[string]interface{}) error {
  43. if maps == nil || len(maps) == 0 {
  44. return errors.New("参数为空")
  45. }
  46. return c.SvcCtx.SysApp.Base.Replace(maps)
  47. }
  48. // DelAppInfo
  49. // @函数名:DelAppInfo
  50. // @函数功能描述: 删除appInfo
  51. // @对象名:c
  52. // @参数定义:id
  53. // @返回值:error
  54. //
  55. func (c *AppInfo) DelAppInfo(id int32) error {
  56. md := c.SvcCtx.SysApp
  57. _, err := md.Where(md.ID.Eq(id)).Delete()
  58. return err
  59. }
  60. // GetAppInfo
  61. // @函数名:GetAppInfo
  62. // @函数功能描述: 获取appInfo
  63. // @对象名:c
  64. // @参数定义:req
  65. // @返回值:*dto.GetAppInfoResponse
  66. // @返回值:error
  67. //
  68. func (c *AppInfo) GetAppInfo(req *dto.GetAppInfoRequest) (*dto.GetAppInfoResponse, error) {
  69. var (
  70. resp = new(dto.GetAppInfoResponse)
  71. )
  72. cond := new(dao.Condition)
  73. where := map[string]any{}
  74. if req.AppName != "" {
  75. UserNameLikeStr := fmt.Sprintf("%s like ?", c.SvcCtx.SysApp.Appname.String())
  76. where[UserNameLikeStr] = "%" + req.AppName + "%"
  77. }
  78. if req.AppId != 0 {
  79. where[c.SvcCtx.SysApp.Appid.String()] = req.AppId
  80. }
  81. cond.Where = where
  82. var num int64
  83. c.SvcCtx.SysApp.Base.Count(cond, &num)
  84. if req.Page < 1 {
  85. req.Page = 1
  86. }
  87. if req.Limit < 1 {
  88. req.Limit = 20
  89. }
  90. cond.Limit = req.Limit
  91. cond.Offset = (req.Page - 1) * req.Limit
  92. cond.OrderBy = "id desc"
  93. err := c.SvcCtx.SysApp.Base.Find(cond, &resp.List)
  94. if err != nil {
  95. return resp, err
  96. }
  97. resp.Total = num
  98. return resp, nil
  99. }