发表于: 2019-12-29 20:34:57

2 1148


啥也不说就是干!!!

今天完成的事情:

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 创建表时候

每次创建或更新不用再为这两个字段赋值





返回列表 返回列表
评论

    分享到