|
@@ -6,9 +6,11 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.storlead.trade.dto.MarketingCampaignDTO;
|
|
import com.storlead.trade.dto.MarketingCampaignDTO;
|
|
|
|
|
+import com.storlead.trade.entity.CustomerAnalysisResultEntity;
|
|
|
import com.storlead.trade.entity.CustomerBaseEntity;
|
|
import com.storlead.trade.entity.CustomerBaseEntity;
|
|
|
import com.storlead.trade.entity.MarketingCampaignEntity;
|
|
import com.storlead.trade.entity.MarketingCampaignEntity;
|
|
|
import com.storlead.trade.mapper.MarketingCampaignEntityMapper;
|
|
import com.storlead.trade.mapper.MarketingCampaignEntityMapper;
|
|
|
|
|
+import com.storlead.trade.service.CustomerAnalysisResultEntityService;
|
|
|
import com.storlead.trade.service.CustomerBaseEntityService;
|
|
import com.storlead.trade.service.CustomerBaseEntityService;
|
|
|
import com.storlead.trade.service.MarketingCampaignEntityService;
|
|
import com.storlead.trade.service.MarketingCampaignEntityService;
|
|
|
import com.storlead.trade.vo.MarketingCampaignVO;
|
|
import com.storlead.trade.vo.MarketingCampaignVO;
|
|
@@ -33,6 +35,8 @@ public class MarketingCampaignEntityServiceImpl
|
|
|
|
|
|
|
|
@Resource
|
|
@Resource
|
|
|
private CustomerBaseEntityService customerBaseEntityService;
|
|
private CustomerBaseEntityService customerBaseEntityService;
|
|
|
|
|
+ @Resource
|
|
|
|
|
+ private CustomerAnalysisResultEntityService customerAnalysisResultEntityService;
|
|
|
@Override
|
|
@Override
|
|
|
public Result<Object> getList(MarketingCampaignDTO marketingCampaignDTO) {
|
|
public Result<Object> getList(MarketingCampaignDTO marketingCampaignDTO) {
|
|
|
IPage<MarketingCampaignVO> pageVO = new Page<>(marketingCampaignDTO.getPageIndex(), marketingCampaignDTO.getPageSize());
|
|
IPage<MarketingCampaignVO> pageVO = new Page<>(marketingCampaignDTO.getPageIndex(), marketingCampaignDTO.getPageSize());
|
|
@@ -47,15 +51,27 @@ public class MarketingCampaignEntityServiceImpl
|
|
|
return Result.ok(pageVO);
|
|
return Result.ok(pageVO);
|
|
|
}
|
|
}
|
|
|
List<MarketingCampaignVO> marketingCampaignVOList = pageVO.getRecords();
|
|
List<MarketingCampaignVO> marketingCampaignVOList = pageVO.getRecords();
|
|
|
|
|
+
|
|
|
List<Long> marketingCampaignIdList = marketingCampaignVOList.stream().map(MarketingCampaignVO::getId).collect(Collectors.toList());
|
|
List<Long> marketingCampaignIdList = marketingCampaignVOList.stream().map(MarketingCampaignVO::getId).collect(Collectors.toList());
|
|
|
LambdaQueryWrapper<CustomerBaseEntity> customerBaseEntityLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
LambdaQueryWrapper<CustomerBaseEntity> customerBaseEntityLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
customerBaseEntityLambdaQueryWrapper.in(CustomerBaseEntity::getMarketingCampaignId, marketingCampaignIdList);
|
|
customerBaseEntityLambdaQueryWrapper.in(CustomerBaseEntity::getMarketingCampaignId, marketingCampaignIdList);
|
|
|
customerBaseEntityLambdaQueryWrapper.eq(CustomerBaseEntity::getIsDelete, CommonConstant.DEL_FLAG_0);
|
|
customerBaseEntityLambdaQueryWrapper.eq(CustomerBaseEntity::getIsDelete, CommonConstant.DEL_FLAG_0);
|
|
|
List<CustomerBaseEntity> customerBaseEntityList = customerBaseEntityService.list(customerBaseEntityLambdaQueryWrapper);
|
|
List<CustomerBaseEntity> customerBaseEntityList = customerBaseEntityService.list(customerBaseEntityLambdaQueryWrapper);
|
|
|
//获取全部的关联客户id
|
|
//获取全部的关联客户id
|
|
|
- List<Long> customerIdList = customerBaseEntityList.stream().map(CustomerBaseEntity::getCustomerId).collect(Collectors.toList());
|
|
|
|
|
-// LambdaQueryWrapper<CustomerEntity> customerBaseEntityQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
|
|
|
|
+ List<Long> customerAnalysisIdList = customerBaseEntityList.stream().map(CustomerBaseEntity::getCustomerAnalysisId).collect(Collectors.toList());
|
|
|
|
|
+ LambdaQueryWrapper<CustomerAnalysisResultEntity> customerAnalysisEntityQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
|
|
+ customerAnalysisEntityQueryWrapper.eq(CustomerAnalysisResultEntity::getIsDelete, CommonConstant.DEL_FLAG_0);
|
|
|
|
|
+ customerAnalysisEntityQueryWrapper.in(CustomerAnalysisResultEntity::getId, customerAnalysisIdList);
|
|
|
|
|
+ List<CustomerAnalysisResultEntity> customerAnalysisResultEntityList = customerAnalysisResultEntityService.list(customerAnalysisEntityQueryWrapper);
|
|
|
|
|
+ //将customerAnalysisResultEntityList按照customerBaseEntityList对应的id写入pageVO的customerList中
|
|
|
|
|
|
|
|
|
|
+ for (int i = 0; i < marketingCampaignVOList.size(); i++) {
|
|
|
|
|
+ int finalI = i;
|
|
|
|
|
+ List<CustomerBaseEntity> customerBaseList = customerBaseEntityList.stream().filter(customerBaseEntity -> customerBaseEntity.getCustomerAnalysisId().equals(customerAnalysisResultEntityList.get(finalI).getId())).collect(Collectors.toList());
|
|
|
|
|
+ List<Long> customerAnalysisResultIdList = customerBaseList.stream().filter(e -> e.getMarketingCampaignId().equals(marketingCampaignVOList.get(finalI).getId())).map(CustomerBaseEntity::getCustomerAnalysisId).collect(Collectors.toList());
|
|
|
|
|
+ List<CustomerAnalysisResultEntity> customerAnalysisResultEntityListI = customerAnalysisResultEntityList.stream().filter(customerAnalysisResultEntity -> customerAnalysisResultIdList.contains(customerAnalysisResultEntity.getId())).collect(Collectors.toList());
|
|
|
|
|
+ marketingCampaignVOList.get(i).setCustomerList(customerAnalysisResultEntityListI);
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
return Result.ok(pageVO);
|
|
return Result.ok(pageVO);
|
|
|
}
|
|
}
|
|
@@ -70,12 +86,12 @@ public class MarketingCampaignEntityServiceImpl
|
|
|
return Result.error("添加失败");
|
|
return Result.error("添加失败");
|
|
|
}
|
|
}
|
|
|
//添加关联客户
|
|
//添加关联客户
|
|
|
- List<Long> customerIdList = marketingCampaignDTO.getCustomerIdList();
|
|
|
|
|
|
|
+ List<Long> customerIdList = marketingCampaignDTO.getCustomerAnalysisIdList();
|
|
|
if (!CollectionUtils.isEmpty(customerIdList)) {
|
|
if (!CollectionUtils.isEmpty(customerIdList)) {
|
|
|
List<CustomerBaseEntity> customerBaseEntityList = new ArrayList<>();
|
|
List<CustomerBaseEntity> customerBaseEntityList = new ArrayList<>();
|
|
|
for (Long customerId : customerIdList) {
|
|
for (Long customerId : customerIdList) {
|
|
|
CustomerBaseEntity customerBaseEntity = new CustomerBaseEntity();
|
|
CustomerBaseEntity customerBaseEntity = new CustomerBaseEntity();
|
|
|
- customerBaseEntity.setCustomerId(customerId);
|
|
|
|
|
|
|
+ customerBaseEntity.setCustomerAnalysisId(customerId);
|
|
|
customerBaseEntity.setMarketingCampaignId(marketingCampaignEntity.getId());
|
|
customerBaseEntity.setMarketingCampaignId(marketingCampaignEntity.getId());
|
|
|
customerBaseEntityList.add(customerBaseEntity);
|
|
customerBaseEntityList.add(customerBaseEntity);
|
|
|
}
|
|
}
|
|
@@ -96,7 +112,7 @@ public class MarketingCampaignEntityServiceImpl
|
|
|
return Result.error("修改失败");
|
|
return Result.error("修改失败");
|
|
|
}
|
|
}
|
|
|
//添加关联客户
|
|
//添加关联客户
|
|
|
- List<Long> customerIdList = marketingCampaignDTO.getCustomerIdList();
|
|
|
|
|
|
|
+ List<Long> customerIdList = marketingCampaignDTO.getCustomerAnalysisIdList();
|
|
|
LambdaUpdateWrapper<CustomerBaseEntity> updateWrapper = new LambdaUpdateWrapper<>();
|
|
LambdaUpdateWrapper<CustomerBaseEntity> updateWrapper = new LambdaUpdateWrapper<>();
|
|
|
updateWrapper.eq(CustomerBaseEntity::getMarketingCampaignId, marketingCampaignEntity.getId());
|
|
updateWrapper.eq(CustomerBaseEntity::getMarketingCampaignId, marketingCampaignEntity.getId());
|
|
|
customerBaseEntityService.remove(updateWrapper);
|
|
customerBaseEntityService.remove(updateWrapper);
|
|
@@ -104,7 +120,7 @@ public class MarketingCampaignEntityServiceImpl
|
|
|
List<CustomerBaseEntity> customerBaseEntityList = new ArrayList<>();
|
|
List<CustomerBaseEntity> customerBaseEntityList = new ArrayList<>();
|
|
|
for (Long customerId : customerIdList) {
|
|
for (Long customerId : customerIdList) {
|
|
|
CustomerBaseEntity customerBaseEntity = new CustomerBaseEntity();
|
|
CustomerBaseEntity customerBaseEntity = new CustomerBaseEntity();
|
|
|
- customerBaseEntity.setCustomerId(customerId);
|
|
|
|
|
|
|
+ customerBaseEntity.setCustomerAnalysisId(customerId);
|
|
|
customerBaseEntity.setMarketingCampaignId(marketingCampaignEntity.getId());
|
|
customerBaseEntity.setMarketingCampaignId(marketingCampaignEntity.getId());
|
|
|
customerBaseEntityList.add(customerBaseEntity);
|
|
customerBaseEntityList.add(customerBaseEntity);
|
|
|
}
|
|
}
|