# 服务平台
版本 |  创建时间   | 作者 |  备注信息
---|---|---|---
v1.0|2022-01-20|zxfei| 接口文档

## 数据类型
类型名称|类型描述|参考样例
---|---|---
String |字符串|A、a、ab
Integer|数字类型|1、12、-1
Long|长整型数字|1、12、-1
date|时间类型,单位纳秒数字|167988745573
BigDecimal|小数类型|545.256
object|对象类型|{"name":"zhang3"}
arrays|数组类型|[{"name":"zhang3"},{"name":"zhang2"}]

<#list tableList as table>
## ${table.functionName}

### 查询${table.functionName}列表

**请求URL:** ${table.requestMapping}/list

**请求方式:** POST

**内容类型:** application/json;charset=utf-8

**简要描述:** 查询${table.functionName}

**请求参数:**

参数名称|类型|必填|描述
:---|:---|:---|:------
page|Integer|否|当前页
size|Integer|否|每页条数，值为-1，查询所有记录
<#list table.columns as column>
    <#if column.isQuery == 1>
         <#if column.javaType=="String" >
${column.javaField}|${column.javaType}|否|${column.columnComment},字段前后添加%%模糊查询
            <#else>
${column.javaField}|${column.javaType}|否|${column.columnComment}
         </#if>
    </#if>
</#list>

**请求样例:**
```
  {
<#list table.columns as column>
    <#if column.isQuery == 1>
    <#if column.javaType=="String" ||column.javaType=="Date">
        <#assign fakeValue>"${column.randomStr(column.javaType)}"</#assign>
    <#else>
        <#assign fakeValue>${column.randomStr(column.javaType)}</#assign>
    </#if>
        "${column.javaField}":${fakeValue}<#sep>,</#sep>
    </#if>
</#list>
        "page":1,
        "size":10
  }

```
**响应参数:**

参数名称|参数类型|描述
:---|:---|:------
code|Integer|结果码（-1.失败，1.成功）
msg|String|消息
data|object|数据对象
&emsp;per_page|Integer|每页条数
&emsp;total|Integer|总条数
&emsp;last_page|Integer|总页数
&emsp;current_page|Integer|当前页
&emsp;data|array|结果集列表|数组
<#list table.columns as column>
&emsp;&emsp;${column.javaField}|${column.javaType}|${column.columnComment}
</#list>
dict|object|字典对象
<#list table.columns as column>
    <#if column.dict??&&(column.columnType?contains("tinyint") ||column.htmlType==3||column.htmlType==5)>
&emsp;${column.javaField}|object|字典属性对象，详见附录
    </#if>
</#list>

**响应消息样例:**
```
{
    "code":1,
    "data":{
    }
}
```

### 查看${table.functionName}

**请求URL:** ${table.requestMapping}/info

**请求方式:** GET

**内容类型:** application/json;charset=utf-8

**简要描述:** 查看${table.functionName}，返回实例详细信息

**请求参数:**

参数名称|类型|必填|描述
:---|:---|:---|:------
${table.pkColumn.javaField}|${table.pkColumn.javaType}|是|ID

**请求样例:**
```
    http://localhost/${table.requestMapping}/info?id=549
```
**响应参数:**

参数名称 |参数类型|描述
:---|:---|:-------
code|Integer|结果码（-1.失败，1.成功）
msg|String|消息
data|object|数据对象
<#list table.columns as column>
&emsp;${column.javaField}|${column.javaType}|${column.columnComment}
</#list>
dict|object|字典对象
<#list table.columns as column>
    <#if column.dict??&&(column.columnType?contains("tinyint") ||column.htmlType==3||column.htmlType==5)>
&emsp;${column.javaField}|object|字典属性对象，详见附录
    </#if>
</#list>

**响应消息样例:**
```
{
    "code": 1,
    "data": {
        <#list table.columns as column>
            <#if column.javaType=="String" ||column.javaType=="Date">
                <#assign fakeValue>"${column.randomStr(column.javaType)}"</#assign>
                <#else>
                <#assign fakeValue>${column.randomStr(column.javaType)}</#assign>
            </#if>
            "${column.javaField}":${fakeValue}<#sep>,</#sep>
        </#list>
        }
}
```

### 保存更新${table.functionName}

**请求URL:** ${table.requestMapping}/save

**请求方式:** POST

**内容类型:** application/json;charset=utf-8

