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 e061638..09a7669 100644 --- a/src/main/java/com/kiisoo/ic/activity/listener/GenerateQRCodeListener.java +++ b/src/main/java/com/kiisoo/ic/activity/listener/GenerateQRCodeListener.java @@ -9,6 +9,7 @@ import com.kiisoo.ic.activity.event.ActivityInstanceCreatedEvent; import com.kiisoo.ic.activity.service.IPmnActivityStoreRelationService; import com.kiisoo.ic.activity.service.IPmnPromotionSrcService; import com.kiisoo.ic.generalize.entity.PrivilageOrganizational; +import com.kiisoo.ic.store.bean.PoiStoreStaffDTO; import com.kiisoo.ic.store.entity.PoiStore; import com.kiisoo.ic.store.entity.PoiStoreStaff; import com.kiisoo.ic.store.mapper.PoiStoreDOMapper; @@ -67,6 +68,17 @@ 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); diff --git a/src/main/java/com/kiisoo/ic/activity/service/impl/PmnActivityInstanceServiceImpl.java b/src/main/java/com/kiisoo/ic/activity/service/impl/PmnActivityInstanceServiceImpl.java index da1e5b4..c96b44b 100644 --- a/src/main/java/com/kiisoo/ic/activity/service/impl/PmnActivityInstanceServiceImpl.java +++ b/src/main/java/com/kiisoo/ic/activity/service/impl/PmnActivityInstanceServiceImpl.java @@ -180,7 +180,7 @@ public class PmnActivityInstanceServiceImpl extends ServiceImpllambdaQuery().eq(PrivilageOrganizationalMember::getUserId, userId)); organizationId = organizationalMember.getOrgId(); }