package api

import (
	"gadmin/internal/admin/service"
	"gadmin/utility/serializer"
	"github.com/gin-gonic/gin"
)

// ServiceList 获取系统列表
func ServiceList(c *gin.Context) {
	services, err := service.Service.ServiceList(c)
	if err != nil {
		c.JSON(200, ErrorResponse(err))
		return
	}
	c.JSON(200, serializer.Suc(services, "获取成功"))
}

// ServiceSelect 选择系统
//func ServiceSelect(c *gin.Context) {
//	req := new(forms.ServiceSelectReq)
//	if err := c.ShouldBind(req); err != nil {
//		c.JSON(200, ErrorResponse(err))
//		return
//	}
//
//	res, ok := c.Get("user")
//	if !ok {
//		c.JSON(200, ErrorResponse(fmt.Errorf("获取用户信息失败")))
//		return
//	}
//	user := res.(*iam.AdminUserInfo)
//
//	//user.SystemId = req.SystemId
//	//userStr, err := jsoniter.MarshalToString(user)
//	//if err != nil {
//	//	c.JSON(200, ErrorResponse(err))
//	//	return
//	//}
//	//
//	//config.TokenRedis.Set(config.GetTokenKey(user.AccessToken), userStr, config.TokenExpireTime)
//	//c.JSON(200, serializer.Suc("ok"))
//
//	// 重新生成新的token，解决浏览器回退问题
//	t := token.GenerateTokenUsingUUID()
//	// 记录登录token
//	key := config.GetUserTokenKey(user.ID)
//	config.TokenRedis.HSet(key, t, time.Now().Unix())
//	config.TokenRedis.Expire(key, time.Hour*12)
//
//	tokenKey := config.GetTokenKey(t)
//	u := &iam.AdminUserInfo{
//		//ID:          user.ID,
//		//UserName:    user.UserName,
//		//RoleId:      user.RoleID,
//		//Avatar:      user.Avatar,
//		//Nickname:    user.NickName,
//		//AccessToken: t,
//		//SystemId:    req.SystemId,
//	}
//	userStr, err := jsoniter.MarshalToString(u)
//	if err != nil {
//		c.JSON(200, ErrorResponse(err))
//	}
//	config.TokenRedis.Set(tokenKey, userStr, time.Hour*12)
//	c.JSON(200, serializer.Suc(map[string]string{"token": base64.URLEncoding.EncodeToString([]byte(t))}))
//}
