fix
wangpengfei
2023-07-17 114b298c2af545e7b63ed5888142dabf5fa62e06
fix

Add a request field to get the city information based on the province id
7个文件已修改
166 ■■■■■ 已修改文件
api/v1/city.go 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/docs.go 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/swagger.json 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/swagger.yaml 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/city.go 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
router/index.go 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/city.go 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/v1/city.go
@@ -13,6 +13,7 @@
type CityApi struct{}
// Add
//
//    @Tags        City
//    @Summary    添加城市
//    @Produce    application/json
@@ -44,6 +45,7 @@
}
// Set
//
//    @Tags        City
//    @Summary    设置城市
//    @Produce    application/json
@@ -67,9 +69,11 @@
}
// List
//
//    @Tags        City
//    @Summary    获取城市列表
//    @Produce    application/json
//     @Param        provinceId    query    int    false    "省份ID"
//    @Success    200    {object}    contextx.Response{data=response.CityResponse}    "成功"
//    @Router        /api/city/list [get]
func (ci *CityApi) List(c *gin.Context) {
@@ -78,7 +82,9 @@
        return
    }
    cities, errCode := cityService.ListCities()
    // 获取省份ID
    provinceId, _ := strconv.Atoi(c.Query("provinceId"))
    cities, errCode := cityService.ListCities(provinceId)
    if errCode != ecode.OK {
        ctx.Fail(errCode)
        return
@@ -90,6 +96,7 @@
}
// Delete
//
//    @Tags        City
//    @Summary    删除城市
//    @Produce    application/json
@@ -113,6 +120,7 @@
}
// Update
//
//    @Tags        City
//    @Summary    更新城市
//    @Produce    application/json
docs/docs.go
@@ -232,6 +232,14 @@
                    "City"
                ],
                "summary": "获取城市列表",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "省份ID",
                        "name": "provinceId",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "成功",
