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;
    }
原文地址:https://www.cnblogs.com/honghong75042/p/12540186.html