wechatimg.go 2.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  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. wechatimgs = append(wechatimgs, wechat)
  52. }
  53. err = s.dao.AddWechatImgs(wechatimgs)
  54. if err != nil {
  55. utils.LogError("同步图片失败: " + err.Error())
  56. return errors.New("同步图片失败")
  57. }
  58. return nil
  59. }
  60. func (s *WechatImgServ) DeleteImg(mediaId string) error {
  61. err := s.dao.DeleteWechatImg(mediaId)
  62. if err != nil {
  63. utils.LogError("删除图片失败: " + err.Error())
  64. return errors.New("删除图片失败")
  65. }
  66. return nil
  67. }
  68. func (s *WechatImgServ) GetWechatImgList(orgId string, page, pageSize int) (map[string]interface{}, error) {
  69. if pageSize == 0 {
  70. pageSize = service.PAGENUM
  71. }
  72. list, err := s.dao.GetWechatImgList(orgId, page, pageSize)
  73. if err != nil {
  74. utils.LogError("获取微信资源列表失败: " + err.Error())
  75. return nil, errors.New("获取微信资源列表失败")
  76. }
  77. total, err := s.dao.GetWechatImgListCount(orgId)
  78. if err != nil {
  79. utils.LogError("获取微信资源列表失败: " + err.Error())
  80. return nil, errors.New("获取微信资源列表失败")
  81. }
  82. return map[string]interface{}{
  83. "list": list,
  84. "pageSize": pageSize,
  85. "pagenum": total,
  86. "page": page,
  87. }, nil
  88. }
  89. func (s *WechatImgServ) GetWechatImgById(mediaId string) (*model.TaWechatImg, error) {
  90. imgList, err := s.dao.GetWechatImgByMediaId(mediaId)
  91. if err != nil {
  92. utils.LogError("获取菜单图片失败: " + err.Error())
  93. return nil, errors.New("获取菜单图片失败")
  94. }
  95. return imgList, nil
  96. }