|
|
@@ -11,6 +11,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.dromara.product.domain.ProtocolProducts;
|
|
|
+import org.dromara.product.mapper.ProtocolProductsMapper;
|
|
|
import org.dromara.system.api.RemoteComStaffService;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.dromara.product.domain.bo.ProtocolInfoBo;
|
|
|
@@ -34,6 +36,8 @@ public class ProtocolInfoServiceImpl extends ServiceImpl<ProtocolInfoMapper, Pr
|
|
|
|
|
|
private final ProtocolInfoMapper baseMapper;
|
|
|
|
|
|
+ private final ProtocolProductsMapper protocolProductsMapper;
|
|
|
+
|
|
|
@DubboReference
|
|
|
private RemoteComStaffService remoteComStaffService;
|
|
|
|
|
|
@@ -64,9 +68,20 @@ public class ProtocolInfoServiceImpl extends ServiceImpl<ProtocolInfoMapper, Pr
|
|
|
LambdaQueryWrapper<ProtocolInfo> lqw = buildQueryWrapper(bo);
|
|
|
Page<ProtocolInfoVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
|
|
result.getRecords().forEach(item -> {
|
|
|
- Map<Long, String> staffMap = remoteComStaffService.selectStaffNameByIds(Set.of(item.getSalesmanId(), item.getServiceId()));
|
|
|
+ java.util.Set<Long> staffIds = new java.util.HashSet<>();
|
|
|
+ if (item.getSalesmanId() != null) {
|
|
|
+ staffIds.add(item.getSalesmanId());
|
|
|
+ }
|
|
|
+ if (item.getServiceId() != null) {
|
|
|
+ staffIds.add(item.getServiceId());
|
|
|
+ }
|
|
|
+ Map<Long, String> staffMap = remoteComStaffService.selectStaffNameByIds(staffIds);
|
|
|
item.setSalesmanName(staffMap.get(item.getSalesmanId()));
|
|
|
item.setServiceName(staffMap.get(item.getServiceId()));
|
|
|
+ item.setProductNum(protocolProductsMapper.selectCount(Wrappers.lambdaQuery(ProtocolProducts.class)
|
|
|
+ .eq(ProtocolProducts::getProtocolId, item.getId()))
|
|
|
+ );
|
|
|
+
|
|
|
});
|
|
|
return TableDataInfo.build(result);
|
|
|
}
|