swagger mysql

dev_0531
zhenghuang 5 years ago
parent f860da51ac
commit 1cf65d941a

@ -1,5 +1,6 @@
package com.kiisoo.ic.activity.event;
import com.kiisoo.ic.activity.bean.ActivityInstanceVO;
import com.kiisoo.ic.activity.entity.PmnActivityInstance;
import org.springframework.context.ApplicationEvent;
@ -7,12 +8,19 @@ public class ActivityInstanceCreatedEvent extends ApplicationEvent {
private PmnActivityInstance pmnActivityInstance;
public ActivityInstanceCreatedEvent(Object source, PmnActivityInstance pmnActivityInstance) {
private ActivityInstanceVO activityInstanceVO;
public ActivityInstanceCreatedEvent(Object source, PmnActivityInstance pmnActivityInstance, ActivityInstanceVO activityInstanceVO) {
super(source);
this.pmnActivityInstance = pmnActivityInstance;
this.activityInstanceVO = activityInstanceVO;
}
public PmnActivityInstance instance() {
return this.pmnActivityInstance;
}
public ActivityInstanceVO instanceVO() {
return this.activityInstanceVO;
}
}

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

@ -139,24 +139,7 @@ public class PmnActivityInstanceServiceImpl extends ServiceImpl<PmnActivityInsta
config.setType(Long.valueOf(param.getType()));
pmnActivityInstanceConfigService.saveOrUpdate(config, Wrappers.<PmnActivityInstanceConfig>lambdaQuery().eq(PmnActivityInstanceConfig::getInstanceId, pmnActivityInstance.getId()).eq(PmnActivityInstanceConfig::getParamId, param.getId()));
}
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(pmnActivityInstance.getId());
pmnActivityStoreRelation.setCreateTime(new Date());
pmnActivityStoreRelation.setStatus(pmnActivityInstance.getStatus().intValue());
pmnActivityStoreRelation.setCaseId(pmnActivityPromotionCase.getId());
pmnActivityStoreRelation.setOrgId(org.getId());
pmnActivityStoreRelationService.saveOrUpdate(pmnActivityStoreRelation, Wrappers.<PmnActivityStoreRelation>lambdaQuery().eq(PmnActivityStoreRelation::getInstanceId, pmnActivityInstance.getId()).eq(PmnActivityStoreRelation::getStoreId, store.getId()));
storeIds.add(store.getId());
}
if (storeIds.size() > 0) {
pmnActivityStoreRelationService.remove(Wrappers.<PmnActivityStoreRelation>lambdaQuery().eq(PmnActivityStoreRelation::getInstanceId, pmnActivityInstance.getId()).notIn(PmnActivityStoreRelation::getStoreId, storeIds));
}
applicationContext.publishEvent(new ActivityInstanceCreatedEvent(this, pmnActivityInstance));
applicationContext.publishEvent(new ActivityInstanceCreatedEvent(this, pmnActivityInstance, activityInstanceVO));
return saveInstance && saveCase;
}

Loading…
Cancel
Save