当前位置: 首页 > news >正文

快速做网站套餐郑州做网站公司有哪些

快速做网站套餐,郑州做网站公司有哪些,网站开发了解客户需求,网站建设准备工作使用场景 拿到了一个商品的list,然后要循环list去获取每个商品的明细&#xff0c;由于调用api很依赖于网络&#xff0c;一个个执行速度慢&#xff0c;所以考虑使用线程去解决。 //根据机器id 获取 所有商品信息 public List<ProductResponse> productList(MachineConf…

使用场景

拿到了一个商品的list,然后要循环list去获取每个商品的明细,由于调用api很依赖于网络,一个个执行速度慢,所以考虑使用线程去解决。

//根据机器id  获取 所有商品信息
public List<ProductResponse> productList(MachineConfigRequest.Code request) {//一次性查询数据库机器对应的商品listBoolQuery boolQuery = new BoolQuery();List<Query> queryList = new ArrayList<>();TermQuery termQuery1 = new TermQuery();termQuery1.setFieldName(ProductListConfigEnum.MACHINE_ID.getValue());termQuery1.setTerm(ColumnValue.fromString(request.getMachine_id()));queryList.add(termQuery1);boolQuery.setMustQueries(queryList);MachineCommonTableStore tableStore = new MachineCommonTableStore();SearchQuery searchQuery = new SearchQuery();searchQuery.setQuery(boolQuery);List<ProductResponse> searchResponse = tableStore.getRowList(searchQuery, ProductResponse.class, ModelEnum.PRODUCT_LIST.getModel(), ModelEnum.PRODUCT_LIST_INDEX.getModel());//根据机器id 和 获取所有的货道信息  key:slot value productInfoMap<String, ProductSlotInfo> map = this.getSlotInfo(request.getMachine_id());//转换为 key:productId value:slotListMap<String, List<ProductSlotInfo>> productSlotMap = this.getProductSlotList(map);//不需要更新货架图 直接返回库里面存的if (request.getLabel() == 0) {searchResponse.forEach(productResponse -> {//根据商品ID获取商品对应的货道listList<ProductSlotInfo> productSlotInfos = productSlotMap.get(productResponse.getProduct_id());//塞货道信息和库存this.setSlotAndQuantity(productResponse, productSlotInfos);});return searchResponse.parallelStream().sorted(Comparator.comparing(ProductResponse::getSlot_info)).collect(Collectors.toList());}//根据机器id 调用API 获取所有商品idMachineService service = new MachineService();List<ProductResponse> list = service.getProductInventory(request.getMachine_id(), ProductResponse.class);//循环对比 把之前已经配置过赏级的商品的id和赏级塞进去list.forEach(response -> searchResponse.stream().filter(row -> response.getProduct_id().equals(row.getProduct_id())).forEach(row -> {response.setId(row.getId());response.setMarket(row.getMarket());}));List<ProductResponse> responseList = Lists.newArrayList();if (CollectionUtils.isNotEmpty(list)) {ThreadPoolExecutor pool = new ThreadPoolExecutor(50, 50, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<>(100), (r, executor) -> {try {executor.getQueue().put(r);} catch (InterruptedException e) {e.printStackTrace();}});list.forEach(response -> pool.submit(() -> {//调用API 获取商品信息JSONObject object = new JSONObject();object.put(CeresonApiEnum.product_id.getValue(), response.getProduct_id());String json = RobotShopClient.callApiGet(CallMachineShopApiConstants.GET_PRODUCT_BY_ID, object.toJSONString());JSONObject jsonObject = JSON.parseObject(json);String data = jsonObject.getString(CeresonApiEnum.data.getValue());JSONObject js = JSON.parseObject(data);String productStr = js.getString(CeresonApiEnum.product.getValue());//把API获取的商品信息转换为ObjProductResponse productResponse = JSON.parseObject(productStr, ProductResponse.class);//根据商品ID获取商品对应的货道listList<ProductSlotInfo> productSlotInfos = productSlotMap.get(response.getProduct_id());//塞货道信息和库存this.setSlotAndQuantity(productResponse, productSlotInfos);responseList.add(productResponse);}));boolean allThreadsIsDone = pool.getTaskCount() == pool.getCompletedTaskCount();while (!allThreadsIsDone) {allThreadsIsDone = pool.getTaskCount() == pool.getCompletedTaskCount();}pool.shutdown();}return responseList.parallelStream().sorted(Comparator.comparing(ProductResponse::getSlot_info)).collect(Collectors.toList());
}
public PageResponse<AuctionListByUserIdResponse> getAuctionListByUserId(AuctionRequest.GetAuctionByUserId request) {AuctionTableStore auctionTableStore = new AuctionTableStore();List<Query> list = new ArrayList<>();BoolQuery boolQuery = new BoolQuery();BoolQuery shouldQuery = new BoolQuery();List<Sort.Sorter> sorter = TableStoreTemplate.getSorter(request.getSort());PageResponse<AuctionListByUserIdResponse> pageResponse = new PageResponse<>();try {pageResponse = auctionTableStore.queryAll(request.getNextToken(), sorter, boolQuery, request.getLimit(),AuctionListByUserIdResponse.class);} catch (Exception e) {log.error("getAuctionList failed exception = {}", e);throw new BaseException(ResponseCode.Bad_Request.getCode(), "查询失败!");}List<AuctionListByUserIdResponse> auctionListByUserIdResponses = pageResponse.getData();if (null != auctionListByUserIdResponses && auctionListByUserIdResponses.size() > 0) {ThreadPoolExecutor pool = new ThreadPoolExecutor(auctionListByUserIdResponses.size(), auctionListByUserIdResponses.size(), 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<>(), new RejectedExecutionHandler() {@Overridepublic void rejectedExecution(Runnable r, ThreadPoolExecutor executor) {try {executor.getQueue().put(r);} catch (InterruptedException e) {e.printStackTrace();}}});String robotSign = "##robot";auctionListByUserIdResponses.forEach(response -> {pool.submit(new Runnable() {@Overridepublic void run() {String sellerId = response.getSellerId();String buyerId = response.getBuyerId();String auctionId = response.getId();String twr = "";/* 处理是否为机器人 robotSign */if (buyerId.endsWith(robotSign) || sellerId.endsWith(robotSign)) {twr = "是";} else {twr = "否";}response.setWhetherRobot(twr);response.setAuctionGoodsList(getGoodsRangeByAuctionId(sellerId, auctionId, DeleteFlagEnum.DELETE));response.setAuctionBidGoodsList(getGoodsRangeByAuctionId(buyerId, auctionId, DeleteFlagEnum.DELETE));response.setCostPrice(getTotalCostPrice(response.getAuctionGoodsList()));}});});boolean allThreadsIsDone = pool.getTaskCount() == pool.getCompletedTaskCount();while (!allThreadsIsDone) {allThreadsIsDone = pool.getTaskCount() == pool.getCompletedTaskCount();}pool.shutdown();}for (AuctionListByUserIdResponse info : pageResponse.getData()){System.out.println(info.getTransactionPrice() + "," + info.getCostPrice());}return pageResponse;
}
http://www.hkea.cn/news/665293/

