内容分类管理
展示内容分类
功能分析
请求的 url:/content/category/list
请求的参数:id,当前节点的\id。第一次请求没有参数,需要给默认值 “0”
响应数据:List<EasyUITreeNode>(@ResponseBody)
Json 数据。
[{id:1,text:节点名称,state:open(closed)},
{id:2,text:节点名称2,state:open(closed)},
{id:3,text:节点名称3,state:open(closed)}]
业务逻辑:
1、取查询参数 id,parentId
2、根据 parentId 查询 ecourses_content_category,查询子节点列表。
3、得到List<EcoursesContentCategory>
4、把列表转换成List<EasyUITreeNode>
Dao 层
使用逆向工程
Service
参数:long parentId
返回值:List<EasyUITreeNode>
package cn.ecourses.content.service.impl;
//Content classification management Service
@Service
public class ContentCategoryServiceImpl implements ContentCategoryService {
@Autowired
private EcoursesContentCategoryMapper contentCategoryMapper;
@Override
public List<EasyUITreeNode> getContentCatList(long parentId) {
// List of query subnodes based on parentid
EcoursesContentCategoryExample example = new EcoursesContentCategoryExample();
Criteria criteria = example.createCriteria();
//Setting up query conditions
criteria.andParentIdEqualTo(parentId);
//Execute the query
List<EcoursesContentCategory> catList = contentCategoryMapper.selectByExample(example);
//Convert to EasyUITreeNode list
List<EasyUITreeNode> nodeList = new ArrayList<>();
for (EcoursesContentCategory ecoursesContentCategory : catList) {
EasyUITreeNode node = new EasyUITreeNode();
node.setId(ecoursesContentCategory.getId());
node.setText(ecoursesContentCategory.getName());
node.setState(ecoursesContentCategory.getIsParent()?"closed":"open");
//Add to the list
nodeList.add(node);
}
return nodeList;
}
}
发布服务
<dubbo:service interface="cn.ecourses.content.service.ContentCategoryService" ref="contentCategoryServiceImpl" timeout="600000"/>
表现层
ecourses-bms-web 依赖 ecourses-content-interface 模块
springmvc.xml 中添加服务的引用
<dubbo:reference interface="cn.ecourses.content.service.ContentCategoryService" id="contentCategoryService" />
新增节点
功能分析
请求的url:/content/category/create
请求的参数:
Long parentId,String name
响应的结果:
JSON 数据,ECoursesResult,其中包含一个对象,对象有 id 属性,新产生的内容分类 id
业务逻辑:
1、接收两个参数:parentId、name
2、向 ecourses_content_category 表中插入数据。
a) 创建一个 EcoursesContentCategory 对象
b) 补全 EcoursesContentCategory 对象的属性
c) 向 ecourses_content_category 表中插入数据
3、判断父节点的 isparent 是否为 true,不是 true 需要改为 true。
4、需要主键返回。
5、返回 ECoursesResult,其中包装 EcoursesContentCategory 对象
Dao 层
可以使用逆向工程。需要添加主键返回:
注意:修改完代码后,需要向本地仓库安装 ecourses-bms-dao 包