package com.ruoyi.system.service.impl; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.system.export.TCrmChangePointsBranchExport; import com.ruoyi.system.export.TCrmChangePointsClinicExport; import com.ruoyi.system.export.TCrmChangePointsSalespersonExport; import com.ruoyi.system.mapper.TCrmChangePointsMapper; import com.ruoyi.system.mapper.TCrmClinicMapper; import com.ruoyi.system.mapper.TErpProcurementMapper; import com.ruoyi.system.model.TCrmChangePoints; import com.ruoyi.system.model.TCrmClinic; import com.ruoyi.system.model.TErpProcurement; import com.ruoyi.system.model.TSysActivity; import com.ruoyi.system.query.TCrmChangePointsQuery; import com.ruoyi.system.service.TCrmChangePointsService; import com.ruoyi.system.vo.TCrmChangePointsVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; /** *

* crm修改积分记录 服务实现类 *

* * @author xiaochen * @since 2025-09-02 */ @Service public class TCrmChangePointsServiceImpl extends ServiceImpl implements TCrmChangePointsService { @Autowired private TErpProcurementMapper erpProcurementMapper; @Autowired private TCrmClinicMapper crmClinicMapper; @Override public PageInfo pageListBranch(TCrmChangePointsQuery query) { PageInfo pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); List list = this.baseMapper.pageListBranch(query,pageInfo); if(CollectionUtils.isEmpty(list)){ return pageInfo; } List procurementIds = list.stream().map(TCrmChangePointsVO::getProcurementId) .filter(Objects::nonNull).collect(Collectors.toList()); // 查询诊所 List crmClinics = crmClinicMapper.selectList(Wrappers.lambdaQuery(TCrmClinic.class)); if(!CollectionUtils.isEmpty(procurementIds)){ List erpProcurements = erpProcurementMapper.selectList(Wrappers.lambdaQuery(TErpProcurement.class).in(TErpProcurement::getId, procurementIds)); for (TCrmChangePointsVO tCrmChangePointsVO : list) { List collect = erpProcurements.stream().filter(tErpProcurement -> tErpProcurement.getId().equals(tCrmChangePointsVO.getProcurementId())).collect(Collectors.toList()); if(!CollectionUtils.isEmpty(collect)){ tCrmChangePointsVO.setProcurementCode(collect.get(0).getProcurementCode()); tCrmChangePointsVO.setPayMoney(collect.get(0).getPayMoney()); List clinics = crmClinics.stream().filter(tCrmClinic -> tCrmClinic.getId().equals(collect.get(0).getClinicId())).collect(Collectors.toList()); if(!CollectionUtils.isEmpty(clinics)){ tCrmChangePointsVO.setClinicName(clinics.get(0).getClinicName()); } } } } pageInfo.setRecords(list); return pageInfo; } @Override public PageInfo pageListSalesperson(TCrmChangePointsQuery query) { PageInfo pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); List list = this.baseMapper.pageListSalesperson(query,pageInfo); if(CollectionUtils.isEmpty(list)){ return pageInfo; } List procurementIds = list.stream().map(TCrmChangePointsVO::getProcurementId) .filter(Objects::nonNull).collect(Collectors.toList()); // 查询诊所 List crmClinics = crmClinicMapper.selectList(Wrappers.lambdaQuery(TCrmClinic.class)); if(!CollectionUtils.isEmpty(procurementIds)){ List erpProcurements = erpProcurementMapper.selectList(Wrappers.lambdaQuery(TErpProcurement.class).in(TErpProcurement::getId, procurementIds)); for (TCrmChangePointsVO tCrmChangePointsVO : list) { List collect = erpProcurements.stream().filter(tErpProcurement -> tErpProcurement.getId().equals(tCrmChangePointsVO.getProcurementId())).collect(Collectors.toList()); if(!CollectionUtils.isEmpty(collect)){ tCrmChangePointsVO.setProcurementCode(collect.get(0).getProcurementCode()); tCrmChangePointsVO.setPayMoney(collect.get(0).getPayMoney()); List clinics = crmClinics.stream().filter(tCrmClinic -> tCrmClinic.getId().equals(collect.get(0).getClinicId())).collect(Collectors.toList()); if(!CollectionUtils.isEmpty(clinics)){ tCrmChangePointsVO.setClinicName(clinics.get(0).getClinicName()); } } } } pageInfo.setRecords(list); return pageInfo; } @Override public PageInfo pageListClinic(TCrmChangePointsQuery query) { PageInfo pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); List list = this.baseMapper.pageListClinic(query,pageInfo); if(CollectionUtils.isEmpty(list)){ return pageInfo; } List procurementIds = list.stream().map(TCrmChangePointsVO::getProcurementId) .filter(Objects::nonNull).collect(Collectors.toList()); if(!CollectionUtils.isEmpty(procurementIds)){ List erpProcurements = erpProcurementMapper.selectList(Wrappers.lambdaQuery(TErpProcurement.class).in(TErpProcurement::getId, procurementIds)); for (TCrmChangePointsVO tCrmChangePointsVO : list) { List collect = erpProcurements.stream().filter(tErpProcurement -> tErpProcurement.getId().equals(tCrmChangePointsVO.getProcurementId())).collect(Collectors.toList()); if(!CollectionUtils.isEmpty(collect)){ tCrmChangePointsVO.setProcurementCode(collect.get(0).getProcurementCode()); tCrmChangePointsVO.setPayMoney(collect.get(0).getPayMoney()); } } } pageInfo.setRecords(list); return pageInfo; } @Override public List pageListBranchExport(TCrmChangePointsQuery query) { List list = this.baseMapper.pageListBranchExport(query); if(CollectionUtils.isEmpty(list)){ return list; } List procurementIds = list.stream().map(TCrmChangePointsBranchExport::getProcurementId) .filter(Objects::nonNull).collect(Collectors.toList()); // 查询诊所 List crmClinics = crmClinicMapper.selectList(Wrappers.lambdaQuery(TCrmClinic.class)); if(!CollectionUtils.isEmpty(procurementIds)){ List erpProcurements = erpProcurementMapper.selectList(Wrappers.lambdaQuery(TErpProcurement.class).in(TErpProcurement::getId, procurementIds)); for (TCrmChangePointsBranchExport crmChangePointsBranchExport : list) { List collect = erpProcurements.stream().filter(tErpProcurement -> tErpProcurement.getId().equals(crmChangePointsBranchExport.getProcurementId())).collect(Collectors.toList()); if(!CollectionUtils.isEmpty(collect)){ crmChangePointsBranchExport.setProcurementCode(collect.get(0).getProcurementCode()); crmChangePointsBranchExport.setPayMoney(collect.get(0).getPayMoney()); List clinics = crmClinics.stream().filter(tCrmClinic -> tCrmClinic.getId().equals(collect.get(0).getClinicId())).collect(Collectors.toList()); if(!CollectionUtils.isEmpty(clinics)){ crmChangePointsBranchExport.setClinicName(clinics.get(0).getClinicName()); } } } } return list; } @Override public List pageListSalespersonExport(TCrmChangePointsQuery query) { List list = this.baseMapper.pageListSalespersonExport(query); if(CollectionUtils.isEmpty(list)){ return list; } List procurementIds = list.stream().map(TCrmChangePointsSalespersonExport::getProcurementId) .filter(Objects::nonNull).collect(Collectors.toList()); // 查询诊所 List crmClinics = crmClinicMapper.selectList(Wrappers.lambdaQuery(TCrmClinic.class)); if(!CollectionUtils.isEmpty(procurementIds)){ List erpProcurements = erpProcurementMapper.selectList(Wrappers.lambdaQuery(TErpProcurement.class).in(TErpProcurement::getId, procurementIds)); for (TCrmChangePointsSalespersonExport crmChangePointsSalespersonExport : list) { List collect = erpProcurements.stream().filter(tErpProcurement -> tErpProcurement.getId().equals(crmChangePointsSalespersonExport.getProcurementId())).collect(Collectors.toList()); if(!CollectionUtils.isEmpty(collect)){ crmChangePointsSalespersonExport.setProcurementCode(collect.get(0).getProcurementCode()); crmChangePointsSalespersonExport.setPayMoney(collect.get(0).getPayMoney()); List clinics = crmClinics.stream().filter(tCrmClinic -> tCrmClinic.getId().equals(collect.get(0).getClinicId())).collect(Collectors.toList()); if(!CollectionUtils.isEmpty(clinics)){ crmChangePointsSalespersonExport.setClinicName(clinics.get(0).getClinicName()); } } } } return list; } @Override public List pageListClinicExport(TCrmChangePointsQuery query) { List list = this.baseMapper.pageListClinicExport(query); if(CollectionUtils.isEmpty(list)){ return list; } List procurementIds = list.stream().map(TCrmChangePointsClinicExport::getProcurementId) .filter(Objects::nonNull).collect(Collectors.toList()); if(!CollectionUtils.isEmpty(procurementIds)){ List erpProcurements = erpProcurementMapper.selectList(Wrappers.lambdaQuery(TErpProcurement.class).in(TErpProcurement::getId, procurementIds)); for (TCrmChangePointsClinicExport crmChangePointsClinicExport : list) { List collect = erpProcurements.stream().filter(tErpProcurement -> tErpProcurement.getId().equals(crmChangePointsClinicExport.getProcurementId())).collect(Collectors.toList()); if(!CollectionUtils.isEmpty(collect)){ crmChangePointsClinicExport.setProcurementCode(collect.get(0).getProcurementCode()); crmChangePointsClinicExport.setPayMoney(collect.get(0).getPayMoney()); } } } return list; } }