产品接口流程图
2019-05-16 09:55:06 0 举报
产品接口流程图
作者其他创作
大纲/内容
双重遍历操作searchProductList,首先判断(TimeFrameId、BackDate是否分别相等ChannelId是否不相等),如果都满足则进一步判断是否线上线下同步售,如果是则把线上线下销售值相加,如果不是同步售则判断传入的平台,如果是微信端则取线上产品,如果是后台则取线下产品。把满足条件的产品加到resultList,把获取产品标签和票价信息赋值到resultList[0]的对应属性中
继续操作searchProductList
①
获取人工设置的产品销售管理数据
YES
返回结果集resultList
遍历取出每个月的当前时间在开始销售时间和结束销售时间内的数据
②
双重遍历操作searchProductList,如果相同产品相同时间段否开启了同步售,判断是否是线上线下都卖,如果OnlineAndoffline=2说明是线上下线都卖,则把线上线下数据相加,返回新的实体,把实体加到resultLits中,如果OnlineAndoffline=1说明只有线下或线上一个产品卖,则把这个产品加到resultList中;如果没有开启同步售,则取线下售产品加到resultList中
NO
遍历searchProductList,把ProductId、TimeFrameId相同,ChannelId不同,且开启了同步售的数据设置成线上线下都卖(OnlineAndoffline=2);否则设置成只有线上或线下卖(OnlineAndoffline=1)
通过产品ID获取产品是否线上线下同步售 isChaSynchroSellOn通过产品ID获取正常自动销售的产品列表autoProductList
publicList<ProductCommonViewModel>getProductCommonList(ProductCommonDbModelproductModel)
通过查询到的产品列表chroSellOnList和传入的开航日期以及时间段获取人工设置的产品销售管理数据
DateFormat sdf = new SimpleDateFormat(\"yyyy-MM-dd\");productModel.setRaftDate(sdf.format(productModel.getDepartureDate()));
dailyList == null ||dailyList.size() == 0 ?
通过开航日期,产品list查询非禁售的人工设置产品数据,返回productDailyList
isChaSynchroSellOn== true ?
List<ProductCommonViewModel>dailyList =productCommonMapper.getProductDailySellSynchroList(productModel);
productModel.getIsSearchMonthData() == true?(判断是否是月产品信息查询)
chroSellOnList.size()!=0 ?
共用子流程①
遍历操作,把相同产品相同时段相同日期线上线下ID(TimeFrameId、BackDate、ChannelId、ProductId)不同的销售量相加,把这个新产品添加到resultList中,把获取产品标签和票价信息赋值到resultList[0]的对应属性中
后台调用
resultList.size()==0 ?
通过当前用户ID和区间航线ID查询产品数据得到chroSellOnList,通过chroSellOnList和传入的时段查询出实际产品数据autoProductList
结果集resultList
返回空的结果集resultList
微信调用
遍历取出当前时间在开始销售时间和结束销售时间内的数据
共用子流程①:传入productList数据进行可售日期比较操作,返回searchProductList
遍历searchProductList,判断(TimeFrameId相同ChannelId不相同)则进行是否同步售判断,如果是同步售则把两个产品的销售量相加,赋值给新的实体,并把这个实体添加到resultList中,如果不是同步售则取线下产品添加到resultList中
List<ProductCommonViewModel>resultList = newVector<ProductCommonViewModel>();
productModel.getDepartureDate()==null?(判断departureDate是否null)
返回searchProductList
\"raft_wechat\".equals(productModel.getPlatformName())|| \"raft_sys\".equals(productModel.getPlatformName()) ?
0 条评论
下一页