相关文章:

  • 淘宝优惠券查询网站怎么做域名备案官网
  • wordpress自定义url优化教程网下载
  • 模板网站和定制网站百度搜索引擎的网址
  • 企业建设网站公司哪家好app拉新推广接单平台
  • 老虎淘客系统可以做网站吗江西省水文监测中心
  • 高港区企业网站建设快速建站教程
  • 怎样写企业网站建设方案北京网站seo招聘
  • 做蛋糕视频的网站软文广告范文
  • h5自适应网站模板下载网站换友链平台
  • 政府网站建设及管理规范各大搜索引擎入口
  • poedit pro wordpress免费网站推广优化
  • 市场营销产品推广策划方案seo合作代理
  • 东莞专业网站建设推广搜索引擎网络排名
  • 服务器做网站用什么环境好销售营销方案100例
  • 如何做DJ网站英文seo外链
  • 网站统计源码下载百度推广的步骤
  • 本地网站建设seo推广的方法
  • 东莞好的网站建设效果seo和sem分别是什么
  • 最新版wordpress背景手机网络优化软件
  • 丛台企业做网站推广免费建一级域名网站
  • 集宁网站建设免费网站推广网站破解版
  • 网站建设域名的购买有域名和服务器怎么建网站
  • 深圳有什么网站长沙百度seo
  • 台州企业网站模板建站怎么在百度上做公司网页
  • 烟台网站建设联系企汇互联专业网站维护收费标准
  • 网络客户服务平台搜索优化推广公司
  • 建设网站技术方案线上教育培训机构十大排名
  • 沈阳人流seo优化师就业前景
  • 开发区网站制作公司seo关键词有话要多少钱
  • 网站被篡改处理app拉新平台