18、內容服務系統——內容管理
阿新 • • 發佈:2018-12-14
內容服務系統——內容管理
功能點分析
- 內容列表查詢
- 新增內容
- 編輯內容
- 刪除內容
GET http://localhost:8081/content/query/list?categoryId=0&page=1&rows=20 404 (Not Found)
內容列表查詢
- 請求的 url:/content/query/list
- 引數:categoryId 分類id
- 響應的資料:json資料
{total:查詢結果總數量,rows[{id:1,title:aaa,subtitle:bb,…}]}
EasyUIDataGridResult
描述商品資料List
查詢的表:tb_content - 業務邏輯:
根據內容分類id查詢內容列表。要進行分頁處理。
package cn.ynx.e3mall.content.service;
import cn.ynx.e3mall.common.pojo.EasyUIDataGridResult;
public interface ContentService {
EasyUIDataGridResult getContentList(long categoryId, int page, int rows);
}
package cn.ynx.e3mall.content.service.impl;
import cn.ynx.e3mall.common.pojo.EasyUIDataGridResult;
import cn.ynx.e3mall.content.service.ContentService;
import cn.ynx.e3mall.mapper.TbContentMapper;
import cn.ynx.e3mall.pojo.TbContent;
import cn.ynx.e3mall.pojo.TbContentExample;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
@Service
public class ContentServiceImpl implements ContentService {
@Resource
private TbContentMapper tbContentMapper;
@Override
public EasyUIDataGridResult getContentList(long categoryId, int page, int rows) {
//設定分頁資訊
PageHelper.startPage(page, rows);
//根據分類id查詢內容列表
//設定查詢條件
TbContentExample example = new TbContentExample();
TbContentExample.Criteria criteria = example.createCriteria();
criteria.andCategoryIdEqualTo(categoryId);
//執行查詢
List<TbContent> list = tbContentMapper.selectByExample(example);
//取分頁資訊
PageInfo<TbContent> pageInfo = new PageInfo<>(list);
//建立返回結果物件
EasyUIDataGridResult result = new EasyUIDataGridResult();
result.setTotal((int)pageInfo.getTotal());
result.setRows(list);
return result;
}
}
釋出服務:
接收服務:
package cn.ynx.e3mall.controller;
import cn.ynx.e3mall.common.pojo.EasyUIDataGridResult;
import cn.ynx.e3mall.content.service.ContentService;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import javax.annotation.Resource;
@Controller
@RequestMapping("/content")
public class ContentController {
@Resource
private ContentService contentService;
@RequestMapping("/query/list")
@ResponseBody
public EasyUIDataGridResult getContentList(Long categoryId, Integer page, Integer rows){
EasyUIDataGridResult result = contentService.getContentList(categoryId, page, rows);
return result;
}
}
新增內容
功能分析
新增內容,必須指定一個內容分類。
- 提交表單請求的url:/content/save
- 引數:表單的資料。使用pojo接收TbContent
- 返回值:E3Result(json資料)
- 業務邏輯:
1、把TbContent物件屬性補全。
2、向tb_content表中插入資料。
3、返回E3Result
Dao
逆向工程
Service
引數:TbContent
返回值:E3Result
E3Result addContent(TbContent content);
@Override
public E3Result addContent(TbContent content) {
//補全屬性
content.setCreated(new Date());
content.setUpdated(new Date());
//插入資料
tbContentMapper.insert(content);
return E3Result.ok();
}
釋出服務:
表現層
引用服務:
e3-manager-web工程中引用。
Controller
提交表單請求的url:/content/save
引數:表單的資料。使用pojo接收TbContent
返回值:E3Result(json資料)
@RequestMapping("/save")
@ResponseBody
public E3Result addContent(TbContent content) {
E3Result result = contentService.addContent(content);
return result;
}