淘淘商城项目 第三天总结

1.   课程计划

第三天:

1、商品类目选择

2、图片上传

a)        图片服务器FastDFS

b)       图片上传功能实现

3、富文本编辑器的使用KindEditor

4、商品添加功能完成

 

2.   商品类目选择

2.1. 原型

淘淘商城项目 第三天总结_第1张图片

2.2. 功能分析

淘淘商城项目 第三天总结_第2张图片

展示商品分类列表,使用EasyUI的tree控件展示。

初始化tree请求的url:/item/cat/list

参数:

初始化tree时只需要把第一级节点展示,子节点异步加载。

long id(父节点id)

返回值:json。数据格式

[{   

   "id": 1,   

   "text": "Node 1",   

   "state": "closed"

},{   

   "id": 2,   

   "text": "Node 2",   

   "state": "closed"  

}]
state:如果节点下有子节点“closed”,如果没有子节点“open”

创建一个pojo来描述tree的节点信息,包含三个属性id、text、state。放到taotao-common工程中。


public class EasyUITreeNode implements Serializable{

	private long id;
	private String text;
	private String state;
	public long getId() {
		return id;
	}
	public void setId(long id) {
		this.id = id;
	}
	public String getText() {
		return text;
	}
	public void setText(String text) {
		this.text = text;
	}
	public String getState() {
		return state;
	}
	public void setState(String state) {
		this.state = state;
	}
	
}

查询的表:

tb_item_cat

查询列:

Id、name、isparent

查询条件parentId

 

2.3. Dao层

tb_item_cat

可以使用逆向工程生成的代码

 

2.4. Service层

参数:longparentId

业务逻辑:

1、根据parentId查询节点列表

2、转换成EasyUITreeNode列表。

3、返回。

返回值:List

@Service
public class ItemCatServiceImpl implements ItemCatService {

	@Autowired
	private TbItemCatMapper itemCatMapper;
	
	
	@Override
	public List getCatList(long parentId) {
		// 1、根据parentId查询节点列表
		TbItemCatExample example = new TbItemCatExample();
		//设置查询条件
		Criteria criteria = example.createCriteria();
		criteria.andParentIdEqualTo(parentId);
		List list = itemCatMapper.selectByExample(example);
		// 2、转换成EasyUITreeNode列表。
		List resultList = new ArrayList<>();
		for (TbItemCat tbItemCat : list) {
			EasyUITreeNode node = new EasyUITreeNode();
			node.setId(tbItemCat.getId());
			node.setText(tbItemCat.getName());
			node.setState(tbItemCat.getIsParent()?"closed":"open");
			//添加到列表
			resultList.add(node);
		}
		// 3、返回。
		return resultList;
	}

}

2.4.1.   发布服务

淘淘商城项目 第三天总结_第3张图片

2.5.2.   Controller

初始化tree请求的url:/item/cat/list

参数:

long id(父节点id)

返回值:json。数据格式

 List 


@Controller
public class ItemCatController {

	@Autowired
	private ItemCatService itemCatService;
	@RequestMapping("/item/cat/list")
	@ResponseBody
	public List getItemCatList(@RequestParam(value="id", defaultValue="0")Long parentId) {
		
		List list = itemCatService.getCatList(parentId);
		return list;
	}
}

3.   图片上传分析




淘淘商城项目 第三天总结_第4张图片

淘淘商城项目 第三天总结_第5张图片

解决方案:

搭建一个图片服务器,专门保存图片。可以使用分布式文件系统FastDFS。

 

 

4.   图片服务器的安装

1、存储空间可扩展。

2、提供一个统一的访问方式。

 

使用FastDFS,分布式文件系统。存储空间可以横向扩展,可以实现服务器的高可用。支持每个节点有备份机。

 

4.1. 什么是FastDFS?

FastDFS是用c语言编写的一款开源的分布式文件系统。FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集

你可能感兴趣的:(java,ssm,商城,taotao,dubbo)