ARKConfigRouter.go 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378
  1. package router
  2. import (
  3. "ARKItems/entity"
  4. "ARKItems/entity/ark"
  5. "ARKItems/util"
  6. "encoding/json"
  7. "fmt"
  8. "github.com/gin-gonic/gin"
  9. "github.com/spf13/cast"
  10. "net/http"
  11. )
  12. func ARKConfigRouter(api *gin.RouterGroup) {
  13. api.GET("/messages", GetMessages)
  14. api.GET("/timedPointsReward", GetTimedPointsReward)
  15. api.POST("/timedPointsReward/group", SaveGroup)
  16. api.PUT("/timedPointsReward/group", UpdateGroup)
  17. api.DELETE("/timedPointsReward/group", DeleteGroup)
  18. api.GET("/general", GetGeneral)
  19. api.PUT("/general", UpdateGeneral)
  20. api.GET("/kit", GetKits)
  21. api.POST("/kit", SaveKit)
  22. api.PUT("/kit", UpdateKit)
  23. api.DELETE("/kit", DeleteKit)
  24. api.GET("/shopItem", GetShopItem)
  25. api.POST("/shopItem", SaveShopItem)
  26. api.PUT("/shopItem", UpdateShopItem)
  27. api.DELETE("/shopItem", DeleteShopItem)
  28. api.GET("/sellItem", GetSellItem)
  29. api.POST("/sellItem", SaveSellItem)
  30. api.PUT("/sellItem", UpdateSellItem)
  31. api.DELETE("/sellItem", DeleteSellItem)
  32. }
  33. func GetMessages(c *gin.Context) {
  34. c.JSON(200, CreateResultData(ARKConfig.Messages))
  35. }
  36. func GetTimedPointsReward(c *gin.Context) {
  37. c.JSON(200, CreateResultData(ARKConfig.General.TimedPointsReward))
  38. }
  39. func GetGeneral(c *gin.Context) {
  40. marshal, err := json.Marshal(ARKConfig.General)
  41. if err != nil {
  42. c.JSON(200, CreateResultError(400, "参数错误"))
  43. return
  44. }
  45. m := make(map[string]interface{})
  46. json.Unmarshal(marshal, &m)
  47. delete(m, "Groups")
  48. c.JSON(200, CreateResultData(m))
  49. }
  50. func UpdateGeneral(c *gin.Context) {
  51. param := util.GetJsonAnyParam(c)
  52. g, err := param("group")
  53. if err != nil {
  54. c.JSON(200, CreateResultError(400, "参数错误"))
  55. return
  56. }
  57. var General = ark.General{}
  58. err = util.DataToObject(g, &General)
  59. if ARKConfig.General.UseOriginalTradeCommandWithUI != General.UseOriginalTradeCommandWithUI {
  60. ARKConfig.General.UseOriginalTradeCommandWithUI = General.UseOriginalTradeCommandWithUI
  61. }
  62. if ARKConfig.General.CryoLimitedTime != General.CryoLimitedTime {
  63. ARKConfig.General.CryoLimitedTime = General.CryoLimitedTime
  64. }
  65. if ARKConfig.General.GiveDinosInCryopods != General.GiveDinosInCryopods {
  66. ARKConfig.General.GiveDinosInCryopods = General.GiveDinosInCryopods
  67. }
  68. if ARKConfig.General.UseSoulTraps != General.UseSoulTraps {
  69. ARKConfig.General.UseSoulTraps = General.UseSoulTraps
  70. }
  71. if ARKConfig.General.ItemsPerPage != General.ItemsPerPage {
  72. ARKConfig.General.ItemsPerPage = General.ItemsPerPage
  73. }
  74. if ARKConfig.General.ShopDisplayTime != General.ShopDisplayTime {
  75. ARKConfig.General.ShopDisplayTime = General.ShopDisplayTime
  76. }
  77. if ARKConfig.General.ShopTextSize != General.ShopTextSize {
  78. ARKConfig.General.ShopTextSize = General.ShopTextSize
  79. }
  80. if ARKConfig.General.DefaultKit != General.DefaultKit {
  81. ARKConfig.General.DefaultKit = General.DefaultKit
  82. }
  83. if ARKConfig.General.ShopDisplayTime != General.ShopDisplayTime {
  84. ARKConfig.General.ShopDisplayTime = General.ShopDisplayTime
  85. }
  86. if ARKConfig.General.DbPathOverride != General.DbPathOverride {
  87. ARKConfig.General.DbPathOverride = General.DbPathOverride
  88. }
  89. c.JSON(200, CreateResult())
  90. }
  91. //-----------------组修改----------------------
  92. // SaveGroup 添加VIP
  93. func SaveGroup(c *gin.Context) {
  94. param := util.GetJsonAnyParam(c)
  95. g, err := param("group")
  96. if err != nil {
  97. c.JSON(200, CreateResultError(400, "参数错误"))
  98. return
  99. }
  100. var Group = entity.Group{}
  101. err = util.DataToObject(g, &Group)
  102. fmt.Println(g, Group)
  103. ARKConfig.General.TimedPointsReward.Groups[Group.Name] = ark.Group{Amount: Group.Amount}
  104. c.JSON(200, CreateResult())
  105. }
  106. // UpdateGroup 修改VIP
  107. func UpdateGroup(c *gin.Context) {
  108. param := util.GetJsonAnyParam(c)
  109. g, err := param("group")
  110. if err != nil {
  111. c.JSON(200, CreateResultError(400, "参数错误"))
  112. return
  113. }
  114. var Group = entity.Group{}
  115. err = util.DataToObject(g, &Group)
  116. if Group.Name == "" {
  117. c.JSON(200, CreateResultError(400, "VIP名称不能为空"))
  118. return
  119. }
  120. _, ok := ARKConfig.General.TimedPointsReward.Groups[Group.Name]
  121. if ok {
  122. ARKConfig.General.TimedPointsReward.Groups[Group.Name] = ark.Group{Amount: Group.Amount}
  123. c.JSON(200, CreateResult())
  124. return
  125. }
  126. c.JSON(200, CreateResultError(400, "VIP组名不存在"))
  127. }
  128. // DeleteGroup 修改VIP
  129. func DeleteGroup(c *gin.Context) {
  130. param := util.GetJsonAnyParam(c)
  131. name, err := param("groupName")
  132. if err != nil {
  133. c.JSON(200, CreateResultError(400, "参数错误"))
  134. return
  135. }
  136. if cast.ToString(name) == "" {
  137. c.JSON(200, CreateResultError(400, "VIP名称不能为空"))
  138. return
  139. }
  140. _, ok := ARKConfig.General.TimedPointsReward.Groups[cast.ToString(name)]
  141. if ok {
  142. //删除一个元素
  143. delete(ARKConfig.General.TimedPointsReward.Groups, cast.ToString(name))
  144. c.JSON(200, CreateResult())
  145. return
  146. }
  147. c.JSON(200, CreateResultError(400, "VIP组名不存在"))
  148. }
  149. //==================礼包==========================
  150. func GetKits(c *gin.Context) {
  151. c.JSON(200, CreateResultData(ARKConfig.Kits))
  152. }
  153. func SaveKit(c *gin.Context) {
  154. param := util.GetJsonAnyParam(c)
  155. g, err := param("kit")
  156. if err != nil {
  157. c.JSON(200, CreateResultError(400, "参数错误"))
  158. return
  159. }
  160. var Kit = ark.Kit{}
  161. err = util.DataToObject(g, &Kit)
  162. if Kit.Description == "" || Kit.Price == 0 || Kit.DefaultAmount == 0 {
  163. c.JSON(200, CreateResultError(400, "礼包描述不能为空,价格,数量不能为0"))
  164. return
  165. }
  166. ARKConfig.Kits[Kit.Description] = Kit
  167. }
  168. func UpdateKit(c *gin.Context) {
  169. param := util.GetJsonAnyParam(c)
  170. g, err := param("kit")
  171. if err != nil {
  172. c.JSON(200, CreateResultError(400, "参数错误"))
  173. return
  174. }
  175. var Kit = ark.Kit{}
  176. err = util.DataToObject(g, &Kit)
  177. if Kit.Description == "" {
  178. c.JSON(200, CreateResultError(400, "礼包描述不能为空"))
  179. }
  180. _, ok := ARKConfig.Kits[Kit.Description]
  181. if ok {
  182. if Kit.Price == 0 || Kit.DefaultAmount == 0 {
  183. c.JSON(200, CreateResultError(400, "价格,数量不能为0"))
  184. return
  185. }
  186. ARKConfig.Kits[Kit.Description] = Kit
  187. c.JSON(200, CreateResult())
  188. return
  189. }
  190. c.JSON(200, CreateResultError(400, "礼包不存在"))
  191. }
  192. func DeleteKit(c *gin.Context) {
  193. param := util.GetJsonAnyParam(c)
  194. name, err := param("kitName")
  195. if err != nil {
  196. c.JSON(200, CreateResultError(400, "参数错误"))
  197. return
  198. }
  199. if cast.ToString(name) == "" {
  200. c.JSON(200, CreateResultError(400, "礼包名称不能为空"))
  201. return
  202. }
  203. _, ok := ARKConfig.Kits[cast.ToString(name)]
  204. if ok {
  205. //删除一个元素
  206. delete(ARKConfig.Kits, cast.ToString(name))
  207. c.JSON(200, CreateResult())
  208. return
  209. }
  210. c.JSON(200, CreateResultError(400, "礼包不存在"))
  211. }
  212. //====================商店==========================
  213. func GetShopItem(c *gin.Context) {
  214. c.JSON(200, CreateResultData(ARKConfig.ShopItems))
  215. }
  216. func SaveShopItem(c *gin.Context) {
  217. param := util.GetJsonAnyParam(c)
  218. g, err := param("shopItem")
  219. if err != nil {
  220. c.JSON(200, CreateResultError(400, "参数错误"))
  221. return
  222. }
  223. var ShopItem = ark.ShopItem{}
  224. err = util.DataToObject(g, &ShopItem)
  225. if ShopItem.Description == "" || ShopItem.Price == 0 || ShopItem.Type == "" {
  226. c.JSON(200, CreateResultError(400, "商店描述,价格,类型不能为空,为0"))
  227. return
  228. }
  229. _, ok := ARKConfig.ShopItems[ShopItem.Description]
  230. if ok {
  231. c.JSON(200, CreateResultError(400, "商品名已存在"))
  232. return
  233. }
  234. ARKConfig.ShopItems[ShopItem.Description] = ShopItem
  235. }
  236. func UpdateShopItem(c *gin.Context) {
  237. param := util.GetJsonAnyParam(c)
  238. g, err := param("shopItem")
  239. if err != nil {
  240. c.JSON(200, CreateResultError(400, "参数错误"))
  241. return
  242. }
  243. var ShopItem = ark.ShopItem{}
  244. err = util.DataToObject(g, &ShopItem)
  245. if ShopItem.Description == "" {
  246. c.JSON(200, CreateResultError(400, "商店名不能为空"))
  247. return
  248. }
  249. _, ok := ARKConfig.ShopItems[ShopItem.Description]
  250. if ok {
  251. if ShopItem.Price == 0 || ShopItem.Type == "" {
  252. c.JSON(200, CreateResultError(400, "价格,类型不能为空,为0"))
  253. return
  254. }
  255. ARKConfig.ShopItems[ShopItem.Description] = ShopItem
  256. c.JSON(200, CreateResult())
  257. return
  258. }
  259. c.JSON(200, CreateResultError(400, "商品名不存在"))
  260. }
  261. func DeleteShopItem(c *gin.Context) {
  262. param := util.GetJsonAnyParam(c)
  263. name, err := param("shopItemName")
  264. if err != nil {
  265. c.JSON(200, CreateResultError(400, "参数错误"))
  266. return
  267. }
  268. if cast.ToString(name) == "" {
  269. c.JSON(200, CreateResultError(400, "商店名不能为空"))
  270. return
  271. }
  272. _, ok := ARKConfig.ShopItems[cast.ToString(name)]
  273. if ok {
  274. //删除一个元素
  275. delete(ARKConfig.ShopItems, cast.ToString(name))
  276. c.JSON(200, CreateResult())
  277. return
  278. }
  279. c.JSON(200, CreateResultError(400, "商店名不存在"))
  280. }
  281. //========================回收==========================
  282. func GetSellItem(c *gin.Context) {
  283. c.JSON(http.StatusOK, CreateResultData(ARKConfig.SellItems))
  284. }
  285. func SaveSellItem(c *gin.Context) {
  286. param := util.GetJsonAnyParam(c)
  287. g, err := param("sellItem")
  288. if err != nil {
  289. c.JSON(http.StatusBadRequest, CreateResultError(400, "参数错误"))
  290. return
  291. }
  292. var sellItem ark.SellItem
  293. err = util.DataToObject(g, &sellItem)
  294. if sellItem.Description == "" || sellItem.Price == 0 || sellItem.Type == "" {
  295. c.JSON(http.StatusBadRequest, CreateResultError(400, "描述、价格、类型不能为空或为0"))
  296. return
  297. }
  298. _, ok := ARKConfig.SellItems[sellItem.Description]
  299. if ok {
  300. c.JSON(http.StatusBadRequest, CreateResultError(400, "商品名已存在"))
  301. return
  302. }
  303. ARKConfig.SellItems[sellItem.Description] = sellItem
  304. c.JSON(http.StatusOK, CreateResult())
  305. }
  306. func UpdateSellItem(c *gin.Context) {
  307. param := util.GetJsonAnyParam(c)
  308. g, err := param("sellItem")
  309. if err != nil {
  310. c.JSON(http.StatusBadRequest, CreateResultError(400, "参数错误"))
  311. return
  312. }
  313. var sellItem ark.SellItem
  314. err = util.DataToObject(g, &sellItem)
  315. if sellItem.Description == "" {
  316. c.JSON(http.StatusBadRequest, CreateResultError(400, "商品描述不能为空"))
  317. return
  318. }
  319. _, ok := ARKConfig.SellItems[sellItem.Description]
  320. if ok {
  321. if sellItem.Price == 0 || sellItem.Type == "" {
  322. c.JSON(http.StatusBadRequest, CreateResultError(400, "价格、类型不能为空或为0"))
  323. return
  324. }
  325. ARKConfig.SellItems[sellItem.Description] = sellItem
  326. c.JSON(http.StatusOK, CreateResult())
  327. return
  328. }
  329. c.JSON(http.StatusBadRequest, CreateResultError(400, "商品名不存在"))
  330. }
  331. func DeleteSellItem(c *gin.Context) {
  332. param := util.GetJsonAnyParam(c)
  333. name, err := param("sellItemName")
  334. if err != nil {
  335. c.JSON(http.StatusBadRequest, CreateResultError(400, "参数错误"))
  336. return
  337. }
  338. if cast.ToString(name) == "" {
  339. c.JSON(http.StatusBadRequest, CreateResultError(400, "商品描述不能为空"))
  340. return
  341. }
  342. _, ok := ARKConfig.SellItems[cast.ToString(name)]
  343. if ok {
  344. // 删除一个元素
  345. delete(ARKConfig.SellItems, cast.ToString(name))
  346. c.JSON(http.StatusOK, CreateResult())
  347. return
  348. }
  349. c.JSON(http.StatusBadRequest, CreateResultError(400, "商品名不存在"))
  350. }