宜立方商城后台管理(内容管理)——内容管理的添加、删除、修改、查询、操作代码实现

效果图

模块划分结构

1.1.1.    内容列表查询

请求的url:/content/query/list

参数:categoryId 分类id分页需要的参数

Integer page, Integer rows

响应的数据:json数据

{total:查询结果总数量,rows[{id:1,title:aaa,subtitle:bb,...}]}

EasyUIDataGridResult

描述商品数据List<TbContent>

查询的表:tb_content

业务逻辑:

根据内容分类id查询内容列表。要进行分页处理。

 service实现层代码

@Autowired
private TbContentMapper contentMapper;

@Override
public EasyUIDataGridResult getItemList(Long categoryId, Integer page, Integer rows) {
    //设置分页信息
    PageHelper.startPage(page,rows);
    //创建查询条件
    TbContentExample example=new TbContentExample();
    TbContentExample.Criteria criteria = example.createCriteria();
    //设置查询条件
    criteria.andCategoryIdEqualTo(categoryId);
    //执行查询
    List<TbContent> contents = contentMapper.selectByExample(example);
    //取分页信息
    PageInfo<TbContent> pageInfo = new PageInfo(contents);
    //创建返回结果对象
    EasyUIDataGridResult result = new EasyUIDataGridResult();
    result.setTotal(pageInfo.getTotal());
    result.setRows(contents);
    return result;
}
application-content.xml发布服务

<dubbo:service interface="com.e3mall.content.service.ContentService" ref="contentServiceImpl" timeout="600000"/>

ContentController

表现层

/**
 * 通过分类id分页显示数据
 * @param categoryId
 * @param page
 * @param rows
 * @return
 */
@RequestMapping("/content/query/list")
@ResponseBody
public EasyUIDataGridResult list(Long categoryId,Integer page,Integer rows){
    //调用内容服务查询指定内容
    EasyUIDataGridResult result = contentService.getItemList(categoryId,page,rows);
    return result;
}

springmvc.xml引用服务

1.1.1.    新增内容

功能分析

提交表单请求的url:/content/save

参数:表单的数据。使用pojo接收TbContent

返回值:E3Result(json数据)

业务逻辑:

1、把TbContent对象属性补全。

2、向tb_content表中插入数据。

3、返回E3Result

service实现层代码

@Override
public E3Result addContent(TbContent content) {
    //补全些不能为空的字段信息
    content.setCreated(new Date());
    content.setUpdated(new Date());
    //执行插入语句
    contentMapper.insert(content);
    //缓存同步(添加的时候把缓存中的cid对应的值删除)
    jedisClient.hdel(CONTENT_LIST,content.getCategoryId().toString());
    return E3Result.ok();
}

表现层代码

/**
 * 添加内容功能实现
 * @param content
 * @return
 */
@RequestMapping("/content/save")
@ResponseBody
public E3Result addContent(TbContent content){
    //调用内容服务添加内容
    E3Result result=contentService.addContent(content);
    return result;
}

编辑功能


富文本没有回显内容所有要异步回显富文本内容才能有数据这个跟商品管理的编辑基本上是使用的相同的方法

service实现层代码

@Override
public E3Result editContent(TbContent content) {
    //设置修改时间
    content.setUpdated(new Date());
    //执行修改
    contentMapper.updateByPrimaryKeySelective(content);

    return E3Result.ok();
}

Controller层

/**
 *修改内容功能实现
 * @auther: jun
 * @date: 2018/6/3 0003 13:34
 * @param content
 * @return: com.e3mall.common.utils.E3Result
 * @Description: 
 */
@RequestMapping("/rest/content/edit")
@ResponseBody
public E3Result editContent(TbContent content){
    //调用服务修改内容
   E3Result result= contentService.editContent(content);
   return result;
}


富文本回显内容代码实现

Service实现层

@Override
public TbContent selectByidContent(Long id) {
    //执行查询
    TbContent tbContent = contentMapper.selectByPrimaryKey(id);
    return tbContent;
}

表现层

/**
 * 异步重新回显内容数据
 * @return
 */
@RequestMapping("/query/content/{id}")
@ResponseBody
public TbContent selectContent(@PathVariable  Long id){
    TbContent result=contentService.selectByidContent(id);
    return result;
}                                                              

删除功能代码(这里我们做的是一个批量删除功能所有传的一个字符串参数)

service实现层

@Override
public E3Result deleteBatchContent(String[] ids) {
    //遍历集合
    for (String id  :ids) {
        //执行操作数据库
        contentMapper.deleteByPrimaryKey(Long.valueOf(id));
    }
    return E3Result.ok();
}

Controller层

/**
 * 删除内容信息
 * @param ids
 * @return
 */
@RequestMapping("/content/delete")
@ResponseBody
public E3Result deleteContent(String [] ids){
    E3Result result=contentService.deleteBatchContent(ids);
    return result;
}

猜你喜欢

转载自blog.csdn.net/qq_39537939/article/details/80555898