|
|
|
@ -1,14 +1,17 @@
|
|
|
|
|
package com.kiisoo.ic.activity.listener;
|
|
|
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
|
|
import com.kiisoo.ic.activity.bean.ActivityInstanceVO;
|
|
|
|
|
import com.kiisoo.ic.activity.entity.PmnActivityInstance;
|
|
|
|
|
import com.kiisoo.ic.activity.entity.PmnActivityStoreRelation;
|
|
|
|
|
import com.kiisoo.ic.activity.entity.PmnPromotionSrc;
|
|
|
|
|
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.entity.PoiStore;
|
|
|
|
|
import com.kiisoo.ic.store.entity.PoiStoreStaff;
|
|
|
|
|
import com.kiisoo.ic.store.mapper.PoiStoreDOMapper;
|
|
|
|
|
import com.kiisoo.ic.store.mapper.PoiStoreStaffDOMapper;
|
|
|
|
|
import com.kiisoo.ic.store.service.PoiStoreService;
|
|
|
|
|
import com.kiisoo.ic.store.service.PoiStoreStaffService;
|
|
|
|
@ -33,6 +36,8 @@ public class GenerateQRCodeListener {
|
|
|
|
|
private IPmnActivityStoreRelationService pmnActivityStoreRelationService;
|
|
|
|
|
@Autowired
|
|
|
|
|
private PoiStoreStaffDOMapper poiStoreStaffDOMapper;
|
|
|
|
|
@Autowired
|
|
|
|
|
private PoiStoreDOMapper poiStoreDOMapper;
|
|
|
|
|
@Async
|
|
|
|
|
@EventListener
|
|
|
|
|
//后台创建活动实例并绑定店铺之后,给店铺批量生成二维码
|
|
|
|
@ -40,8 +45,24 @@ public class GenerateQRCodeListener {
|
|
|
|
|
log.info("生成店铺码: {}", event.instance());
|
|
|
|
|
try {
|
|
|
|
|
PmnActivityInstance instance = event.instance();
|
|
|
|
|
List<PmnActivityStoreRelation> relationList = pmnActivityStoreRelationService.list(Wrappers.<PmnActivityStoreRelation>lambdaQuery().eq(PmnActivityStoreRelation::getInstanceId, instance.getId()).select(PmnActivityStoreRelation::getStoreId).eq(PmnActivityStoreRelation::getStatus, 1));
|
|
|
|
|
List<Long> storeIds = relationList.stream().map(PmnActivityStoreRelation::getStoreId).collect(Collectors.toList());
|
|
|
|
|
ActivityInstanceVO activityInstanceVO = event.instanceVO();
|
|
|
|
|
List<Long> storeIds = new ArrayList<>();
|
|
|
|
|
for (PoiStore store : activityInstanceVO.getStores()) {
|
|
|
|
|
PrivilageOrganizational org = poiStoreDOMapper.findStoreCompany(store.getId());
|
|
|
|
|
PmnActivityStoreRelation pmnActivityStoreRelation = new PmnActivityStoreRelation();
|
|
|
|
|
pmnActivityStoreRelation.setUpdateTime(new Date());
|
|
|
|
|
pmnActivityStoreRelation.setStoreId(store.getId());
|
|
|
|
|
pmnActivityStoreRelation.setInstanceId(instance.getId());
|
|
|
|
|
pmnActivityStoreRelation.setCreateTime(new Date());
|
|
|
|
|
pmnActivityStoreRelation.setStatus(instance.getStatus().intValue());
|
|
|
|
|
pmnActivityStoreRelation.setCaseId(instance.getId());
|
|
|
|
|
pmnActivityStoreRelation.setOrgId(org.getId());
|
|
|
|
|
pmnActivityStoreRelationService.saveOrUpdate(pmnActivityStoreRelation, Wrappers.<PmnActivityStoreRelation>lambdaQuery().eq(PmnActivityStoreRelation::getInstanceId, instance.getId()).eq(PmnActivityStoreRelation::getStoreId, store.getId()));
|
|
|
|
|
storeIds.add(store.getId());
|
|
|
|
|
}
|
|
|
|
|
if (storeIds.size() > 0) {
|
|
|
|
|
pmnActivityStoreRelationService.remove(Wrappers.<PmnActivityStoreRelation>lambdaQuery().eq(PmnActivityStoreRelation::getInstanceId, instance.getId()).notIn(PmnActivityStoreRelation::getStoreId, storeIds));
|
|
|
|
|
}
|
|
|
|
|
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);
|
|
|
|
|