**简要描述:** 保存或更新${table.functionName}：id为空时为新增保存，否则为更新提交

**请求参数:**

参数名称|类型|必填|描述
:---|:---|:---|:-------
<#list table.columns as column>
<#if !column.isSuperColumn(column.javaField)>
${column.javaField}|${column.javaType}|是|${column.columnComment}
</#if>
</#list>

**请求样例:**
```
{
<#list table.columns as column>
    <#if !column.isSuperColumn(column.javaField)>
        <#if column.javaType=="String" ||column.javaType=="Date">
            <#assign fakeValue>"${column.randomStr(column.javaType)}"</#assign>
            <#else>
            <#assign fakeValue>${column.randomStr(column.javaType)}</#assign>
        </#if>
    "${column.javaField}":${fakeValue}<#sep>,</#sep>
    </#if>
</#list>
}

```
**响应参数:**

参数名称 |参数类型|描述
:---|:---|:------
code|Integer|结果码（-1.失败，1.成功）
msg|String|消息
data|object|数据对象
&emsp;id|Long|保存后主键id
&emsp;entity|object|保存更新实体
<#list table.columns as column>
&emsp;&emsp;${column.javaField}|${column.javaType}|${column.columnComment}
</#list>

**响应消息样例:**
```
{
    "msg":"新增模块成功",
    "code":1,
    "data":{}
    }
}

```

### 删除${table.functionName}

**请求URL:** ${table.requestMapping}/delete

**请求方式:** GET

**内容类型:** application/json;charset=utf-8

**简要描述:** 删除${table.functionName}

**请求参数:**

参数名称|类型|必填|描述
:---|:---|:---|:------
${table.pkColumn.javaField}|String|是|数组

**请求样例:**
```
    http://localhost:8080/${table.requestMapping}/delete?id=1&id=2'
```
**响应参数:**

参数名称 |参数类型|备注|其它
---|---|---|---
code|Integer|结果码（-1.失败，1.成功）|-
msg|String|消息|-

**响应消息样例:**
```
{
    "code":1,
	"msg":"成功"
}

```
<#if table.isGenExport==1 >

### 导入${table.functionName}模板下载

**请求URL:** ${table.requestMapping}/downloadTemplate

**请求方式:** POST

**内容类型:** application/octet-stream;charset=utf-8

**简要描述:** ${table.functionName}导入模板下载

**请求样例:**
```
    http://localhost/${table.requestMapping}/downloadTemplate
```

**Response-example:**
```
...

```

### 导入${table.functionName}

**请求URL:** ${table.requestMapping}/importData

**请求方式:** POST

**内容类型:** multipart/form-data

**简要描述:** 导入${table.functionName}

**请求参数:**

参数名称|类型|必填|描述
:---|:---|:---|:------
file|file|是|文件流

**请求样例:**
```
    http://localhost/${table.requestMapping}/importData --data 'updateSupport=true'

```

**Response-example:**
```
...

```

### 导出${table.functionName}

**请求URL:** ${table.requestMapping}/exportExcel

**请求方式:** POST

**内容类型:** application/json;charset=utf-8

**简要描述:** 导出${table.functionName}

**请求参数:**

参数名称|类型|必填|描述
:---|:---|:---|:------
idList|Arrays|否|id数组
<#list table.columns as column>
    <#if column.isQuery == 1>
        ${column.javaField}|${column.javaType}|${column.columnComment}|否|参数查询条件
    </#if>
</#list>

**请求样例:**
```
{
    idList:[1,2],
<#list table.columns as column>
    <#if column.isQuery == 1>
        <#if column.javaType=="String" ||column.javaType=="Date">
            <#assign fakeValue>"${column.randomStr(column.javaType)}"</#assign>
        <#else>
            <#assign fakeValue>${column.randomStr(column.javaType)}</#assign>
        </#if>
        "${column.javaField}":${fakeValue}<#sep>,</#sep>
    </#if>
</#list>

}

```

**Response-example:**
```
...

```
</#if>
</#list>
## 字典附录
<#list tableList as table>
<#list table.columns as column>
<#if column.dict??>
    <#assign comment=column.subComment(column.columnComment) />
### ${column.javaField}
字典参数key|字典参数值|其它
:---|:---|:---
<#list column.dict as dict>
${dict.num}|${dict.value}|-
</#list>
</#if>
</#list>
</#list>