| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- package router
- import (
- "ARKItems/configs"
- "ARKItems/entity"
- "github.com/gin-gonic/gin"
- )
- func ArkItemRouter(api *gin.RouterGroup) {
- api.GET("/arkItems", GetArkItems)
- api.POST("/arkItems", PostArkItemList)
- }
- func GetArkItems(c *gin.Context) {
- var items []entity.ArkItemInfo
- count, err := configs.Engine.Table("ark_item_info").FindAndCount(&items)
- if err != nil {
- c.JSON(200, CreateResultError(500, err.Error()))
- return
- }
- c.JSON(200, gin.H{
- "code": 200,
- "message": "success",
- "data": gin.H{
- "list": items,
- "total": count,
- },
- })
- }
- type ReqArkItem struct {
- PageNum int `json:"pageNum"`
- PageSize int `json:"pageSize"`
- Name string `json:"name"`
- Category string `json:"category"`
- Label string `json:"label"`
- AllLike string `json:"allLike"`
- }
- func PostArkItemList(c *gin.Context) {
- var item ReqArkItem
- err := c.BindJSON(&item)
- if err != nil {
- c.JSON(200, CreateResultError(500, err.Error()))
- return
- }
- var items []entity.ArkItemInfo
- session := configs.Engine.Table("ark_item_info")
- if item.Name != "" {
- session.Where("name like ?", "%"+item.Name+"%")
- }
- if item.Category != "" {
- session.Where("category like ?", "%"+item.Category+"%")
- }
- if item.Label != "" {
- session.Where("label like ?", "%"+item.Label+"%")
- }
- if item.AllLike != "" {
- session.Where("name like ? or category like ? or label like ?", "%"+item.AllLike+"%", "%"+item.AllLike+"%", "%"+item.AllLike+"%")
- }
- count, err := configs.Engine.Table("ark_item_info").
- Limit(item.PageSize, (item.PageNum-1)*item.PageSize).
- FindAndCount(&items)
- if err != nil {
- c.JSON(200, CreateResultError(500, err.Error()))
- return
- }
- c.JSON(200, gin.H{
- "code": 200,
- "message": "success",
- "data": gin.H{
- "list": items,
- "total": count,
- "pageNum": item.PageNum,
- "pageSize": item.PageSize,
- },
- })
- }
|