package wechatimg import ( "errors" "time" "wechat-conf/models" "wechat-conf/models/model" "wechat-conf/models/wechatimg" "wechat-conf/service" "wechat-conf/utils" "github.com/astaxie/beego" ) // WechatImgServ 用户 type WechatImgServ struct { ctx *utils.Context dao *wechatimg.WechatImgDAO } // NewWechatImgServ 初始化 func NewWechatImgServ(ctx *utils.Context) *WechatImgServ { return &WechatImgServ{ ctx: ctx, dao: wechatimg.NewWechatImgDAO(ctx), } } func (s *WechatImgServ) AddWechatImg(img model.TaWechatImg) error { err := s.dao.AddWechatImg(img) if err != nil { utils.LogError("新增图片失败: " + err.Error()) return errors.New("新增图片失败") } return nil } func (s *WechatImgServ) SyncWechatImg(data interface{}, orgId string) error { // err := s.dao.DeleteBatchByOrgId(orgId) // if err != nil { // utils.LogError("同步图片失败: " + err.Error()) // return errors.New("同步图片失败") // } imgs := data.([]interface{}) var wechatimgs []model.TaWechatImg for _, img := range imgs { beego.Error(img) val := img.(map[string]interface{}) var wechat = model.TaWechatImg{} wechat.MediaId = val["media_id"].(string) wechat.Name = val["name"].(string) wechat.OrgId = orgId wechat.Url = val["url"].(string) // wechat.UpdateTime = val["update_time"] wechat.Status = models.STATUS_NORMAL wechat.CreateDate = time.Now() flag, err := s.dao.IsExist(wechat.MediaId) if err != nil { utils.LogError("同步图片失败: " + err.Error()) return errors.New("同步图片失败") } if !flag { wechatimgs = append(wechatimgs, wechat) } } err := s.dao.AddWechatImgs(wechatimgs) if err != nil { utils.LogError("同步图片失败: " + err.Error()) return errors.New("同步图片失败") } return nil } func (s *WechatImgServ) DeleteImg(mediaId string) error { err := s.dao.DeleteWechatImg(mediaId) if err != nil { utils.LogError("删除图片失败: " + err.Error()) return errors.New("删除图片失败") } return nil } func (s *WechatImgServ) GetWechatImgList(orgId string, page, pageSize int) (map[string]interface{}, error) { if pageSize == 0 { pageSize = service.PAGENUM } list, err := s.dao.GetWechatImgList(orgId, page, pageSize) if err != nil { utils.LogError("获取微信资源列表失败: " + err.Error()) return nil, errors.New("获取微信资源列表失败") } total, err := s.dao.GetWechatImgListCount(orgId) if err != nil { utils.LogError("获取微信资源列表失败: " + err.Error()) return nil, errors.New("获取微信资源列表失败") } return map[string]interface{}{ "list": list, "pageSize": pageSize, "pagenum": total, "page": page, }, nil } func (s *WechatImgServ) GetWechatImgById(mediaId string) (*model.TaWechatImg, error) { imgList, err := s.dao.GetWechatImgByMediaId(mediaId) if err != nil { utils.LogError("获取菜单图片失败: " + err.Error()) return nil, errors.New("获取菜单图片失败") } return imgList, nil }