发表于: 2019-11-13 23:33:34
1 1102
今天完成的事情:
组员接口太多,做不过来,帮他把banner图后台管理和前台展示做了。
后台banner
特殊的地方就是排序了。先把上架的排前面,再按照拖动所排列的顺序排序,最后按照时间排。
排序的话是前端传要排序的id集合,是有序的。后端用for循环赋值修改就行了。
@RestController
public class BannerController {
private final Logger log = LogManager.getLogger(this.getClass());
@Autowired
BannerServer bannerServer;
/**
* banner图列表查询
*/
@GetMapping("/a/u/list/banner")
public Map<String, Object> bannerListSelect(Banner banner,
@RequestParam(value = "page", defaultValue = "1") Integer page,
@RequestParam(value = "size", defaultValue = "10") Integer size) {
HashMap<String, Object> result = new HashMap<>(16);
log.info("获取第{}页共{}行banner:{}", page, size, banner);
try {
/*先按照拖动排序顺序,再按照创建时间倒序*/
PageHelper.startPage(page, size, "b.status desc,b.display_order,b.create_at desc");
List<Banner> bannerList = bannerServer.selectSelective(banner);
PageInfo<Banner> pageInfo = new PageInfo<>(bannerList);
Long total = pageInfo.getTotal();
result.put("code", SUCCESS.getCode());
result.put("msg", SUCCESS.getMsg());
result.put("total", total);
result.put("data", bannerList);
/*查询到的id集合*/
List<Long> selectBannerIdList = new ArrayList();
for (Banner banner1 : bannerList) {
selectBannerIdList.add(banner1.getId());
}
log.info("查到的banner ID:{}", selectBannerIdList);
return result;
} catch (Exception e) {
e.printStackTrace();
result.put("code", REQUEST_FAILED.getCode());
result.put("msg", REQUEST_FAILED.getMsg());
return result;
}
}
/**
* banner详细查询
*/
@GetMapping("/a/u/banner")
public Map<String, Object> bannerSelect(Long id) {
HashMap<String, Object> result = new HashMap<>(16);
try {
log.info("要查询的banner ID:{}", id);
Banner banner = bannerServer.selectByPrimaryKey(id);
result.put("code", SUCCESS.getCode());
result.put("msg", SUCCESS.getMsg());
result.put("data", banner);
return result;
} catch (Exception e) {
e.printStackTrace();
result.put("code", REQUEST_FAILED.getCode());
result.put("msg", REQUEST_FAILED.getMsg());
return result;
}
}
/**
* banner新增
*/
@PostMapping("/a/u/banner")
public Map<String, Object> studyInsert(Banner banner) {
HashMap<String, Object> result = new HashMap<>(16);
log.info("新增banner:{}", banner);
try {
/*获取当前用户ID*/
long userId = ShiroUtil.getAccountId();
/*新增默认为下架状态*/
banner.setStatus(0);
banner.setCreateBy(userId);
banner.setUpdateBy(userId);
int bannerInsertSuccess = bannerServer.insertSelective(banner);
if (bannerInsertSuccess == 1) {
result.put("id", banner.getId());
result.put("msg", SUCCESS.getMsg());
result.put("code", SUCCESS.getCode());
log.info("新增的学习对象ID:{}", banner.getId());
}
return result;
} catch (Exception e) {
e.printStackTrace();
result.put("code", REQUEST_FAILED.getCode());
result.put("msg", REQUEST_FAILED.getMsg());
return result;
}
}
/**
* 删除
* */
@DeleteMapping("/a/u/banner")
public Map<String, Object> bannerDelete(Long id) {
HashMap<String, Object> result = new HashMap<>(16);
try {
log.info("删除的banner id:{}", id);
bannerServer.deleteByPrimaryKey(id);
result.put("code", SUCCESS.getCode());
result.put("msg", SUCCESS.getMsg());
log.info("成功删除学习对象的对应id:{}", id);
return result;
} catch (Exception e) {
e.printStackTrace();
result.put("code", REQUEST_FAILED.getCode());
result.put("msg", REQUEST_FAILED.getMsg());
return result;
}
}
/**
* 修改
* */
@PutMapping("/a/u/banner")
public Map<String, Object> studyUpdate(Banner banner) {
HashMap<String, Object> result = new HashMap<>(16);
log.info("修改的banner:{}", banner);
try {
long userId = ShiroUtil.getAccountId();
banner.setUpdateBy(userId);
int updateSuccess = bannerServer.updateByPrimaryKeySelective(banner);
if (updateSuccess == 1) {
result.put("code", SUCCESS.getCode());
result.put("msg", SUCCESS.getMsg());
log.info("成功修改banner:{}", userId);
}
return result;
} catch (Exception e) {
e.printStackTrace();
result.put("code", REQUEST_FAILED.getCode());
result.put("msg", REQUEST_FAILED.getMsg());
return result;
}
}
/**
* 后台学习对象上下架
* */
@PutMapping("/a/u/banner/status")
public Map<String, Object> studyStatus(long id,int status) {
HashMap<String, Object> result = new HashMap<>(16);
log.info("上下架操作:{}", status);
try {
long userId = ShiroUtil.getAccountId();
Banner banner=new Banner();
banner.setStatus(status);
/*如果下架,将排序设为null*/
if(status==0){
banner.setDisplayOrder(null);
}
banner.setUpdateBy(userId);
banner.setId(id);
int statusSuccess = bannerServer.updateByPrimaryKeySelective(banner);
if (statusSuccess == 1) {
result.put("code", SUCCESS.getCode());
result.put("msg", SUCCESS.getMsg());
log.info("上下架操作{}成功", status);
}
return result;
} catch (Exception e) {
e.printStackTrace();
result.put("code", REQUEST_FAILED.getCode());
result.put("msg", REQUEST_FAILED.getMsg());
return result;
}
}
/**
* 上架banner排序
* */
@PutMapping("/a/u/banner/sort")
public Map<String, Object> studyStatusSort(List<Long> idList){
HashMap<String, Object> result = new HashMap<>(16);
log.info("排序操作:{}", idList);
try {
for (int i=0;i<idList.size();i++){
Banner banner=new Banner();
banner.setDisplayOrder(i);
banner.setId(idList.get(i));
bannerServer.updateByPrimaryKeySelective(banner);
}
result.put("code", SUCCESS.getCode());
result.put("msg", SUCCESS.getMsg());
return result;
}catch (Exception e) {
e.printStackTrace();
result.put("code", REQUEST_FAILED.getCode());
result.put("msg", REQUEST_FAILED.getMsg());
return result;
}
}
}
前台就简单了,只要查询出来就行了。默认是上架的。
/**
* banner图列表查询
*/
@GetMapping("/a/list/banner")
public Map<String, Object> bannerListSelect(Integer type,
@RequestParam(value = "status", defaultValue = "1") Integer status,
@RequestParam(value = "page", defaultValue = "1") Integer page,
@RequestParam(value = "size", defaultValue = "10") Integer size) {
HashMap<String, Object> result = new HashMap<>(16);
log.info("获取第{}页共{}行类型:{}的banner", page, size, type);
try {
Banner banner=new Banner();
banner.setStatus(status);
banner.setType(type);
/*先按照拖动排序顺序,再按照创建时间倒序*/
PageHelper.startPage(page, size, "display_order,create_at desc");
List<Banner> bannerList = bannerServer.selectSelective(banner);
PageInfo<Banner> pageInfo = new PageInfo<>(bannerList);
Long total = pageInfo.getTotal();
result.put("code", SUCCESS.getCode());
result.put("msg", SUCCESS.getMsg());
result.put("total", total);
result.put("data", bannerList);
/*查询到的id集合*/
List<Long> selectBannerIdList = new ArrayList();
for (Banner banner1 : bannerList) {
selectBannerIdList.add(banner1.getId());
}
log.info("查到的banner ID:{}", selectBannerIdList);
return result;
} catch (Exception e) {
e.printStackTrace();
result.put("code", REQUEST_FAILED.getCode());
result.put("msg", REQUEST_FAILED.getMsg());
return result;
}
}
微信支付还是没看。唉
明天计划的事情:
用新增接口给数据库填点真实数据。用来演示用。
遇到的问题:
编点数据出来?想着就不舒服。如果有的抄就好了。我手机不知道什么原因,打开逗你学公众号页面就会死。
收获:
评论