| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378 |
- package router
- import (
- "ARKItems/entity"
- "ARKItems/entity/ark"
- "ARKItems/util"
- "encoding/json"
- "fmt"
- "github.com/gin-gonic/gin"
- "github.com/spf13/cast"
- "net/http"
- )
- func ARKConfigRouter(api *gin.RouterGroup) {
- api.GET("/messages", GetMessages)
- api.GET("/timedPointsReward", GetTimedPointsReward)
- api.POST("/timedPointsReward/group", SaveGroup)
- api.PUT("/timedPointsReward/group", UpdateGroup)
- api.DELETE("/timedPointsReward/group", DeleteGroup)
- api.GET("/general", GetGeneral)
- api.PUT("/general", UpdateGeneral)
- api.GET("/kit", GetKits)
- api.POST("/kit", SaveKit)
- api.PUT("/kit", UpdateKit)
- api.DELETE("/kit", DeleteKit)
- api.GET("/shopItem", GetShopItem)
- api.POST("/shopItem", SaveShopItem)
- api.PUT("/shopItem", UpdateShopItem)
- api.DELETE("/shopItem", DeleteShopItem)
- api.GET("/sellItem", GetSellItem)
- api.POST("/sellItem", SaveSellItem)
- api.PUT("/sellItem", UpdateSellItem)
- api.DELETE("/sellItem", DeleteSellItem)
- }
- func GetMessages(c *gin.Context) {
- c.JSON(200, CreateResultData(ARKConfig.Messages))
- }
- func GetTimedPointsReward(c *gin.Context) {
- c.JSON(200, CreateResultData(ARKConfig.General.TimedPointsReward))
- }
- func GetGeneral(c *gin.Context) {
- marshal, err := json.Marshal(ARKConfig.General)
- if err != nil {
- c.JSON(200, CreateResultError(400, "参数错误"))
- return
- }
- m := make(map[string]interface{})
- json.Unmarshal(marshal, &m)
- delete(m, "Groups")
- c.JSON(200, CreateResultData(m))
- }
- func UpdateGeneral(c *gin.Context) {
- param := util.GetJsonAnyParam(c)
- g, err := param("group")
- if err != nil {
- c.JSON(200, CreateResultError(400, "参数错误"))
- return
- }
- var General = ark.General{}
- err = util.DataToObject(g, &General)
- if ARKConfig.General.UseOriginalTradeCommandWithUI != General.UseOriginalTradeCommandWithUI {
- ARKConfig.General.UseOriginalTradeCommandWithUI = General.UseOriginalTradeCommandWithUI
- }
- if ARKConfig.General.CryoLimitedTime != General.CryoLimitedTime {
- ARKConfig.General.CryoLimitedTime = General.CryoLimitedTime
- }
- if ARKConfig.General.GiveDinosInCryopods != General.GiveDinosInCryopods {
- ARKConfig.General.GiveDinosInCryopods = General.GiveDinosInCryopods
- }
- if ARKConfig.General.UseSoulTraps != General.UseSoulTraps {
- ARKConfig.General.UseSoulTraps = General.UseSoulTraps
- }
- if ARKConfig.General.ItemsPerPage != General.ItemsPerPage {
- ARKConfig.General.ItemsPerPage = General.ItemsPerPage
- }
- if ARKConfig.General.ShopDisplayTime != General.ShopDisplayTime {
- ARKConfig.General.ShopDisplayTime = General.ShopDisplayTime
- }
- if ARKConfig.General.ShopTextSize != General.ShopTextSize {
- ARKConfig.General.ShopTextSize = General.ShopTextSize
- }
- if ARKConfig.General.DefaultKit != General.DefaultKit {
- ARKConfig.General.DefaultKit = General.DefaultKit
- }
- if ARKConfig.General.ShopDisplayTime != General.ShopDisplayTime {
- ARKConfig.General.ShopDisplayTime = General.ShopDisplayTime
- }
- if ARKConfig.General.DbPathOverride != General.DbPathOverride {
- ARKConfig.General.DbPathOverride = General.DbPathOverride
- }
- c.JSON(200, CreateResult())
- }
- //-----------------组修改----------------------
- // SaveGroup 添加VIP
- func SaveGroup(c *gin.Context) {
- param := util.GetJsonAnyParam(c)
- g, err := param("group")
- if err != nil {
- c.JSON(200, CreateResultError(400, "参数错误"))
- return
- }
- var Group = entity.Group{}
- err = util.DataToObject(g, &Group)
- fmt.Println(g, Group)
- ARKConfig.General.TimedPointsReward.Groups[Group.Name] = ark.Group{Amount: Group.Amount}
- c.JSON(200, CreateResult())
- }
- // UpdateGroup 修改VIP
- func UpdateGroup(c *gin.Context) {
- param := util.GetJsonAnyParam(c)
- g, err := param("group")
- if err != nil {
- c.JSON(200, CreateResultError(400, "参数错误"))
- return
- }
- var Group = entity.Group{}
- err = util.DataToObject(g, &Group)
- if Group.Name == "" {
- c.JSON(200, CreateResultError(400, "VIP名称不能为空"))
- return
- }
- _, ok := ARKConfig.General.TimedPointsReward.Groups[Group.Name]
- if ok {
- ARKConfig.General.TimedPointsReward.Groups[Group.Name] = ark.Group{Amount: Group.Amount}
- c.JSON(200, CreateResult())
- return
- }
- c.JSON(200, CreateResultError(400, "VIP组名不存在"))
- }
- // DeleteGroup 修改VIP
- func DeleteGroup(c *gin.Context) {
- param := util.GetJsonAnyParam(c)
- name, err := param("groupName")
- if err != nil {
- c.JSON(200, CreateResultError(400, "参数错误"))
- return
- }
- if cast.ToString(name) == "" {
- c.JSON(200, CreateResultError(400, "VIP名称不能为空"))
- return
- }
- _, ok := ARKConfig.General.TimedPointsReward.Groups[cast.ToString(name)]
- if ok {
- //删除一个元素
- delete(ARKConfig.General.TimedPointsReward.Groups, cast.ToString(name))
- c.JSON(200, CreateResult())
- return
- }
- c.JSON(200, CreateResultError(400, "VIP组名不存在"))
- }
- //==================礼包==========================
- func GetKits(c *gin.Context) {
- c.JSON(200, CreateResultData(ARKConfig.Kits))
- }
- func SaveKit(c *gin.Context) {
- param := util.GetJsonAnyParam(c)
- g, err := param("kit")
- if err != nil {
- c.JSON(200, CreateResultError(400, "参数错误"))
- return
- }
- var Kit = ark.Kit{}
- err = util.DataToObject(g, &Kit)
- if Kit.Description == "" || Kit.Price == 0 || Kit.DefaultAmount == 0 {
- c.JSON(200, CreateResultError(400, "礼包描述不能为空,价格,数量不能为0"))
- return
- }
- ARKConfig.Kits[Kit.Description] = Kit
- }
- func UpdateKit(c *gin.Context) {
- param := util.GetJsonAnyParam(c)
- g, err := param("kit")
- if err != nil {
- c.JSON(200, CreateResultError(400, "参数错误"))
- return
- }
- var Kit = ark.Kit{}
- err = util.DataToObject(g, &Kit)
- if Kit.Description == "" {
- c.JSON(200, CreateResultError(400, "礼包描述不能为空"))
- }
- _, ok := ARKConfig.Kits[Kit.Description]
- if ok {
- if Kit.Price == 0 || Kit.DefaultAmount == 0 {
- c.JSON(200, CreateResultError(400, "价格,数量不能为0"))
- return
- }
- ARKConfig.Kits[Kit.Description] = Kit
- c.JSON(200, CreateResult())
- return
- }
- c.JSON(200, CreateResultError(400, "礼包不存在"))
- }
- func DeleteKit(c *gin.Context) {
- param := util.GetJsonAnyParam(c)
- name, err := param("kitName")
- if err != nil {
- c.JSON(200, CreateResultError(400, "参数错误"))
- return
- }
- if cast.ToString(name) == "" {
- c.JSON(200, CreateResultError(400, "礼包名称不能为空"))
- return
- }
- _, ok := ARKConfig.Kits[cast.ToString(name)]
- if ok {
- //删除一个元素
- delete(ARKConfig.Kits, cast.ToString(name))
- c.JSON(200, CreateResult())
- return
- }
- c.JSON(200, CreateResultError(400, "礼包不存在"))
- }
- //====================商店==========================
- func GetShopItem(c *gin.Context) {
- c.JSON(200, CreateResultData(ARKConfig.ShopItems))
- }
- func SaveShopItem(c *gin.Context) {
- param := util.GetJsonAnyParam(c)
- g, err := param("shopItem")
- if err != nil {
- c.JSON(200, CreateResultError(400, "参数错误"))
- return
- }
- var ShopItem = ark.ShopItem{}
- err = util.DataToObject(g, &ShopItem)
- if ShopItem.Description == "" || ShopItem.Price == 0 || ShopItem.Type == "" {
- c.JSON(200, CreateResultError(400, "商店描述,价格,类型不能为空,为0"))
- return
- }
- _, ok := ARKConfig.ShopItems[ShopItem.Description]
- if ok {
- c.JSON(200, CreateResultError(400, "商品名已存在"))
- return
- }
- ARKConfig.ShopItems[ShopItem.Description] = ShopItem
- }
- func UpdateShopItem(c *gin.Context) {
- param := util.GetJsonAnyParam(c)
- g, err := param("shopItem")
- if err != nil {
- c.JSON(200, CreateResultError(400, "参数错误"))
- return
- }
- var ShopItem = ark.ShopItem{}
- err = util.DataToObject(g, &ShopItem)
- if ShopItem.Description == "" {
- c.JSON(200, CreateResultError(400, "商店名不能为空"))
- return
- }
- _, ok := ARKConfig.ShopItems[ShopItem.Description]
- if ok {
- if ShopItem.Price == 0 || ShopItem.Type == "" {
- c.JSON(200, CreateResultError(400, "价格,类型不能为空,为0"))
- return
- }
- ARKConfig.ShopItems[ShopItem.Description] = ShopItem
- c.JSON(200, CreateResult())
- return
- }
- c.JSON(200, CreateResultError(400, "商品名不存在"))
- }
- func DeleteShopItem(c *gin.Context) {
- param := util.GetJsonAnyParam(c)
- name, err := param("shopItemName")
- if err != nil {
- c.JSON(200, CreateResultError(400, "参数错误"))
- return
- }
- if cast.ToString(name) == "" {
- c.JSON(200, CreateResultError(400, "商店名不能为空"))
- return
- }
- _, ok := ARKConfig.ShopItems[cast.ToString(name)]
- if ok {
- //删除一个元素
- delete(ARKConfig.ShopItems, cast.ToString(name))
- c.JSON(200, CreateResult())
- return
- }
- c.JSON(200, CreateResultError(400, "商店名不存在"))
- }
- //========================回收==========================
- func GetSellItem(c *gin.Context) {
- c.JSON(http.StatusOK, CreateResultData(ARKConfig.SellItems))
- }
- func SaveSellItem(c *gin.Context) {
- param := util.GetJsonAnyParam(c)
- g, err := param("sellItem")
- if err != nil {
- c.JSON(http.StatusBadRequest, CreateResultError(400, "参数错误"))
- return
- }
- var sellItem ark.SellItem
- err = util.DataToObject(g, &sellItem)
- if sellItem.Description == "" || sellItem.Price == 0 || sellItem.Type == "" {
- c.JSON(http.StatusBadRequest, CreateResultError(400, "描述、价格、类型不能为空或为0"))
- return
- }
- _, ok := ARKConfig.SellItems[sellItem.Description]
- if ok {
- c.JSON(http.StatusBadRequest, CreateResultError(400, "商品名已存在"))
- return
- }
- ARKConfig.SellItems[sellItem.Description] = sellItem
- c.JSON(http.StatusOK, CreateResult())
- }
- func UpdateSellItem(c *gin.Context) {
- param := util.GetJsonAnyParam(c)
- g, err := param("sellItem")
- if err != nil {
- c.JSON(http.StatusBadRequest, CreateResultError(400, "参数错误"))
- return
- }
- var sellItem ark.SellItem
- err = util.DataToObject(g, &sellItem)
- if sellItem.Description == "" {
- c.JSON(http.StatusBadRequest, CreateResultError(400, "商品描述不能为空"))
- return
- }
- _, ok := ARKConfig.SellItems[sellItem.Description]
- if ok {
- if sellItem.Price == 0 || sellItem.Type == "" {
- c.JSON(http.StatusBadRequest, CreateResultError(400, "价格、类型不能为空或为0"))
- return
- }
- ARKConfig.SellItems[sellItem.Description] = sellItem
- c.JSON(http.StatusOK, CreateResult())
- return
- }
- c.JSON(http.StatusBadRequest, CreateResultError(400, "商品名不存在"))
- }
- func DeleteSellItem(c *gin.Context) {
- param := util.GetJsonAnyParam(c)
- name, err := param("sellItemName")
- if err != nil {
- c.JSON(http.StatusBadRequest, CreateResultError(400, "参数错误"))
- return
- }
- if cast.ToString(name) == "" {
- c.JSON(http.StatusBadRequest, CreateResultError(400, "商品描述不能为空"))
- return
- }
- _, ok := ARKConfig.SellItems[cast.ToString(name)]
- if ok {
- // 删除一个元素
- delete(ARKConfig.SellItems, cast.ToString(name))
- c.JSON(http.StatusOK, CreateResult())
- return
- }
- c.JSON(http.StatusBadRequest, CreateResultError(400, "商品名不存在"))
- }
|