业务需求:参数是各个维度(机构,渠道,产品,客户,日期类型,口径,环节等),名字组合成不同的维度返回
比如前端的参数如下
机构:全机构、东南区(可以选多个也可以不选)
渠道:全渠道(可以选多个也可以不选)
产品:全产品(可以选多个也可以不选)
则要的结果是:全机构-全渠道-全产品、东南区-全渠道-全产品
分析:由于数据不多所以用for嵌套,七个for循环,在最内层创建一个对象接收这些维度,把对象add到一个list集合中返回给前端
难点:这些集合都可以为null,有一个为null就会报异常
解决方法:如果哪个集合为null时,则自定义一个对象,让其不为null;遍历完成后,在剔除掉
代码:
public List<EachDimensionResultDTO> getEachDimensionCards(EachDimension eachDimension){
//上面的参数就是各个维度的集合对象
//最终返回的集合
List<EachDimensionResultDTO> resultDTOList = Lists.newArrayList();
//维度集合可以为NulL,为null时for循环就不能执行下去,所以为null时自定义一个对象,循环为后再替