|
|
@@ -167,40 +167,43 @@ func DeleteGroup(c *gin.Context) {
|
|
|
func GetKits(c *gin.Context) {
|
|
|
c.JSON(200, CreateResultData(ARKConfig.Kits))
|
|
|
}
|
|
|
+
|
|
|
func SaveKit(c *gin.Context) {
|
|
|
param := util.GetJsonAnyParam(c)
|
|
|
- g, err := param("kit")
|
|
|
+ obj, err := param("kit")
|
|
|
+ Name, err := param("kitName")
|
|
|
if err != nil {
|
|
|
c.JSON(200, CreateResultError(400, "参数错误"))
|
|
|
return
|
|
|
}
|
|
|
var Kit = ark.Kit{}
|
|
|
- err = util.DataToObject(g, &Kit)
|
|
|
+ err = util.DataToObject(obj, &Kit)
|
|
|
if Kit.Description == "" || Kit.Price == 0 || Kit.DefaultAmount == 0 {
|
|
|
c.JSON(200, CreateResultError(400, "礼包描述不能为空,价格,数量不能为0"))
|
|
|
return
|
|
|
}
|
|
|
- ARKConfig.Kits[Kit.Description] = Kit
|
|
|
+ ARKConfig.Kits[cast.ToString(Name)] = Kit
|
|
|
}
|
|
|
func UpdateKit(c *gin.Context) {
|
|
|
param := util.GetJsonAnyParam(c)
|
|
|
- g, err := param("kit")
|
|
|
+ obj, err := param("kit")
|
|
|
+ Name, err := param("kitName")
|
|
|
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, "礼包描述不能为空"))
|
|
|
+ err = util.DataToObject(obj, &Kit)
|
|
|
+ if Name == "" {
|
|
|
+ c.JSON(200, CreateResultError(400, "礼包名不能为空"))
|
|
|
}
|
|
|
- _, ok := ARKConfig.Kits[Kit.Description]
|
|
|
+ _, ok := ARKConfig.Kits[cast.ToString(Name)]
|
|
|
if ok {
|
|
|
if Kit.Price == 0 || Kit.DefaultAmount == 0 {
|
|
|
c.JSON(200, CreateResultError(400, "价格,数量不能为0"))
|
|
|
return
|
|
|
}
|
|
|
- ARKConfig.Kits[Kit.Description] = Kit
|
|
|
+ ARKConfig.Kits[cast.ToString(Name)] = Kit
|
|
|
c.JSON(200, CreateResult())
|
|
|
return
|
|
|
}
|
|
|
@@ -231,54 +234,186 @@ func DeleteKit(c *gin.Context) {
|
|
|
//====================商店==========================
|
|
|
|
|
|
func GetShopItem(c *gin.Context) {
|
|
|
- c.JSON(200, CreateResultData(ARKConfig.ShopItems))
|
|
|
+ value := c.Query("type")
|
|
|
+ if value == "" {
|
|
|
+ c.JSON(200, CreateResultData(ARKConfig.ShopItems))
|
|
|
+ return
|
|
|
+ }
|
|
|
+ switch cast.ToString(value) {
|
|
|
+ case "item":
|
|
|
+ c.JSON(200, CreateResultData(ARKShopItems))
|
|
|
+ break
|
|
|
+ case "dino":
|
|
|
+ c.JSON(200, CreateResultData(ARKShopDines))
|
|
|
+ break
|
|
|
+ case "beacon":
|
|
|
+ c.JSON(200, CreateResultData(ARKShopBeacons))
|
|
|
+ break
|
|
|
+ case "experience":
|
|
|
+ c.JSON(200, CreateResultData(ARKShopExperiences))
|
|
|
+ break
|
|
|
+ case "unlockengram":
|
|
|
+ c.JSON(200, CreateResultData(ARKShopUnlockengram))
|
|
|
+ break
|
|
|
+ case "command":
|
|
|
+ c.JSON(200, CreateResultData(ARKShopCommands))
|
|
|
+ break
|
|
|
+ default:
|
|
|
+ c.JSON(200, CreateResultError(400, "商店类型错误"))
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
func SaveShopItem(c *gin.Context) {
|
|
|
param := util.GetJsonAnyParam(c)
|
|
|
- g, err := param("shopItem")
|
|
|
+ obj, err := param("shopItem")
|
|
|
+ if err != nil {
|
|
|
+ c.JSON(200, CreateResultError(400, "参数错误"))
|
|
|
+ return
|
|
|
+ }
|
|
|
+ shopType, err := param("shopType")
|
|
|
+ if err != nil {
|
|
|
+ c.JSON(200, CreateResultError(400, "参数错误"))
|
|
|
+ return
|
|
|
+ }
|
|
|
+ Name, err := param("shopItemName")
|
|
|
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 == "" {
|
|
|
+ toMap := util.DataToMap(obj)
|
|
|
+ if cast.ToString(Name) == "" || toMap["Price"] == 0 || toMap["Type"] == "" {
|
|
|
c.JSON(200, CreateResultError(400, "商店描述,价格,类型不能为空,为0"))
|
|
|
return
|
|
|
}
|
|
|
- _, ok := ARKConfig.ShopItems[ShopItem.Description]
|
|
|
+ _, ok := ARKConfig.ShopItems[cast.ToString(Name)]
|
|
|
if ok {
|
|
|
c.JSON(200, CreateResultError(400, "商品名已存在"))
|
|
|
return
|
|
|
}
|
|
|
- ARKConfig.ShopItems[ShopItem.Description] = ShopItem
|
|
|
+
|
|
|
+ switch cast.ToString(shopType) {
|
|
|
+ case "item":
|
|
|
+ var item = ark.ShopItem{}
|
|
|
+ err = util.DataToObject(obj, &item)
|
|
|
+ ARKConfig.ShopItems[cast.ToString(Name)] = item
|
|
|
+ ARKShopItems[cast.ToString(Name)] = item
|
|
|
+ break
|
|
|
+ case "dino":
|
|
|
+ var dino = ark.ShopDino{}
|
|
|
+ err = util.DataToObject(obj, &dino)
|
|
|
+ ARKConfig.ShopItems[cast.ToString(Name)] = dino
|
|
|
+ ARKShopDines[cast.ToString(Name)] = dino
|
|
|
+ break
|
|
|
+ case "baecon":
|
|
|
+ var beacon = ark.ShopBeacon{}
|
|
|
+ err = util.DataToObject(obj, &beacon)
|
|
|
+ ARKConfig.ShopItems[cast.ToString(Name)] = beacon
|
|
|
+ ARKShopBeacons[cast.ToString(Name)] = beacon
|
|
|
+ break
|
|
|
+ case "experience":
|
|
|
+ var experience = ark.ShopExperience{}
|
|
|
+ err = util.DataToObject(obj, &experience)
|
|
|
+ ARKConfig.ShopItems[cast.ToString(Name)] = experience
|
|
|
+ ARKShopExperiences[cast.ToString(Name)] = experience
|
|
|
+ break
|
|
|
+ case "unlockengram":
|
|
|
+ var unlockengram = ark.ShopCommand{}
|
|
|
+ err = util.DataToObject(obj, &unlockengram)
|
|
|
+ ARKConfig.ShopItems[cast.ToString(Name)] = unlockengram
|
|
|
+ ARKShopCommands[cast.ToString(Name)] = unlockengram
|
|
|
+ break
|
|
|
+ case "command":
|
|
|
+ var command = ark.ShopCommand{}
|
|
|
+ err = util.DataToObject(obj, &command)
|
|
|
+ ARKConfig.ShopItems[cast.ToString(Name)] = command
|
|
|
+ ARKShopCommands[cast.ToString(Name)] = command
|
|
|
+ break
|
|
|
+ default:
|
|
|
+ c.JSON(200, CreateResultError(400, "商店类型错误"))
|
|
|
+ return
|
|
|
+ }
|
|
|
+ c.JSON(200, CreateResult())
|
|
|
}
|
|
|
|
|
|
func UpdateShopItem(c *gin.Context) {
|
|
|
param := util.GetJsonAnyParam(c)
|
|
|
- g, err := param("shopItem")
|
|
|
+ obj, err := param("shopItem")
|
|
|
+ if err != nil {
|
|
|
+ c.JSON(200, CreateResultError(400, "参数错误"))
|
|
|
+ return
|
|
|
+ }
|
|
|
+ shopType, err := param("shopType")
|
|
|
+ if err != nil {
|
|
|
+ c.JSON(200, CreateResultError(400, "参数错误"))
|
|
|
+ return
|
|
|
+ }
|
|
|
+ Name, err := param("shopItemName")
|
|
|
if err != nil {
|
|
|
c.JSON(200, CreateResultError(400, "参数错误"))
|
|
|
return
|
|
|
}
|
|
|
- var ShopItem = ark.ShopItem{}
|
|
|
- err = util.DataToObject(g, &ShopItem)
|
|
|
- if ShopItem.Description == "" {
|
|
|
+
|
|
|
+ if cast.ToString(Name) == "" {
|
|
|
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())
|
|
|
+ toMap := util.DataToMap(obj)
|
|
|
+ if cast.ToString(Name) == "" || toMap["Price"] == 0 || toMap["Type"] == "" {
|
|
|
+ c.JSON(200, CreateResultError(400, "商店描述,价格,类型不能为空,为0"))
|
|
|
+ return
|
|
|
+ }
|
|
|
+ _, ok := ARKConfig.ShopItems[cast.ToString(Name)]
|
|
|
+ if !ok {
|
|
|
+ c.JSON(200, CreateResultError(400, "商品名不存在"))
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if toMap["Price"] == 0 || toMap["Type"] == "" {
|
|
|
+ c.JSON(200, CreateResultError(400, "价格,类型不能为空,为0"))
|
|
|
+ return
|
|
|
+ }
|
|
|
+ switch cast.ToString(shopType) {
|
|
|
+ case "item":
|
|
|
+ var item = ark.ShopItem{}
|
|
|
+ err = util.DataToObject(obj, &item)
|
|
|
+ ARKConfig.ShopItems[cast.ToString(Name)] = item
|
|
|
+ ARKShopItems[cast.ToString(Name)] = item
|
|
|
+ break
|
|
|
+ case "dino":
|
|
|
+ var dino = ark.ShopDino{}
|
|
|
+ err = util.DataToObject(obj, &dino)
|
|
|
+ ARKConfig.ShopItems[cast.ToString(Name)] = dino
|
|
|
+ ARKShopDines[cast.ToString(Name)] = dino
|
|
|
+ break
|
|
|
+ case "baecon":
|
|
|
+ var beacon = ark.ShopBeacon{}
|
|
|
+ err = util.DataToObject(obj, &beacon)
|
|
|
+ ARKConfig.ShopItems[cast.ToString(Name)] = beacon
|
|
|
+ ARKShopBeacons[cast.ToString(Name)] = beacon
|
|
|
+ break
|
|
|
+ case "experience":
|
|
|
+ var experience = ark.ShopExperience{}
|
|
|
+ err = util.DataToObject(obj, &experience)
|
|
|
+ ARKConfig.ShopItems[cast.ToString(Name)] = experience
|
|
|
+ ARKShopExperiences[cast.ToString(Name)] = experience
|
|
|
+ break
|
|
|
+ case "unlockengram":
|
|
|
+ var unlockengram = ark.ShopCommand{}
|
|
|
+ err = util.DataToObject(obj, &unlockengram)
|
|
|
+ ARKConfig.ShopItems[cast.ToString(Name)] = unlockengram
|
|
|
+ ARKShopCommands[cast.ToString(Name)] = unlockengram
|
|
|
+ break
|
|
|
+ case "command":
|
|
|
+ var command = ark.ShopCommand{}
|
|
|
+ err = util.DataToObject(obj, &command)
|
|
|
+ ARKConfig.ShopItems[cast.ToString(Name)] = command
|
|
|
+ ARKShopCommands[cast.ToString(Name)] = command
|
|
|
+ break
|
|
|
+ default:
|
|
|
+ c.JSON(200, CreateResultError(400, "商店类型错误"))
|
|
|
return
|
|
|
}
|
|
|
- c.JSON(200, CreateResultError(400, "商品名不存在"))
|
|
|
+ c.JSON(200, CreateResult())
|
|
|
}
|
|
|
|
|
|
func DeleteShopItem(c *gin.Context) {
|
|
|
@@ -296,6 +431,12 @@ func DeleteShopItem(c *gin.Context) {
|
|
|
if ok {
|
|
|
//删除一个元素
|
|
|
delete(ARKConfig.ShopItems, cast.ToString(name))
|
|
|
+ delete(ARKShopItems, cast.ToString(name))
|
|
|
+ delete(ARKShopDines, cast.ToString(name))
|
|
|
+ delete(ARKShopBeacons, cast.ToString(name))
|
|
|
+ delete(ARKShopExperiences, cast.ToString(name))
|
|
|
+ delete(ARKShopUnlockengram, cast.ToString(name))
|
|
|
+ delete(ARKShopCommands, cast.ToString(name))
|
|
|
c.JSON(200, CreateResult())
|
|
|
return
|
|
|
}
|
|
|
@@ -310,46 +451,48 @@ func GetSellItem(c *gin.Context) {
|
|
|
|
|
|
func SaveSellItem(c *gin.Context) {
|
|
|
param := util.GetJsonAnyParam(c)
|
|
|
- g, err := param("sellItem")
|
|
|
+ obj, err := param("sellItem")
|
|
|
+ Name, err := param("sellItemName")
|
|
|
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 == "" {
|
|
|
+ err = util.DataToObject(obj, &sellItem)
|
|
|
+ if cast.ToString(Name) == "" || sellItem.Price == 0 || sellItem.Type == "" {
|
|
|
c.JSON(http.StatusBadRequest, CreateResultError(400, "描述、价格、类型不能为空或为0"))
|
|
|
return
|
|
|
}
|
|
|
- _, ok := ARKConfig.SellItems[sellItem.Description]
|
|
|
+ _, ok := ARKConfig.SellItems[cast.ToString(Name)]
|
|
|
if ok {
|
|
|
c.JSON(http.StatusBadRequest, CreateResultError(400, "商品名已存在"))
|
|
|
return
|
|
|
}
|
|
|
- ARKConfig.SellItems[sellItem.Description] = sellItem
|
|
|
+ ARKConfig.SellItems[cast.ToString(Name)] = sellItem
|
|
|
c.JSON(http.StatusOK, CreateResult())
|
|
|
}
|
|
|
|
|
|
func UpdateSellItem(c *gin.Context) {
|
|
|
param := util.GetJsonAnyParam(c)
|
|
|
- g, err := param("sellItem")
|
|
|
+ obj, err := param("sellItem")
|
|
|
+ Name, err := param("sellItemName")
|
|
|
if err != nil {
|
|
|
c.JSON(http.StatusBadRequest, CreateResultError(400, "参数错误"))
|
|
|
return
|
|
|
}
|
|
|
var sellItem ark.SellItem
|
|
|
- err = util.DataToObject(g, &sellItem)
|
|
|
- if sellItem.Description == "" {
|
|
|
+ err = util.DataToObject(obj, &sellItem)
|
|
|
+ if cast.ToString(Name) == "" {
|
|
|
c.JSON(http.StatusBadRequest, CreateResultError(400, "商品描述不能为空"))
|
|
|
return
|
|
|
}
|
|
|
- _, ok := ARKConfig.SellItems[sellItem.Description]
|
|
|
+ _, ok := ARKConfig.SellItems[cast.ToString(Name)]
|
|
|
if ok {
|
|
|
if sellItem.Price == 0 || sellItem.Type == "" {
|
|
|
c.JSON(http.StatusBadRequest, CreateResultError(400, "价格、类型不能为空或为0"))
|
|
|
return
|
|
|
}
|
|
|
- ARKConfig.SellItems[sellItem.Description] = sellItem
|
|
|
+ ARKConfig.SellItems[cast.ToString(Name)] = sellItem
|
|
|
c.JSON(http.StatusOK, CreateResult())
|
|
|
return
|
|
|
}
|