Java USSD菜单树生成 - 如何

Dee*_*rur 7 java ussd

我想使用Java生成一个基于树的菜单,该菜单将出现在USSD浏览器上.每个节点可能有子节点,以叶节点结尾.我还必须保持访问此菜单的每个用户的状态(如他在菜单上的当前位置)以便于导航.

关于如何实现树木生成和国家管理的任何想法?

小智 12

我假设您从网关收到消息,例如:(Session#,UserInput),您需要计算下一个要发送给用户的信息吗?

我提议:

  1. table CURRENTSTATE:
    Session#
    State


  2. 状态:州
    名称

  3. 表选择:
    状态
    选择
    名称
    DoCode
    NewState

然后当你收到消息(Session#,UserInput)时:

  1. 使用Session#查询CURRENTSTATE以确定用户所处的状态.
  2. 使用State和Choice = UserInput查询CHOICES,以根据用户输入确定新状态(和DoCode).
  3. 基于DoCode,您可以进行一些处理.
  4. 更新CURRENTSTATE以反映新状态.
  5. 查询STATES获取标题(例如"请选择一种颜色").
  6. 查询选择以从新状态获得可能的选择(例如(1,"蓝色"),(2,"红色")等)
  7. 构建消息(concat Title + choices)
  8. 向用户返回消息.

这是解决问题的合理方法吗?