first commit
This commit is contained in:
@@ -0,0 +1,199 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
"strings"
|
||||
"xiawan/wx/api/req"
|
||||
"xiawan/wx/api/service"
|
||||
"xiawan/wx/api/vo"
|
||||
"xiawan/wx/srv/srvconfig"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
func IsValidAdminKey(key string) (bool, vo.DTO) {
|
||||
if key == srvconfig.GlobalSetting.AdminKey {
|
||||
return true, vo.NewSuccess(gin.H{}, "")
|
||||
}
|
||||
return false, vo.NewFail("软件授权 ADMIN_KEY 错误")
|
||||
}
|
||||
|
||||
// GenAuthKey1 生成授权码(新设备)
|
||||
func GenAuthKey1(ctx *gin.Context) {
|
||||
reqModel := new(req.GenAuthKeyModel)
|
||||
key, _ := ctx.GetQuery("key")
|
||||
flag, errRes := IsValidAdminKey(key)
|
||||
if !flag {
|
||||
ctx.JSON(http.StatusOK, errRes)
|
||||
return
|
||||
}
|
||||
|
||||
_ = ctx.ShouldBindJSON(&reqModel)
|
||||
result := service.GenAuthKeyService(reqModel.Count, reqModel.Days)
|
||||
ctx.JSON(http.StatusOK, result)
|
||||
}
|
||||
|
||||
// GenAuthKey2 生成授权码(新设备)
|
||||
func GenAuthKey2(ctx *gin.Context) {
|
||||
key, _ := ctx.GetQuery("key")
|
||||
flag, errRes := IsValidAdminKey(key)
|
||||
if !flag {
|
||||
ctx.JSON(http.StatusOK, errRes)
|
||||
return
|
||||
}
|
||||
|
||||
reqModel := new(req.GenAuthKeyModel)
|
||||
_ = ctx.BindQuery(&reqModel)
|
||||
|
||||
result := service.GenAuthKeyService(reqModel.Count, reqModel.Days)
|
||||
ctx.JSON(http.StatusOK, result)
|
||||
}
|
||||
|
||||
// GenAuthKey3 生成授权码(1-日 7-周 30-月 90-季 180-半年 365-年 30000-永久)此key不使用无过期时间
|
||||
func GenAuthKey3(ctx *gin.Context) {
|
||||
reqModel := new(req.GenAuthKeyTypeModel)
|
||||
|
||||
key, _ := ctx.GetQuery("key")
|
||||
flag, errRes := IsValidAdminKey(key)
|
||||
if !flag {
|
||||
ctx.JSON(http.StatusOK, errRes)
|
||||
return
|
||||
}
|
||||
|
||||
_ = ctx.ShouldBindJSON(&reqModel)
|
||||
|
||||
result := service.GenAuthKeyService3(reqModel.Count, reqModel.Type)
|
||||
ctx.JSON(http.StatusOK, result)
|
||||
}
|
||||
|
||||
// 西柚云授权码延期
|
||||
func DelayAuthKeyNew(ctx *gin.Context) {
|
||||
reqModel := new(req.DelayAuthKeyModelNew)
|
||||
_ = ctx.ShouldBindJSON(&reqModel)
|
||||
|
||||
key, _ := ctx.GetQuery("key")
|
||||
_, err := service.CheckKey(key)
|
||||
if err != nil {
|
||||
ctx.JSON(http.StatusOK, vo.NewFail(err.Error()))
|
||||
return
|
||||
}
|
||||
_, err = service.CheckKey(reqModel.KeyUse)
|
||||
if err != nil {
|
||||
ctx.JSON(http.StatusOK, vo.NewFail(err.Error()))
|
||||
return
|
||||
}
|
||||
|
||||
result := service.DelayAuthKeyServiceNew(key, *reqModel)
|
||||
ctx.JSON(http.StatusOK, result)
|
||||
}
|
||||
|
||||
// 西柚云解绑授权码
|
||||
func UnbindAuthKey(ctx *gin.Context) {
|
||||
key, _ := ctx.GetQuery("key")
|
||||
_, err := service.CheckKey(key)
|
||||
if err != nil {
|
||||
ctx.JSON(http.StatusOK, vo.NewFail(err.Error()))
|
||||
return
|
||||
}
|
||||
result := service.UnbindAuthKeyService(key)
|
||||
ctx.JSON(http.StatusOK, result)
|
||||
}
|
||||
|
||||
// 西柚云查看配置
|
||||
func GetConfig(ctx *gin.Context) {
|
||||
key, _ := ctx.GetQuery("key")
|
||||
_, err := service.CheckKey(key)
|
||||
if err != nil {
|
||||
ctx.JSON(http.StatusOK, vo.NewFail(err.Error()))
|
||||
return
|
||||
}
|
||||
result := service.GetConfigService(key)
|
||||
ctx.JSON(http.StatusOK, result)
|
||||
}
|
||||
|
||||
// DelayAuthKey 授权码延期
|
||||
func DelayAuthKey(ctx *gin.Context) {
|
||||
reqModel := new(req.DelayAuthKeyModel)
|
||||
key, _ := ctx.GetQuery("key")
|
||||
flag, errRes := IsValidAdminKey(key)
|
||||
if !flag {
|
||||
ctx.JSON(http.StatusOK, errRes)
|
||||
return
|
||||
}
|
||||
_ = ctx.ShouldBindJSON(&reqModel)
|
||||
|
||||
// 延期授权码 AuthKey
|
||||
result := service.DelayAuthKeyService(*reqModel)
|
||||
ctx.JSON(http.StatusOK, result)
|
||||
}
|
||||
|
||||
// DeleteAuthKey 删除授权码
|
||||
func DeleteAuthKey(ctx *gin.Context) {
|
||||
reqModel := new(req.DeleteAuthKeyModel)
|
||||
key, _ := ctx.GetQuery("key")
|
||||
flag, errRes := IsValidAdminKey(key)
|
||||
if !flag {
|
||||
ctx.JSON(http.StatusOK, errRes)
|
||||
return
|
||||
}
|
||||
_ = ctx.ShouldBindJSON(&reqModel)
|
||||
|
||||
// 删除授权码 AuthKey
|
||||
result := service.DeleteAuthKeyService(*reqModel)
|
||||
ctx.JSON(http.StatusOK, result)
|
||||
}
|
||||
|
||||
// 禁用授权码
|
||||
func DisableAuthKey(ctx *gin.Context) {
|
||||
reqModel := new(req.BannedAuthKeyModel)
|
||||
key, _ := ctx.GetQuery("key")
|
||||
flag, errRes := IsValidAdminKey(key)
|
||||
if !flag {
|
||||
ctx.JSON(http.StatusOK, errRes)
|
||||
return
|
||||
}
|
||||
_ = ctx.ShouldBindJSON(&reqModel)
|
||||
|
||||
// 禁用授权码 AuthKey
|
||||
result := service.BannedAuthKeyService(*reqModel)
|
||||
ctx.JSON(http.StatusOK, result)
|
||||
}
|
||||
|
||||
// HttpSyncLicenseKey 同步卡密激活状态, HTTP-轮询方式
|
||||
func HttpSyncLicenseKey(ctx *gin.Context) {
|
||||
key, _ := ctx.GetQuery("key")
|
||||
flag, errRes := IsValidAdminKey(key)
|
||||
if !flag {
|
||||
ctx.JSON(http.StatusOK, errRes)
|
||||
return
|
||||
}
|
||||
|
||||
result := service.HttpSyncLicenseKeyService()
|
||||
ctx.JSON(http.StatusOK, result)
|
||||
}
|
||||
|
||||
// GetLicenseKey 查询卡密有效期
|
||||
func GetLicenseKey(ctx *gin.Context) {
|
||||
queryKey, isExist := ctx.GetQuery("key")
|
||||
if !isExist || strings.Trim(queryKey, "") == "" || strings.Trim(queryKey, "") == "null" {
|
||||
//确保每次都有Key
|
||||
ctx.JSON(http.StatusOK, vo.NewFailUUId(""))
|
||||
return
|
||||
}
|
||||
|
||||
result := service.GetLicenseKeyService(queryKey)
|
||||
ctx.JSON(http.StatusOK, result)
|
||||
}
|
||||
|
||||
// GetActiveLicenseKeys 查询所有激活状态的卡密
|
||||
func GetActiveLicenseKeys(ctx *gin.Context) {
|
||||
adminKey, _ := ctx.GetQuery("key")
|
||||
flag, errRes := IsValidAdminKey(adminKey)
|
||||
if !flag {
|
||||
ctx.JSON(http.StatusOK, errRes)
|
||||
return
|
||||
}
|
||||
|
||||
result := service.GetActiveLicenseKeysService()
|
||||
ctx.JSON(http.StatusOK, result)
|
||||
}
|
||||
Reference in New Issue
Block a user