diff --git a/src/main/java/com/kiisoo/ic/activity/listener/GenerateQRCodeListener.java b/src/main/java/com/kiisoo/ic/activity/listener/GenerateQRCodeListener.java index 09a7669..f419d1d 100644 --- a/src/main/java/com/kiisoo/ic/activity/listener/GenerateQRCodeListener.java +++ b/src/main/java/com/kiisoo/ic/activity/listener/GenerateQRCodeListener.java @@ -39,6 +39,7 @@ public class GenerateQRCodeListener { private PoiStoreStaffDOMapper poiStoreStaffDOMapper; @Autowired private PoiStoreDOMapper poiStoreDOMapper; + @Async @EventListener //后台创建活动实例并绑定店铺之后,给店铺批量生成二维码 @@ -56,7 +57,7 @@ public class GenerateQRCodeListener { pmnActivityStoreRelation.setInstanceId(instance.getId()); pmnActivityStoreRelation.setCreateTime(new Date()); int status = 1; - if(instance.getStatus() > 2) { + if (instance.getStatus() > 2) { status = 2; } pmnActivityStoreRelation.setStatus(status); @@ -67,31 +68,31 @@ public class GenerateQRCodeListener { } if (storeIds.size() > 0) { pmnActivityStoreRelationService.remove(Wrappers.lambdaQuery().eq(PmnActivityStoreRelation::getInstanceId, instance.getId()).notIn(PmnActivityStoreRelation::getStoreId, storeIds)); - } - List storeSrcs = pmnPromotionSrcService.list(Wrappers.lambdaQuery().eq(PmnPromotionSrc::getInstanceId, instance.getId()).notIn(PmnPromotionSrc::getPromoterId, storeIds).eq(PmnPromotionSrc::getType, 2).select(PmnPromotionSrc::getPromoterId)); - Set removeStoreSrcs = storeSrcs.stream().map(PmnPromotionSrc::getPromoterId).collect(Collectors.toSet()); - List removeSellers = poiStoreStaffDOMapper.selectSellersByShopIds(new ArrayList<>(removeStoreSrcs)); - Set removeSellerIds = removeSellers.stream().map(PoiStoreStaffDTO::getUserId).collect(Collectors.toSet()); - List removeSrcs = new ArrayList<>(); - removeSrcs.addAll(new ArrayList<>(removeStoreSrcs)); - removeSrcs.addAll(new ArrayList<>(removeSellerIds)); - if(removeSrcs.size() > 0) { - pmnPromotionSrcService.remove(Wrappers.lambdaQuery().in(PmnPromotionSrc::getPromoterId, removeSrcs).eq(PmnPromotionSrc::getInstanceId, instance.getId())); - } - log.info("removeSrcs: {}", removeSrcs); - log.info("storeIds: {}", storeIds); - List staffs = poiStoreStaffDOMapper.selectList(Wrappers.lambdaQuery().in(PoiStoreStaff::getStoreId, storeIds).eq(PoiStoreStaff::getType, 1).eq(PoiStoreStaff::getStatus, 1)); - log.info("staffs: {}", staffs); - List fails = new LinkedList<>(); - staffs.stream().collect( - Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(staff -> staff.getStoreId()))), ArrayList::new)).forEach(item -> { - PmnPromotionSrc save = pmnPromotionSrcService.createCode(item, instance.getId()); - if (save == null) { - fails.add(item); + List storeSrcs = pmnPromotionSrcService.list(Wrappers.lambdaQuery().eq(PmnPromotionSrc::getInstanceId, instance.getId()).notIn(PmnPromotionSrc::getPromoterId, storeIds).eq(PmnPromotionSrc::getType, 2).select(PmnPromotionSrc::getPromoterId)); + Set removeStoreSrcs = storeSrcs.stream().map(PmnPromotionSrc::getPromoterId).collect(Collectors.toSet()); + List removeSellers = poiStoreStaffDOMapper.selectSellersByShopIds(new ArrayList<>(removeStoreSrcs)); + Set removeSellerIds = removeSellers.stream().map(PoiStoreStaffDTO::getUserId).collect(Collectors.toSet()); + List removeSrcs = new ArrayList<>(); + removeSrcs.addAll(new ArrayList<>(removeStoreSrcs)); + removeSrcs.addAll(new ArrayList<>(removeSellerIds)); + if (removeSrcs.size() > 0) { + pmnPromotionSrcService.remove(Wrappers.lambdaQuery().in(PmnPromotionSrc::getPromoterId, removeSrcs).eq(PmnPromotionSrc::getInstanceId, instance.getId())); } - }); - log.info("生成失败数据: {}", fails); - }catch (Exception e) { + log.info("removeSrcs: {}", removeSrcs); + log.info("storeIds: {}", storeIds); + List staffs = poiStoreStaffDOMapper.selectList(Wrappers.lambdaQuery().in(PoiStoreStaff::getStoreId, storeIds).eq(PoiStoreStaff::getType, 1).eq(PoiStoreStaff::getStatus, 1)); + log.info("staffs: {}", staffs); + List fails = new LinkedList<>(); + staffs.stream().collect( + Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(staff -> staff.getStoreId()))), ArrayList::new)).forEach(item -> { + PmnPromotionSrc save = pmnPromotionSrcService.createCode(item, instance.getId()); + if (save == null) { + fails.add(item); + } + }); + log.info("生成失败数据: {}", fails); + } + } catch (Exception e) { e.printStackTrace(); log.error("生成失败: {}", e); }