易课寄在线购课系统开发笔记(十七)--完成CMS系统的分析与实现

内容分类管理

展示内容分类

功能分析

在这里插入图片描述
请求的 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 包

Service

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值