java根节点到叶子节点_java 实际场景下根节点 叶子节点 的不处理方法

要求某个登录用户下  只显示美食(其他都显示) ,pc的显示只到美食这一层,但是app端美食类目下面还有类别

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

@RequestMapping(value = "/filter",method = RequestMethod.GET)

@ResponseBody

public ServiceResult getShopClassificationModel(@RequestParam(value = "cityId", defaultValue = "0") int cityId,

@RequestParam(value = "mainCategoryId", defaultValue = "0") int mainCategoryId,

@RequestParam(value = "categoryId", defaultValue = "0") int categoryId,

@RequestParam(value = "mainRegionId", defaultValue = "0") int mainRegionId,

@RequestParam(value = "regionId", defaultValue = "0") int regionId,

@RequestParam(value = "recommendType", defaultValue = "0") int recommendType,

@RequestParam(value = "qualityType", defaultValue = "0") int qualityType,

@RequestParam(value = "zlfType", defaultValue = "0") int zlfType) {

ShopFilter shopFilter = ShopFilter.builder().cityId(cityId).mainCategoryId(mainCategoryId).categoryId(categoryId).

mainRegionId(mainRegionId).regionId(regionId).recommendType(recommendType).qualityType(qualityType).zlfType(zlfType).build();

ShopClassificationModel shopClassificationModel =shopClassificationService.getShopClassification(shopFilter);

if (ContextHolder.getUserContext() != null) {

int userBiz = ContextHolder.getUserContext().getUserRotateBizId();

shopClassificationModel.setBizId(ContextHolder.getUserContext().getUserRotateBizId());

if(userBiz == 104){

List daoCan = new ArrayList();

daoCan.add(shopClassificationModel.getMainCategories().get(0));

BaseModel foodCategories = new BaseModel();

foodCategories.setId(10);

foodCategories.setName("美食");

foodCategories.setSelected(false);

daoCan.add(foodCategories);

shopClassificationModel.setMainCategories(daoCan);

}

}      //后加的  这种处理方式在返回的时候,直接给个list的第一个元素初始化 这么处理,因为美食相当于叶子节点

return setResponseData(shopClassificationModel);

}

//app

@RequestMapping(value = "/categories", method = RequestMethod.GET)

@ResponseBody

public ServiceResult getCategories(@RequestParam(value = "cityId", defaultValue = "0") int cityId,

@RequestParam(value = "parentId", defaultValue = "-1") int parentId) {

List mainCategories = shopClassificationService.getCategoriesById(cityId, parentId);

if (ContextHolder.getUserContext() != null) {

int userBiz = ContextHolder.getUserContext().getUserRotateBizId();

if (userBiz == 104 && mainCategories.get(0).getId() == 10) {

List foodCategories = new ArrayList();

foodCategories.add(mainCategories.get(0));

return setResponseData(foodCategories);

}

}   //和pc采用一样的方法不适用,因为美食这个类目下面还有川菜 之类的 后来发现所有的这些类目的id不同  通过这个来做区分。

return setResponseData(mainCategories);   //循环调用,app 单击每个美食类目平级类目时候

//会递归调用该接口,因此美食在这边非叶子节点

}

再做补充,在控制器端做业务逻辑判断不是很好选择,在此只是方便大家查看。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值