dev_0531
parent
f94380c961
commit
b3cc51daad
@ -0,0 +1,28 @@
|
||||
package com.kiisoo.ic.activity.event;
|
||||
|
||||
import com.kiisoo.ic.activity.bean.ActivityInstanceVO;
|
||||
import com.kiisoo.ic.activity.entity.PmnActivityInstance;
|
||||
import com.kiisoo.ic.store.entity.PoiStore;
|
||||
import org.springframework.context.ApplicationEvent;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class WelcomeCreatedEvent extends ApplicationEvent {
|
||||
private List<PoiStore> saveStores;
|
||||
|
||||
private PmnActivityInstance instance;
|
||||
|
||||
public WelcomeCreatedEvent(Object source, PmnActivityInstance instance, List<PoiStore> saveStores) {
|
||||
super(source);
|
||||
this.instance = instance;
|
||||
this.saveStores = saveStores;
|
||||
}
|
||||
|
||||
public PmnActivityInstance instance() {
|
||||
return this.instance;
|
||||
}
|
||||
|
||||
public List<PoiStore> stores() {
|
||||
return this.saveStores;
|
||||
}
|
||||
}
|
@ -0,0 +1,57 @@
|
||||
package com.kiisoo.ic.activity.listener;
|
||||
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.kiisoo.ic.activity.entity.PmnActivityStoreRelation;
|
||||
import com.kiisoo.ic.activity.event.WelcomeCreatedEvent;
|
||||
import com.kiisoo.ic.activity.service.IPmnActivityStoreRelationService;
|
||||
import com.kiisoo.ic.generalize.entity.PrivilageOrganizational;
|
||||
import com.kiisoo.ic.store.entity.PoiStore;
|
||||
import com.kiisoo.ic.store.mapper.PoiStoreDOMapper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.event.EventListener;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Component
|
||||
@Slf4j
|
||||
public class WelcomeCreatedListener {
|
||||
@Autowired
|
||||
private IPmnActivityStoreRelationService pmnActivityStoreRelationService;
|
||||
@Autowired
|
||||
private PoiStoreDOMapper poiStoreDOMapper;
|
||||
@Async
|
||||
@EventListener
|
||||
public void createStores(WelcomeCreatedEvent event) {
|
||||
log.info("创建欢迎语");
|
||||
Set<Long> storeIds = new HashSet<>();
|
||||
List<PmnActivityStoreRelation> saveStores = new ArrayList<>();
|
||||
for (PoiStore store : event.stores()) {
|
||||
PrivilageOrganizational org = poiStoreDOMapper.findStoreCompany(store.getId());
|
||||
PmnActivityStoreRelation pmnActivityStoreRelation = new PmnActivityStoreRelation();
|
||||
pmnActivityStoreRelation.setUpdateTime(new Date());
|
||||
pmnActivityStoreRelation.setStoreId(store.getId());
|
||||
pmnActivityStoreRelation.setInstanceId(event.instance().getId());
|
||||
pmnActivityStoreRelation.setCreateTime(new Date());
|
||||
int status = 1;
|
||||
if (event.instance().getStatus() > 2) {
|
||||
status = 2;
|
||||
}
|
||||
pmnActivityStoreRelation.setStatus(status);
|
||||
pmnActivityStoreRelation.setCaseId(event.instance().getId());
|
||||
pmnActivityStoreRelation.setOrgId(org.getId());
|
||||
saveStores.add(pmnActivityStoreRelation);
|
||||
// pmnActivityStoreRelationService.saveOrUpdate(pmnActivityStoreRelation, Wrappers.<PmnActivityStoreRelation>lambdaQuery().eq(PmnActivityStoreRelation::getInstanceId, pmnActivityInstance.getId()).eq(PmnActivityStoreRelation::getStoreId, store.getId()));
|
||||
storeIds.add(store.getId());
|
||||
}
|
||||
List<PmnActivityStoreRelation> relations = pmnActivityStoreRelationService.list(Wrappers.<PmnActivityStoreRelation>lambdaQuery().eq(PmnActivityStoreRelation::getInstanceId, event.instance().getId()).in(PmnActivityStoreRelation::getStoreId, storeIds).select(PmnActivityStoreRelation::getStoreId));
|
||||
Set<Long> hasStores = relations.stream().map(PmnActivityStoreRelation::getStoreId).collect(Collectors.toSet());
|
||||
if (hasStores.size() > 0) {
|
||||
saveStores = saveStores.stream().filter(store -> hasStores.contains(store.getStoreId())).collect(Collectors.toList());
|
||||
}
|
||||
pmnActivityStoreRelationService.saveBatch(saveStores);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue