dev_0531
parent
c7024ae7b6
commit
eb129e5354
@ -1,20 +1,54 @@
|
|||||||
package com.kiisoo.ic.activity.listener;
|
package com.kiisoo.ic.activity.listener;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
|
import com.kiisoo.ic.activity.entity.PmnActivityInstance;
|
||||||
|
import com.kiisoo.ic.activity.entity.PmnActivityStoreRelation;
|
||||||
import com.kiisoo.ic.activity.event.ActivityInstanceCreatedEvent;
|
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.store.entity.PoiStore;
|
||||||
|
import com.kiisoo.ic.store.entity.PoiStoreStaff;
|
||||||
|
import com.kiisoo.ic.store.mapper.PoiStoreStaffDOMapper;
|
||||||
|
import com.kiisoo.ic.store.service.PoiStoreService;
|
||||||
|
import com.kiisoo.ic.store.service.PoiStoreStaffService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.context.event.EventListener;
|
import org.springframework.context.event.EventListener;
|
||||||
import org.springframework.scheduling.annotation.Async;
|
import org.springframework.scheduling.annotation.Async;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.*;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class GenerateQRCodeListener {
|
public class GenerateQRCodeListener {
|
||||||
|
@Autowired
|
||||||
|
private IPmnPromotionSrcService pmnPromotionSrcService;
|
||||||
|
@Autowired
|
||||||
|
private PoiStoreService poiStoreService;
|
||||||
|
@Autowired
|
||||||
|
private IPmnActivityStoreRelationService pmnActivityStoreRelationService;
|
||||||
|
@Autowired
|
||||||
|
private PoiStoreStaffDOMapper poiStoreStaffDOMapper;
|
||||||
@Async
|
@Async
|
||||||
@EventListener
|
@EventListener
|
||||||
|
//后台创建活动实例并绑定店铺之后,给店铺批量生成二维码
|
||||||
public void GenerateQRCode(ActivityInstanceCreatedEvent event) {
|
public void GenerateQRCode(ActivityInstanceCreatedEvent event) {
|
||||||
// TODO 备用
|
log.info("生成店铺码: {}", event.instance());
|
||||||
// TODO 后台创建活动实例并绑定店铺之后,给店铺和导购批量生成二维码
|
PmnActivityInstance instance = event.instance();
|
||||||
// TODO 也可以等后台或者用户查接口的时候,被动生成
|
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());
|
||||||
|
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().forEach(item -> {
|
||||||
|
boolean save = pmnPromotionSrcService.createCode(item, instance.getId());
|
||||||
|
if(!save) {
|
||||||
|
fails.add(item);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
log.info("生成失败数据: {}", fails);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue