发表于: 2019-12-29 20:34:57
2 1147
啥也不说就是干!!!
今天完成的事情:
1、整理出剩余的接口
这是所有的接口文档,就不一一截图了
2、开发相关接口
Banner 模块
@Service
public class BannerServiceImpl implements BannerService {
@Resource
private BannerInfoMapper bannerMapper;
@Resource
private ImageInfoMapper imageInfoMapper;
@Override
public List<BannerInfo> getBannerList() {
List<BannerInfo> bannerInfos = bannerMapper.queryAllBanners();
return bannerInfos;
}
@Override
public Integer saveBannerInfo(BannerInfo bannerInfo) {
int bannerId = bannerMapper.insertSelective(bannerInfo);
if(bannerId>0){
List<String> imgUrls = bannerInfo.getImgUrlInfo();
List<ImageInfo> imageInfos = new ArrayList<>();
for (String url : imgUrls) {
ImageInfo imageInfo = new ImageInfo();
imageInfo.setRelationId(bannerId);
imageInfo.setType(0);
imageInfo.setImagePath(url);
imageInfos.add(imageInfo);
}
imageInfoMapper.insertImageUrls(imageInfos);
}
return bannerId;
}
@Override
public int updateBanneStatus(Integer bannerId, Integer status) {
BannerInfo bannerInfo = new BannerInfo();
bannerInfo.setId(bannerId);
bannerInfo.setStatus(status);
int rowIds = bannerMapper.updateByPrimaryKeySelective(bannerInfo);
return rowIds;
}
@Override
public int deleteBannerInfo(Integer bannerId) {
int rowIds = bannerMapper.deleteByPrimaryKey(bannerId);
return rowIds;
}
}
Banner Controller
@RequestMapping("banner")
@RestController
public class BannerController {
@Resource
private BannerService bannerService;
@RequestMapping(method = RequestMethod.GET)
public Result<List<BannerInfo>> getBannerInfos(){
List<BannerInfo> bannerInfos = bannerService.getBannerList();
return Result.success(bannerInfos,"查询成功");
}
@RequestMapping(method = RequestMethod.POST)
public Result<Integer> saveBannerInfo(BannerInfo bannerInfo){
List<String> imgUrls = new ArrayList<>();
String[] imgArray= bannerInfo.getImgUrls().split(",");
for (int i = 0; i < imgArray.length; i++) {
imgUrls.add(imgArray[i]);
}
bannerInfo.setImgUrlInfo(imgUrls);
Integer bannerId = bannerService.saveBannerInfo(bannerInfo);
return Result.success(bannerId,"保存成功");
}
@RequestMapping(value = "/{id}/{status}",method = RequestMethod.PUT)
public Result<Object> updateBannerStatus(@PathVariable Integer id,@PathVariable Integer status){
int rowIds = bannerService.updateBanneStatus(id,status);
return Result.success(null,"更新成功");
}
@RequestMapping(value = "/{id}",method = RequestMethod.DELETE)
public Result<Integer> deleteBannerInfo(@PathVariable Integer id){
Integer bannerId = bannerService.deleteBannerInfo(id);
return Result.success(null,"删除成功");
}
}
BannerMapper.xml
<mapper namespace="com.gerry.jnshu.mapper.BannerInfoMapper">
<resultMap id="BaseResultMap" type="com.gerry.jnshu.pojo.BannerInfo">
<!--
WARNING - @mbg.generated
-->
<id column="id" jdbcType="INTEGER" property="id" />
<result column="user_id" jdbcType="INTEGER" property="userId" />
<result column="status" jdbcType="BIT" property="status" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<collection property="imgUrlInfo" ofType="java.lang.String" javaType="java.util.List">
<result column="img_path"/>
</collection>
</resultMap>
<select id="queryAllBanners" resultMap="BaseResultMap">
select
b.id,b.userId,b.status,b.create_time,b.update_time,m.img_path
from banner b
left join imageInfo m
on b.id = m.relation_id
</select>
</mapper>
关于保存图片的 ImageInfoMapper.xml
<mapper namespace="com.gerry.jnshu.mapper.BannerInfoMapper">
<resultMap id="BaseResultMap" type="com.gerry.jnshu.pojo.ImageInfo">
<!--
WARNING - @mbg.generated
-->
<id column="id" jdbcType="INTEGER" property="id" />
<result column="image_path" jdbcType="INTEGER" property="imagePath" />
<result column="relation_id" jdbcType="INTEGER" property="relationId" />
<result column="type" jdbcType="INTEGER" property="type" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
</resultMap>
<insert id="insertImageUrls" parameterType="java.util.List">
insert into imageInfo (image_path,relation_id,type) values
<foreach collection="imageInfos" item="img" separator=",">
(#{img.imagePath},#{img.relationId},#{img.type})
</foreach>
</insert>
</mapper>
明天计划的事情:
1、继续开发接口
2、学习事务相关的知识
遇到的问题:
突然想到一个问题,关于批量删除该怎么定义 Restful 风格的接口?是用 @RequestParams 还是用 @PathVariable?
收获:
将 create_time update_time 字段修改为 timestamp 创建表时候
每次创建或更新不用再为这两个字段赋值
评论