package wechat

import (
	"wechat-conf/models"
	"wechat-conf/models/model"
	"wechat-conf/models/wechat"
	"wechat-conf/utils"
)

// WechatServ 用户
type WechatServ struct {
	ctx *utils.Context
	dao *wechat.WechatDAO
}

// NewWechatServ 初始化
func NewWechatServ(ctx *utils.Context) *WechatServ {
	return &WechatServ{
		ctx: ctx,
		dao: wechat.NewWechatDAO(ctx),
	}
}

// SaveWechatConf 保存微信配置
func (s *WechatServ) SaveWechatConf(conf model.SysWechatConf) error {
	err := s.dao.SaveWechatConf(conf)
	return err
}

// UpdateToken 更新微信token
func (s *WechatServ) UpdateToken(token map[string]string) {
	models.UpdateToken(token)
}

// GetComponentInfo 获取第三方信息
func (s *WechatServ) GetComponentInfo() (*model.SysComponentConf, error) {
	conf, err := s.dao.GetComponentInfo()
	if err != nil {
		return nil, err
	}
	return conf, nil
}

// UpdateComponentTicket 更新微信ticket
func (s *WechatServ) UpdateComponentTicket(conf *model.SysComponentConf) error {
	err := s.dao.UpdateComponentTicket(conf)
	return err
}