发表于: 2020-06-17 23:32:27

1 1872


今天完成的事情:

完成了所有接口文档,在这过程中发现原先表设计的不足,新加了一张留言回复reply表方便管理留言回复:

所有接口文档如下:


1 登录接口

请求地址:POST /a/login

请求参数:

字段类型说明是否必填备注
usernamestring用户名
passwordstring密码

返回参数:

字段类型说明
codenumber状态码
messagestring状态信息


2 Banner管理

2.1 新增banner

请求地址:POST /a/u/banner

请求参数:

字段类型说明是否必填备注
urlstring作品链接
imgstring配图
statenumber状态1为上架,0为不上架

返回参数:

字段类型说明
codenumber状态码
messagestring状态信息


2.2 删除banner

请求地址:DELETE /a/u/banner/{id}

返回参数:

字段类型说明
codenumber状态码
messagestring状态信息

2.3 修改banner

请求地址:PUT /a/u/banner/{id}

请求参数:

字段类型说明是否必填备注
urlstring作品链接
imgstring配图

返回参数:

字段类型说明
codenumber状态码
messagestring状态信息


2.4 上架下架banner

请求地址:PUT /a/u/banner/state/{id}

请求参数:

字段类型说明是否必填备注
statenumberbanner状态

返回参数:

字段类型说明
codenumber状态码
messagestring状态信息


2.5 查询单个banner

请求地址:GET /a/u/banner/{id}

返回参数:

字段类型说明
codenumber状态码
messagestring状态信息
dataobject数据

data

字段类型说明
idnumber自增主键
urlstring作品链接
imgstring配图
statenumberbanner状态
createBystring创建人
createAtnumber创建时间
updateAtnumber更新时间


2.6 按照条件查询banner

请求地址:GET /a/u/banner/list

请求参数:

字段类型说明是否必填
statenumberbanner状态
createBystring创建人

返回参数:

字段类型说明
codenumber状态码
messagestring状态信息
dataobject数据

data

字段类型说明
idnumber自增主键
urlstring作品链接
imgstring配图
statenumberbanner状态
createBystring创建人
createAtnumber创建时间
updateAtnumber更新时间


3 留言管理

3.1 新建留言

请求地址:POST /a/u/message

请求参数:

字段类型说明是否必填备注
createBystring留言人名称
contentstring留言内容
titlestring作品名称
statenumber留言状态

返回参数:

字段类型说明
codenumber状态码
messagestring状态信息


3.2 删除留言

请求地址:DELETE  /a/u/message/{id}

返回参数:

字段类型说明
codenumber状态码
messagestring状态信息


3.3 编辑留言状态

请求地址:PUT /a/u/message/{id}

请求参数:

字段类型说明是否必填备注
statenumber留言状态

返回参数:

字段类型说明
codenumber状态码
messagestring状态信息


3.4 查询留言

请求地址:GET /a/u/message/list

请求参数:

字段类型说明是否必填备注
titlestring作品名称
statenumber留言状态

返回参数:

字段类型说明
codenumber状态码
messagestring状态信息
dataobject数据

data

字段类型说明
idnumberid
titlestring作品名称
createBystring留言游客昵称
statenumber留言状态
createAtnumber留言时间
updateAtnumber后台修改时间
updateBystring编辑人


3.5 查看留言详情

请求地址:GET /a/u/message/{id}

返回参数:

字段类型说明
codenumber状态码
messagestring状态信息
dataobject数据

data

字段类型说明
idnumberid
titlestring作品名称
createBystring留言游客昵称
statenumber留言状态
createAtnumber留言时间
updateAtnumber后台修改时间
updateBystring编辑人


4 留言回复管理

4.1 回复留言

请求地址:POST /a/u/reply

请求参数:

字段类型说明是否必填备注
namestring作品名称
replystring回复内容

返回参数:

字段类型说明
codenumber状态码
messagestring状态信息

4.2 删除回复

请求地址:DELETE /a/u/reply/{id}

返回参数:

字段类型说明
codenumber状态码
messagestring状态信息

4.3 修改回复

请求地址:PUT /a/u/reply/{id}

请求参数:

字段类型说明是否必填备注
replystring回复内容

返回参数:

字段类型说明
codenumber状态码
messagestring状态信息


4.4 留言回复列表

请求地址:GET /a/u/reply/{message.id} (留言id)

返回参数:

字段类型说明
codenumber状态码
messagestring状态信息
dataobject数据

data

字段类型说明
idnumberid
namestring作品名称
replystring回复内容
createAtnumber回复时间
updateBystring回复人


5 作品集管理

5.1 新增作品集

请求地址:POST /a/u/portfolio

请求参数:

字段类型说明是否必填备注
namestring作品集名称

返回参数:

字段类型说明
codenumber状态码
messagestring状态信息


5.2 删除作品集

请求地址:DELETE /a/u/portfolio/{id}

返回参数:

