You've already forked FrameTour-BE
feat(service): 批量设置景区名称
- 在多个服务实现类中添加批量获取景区名称的方法- 优化了景区名称的设置逻辑,提高了查询效率 -涉及的服务包括: - ProfitSharingRecordServiceImpl - BrokerServiceImpl - CouponServiceImpl - SourceServiceImpl - TemplateServiceImpl
This commit is contained in:
@@ -12,6 +12,7 @@ import com.ycwl.basic.profitsharing.entity.ProfitSharingUser;
|
||||
import com.ycwl.basic.profitsharing.mapper.ProfitSharingRecordMapper;
|
||||
import com.ycwl.basic.profitsharing.repository.ProfitSharingRepository;
|
||||
import com.ycwl.basic.profitsharing.service.ProfitSharingRecordService;
|
||||
import com.ycwl.basic.repository.ScenicRepository;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -29,6 +30,8 @@ public class ProfitSharingRecordServiceImpl implements ProfitSharingRecordServic
|
||||
private ProfitSharingRecordMapper profitSharingRecordMapper;
|
||||
@Autowired
|
||||
private ProfitSharingRepository profitSharingRepository;
|
||||
@Autowired
|
||||
private ScenicRepository scenicRepository;
|
||||
|
||||
|
||||
@Override
|
||||
@@ -42,7 +45,19 @@ public class ProfitSharingRecordServiceImpl implements ProfitSharingRecordServic
|
||||
return respVo;
|
||||
}
|
||||
List<ProfitSharingRecordRespVO> recordList = profitSharingRecordMapper.listByOrderIds(list.stream().map(ProfitSharingRecordGroupVO::getOrderId).collect(Collectors.toList()));
|
||||
List<Long> scenicList = recordList.stream().map(ProfitSharingRecordRespVO::getScenicId).distinct().collect(Collectors.toList());
|
||||
|
||||
// 批量获取景区名称
|
||||
List<Long> scenicIds = recordList.stream().map(ProfitSharingRecordRespVO::getScenicId).distinct().collect(Collectors.toList());
|
||||
Map<Long, String> scenicNames = scenicRepository.batchGetScenicNames(scenicIds);
|
||||
|
||||
// 设置景区名称
|
||||
recordList.forEach(item -> {
|
||||
if (item.getScenicId() != null) {
|
||||
item.setScenicName(scenicNames.get(item.getScenicId()));
|
||||
}
|
||||
});
|
||||
|
||||
List<Long> scenicList = scenicIds;
|
||||
List<ProfitSharingConfig> scenicConfig = scenicList.stream()
|
||||
.map(scenicId -> profitSharingRepository.getScenicConfig(scenicId))
|
||||
.filter(item -> !Objects.isNull(item) && !Objects.isNull(item.getUsers()))
|
||||
|
Reference in New Issue
Block a user