1. 程式人生 > >18、內容服務系統——內容管理

18、內容服務系統——內容管理

內容服務系統——內容管理

功能點分析

  • 內容列表查詢
  • 新增內容
  • 編輯內容
  • 刪除內容

在這裡插入圖片描述
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;
    }

測試

編輯內容

刪除內容