编程语言
首页 > 编程语言> > Java-递归查询法

Java-递归查询法

作者:互联网

递归查询用户所在团队的老大的用户id(一个团队中,只有一个老大,也就是父级id="-1")

如下:是表结构

image

first_agent_id----用户的上级id
user_id----用户的id

我要查询用户user666所在团队的老大的用户id

代码如下:

业务代码:

点击查看代码
@Override
    public TgOrderVO tgOrderList(Map<String, Object> params) {
        String userId=params.get("userId").toString();
        //根据用户id查询该用户所在团队的老大的用户id
        String firstAgentId="";
        String pid="";
		//查询用户的上级id
        firstAgentId=fxConsumerDiscountRuleDao.getFirstAgentId(userId);
        if (firstAgentId.equals("-1")){
            //   添加业务代码     MyTeamVO vo = fxConsumerDiscountRuleService.getMyTeam(userId);
        }else {
			//调用递归查询老大的用户id
            pid = getPid(firstAgentId);
            log.info("团队老大的用户id为"+pid);
			//添加业务代码
        }
        return tgOrderVO;
    }

递归方法代码:

点击查看代码
/**
     * 递归查询用户所在团队的老大的用户id
     * @param userId
     * @return
     */
    public  String getPid(String userId){
        String firstAgentId="";
        String resultId="";
		//查询用户的上级id
        firstAgentId=fxConsumerDiscountRuleDao.getFirstAgentId(userId);
        if (firstAgentId.equals("-1")){
            resultId=userId;
            return resultId;
        }else {
            resultId=firstAgentId;
            String pid = getPid(resultId);
            return pid;
        }
    }

标签:Java,String,递归,userId,用户,查询,id,firstAgentId
来源: https://www.cnblogs.com/xiaoguo-java/p/16647117.html