• lambda


     // 封装返回对象
            String bizDataStr = bizMessage.getBizDataStr();
            ConSellerGoods conSellerGoods = JsonUtil.fromJson(bizDataStr, ConSellerGoods.class);
            // 获取商家编码和商品编码,查询所有设备商品信息
            GoodsBoxDto goodsBoxDto = new GoodsBoxDto();
            goodsBoxDto.setSellerNo(conSellerGoods.getSellerNo());
            ArrayList<String> listSkus = new ArrayList<>();
            listSkus.add(conSellerGoods.getGoodsNo());
            goodsBoxDto.setSkuList(listSkus);
            Result result = conBoxGoodsService.getBoxGoodsList(goodsBoxDto);
            if (result.isSuccess()) {
                List<ConBoxGoods> conBoxGoodsList =
                        (List<ConBoxGoods>) result.get(BaseConstants.SERVICE_RESULT_SUCCESS_CODE);
                // 设备列表-根据商家和设备查询设备商品列表
    //            List<GoodsBoxDto> listSellerBox = conBoxGoodsList.stream()
    //                    .map(e -> new GoodsBoxDto(e.getSellerNo(), e.getBoxNo()))
    //                    .collect(Collectors.toList());
                List<String> listBoxNos=conBoxGoodsList.stream().map(p->p.getBoxNo()).collect(Collectors.toList());
                UIGoodsBoxDto uiGoodsBoxDto = new UIGoodsBoxDto();
                uiGoodsBoxDto.setSellerNo(conSellerGoods.getSellerNo());
                uiGoodsBoxDto.setListBoxNos(listBoxNos);
                Result boxGoodsListByListResult = conBoxGoodsService.getBoxGoodsListByListDto(uiGoodsBoxDto);
                // 根据商家和设备分组
                List<ConBoxGoods> conBoxGoodsList2 =
                        (List<ConBoxGoods>) boxGoodsListByListResult.get(BaseConstants.SERVICE_RESULT_SUCCESS_CODE);
                Map<String, List<ConBoxGoods>> listSellerBox2 =
                        conBoxGoodsList2.stream().collect(Collectors.groupingBy(e -> fetchGroupKey(e)));
                ICRBoxListRequestDto icrBoxListRequestDto = new ICRBoxListRequestDto();
                ArrayList<ICRSkuRequestDto> icrSkuRequestDtoArrayList = new ArrayList<>();
    @Override
        public Result updateConSellerGoodsPriceMqDeal(BizMessage bizMessage) throws Exception {
            // 封装返回对象
            String bizDataStr = bizMessage.getBizDataStr();
            ConSellerGoods conSellerGoods = JsonUtil.fromJson(bizDataStr, ConSellerGoods.class);
            // 获取商家编码和商品编码,查询所有设备商品信息
            GoodsBoxDto goodsBoxDto = new GoodsBoxDto();
            goodsBoxDto.setSellerNo(conSellerGoods.getSellerNo());
            ArrayList<String> listSkus = new ArrayList<>();
            listSkus.add(conSellerGoods.getGoodsNo());
            goodsBoxDto.setSkuList(listSkus);
            Result result = conBoxGoodsService.getBoxGoodsList(goodsBoxDto);
            if (result.isSuccess()) {
                List<ConBoxGoods> conBoxGoodsList =
                        (List<ConBoxGoods>) result.get(BaseConstants.SERVICE_RESULT_SUCCESS_CODE);
                // 设备列表-根据商家和设备list查询设备商品列表
                List<String> listBoxNos=conBoxGoodsList.stream().map(p->p.getBoxNo()).collect(Collectors.toList());
                UIGoodsBoxDto uiGoodsBoxDto = new UIGoodsBoxDto();
                uiGoodsBoxDto.setSellerNo(conSellerGoods.getSellerNo());
                uiGoodsBoxDto.setListBoxNos(listBoxNos);
                Result boxGoodsListResult = conBoxGoodsService.getBoxGoodsListByListDto(uiGoodsBoxDto);
                // 根据商家和设备分组
                List<ConBoxGoods> conBoxGoodsListNew =
                        (List<ConBoxGoods>) boxGoodsListResult.get(BaseConstants.SERVICE_RESULT_SUCCESS_CODE);
                // 设备对应商品信息
                Map<String, List<ConBoxGoods>> listSellerBoxMap =
                        conBoxGoodsListNew.stream().collect(Collectors.groupingBy(e -> e.getBoxNo()));
    
    
                // 组装数据
                ICRBoxListRequestDto icrBoxListRequestDto = new ICRBoxListRequestDto();
                ArrayList<ICRSkuRequestDto> icrSkuRequestDtoArrayList = new ArrayList<>();
                icrBoxListRequestDto.setListICRDto(icrSkuRequestDtoArrayList);
                for (String key : listSellerBoxMap.keySet()) {
    
                    ICRSkuRequestDto icrSkuRequestDto = new ICRSkuRequestDto();
                    List<GoodsBoxPushDto> goodsBoxPushDtoList = new ArrayList<GoodsBoxPushDto>();
                    icrSkuRequestDto.setSellerNo(conSellerGoods.getSellerNo());
                    icrSkuRequestDto.setDeviceId(key);
                    icrSkuRequestDto.setSkuList(goodsBoxPushDtoList);
                    icrSkuRequestDtoArrayList.add(icrSkuRequestDto);
                    // 组装商品
                    List<ConBoxGoods> conBoxGoodList =(List<ConBoxGoods>)listSellerBoxMap.get(key);
                    goodsBoxPushDtoList=conBoxGoodsList.stream().
                            map(e -> new GoodsBoxPushDto(e.getGoodsNo(), e.getGoodsName(),
                                    e.getRealtimePrice(),e.getGoodsStatus())).collect(Collectors.toList());
    
                }
                // 开始签名,并推送
                String uuid = UUID.randomUUID().toString();
                TaskToken token = new TaskToken();
                token.setUuid(uuid);                                            //uuid
                token.setBizNo(uuid);                                            //业务编号
                token.setBizType(GoodsConstants.pushGoodsListToIRC);              //任务类型
                token.setOperatorName(CommonConfig.User_IRC);                        //操作人/操作系统
                token.setCallCode(CommonConfig.User_IRC);
                token.setTaskJson(JsonUtil.toJson(icrBoxListRequestDto));
                String sign = SignValidata.createSign(token, CommonConfig.IRC_Key);
                token.setSign(sign);//签名
                BaseDto baseDto = centerClient.receiveTask(token);
                System.out.println(baseDto);
            }
            return null;
        }
  • 相关阅读:
    4 种高可用 RocketMQ 集群搭建方案!
    Spring @Autowired 注解自动注入流程是怎么样?
    AQS 自定义同步锁,挺难的!
    PyCharm爬虫实例:使用Scrapy抓取网页特定内容、数据采集与数据预处理--biaobiao88
    Ubuntu中安装Hadoop出现的问题
    Win10系统FF新推荐弹窗的卸载方法
    Sublime Text 中文乱码(解决)
    JProfiler的安装
    稀疏数组
    算法基础<一>
  • 原文地址:https://www.cnblogs.com/honghong75042/p/12540186.html
Copyright © 2020-2023  润新知