e3mall项目:内容管理(后台)
e3mall项目:内容管理
一、页面请求分析
(1)加载指定内容分类下的内容列表
(2)新增
(3)删除
(4)编辑与新增类似,注意修改更新时间即可。
二、代码
(1)ContentController
package cn.e3mall.controller; import cn.e3mall.common.entity.E3Result; import cn.e3mall.common.entity.EasyUIDataGridResult; import cn.e3mall.content.service.ContentService; import cn.e3mall.entity.TbContent; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; /** * 内容管理控制层 * Author: xushuai * Date: 2018/5/18 * Time: 22:52 * Description: */ @Controller public class ContentController { @Autowired private ContentService contentService; /* * 加载指定内容分类下的内容列表 */ @RequestMapping("/content/query/list") @ResponseBody public EasyUIDataGridResult list(Long categoryId,Integer page, Integer rows){ //调用service返回数据 return contentService.getContentList(categoryId,page,rows); } /* * 新增 */ @RequestMapping("/content/save") @ResponseBody public E3Result save(TbContent content){ return contentService.add(content); } /* * 删除(可以为多个) */ @RequestMapping("/content/delete") @ResponseBody public E3Result delete(String[] ids){ return contentService.delete(ids); } /* * 编辑 */ @RequestMapping("/content/edit") @ResponseBody public E3Result edit(TbContent content){ return contentService.edit(content); } }
(2)ContentService、ContentServiceImpl
package cn.e3mall.content.service; import cn.e3mall.common.entity.E3Result; import cn.e3mall.common.entity.EasyUIDataGridResult; import cn.e3mall.entity.TbContent; /** * 内容管理业务逻辑层 * @Auther: xushuai * @Date: 2018/5/18 22:57 * @Description: */ public interface ContentService { /** * 加载指定内容分类下的内容列表 * @auther: xushuai * @date: 2018/5/18 22:57 */ EasyUIDataGridResult getContentList(Long categoryId, Integer page, Integer rows); /** * 新增 * @auther: xushuai * @date: 2018/5/21 9:36 */ E3Result add(TbContent content); /** * 删除 * @auther: xushuai * @date: 2018/5/21 10:06 */ E3Result delete(String[] ids); /** * 编辑 * @auther: xushuai * @date: 2018/5/21 10:23 */ E3Result edit(TbContent content); }
package cn.e3mall.content.service.impl; import cn.e3mall.common.entity.E3Result; import cn.e3mall.common.entity.EasyUIDataGridResult; import cn.e3mall.content.service.ContentService; import cn.e3mall.dao.TbContentMapper; import cn.e3mall.entity.TbContent; import cn.e3mall.entity.TbContentExample; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; import java.util.List; /** * 内容管理业务逻辑层实现 * Author: xushuai * Date: 2018/5/18 * Time: 22:58 * Description: */ @Service public class ContentServiceImpl implements ContentService { @Autowired private TbContentMapper contentMapper; @Override public EasyUIDataGridResult getContentList(Long categoryId, Integer page, Integer rows) { //创建结果对象 EasyUIDataGridResult result = new EasyUIDataGridResult(); //设置分页 PageHelper.startPage(page,rows); //创建查询条件对象 TbContentExample example = new TbContentExample(); //封装查询条件 example.createCriteria().andCategoryIdEqualTo(categoryId); //执行查询 List<TbContent> contents = contentMapper.selectByExampleWithBLOBs(example); //使用查询结果获取分页信息对象 PageInfo<TbContent> pageInfo = new PageInfo<>(contents); //设置分页信息到结果对象中 result.setRows(pageInfo.getList()); result.setTotal((int) pageInfo.getTotal()); //返回结果 return result; } @Override public E3Result add(TbContent content) { //补全数据 content.setCreated(new Date()); content.setUpdated(new Date()); //保存内容 contentMapper.insertSelective(content); //返回成功 return E3Result.ok(); } @Override public E3Result delete(String[] ids) { try { //遍历id数组 for(String id : ids){ //执行删除 contentMapper.deleteByPrimaryKey(Long.valueOf(id)); } //返回成功 return E3Result.ok(); }catch (Exception e){ e.printStackTrace(); return null; } } @Override public E3Result edit(TbContent content) { //修改更新时间 content.setUpdated(new Date()); //保存编辑后的数据 contentMapper.updateByPrimaryKeyWithBLOBs(content); //返回成功 return E3Result.ok(); } }
(3)dao层为****代码,无新增代码
(4)相关配置(service层注册服务,web层引用服务)