style: 客户 review 修改
This commit is contained in:
parent
ecf728966f
commit
a24919e555
@ -5,6 +5,8 @@ import cn.hutool.core.util.NumberUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
|
||||
import cn.iocoder.yudao.framework.common.util.collection.MapUtils;
|
||||
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
|
||||
import cn.iocoder.yudao.framework.ip.core.utils.AreaUtils;
|
||||
import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
|
||||
@ -101,25 +103,10 @@ public class CrmCustomerController {
|
||||
@PreAuthorize("@ss.hasPermission('crm:customer:query')")
|
||||
public CommonResult<PageResult<CrmCustomerRespVO>> getCustomerPage(@Valid CrmCustomerPageReqVO pageVO) {
|
||||
PageResult<CrmCustomerDO> pageResult = customerService.getCustomerPage(pageVO);
|
||||
PageResult<CrmCustomerRespVO> pageVo = CrmCustomerConvert.INSTANCE.convertPage(pageResult);
|
||||
// TODO @wanwan: 可以参考 CollectionUtils.convertListByFlatMap(),目的是简洁
|
||||
Set<Long> userSet = pageVo.getList().stream().flatMap(i -> Stream.of(NumberUtil.parseLong(i.getCreator()), i.getOwnerUserId())).collect(Collectors.toSet());
|
||||
Set<Long> userSet = CollectionUtils.convertSetByFlatMap(pageResult.getList(), i -> Stream.of(NumberUtil.parseLong(i.getCreator()), i.getOwnerUserId()));
|
||||
Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(userSet);
|
||||
Map<Long, DeptRespDTO> deptMap = deptApi.getDeptMap(userMap.values().stream().map(AdminUserRespDTO::getDeptId).collect(Collectors.toSet()));
|
||||
// TODO @wanwan:这块可以形成一个 convertPage 方法,default 实现;
|
||||
pageVo.getList().forEach(customerRespVO -> {
|
||||
customerRespVO.setAreaName(AreaUtils.format(customerRespVO.getAreaId()));
|
||||
customerRespVO.setCreatorName(Optional.ofNullable(userMap.get(NumberUtil.parseLong(customerRespVO.getCreator()))).map(AdminUserRespDTO::getNickname).orElse(null));
|
||||
// TODO @wanwan:可以使用 MapUtils.findAndThen
|
||||
AdminUserRespDTO ownerUser = userMap.get(customerRespVO.getOwnerUserId());
|
||||
if (Objects.nonNull(ownerUser)) {
|
||||
customerRespVO.setOwnerUserName(ownerUser.getNickname());
|
||||
DeptRespDTO dept = deptMap.get(ownerUser.getDeptId());
|
||||
if (Objects.nonNull(dept)) {
|
||||
customerRespVO.setOwnerUserDept(dept.getName());
|
||||
}
|
||||
}
|
||||
});
|
||||
PageResult<CrmCustomerRespVO> pageVo = CrmCustomerConvert.INSTANCE.convertPage(pageResult, userMap, deptMap);
|
||||
return success(pageVo);
|
||||
}
|
||||
|
||||
|
@ -1,15 +1,23 @@
|
||||
package cn.iocoder.yudao.module.crm.convert.customer;
|
||||
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.collection.MapUtils;
|
||||
import cn.iocoder.yudao.framework.ip.core.utils.AreaUtils;
|
||||
import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.*;
|
||||
import cn.iocoder.yudao.module.crm.dal.dataobject.customer.CrmCustomerDO;
|
||||
import cn.iocoder.yudao.module.crm.service.permission.bo.CrmTransferPermissionReqBO;
|
||||
import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
|
||||
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.Mapping;
|
||||
import org.mapstruct.Mappings;
|
||||
import org.mapstruct.factory.Mappers;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* 客户 Convert
|
||||
@ -29,6 +37,21 @@ public interface CrmCustomerConvert {
|
||||
|
||||
PageResult<CrmCustomerRespVO> convertPage(PageResult<CrmCustomerDO> page);
|
||||
|
||||
default PageResult<CrmCustomerRespVO> convertPage(PageResult<CrmCustomerDO> page, Map<Long, AdminUserRespDTO> userMap, Map<Long, DeptRespDTO> deptMap) {
|
||||
PageResult<CrmCustomerRespVO> result = convertPage(page);
|
||||
result.getList().forEach(customerRespVO -> {
|
||||
customerRespVO.setAreaName(AreaUtils.format(customerRespVO.getAreaId()));
|
||||
MapUtils.findAndThen(userMap, NumberUtil.parseLong(customerRespVO.getCreator()), creator ->
|
||||
customerRespVO.setCreatorName(creator.getNickname()));
|
||||
MapUtils.findAndThen(userMap, customerRespVO.getOwnerUserId(), ownerUser -> {
|
||||
customerRespVO.setOwnerUserName(ownerUser.getNickname());
|
||||
MapUtils.findAndThen(deptMap, ownerUser.getDeptId(), dept ->
|
||||
customerRespVO.setOwnerUserDept(dept.getName()));
|
||||
});
|
||||
});
|
||||
return result;
|
||||
}
|
||||
|
||||
List<CrmCustomerExcelVO> convertList02(List<CrmCustomerDO> list);
|
||||
|
||||
@Mappings({
|
||||
|
Loading…
Reference in New Issue
Block a user