字段类型说明
codenumber状态码
messagestring状态信息


5.3 更新作品集名称

请求地址:PUT /a/u/portfolio/{id}

请求参数:

字段类型说明是否必填备注
namestring作品集名称

返回参数:

字段类型说明
codenumber状态码
messagestring状态信息


5.4 更新作品集状态

请求地址:PUT /a/u/portfolio/state/{id}

请求参数:

字段类型说明是否必填备注
statenumber作品集状态

返回参数:

字段类型说明
codenumber状态码
messagestring状态信息


5.5 查询单个作品集

请求地址:GET /a/u/portfolio/{id}

返回参数:

字段类型说明
codenumber状态码
messagestring状态信息
dataobject数据

data

字段类型说明
idnumber序号
namestring作品集名称
statenumber作品集状态
createAtnumber创建时间
updateAtnumber修改时间
updateBystring

编辑人


5.6 按条件查询作品集

请求地址:GET /a/u/portfolio/list

请求参数:

字段类型说明是否必填备注
namestring作品集名称
statenumber作品集状态

返回参数:

字段类型说明
codenumber状态码
messagestring状态信息
dataobject数据

data

字段类型说明
idnumber序号
namestring作品集名称
statenumber作品集状态
createAtnumber创建时间
updateAtnumber修改时间
updateBystring

编辑人


6 作品集分类列表管理

6.1 新增作品集分类

请求地址:POST /a/u/secondportfolio

请求参数:

字段类型说明是否必填备注
namestring作品集分类名称
portfoliostring所属作品集

返回参数:

字段类型说明
codenumber状态码
messagestring状态信息


6.2 删除作品集分类

请求地址:DELETE /a/u/secondportfolio/{id}

返回参数:

字段类型说明
codenumber状态码
messagestring状态信息


6.3 编辑作品集分类名称

请求地址:PUT /a/u/secondportfolio/{id}

请求参数:

字段类型说明是否必填备注
namestring作品集分类名称

返回参数:

字段类型说明
codenumber状态码
messagestring状态信息


6.4 编辑作品集分类状态

请求地址:PUT /a/u/secondportfolio/state/{id}

请求参数:

字段类型说明是否必填备注
statenumber作品集分类状态

返回参数:

字段类型说明
codenumber状态码
messagestring状态信息

6.5 查询单个作品集

请求地址:GET /a/u/secondportfolio/{id}

返回参数:

字段类型说明
codenumber状态码
messagestring状态信息
dataobject数据

data

字段类型说明
idnumber序号
namestring名称
portfoliostring所属作品集
statenumber状态
createAtnumber创建时间
updateAtnumber修改时间
updateBystring编辑人


6.6 按条件查询作品集分类

请求地址:GET /a/u/secondportfolio/list

请求参数:

字段类型说明是否必填备注
portfoliostring作品集分类名称
statenumber状态

返回参数:

字段类型说明
codenumber状态码
messagestring状态信息
dataobject数据

data

字段类型说明
idnumber序号
namestring名称
portfoliostring所属作品集
statenumber状态
createAtnumber创建时间
updateAtnumber修改时间
updateBystring编辑人


7 作品管理

7.1 新增作品

请求地址:POST /a/u/works

请求参数:

字段类型说明是否必填备注
namestring作品名称
introstring作品简介
thumbnailstring缩略图
urlstring视频链接
imgstring作品详细图片
contentstring介绍文章

返回参数:

字段类型说明
codenumber状态码
messagestring状态信息

7.2 删除作品

请求地址:DELETE /a/u/works/{id}

返回参数:

字段类型说明
codenumber状态码
messagestring状态信息


7.3 更新作品

请求地址:PUT /a/u/works/{id}

请求参数:

字段类型说明是否必填备注
namestring作品名称
introstring作品简介
thumbnailstring缩略图
urlstring视频链接
imgstring作品详细图片
contentstring介绍文章

返回参数:

字段类型说明
codenumber状态码
messagestring状态信息

7.4 编辑作品上下架状态

请求地址:PUT /a/u/works/state/{id}

请求参数:

字段类型说明是否必填备注
statenumber状态

返回参数:

字段类型说明
codenumber状态码
messagestring状态信息


7.5 查询单个作品

请求地址:GET /a/u/works/{id}

返回参数:

字段类型说明
codenumber状态码
messagestring状态信息
dataobject数据

data

字段类型说明
idnumber序号
namestring作品名称
portfoliostring所属作品集
secondportfoliostring所属二级作品集
statenumber状态
createAtnumber创建时间
updateAtnumber修改时间
updateBystring编辑人


7.6 按条件查询作品

请求地址:GET /a/u/works/list

请求参数:

字段类型说明是否必填备注
namestring作品名称
statenumber状态

返回参数:

字段类型说明
codenumber状态码
messagestring状态信息
dataobject数据

data

