【涛涛商城】添加商品-----商品类目选择

目录

1、使用技术

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

1.2 异步树控件

2、商品类目选择

2.1 实现效果

2.2 功能分析

2.2.1 选择类目绑定的class

2.2.2 事件的内容(弹出框的设置)

2.3 代码实现

2.3.1 common中实现相应页面的pojo类,启动是需要先 run as install。

2.3.2 service 实现层

2.3.3  发布服务

2.3.4 引用服务

2.3.5 表现层


1、使用技术

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

1.2 异步树控件

树控件内建异步加载模式的支持,用户先穿件一个空树,然后指定一个服务器端,执行检索后动态返回JSON数据来填充树并完成异步请求

初始化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”

2、商品类目选择

2.1 实现效果

2.2 功能分析

前端申请

2.2.1 选择类目绑定的class

2.2.2 事件的内容(弹出框的设置)

2.3 代码实现

2.3.1 common中实现相应页面的pojo类,启动是需要先 run as install。

/**
 * 商品类名选择pojo
 *   id :text:state 
 * @author Administrator
 *
 */
public class EasyUITreeNode implements Serializable {
//	商品类型的id
	private Long id;
//	商品类型的名称
	private String text ;
//	是否有子节点 有:closed 无:open
	private String state;
	
//	get set 方法 因为有TbItemCat pojo类所以可以不用实现mapper
}

2.3.2 service 实现层

参数:long parentId

业务逻辑:

  1. 根据parentId查询节点列表
  2. 转换成EasyUITreeNode列表。
  3. 返回。

返回值:List<EasyUITreeNode>

/**
 * 商品类目选择
 * @author Administrator
 *
 */
@Service
public class ItemCategoryServiceImp implements ItemCategoryService {
	@Autowired
	private TbItemCatMapper tbItemCatMapper;

	@Override
	public List<EasyUITreeNode> getCategore(long parentId) {
//		1、创建查询对象
		TbItemCatExample catExample = new TbItemCatExample();
//		2、根据条件进行查询对象
		Criteria criteria = catExample.createCriteria();
//		3、添加条件
		criteria.andParentIdEqualTo(parentId);
//		4、获取查询的结果集
		List<TbItemCat> list = tbItemCatMapper.selectByExample(catExample);
		List<EasyUITreeNode> node = new ArrayList<EasyUITreeNode>();
//		5、遍历结果集,将结果封装到EasyUITreeNode
		for (TbItemCat tbItemCat : list) {
			EasyUITreeNode easyUITreeNode = new EasyUITreeNode();
			easyUITreeNode.setId(tbItemCat.getId());
			
			easyUITreeNode.setText(tbItemCat.getName());
			
			easyUITreeNode.setState(tbItemCat.getIsParent()?"closed":"open");
			
			node.add(easyUITreeNode);
		}
		return node;
	}
}

2.3.3  发布服务

	<!-- 使用dubbo发布服务 -->
	<!-- 提供方应用信息,用于计算依赖关系 -->
	<dubbo:application name="taotao-manager" />
	<dubbo:registry protocol="zookeeper" address="192.168.25.129:2181" />
	<!-- 用dubbo协议在20880端口暴露服务 -->
	<dubbo:protocol name="dubbo" port="20880" />
	<!-- 声明需要暴露的服务接口  本质是:service扫描包会扫描接口的包
		,扫描接口包之后就能扫描到serviceImp子包,因此就可以找到实现类
		同时 serviceImp注解驱动也会有bean id的形式(只是没显示出来)id就是默认的类名首字母小写itemsServiceImp -->
	<dubbo:service interface="com.taotao.service.ItemsService" ref="itemsServiceImp" timeout="3000" />
	<!-- 商品類目的選擇 -->
	<dubbo:service interface="com.taotao.service.ItemCategoryService" ref="itemCategoryServiceImp" timeout="3000" />

2.3.4 引用服务

<!-- 引用dubbo服务 -->
	<dubbo:application name="taotao-manager-web"/>
	<dubbo:registry protocol="zookeeper" address="192.168.25.129:2181"/>	
	<dubbo:reference interface="com.taotao.service.ItemsService" id="itemsService" />
	<dubbo:reference interface="com.taotao.service.ItemCategoryService" id="itemCategoryService" />

2.3.5 表现层

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

参数:long id(父节点id)

返回值:json。数据格式  List<EasyUITreeNode>

@Controller
public class ItemCatController {

	@Autowired
	private ItemCategoryService itemCategoryService;
	
	@RequestMapping("/item/cat/list")
	@ResponseBody
	public List<EasyUITreeNode> getCatItem(@RequestParam(name="id",defaultValue="0") Long parentId){
		
		List<EasyUITreeNode> list = itemCategoryService.getCategore(parentId);
		
		return list;
	}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值