zoukankan      html  css  js  c++  java
  • java中常用笔记

    1.在同一DTO中某list里是一个对象,不用新建文件定义子DTO的方法

        @ApiModelProperty(value="配置列表")
        private ArrayList<proList> setPro;
    
        @JsonIgnoreProperties(ignoreUnknown = true)
        @Data
        public static class proList implements Serializable {
    
            private Integer memberCouponTx;
    
            private Integer leaderCouponId;
    
            private Integer memberCouponId;
    
        }

     2.流处理例子

    @Override
        public ImportVO importBatchShop(List<JSONObject> batchList,Integer zoneId) throws IOException {
            ImportVO importVO = new ImportVO();
            importVO.setFailNum(0);
            importVO.setSuccessNum(0);
            if (batchList.size()==0) {
                throw new ServerException("数据不能为空");
            }
            //获取原记录
            List<ImsYiduZoneShop> originList = this.lambdaQuery().eq(ImsYiduZoneShop::getZoneId,zoneId).ge(ImsYiduZoneShop::getStatus,0).list();
    
            //收集原记录ADMINID
            Set<Integer> collect = originList.stream().map(ImsYiduZoneShop::getAdminId).collect(Collectors.toSet());
            Set<Integer> adminIdS = new HashSet<>();
            batchList.forEach(item->{
                ImsYiduZoneShop imsYiduZoneShop =
                        JSONObject.parseObject(JSONObject.toJSONString(item), ImsYiduZoneShop.class);
                adminIdS.add(imsYiduZoneShop.getAdminId());
            });
            //获取所有商户信息
            List<ImsYiduAdmin> admins = adminService.listByIds(adminIdS);
            List<ImsYiduBusAbout> busAbouts = busAboutService.findByAdminIds(adminIdS);
            Map<Integer, ImsYiduBusAbout> imsYiduBusAboutMap = busAbouts.stream().collect(Collectors
                    .toMap(ImsYiduBusAbout::getAdminId, Function.identity()));
            Map<Integer, ImsYiduAdmin> integerImsYiduAdminMap = admins.stream().collect(Collectors.toMap(ImsYiduAdmin::getId,
                    Function.identity()));
            List<ImsYiduZoneShop> list = new ArrayList<>();
            batchList.stream().forEach(item->{
                ImsYiduZoneShop imsYiduZoneShop =
                        JSONObject.parseObject(JSONObject.toJSONString(item), ImsYiduZoneShop.class);
                Assert.notEmpty(imsYiduZoneShop.getSort().toString(), "排序填写不完整");
                Assert.notEmpty(imsYiduZoneShop.getAdminId().toString(), "商家ID填写不完整");
    
                imsYiduZoneShop.setCreateTime(new Date());
                ImsYiduBusAbout imsYiduBusAbout = imsYiduBusAboutMap.get(imsYiduZoneShop.getAdminId());
                ImsYiduAdmin imsYiduAdmin = integerImsYiduAdminMap.get(imsYiduZoneShop.getAdminId());
    
    
                if(null!=imsYiduBusAbout && null!=imsYiduAdmin){
                    imsYiduZoneShop.setZoneId(zoneId);
                    imsYiduZoneShop.setShopId(imsYiduBusAbout.getId());
                    imsYiduZoneShop.setShopName(imsYiduBusAbout.getName());
                    imsYiduZoneShop.setAdminName(imsYiduAdmin.getAdminName());
                    imsYiduZoneShop.setAdminPhone(imsYiduAdmin.getAccount());
                    //如果数据库里没有有增加
                    if(CollectionUtil.isEmpty(collect)){
                        list.add(imsYiduZoneShop);
                        return;
                    }
                    if(!collect.contains(imsYiduZoneShop.getAdminId())){
                            list.add(imsYiduZoneShop);
                    }
                }
            });
            this.saveBatch(list);
            importVO.setSuccessNum(list.size());
            importVO.setFailNum(batchList.size()-list.size());
            return importVO;
        }

  • 相关阅读:
    Windows 配置JAVA的环境变量
    不直接用NSLog
    Mongodb for Mac 安装
    Redis Mac 安装及简单命令使用
    第十五天和十六天学习笔记
    第十四天学习笔记
    第十三天学习笔记
    第十二天学习笔记
    第十一天学习笔记
    第十天学习笔记
  • 原文地址:https://www.cnblogs.com/bing2017/p/15342353.html
Copyright © 2011-2022 走看看