wechatimg.go 2.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. package wechatimg
  2. import (
  3. "errors"
  4. "time"
  5. "wechat-conf/models"
  6. "wechat-conf/models/model"
  7. "wechat-conf/models/wechatimg"
  8. "wechat-conf/service"
  9. "wechat-conf/utils"
  10. "github.com/astaxie/beego"
  11. )
  12. // WechatImgServ 用户
  13. type WechatImgServ struct {
  14. ctx *utils.Context
  15. dao *wechatimg.WechatImgDAO
  16. }
  17. // NewWechatImgServ 初始化
  18. func NewWechatImgServ(ctx *utils.Context) *WechatImgServ {
  19. return &WechatImgServ{
  20. ctx: ctx,
  21. dao: wechatimg.NewWechatImgDAO(ctx),
  22. }
  23. }
  24. func (s *WechatImgServ) AddWechatImg(img model.TaWechatImg) error {
  25. err := s.dao.AddWechatImg(img)
  26. if err != nil {
  27. utils.LogError("新增图片失败: " + err.Error())
  28. return errors.New("新增图片失败")
  29. }
  30. return nil
  31. }
  32. func (s *WechatImgServ) SyncWechatImg(data interface{}, orgId string) error {
  33. // err := s.dao.DeleteBatchByOrgId(orgId)
  34. // if err != nil {
  35. // utils.LogError("同步图片失败: " + err.Error())
  36. // return errors.New("同步图片失败")
  37. // }
  38. imgs := data.([]interface{})
  39. var wechatimgs []model.TaWechatImg
  40. for _, img := range imgs {
  41. beego.Error(img)
  42. val := img.(map[string]interface{})
  43. var wechat = model.TaWechatImg{}
  44. wechat.MediaId = val["media_id"].(string)
  45. wechat.Name = val["name"].(string)
  46. wechat.OrgId = orgId
  47. wechat.Url = val["url"].(string)
  48. // wechat.UpdateTime = val["update_time"]
  49. wechat.Status = models.STATUS_NORMAL
  50. wechat.CreateDate = time.Now()
  51. flag, err := s.dao.IsExist(wechat.MediaId)
  52. if err != nil {
  53. utils.LogError("同步图片失败: " + err.Error())
  54. return errors.New("同步图片失败")
  55. }
  56. if !flag {
  57. wechatimgs = append(wechatimgs, wechat)
  58. }
  59. }
  60. err := s.dao.AddWechatImgs(wechatimgs)
  61. if err != nil {
  62. utils.LogError("同步图片失败: " + err.Error())
  63. return errors.New("同步图片失败")
  64. }
  65. return nil
  66. }
  67. func (s *WechatImgServ) DeleteImg(mediaId string) error {
  68. err := s.dao.DeleteWechatImg(mediaId)
  69. if err != nil {
  70. utils.LogError("删除图片失败: " + err.Error())
  71. return errors.New("删除图片失败")
  72. }
  73. return nil
  74. }
  75. func (s *WechatImgServ) GetWechatImgList(orgId string, page, pageSize int) (map[string]interface{}, error) {
  76. if pageSize == 0 {
  77. pageSize = service.PAGENUM
  78. }
  79. list, err := s.dao.GetWechatImgList(orgId, page, pageSize)
  80. if err != nil {
  81. utils.LogError("获取微信资源列表失败: " + err.Error())
  82. return nil, errors.New("获取微信资源列表失败")
  83. }
  84. total, err := s.dao.GetWechatImgListCount(orgId)
  85. if err != nil {
  86. utils.LogError("获取微信资源列表失败: " + err.Error())
  87. return nil, errors.New("获取微信资源列表失败")
  88. }
  89. return map[string]interface{}{
  90. "list": list,
  91. "pageSize": pageSize,
  92. "pagenum": total,
  93. "page": page,
  94. }, nil
  95. }
  96. func (s *WechatImgServ) GetWechatImgById(mediaId string) (*model.TaWechatImg, error) {
  97. imgList, err := s.dao.GetWechatImgByMediaId(mediaId)
  98. if err != nil {
  99. utils.LogError("获取菜单图片失败: " + err.Error())
  100. return nil, errors.New("获取菜单图片失败")
  101. }
  102. return imgList, nil
  103. }