|
|
|
@ -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);
|
|
|
|
|
}
|
|
|
|
|