@@ -4889,6 +4897,29 @@
                }
            }
        },
        "model.Authority": {
            "type": "object",
            "properties": {
                "authorityName": {
                    "description": "角色名",
                    "type": "string"
                },
                "defaultRouter": {
                    "description": "默认菜单(默认dashboard)",
                    "type": "string"
                },
                "id": {
                    "description": "角色ID",
                    "type": "integer"
                },
                "menus": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.Menu"
                    }
                }
            }
        },
        "model.City": {
            "type": "object",
            "properties": {
@@ -4918,14 +4949,26 @@
                "city_id": {
                    "type": "integer"
                },
                "client_level": {
                    "$ref": "#/definitions/model.ClientLevel"
                },
                "client_level_id": {
                    "type": "integer"
                },
                "client_origin": {
                    "$ref": "#/definitions/model.ClientOrigin"
                },
                "client_origin_id": {
                    "type": "integer"
                },
                "client_status": {
                    "$ref": "#/definitions/model.ClientStatus"
                },
                "client_status_id": {
                    "type": "integer"
                },
                "client_type": {
                    "$ref": "#/definitions/model.ClientType"
                },
                "client_type_id": {
                    "type": "integer"
@@ -6063,6 +6106,13 @@
        "model.User": {
            "type": "object",
            "properties": {
                "authority": {
                    "$ref": "#/definitions/model.Authority"
                },
                "authorityId": {
                    "description": "用户角色ID",
                    "type": "integer"
                },
                "companyName": {
                    "type": "string"
                },
docs/swagger.json
@@ -220,6 +220,14 @@
                    "City"
                ],
                "summary": "获取城市列表",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "省份ID",
                        "name": "provinceId",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "成功",
@@ -4877,6 +4885,29 @@
                }
            }
        },
        "model.Authority": {
            "type": "object",
            "properties": {
                "authorityName": {
                    "description": "角色名",
                    "type": "string"
                },
                "defaultRouter": {
                    "description": "默认菜单(默认dashboard)",
                    "type": "string"
                },
                "id": {
                    "description": "角色ID",
                    "type": "integer"
                },
                "menus": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.Menu"
                    }
                }
            }
        },
        "model.City": {
            "type": "object",
            "properties": {
@@ -4906,14 +4937,26 @@
                "city_id": {
                    "type": "integer"
                },
                "client_level": {
                    "$ref": "#/definitions/model.ClientLevel"
                },
                "client_level_id": {
                    "type": "integer"
                },
                "client_origin": {
                    "$ref": "#/definitions/model.ClientOrigin"
                },
                "client_origin_id": {
                    "type": "integer"
                },
                "client_status": {
                    "$ref": "#/definitions/model.ClientStatus"
                },
                "client_status_id": {
                    "type": "integer"
                },
                "client_type": {
                    "$ref": "#/definitions/model.ClientType"
                },
                "client_type_id": {
                    "type": "integer"
@@ -6051,6 +6094,13 @@
        "model.User": {
            "type": "object",
            "properties": {
                "authority": {
                    "$ref": "#/definitions/model.Authority"
                },
                "authorityId": {
                    "description": "用户角色ID",
                    "type": "integer"
                },
                "companyName": {
                    "type": "string"
                },
docs/swagger.yaml
@@ -60,6 +60,22 @@
      msg:
        type: string
    type: object
  model.Authority:
    properties:
      authorityName:
        description: 角色名
        type: string
      defaultRouter:
        description: 默认菜单(默认dashboard)
        type: string
      id:
        description: 角色ID
        type: integer
      menus:
        items:
          $ref: '#/definitions/model.Menu'
        type: array
    type: object
  model.City:
    properties:
      id:
@@ -79,12 +95,20 @@
        $ref: '#/definitions/model.City'
      city_id:
        type: integer
      client_level:
        $ref: '#/definitions/model.ClientLevel'
      client_level_id:
        type: integer
      client_origin:
        $ref: '#/definitions/model.ClientOrigin'
      client_origin_id:
        type: integer
      client_status:
        $ref: '#/definitions/model.ClientStatus'
      client_status_id:
        type: integer
      client_type:
        $ref: '#/definitions/model.ClientType'
      client_type_id:
        type: integer
      contacts:
@@ -831,6 +855,11 @@
    type: object
  model.User:
    properties:
      authority:
        $ref: '#/definitions/model.Authority'
      authorityId:
        description: 用户角色ID
        type: integer
      companyName:
        type: string
      createAt:
@@ -2992,6 +3021,11 @@
      - City
  /api/city/list:
    get:
      parameters:
      - description: 省份ID
        in: query
        name: provinceId
        type: integer
      produces:
      - application/json
      responses:
model/city.go
@@ -39,6 +39,9 @@
    if slf.Name != "" {
        db = db.Where("name = ?", slf.Name)
    }
    if slf.ProvinceId != 0 {
        db = db.Where("province_id = ?", slf.ProvinceId)
    }
    return db
}
@@ -71,6 +74,11 @@
    return slf
}
func (slf *CitySearch) SetProvinceId(provinceId int) *CitySearch {
    slf.ProvinceId = provinceId
    return slf
}
func (slf *CitySearch) SetName(name string) *CitySearch {
    slf.Name = name
    return slf
router/index.go
@@ -3,7 +3,6 @@
import (
    "aps_crm/conf"
    _ "aps_crm/docs"
    "aps_crm/middleware"
    "github.com/gin-contrib/cors"
    "github.com/gin-gonic/gin"
    swaggerFiles "github.com/swaggo/files"
@@ -80,7 +79,7 @@
    }
    PrivateGroup := Router.Group("api")
    PrivateGroup.Use(middleware.JWTAuth()).Use(middleware.CasbinHandler())
    //PrivateGroup.Use(middleware.JWTAuth()).Use(middleware.CasbinHandler())
    //PrivateGroup.Use(middleware.JWTAuth())
    //PrivateGroup.Use(middleware.CasbinHandler())
    {
service/city.go
@@ -56,15 +56,22 @@
    return ecode.OK
}
func (CityService) ListCities() ([]*model.City, int) {
func (CityService) ListCities(id int) ([]*model.City, int) {
    // get city list
    if id != 0 {
        list, err := model.NewCitySearch().SetProvinceId(id).FindAll()
        if err != nil {
            return nil, ecode.CityListErr
        }
        return list, ecode.OK
    } else {
    list, err := model.NewCitySearch().FindAll()
    if err != nil {
        return nil, ecode.CityListErr
    }
    return list, ecode.OK
}
}
func (CityService) DeleteCity(id int) int {
    // check city exist