定时器,欢迎语

dev
zhenghuang 5 years ago
parent b49a20f3c8
commit 1a83ef48f5

@ -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.<PmnActivityStoreRelation>lambdaQuery().eq(PmnActivityStoreRelation::getInstanceId, instance.getId()).notIn(PmnActivityStoreRelation::getStoreId, storeIds));
}
List<PmnPromotionSrc> storeSrcs = pmnPromotionSrcService.list(Wrappers.<PmnPromotionSrc>lambdaQuery().eq(PmnPromotionSrc::getInstanceId, instance.getId()).notIn(PmnPromotionSrc::getPromoterId, storeIds).eq(PmnPromotionSrc::getType, 2).select(PmnPromotionSrc::getPromoterId));
Set<Long> removeStoreSrcs = storeSrcs.stream().map(PmnPromotionSrc::getPromoterId).collect(Collectors.toSet());
List<PoiStoreStaffDTO> removeSellers = poiStoreStaffDOMapper.selectSellersByShopIds(new ArrayList<>(removeStoreSrcs));
Set<Long> removeSellerIds = removeSellers.stream().map(PoiStoreStaffDTO::getUserId).collect(Collectors.toSet());
List<Long> removeSrcs = new ArrayList<>();
removeSrcs.addAll(new ArrayList<>(removeStoreSrcs));
removeSrcs.addAll(new ArrayList<>(removeSellerIds));
if(removeSrcs.size() > 0) {
pmnPromotionSrcService.remove(Wrappers.<PmnPromotionSrc>lambdaQuery().in(PmnPromotionSrc::getPromoterId, removeSrcs).eq(PmnPromotionSrc::getInstanceId, instance.getId()));
}
log.info("removeSrcs: {}", removeSrcs);
log.info("storeIds: {}", storeIds);
List<PoiStoreStaff> staffs = poiStoreStaffDOMapper.selectList(Wrappers.<PoiStoreStaff>lambdaQuery().in(PoiStoreStaff::getStoreId, storeIds).eq(PoiStoreStaff::getType, 1).eq(PoiStoreStaff::getStatus, 1));
log.info("staffs: {}", staffs);
List<PoiStoreStaff> 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<PmnPromotionSrc> storeSrcs = pmnPromotionSrcService.list(Wrappers.<PmnPromotionSrc>lambdaQuery().eq(PmnPromotionSrc::getInstanceId, instance.getId()).notIn(PmnPromotionSrc::getPromoterId, storeIds).eq(PmnPromotionSrc::getType, 2).select(PmnPromotionSrc::getPromoterId));
Set<Long> removeStoreSrcs = storeSrcs.stream().map(PmnPromotionSrc::getPromoterId).collect(Collectors.toSet());
List<PoiStoreStaffDTO> removeSellers = poiStoreStaffDOMapper.selectSellersByShopIds(new ArrayList<>(removeStoreSrcs));
Set<Long> removeSellerIds = removeSellers.stream().map(PoiStoreStaffDTO::getUserId).collect(Collectors.toSet());
List<Long> removeSrcs = new ArrayList<>();
removeSrcs.addAll(new ArrayList<>(removeStoreSrcs));
removeSrcs.addAll(new ArrayList<>(removeSellerIds));
if (removeSrcs.size() > 0) {
pmnPromotionSrcService.remove(Wrappers.<PmnPromotionSrc>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<PoiStoreStaff> staffs = poiStoreStaffDOMapper.selectList(Wrappers.<PoiStoreStaff>lambdaQuery().in(PoiStoreStaff::getStoreId, storeIds).eq(PoiStoreStaff::getType, 1).eq(PoiStoreStaff::getStatus, 1));
log.info("staffs: {}", staffs);
List<PoiStoreStaff> 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);
}

Loading…
Cancel
Save