字段类型说明
idnumber序号
namestring作品名称
portfoliostring所属作品集
secondportfoliostring所属二级作品集
statenumber状态
createAtnumber创建时间
updateAtnumber修改时间
updateBystring编辑人


8 工作室管理

8.1 新增工作室

请求地址:POST /a/u/studio

请求参数:

字段类型说明是否必填备注
namestring简介类型
imgstring图片
contentstring正文

返回参数:

字段类型说明
codenumber状态码
messagestring状态信息


8.2 删除工作室

请求地址:DELETE /a/u/studio/{id}

返回参数:

字段类型说明
codenumber状态码
messagestring状态信息


8.3 编辑工作室

请求地址:PUT /a/u/studio/{id}

请求参数:

字段类型说明是否必填备注
namestring简介类型
imgstring图片
contentstring正文

返回参数:

字段类型说明
codenumber状态码
messagestring状态信息


8.4 编辑工作室上下架状态

请求地址:PUT /a/u/studio/{id}

请求参数:

字段类型说明是否必填备注
statenumber状态

返回参数:

字段类型说明
codenumber状态码
messagestring状态信息


8.5 查询工作室

请求地址:GET /a/u/studio/list

请求参数:

字段类型说明是否必填备注
namestring名称
statenumber状态

返回参数:

字段类型说明
codenumber状态码
messagestring状态信息
dataobject数据

data

字段类型说明
idnumber序号
namestring名称
statenumber状态
createAtnumber创建时间
updateAtnumber修改时间
updateBystring编辑人

9 账户管理

9.1 新建账户

请求路径:POST /a/u/account

请求参数:

字段类型说明是否必填备注
usernamestring账户名
passwordstring密码
rolestring角色

返回参数:

字段类型说明
codenumber状态码
messagestring状态信息

9.2 删除账户

请求地址:DELETE /a/u/account/{id}

返回参数:

字段类型说明
codenumber状态码
messagestring状态信息


9.3 编辑账户

请求地址:PUT /a/u/account/{id}

请求参数:

字段类型说明是否必填备注
usernamestring账户名
passwordstring密码
rolestring角色

返回参数:

字段类型说明
codenumber状态码
messagestring状态信息


9.4 查询账户

请求地址:GET /a/u/account

请求参数:

字段类型说明是否必填备注
usernamestring账户名
rolestring角色

返回参数:

字段类型说明
codenumber状态码
messagestring状态信息
dataobject数据

data

字段类型说明
idnumber序号
usernamestring账户名
rolestring角色
createAtnumber创建时间
createBystring创建人



自动生成的接口里面的方法除了4个基础的增删改查之外,还多了几个:

public interface WorksMapper {
int deleteByPrimaryKey(Long id);

   int insert(Works record);

   int insertSelective(Works record);

   Works selectByPrimaryKey(Long id);

   int updateByPrimaryKeySelective(Works record);

   int updateByPrimaryKeyWithBLOBs(Works record);

   int updateByPrimaryKey(Works record);
}


查了一下它们的用法:

加了Selective的是对数据进行了判断的,比如updateByPrimartKeySelective只更新非0的字段。写service接口的时候可以根据需要去掉这个。


这里卡在按条件查询了,之前只写过单条件查询的方法,这个是多条件查询。


在网上查了一下发现有很多种方法:

其中一种是将查询条件封装到pojo类中:

例如:

在WorksMapper中加一个select Works方法:

List<Works> selectWorks(Works record);

然后再WorksMapper.xml中加上:

<select id="selectWorks" resultType="Works" parameterType="Works">
 select * from works
where
name like CONCAT('%', #{name}, '%') and
state=#{state}
</select>

这样可以实现根据作品名称和上架状态来查询作品,但是也有一个问题,原接口中的请求参数name和state不是必传的,如果只传一个参数的话就会出错。

这里我参考上面自动生成的updateByPrimartKeySelective方法,加了if test语句:

<select id="selectWorks" resultType="Works" parameterType="Works">
 select * from works
where
<if test="name != null">
 name like CONCAT('%', #{name}, '%')
</if>
 <if test="state != null">
 and state=#{state}
</if>

</select>

如果不为空就用这个条件查询,但还是有一点问题就是如果name设为空,state不为空,sql语句就多了个and,会直接报错。


去看了一下动态sql基本语句,在where后面加个条件:1=1就可以解决了!

像这样:

<select id="selectWorks" resultType="Works" parameterType="Works">
 select * from works
where 1=1
<if test="name != null">
 name like CONCAT('%', #{name}, '%')
</if>
 <if test="state != null">
 and state=#{state}
</if>
</select>

或者加上<where></where>标签:

<select id="selectWorks" resultType="Works" parameterType="Works">
 select * from works
<where>
 <if test="name != null">
 name like CONCAT('%', #{name}, '%')
</if>
 <if test="state != null">
 and state=#{state}
</if>
 </where>
</select>


收获:学习了动态sql基本语句


每天计划完成的事情:

完成所有接口


返回列表 返回列表
评论

    分享到