From 918a214a9db4edd3a152f323105cdfb29466d9b7 Mon Sep 17 00:00:00 2001 From: YY <1272464982@qq.com> Date: Mon, 11 Aug 2025 10:31:26 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=BA=E5=91=98=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../supplier/base/service/UserService.java | 14 +++++++ .../base/service/impl/UserServiceImpl.java | 39 +++++++++++++++++++ .../entity/CoscoPortalsCustomerQanda.java | 2 + .../CoscoPortalsCustomerQandaServiceImpl.java | 32 ++++++++++++--- .../CoscoPortalsDownloadsServiceImpl.java | 29 ++++++++++++-- .../impl/CoscoPortalsNoticeServiceImpl.java | 21 +++++++++- .../CoscoPortalsRegulationsServiceImpl.java | 22 ++++++++++- 7 files changed, 148 insertions(+), 11 deletions(-) create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/service/UserService.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/service/impl/UserServiceImpl.java diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/service/UserService.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/service/UserService.java new file mode 100644 index 0000000..64d5934 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/service/UserService.java @@ -0,0 +1,14 @@ +package com.chinaunicom.zyhy.ebtp.supplier.base.service; + +import com.chinaunicom.mall.ebtp.common.base.entity.SysUser; + +import java.util.List; +import java.util.Map; + +public interface UserService { + + Map getMapUserByIds(List userIds); + + List getUserListByUserIds(List userIds); + +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/service/impl/UserServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/service/impl/UserServiceImpl.java new file mode 100644 index 0000000..e00962a --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/service/impl/UserServiceImpl.java @@ -0,0 +1,39 @@ +package com.chinaunicom.zyhy.ebtp.supplier.base.service.impl; + +import com.chinaunicom.mall.ebtp.common.base.client.SystemClient; +import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse; +import com.chinaunicom.mall.ebtp.common.base.entity.SysUser; +import com.chinaunicom.zyhy.ebtp.supplier.base.service.UserService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Service +public class UserServiceImpl implements UserService { + + @Autowired + private SystemClient systemClient; + + + public Map getMapUserByIds(List userIds){ + List userListByUserIds = getUserListByUserIds(userIds); + if(userListByUserIds.isEmpty()){ + return new HashMap<>(); + } + + // 使用Stream API将列表转换为Map + return userListByUserIds.stream() + .filter(user -> user != null && user.getUserId() != null) + .collect(Collectors.toMap(SysUser::getUserId, user -> user)); + } + + public List getUserListByUserIds(List userIds){ + BaseResponse> usersByIds = systemClient.getUsersByIds(userIds); + return usersByIds.getData(); + } + +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/portals/entity/CoscoPortalsCustomerQanda.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/portals/entity/CoscoPortalsCustomerQanda.java index c24fb34..118759d 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/portals/entity/CoscoPortalsCustomerQanda.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/portals/entity/CoscoPortalsCustomerQanda.java @@ -73,6 +73,8 @@ public class CoscoPortalsCustomerQanda extends BaseEntity { private Long status; + private Long isPublished; + private Long isTop; @ApiModelProperty(value = "分页对象信息") diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/portals/service/impl/CoscoPortalsCustomerQandaServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/portals/service/impl/CoscoPortalsCustomerQandaServiceImpl.java index 8e77eaa..c3f765a 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/portals/service/impl/CoscoPortalsCustomerQandaServiceImpl.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/portals/service/impl/CoscoPortalsCustomerQandaServiceImpl.java @@ -3,11 +3,13 @@ package com.chinaunicom.zyhy.ebtp.supplier.portals.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.chinaunicom.mall.ebtp.common.base.entity.BaseCacheUser; +import com.chinaunicom.mall.ebtp.common.base.entity.SysUser; import com.chinaunicom.mall.ebtp.common.base.service.impl.BaseServiceImpl; import com.chinaunicom.mall.ebtp.common.base.util.TokenUtil; import com.chinaunicom.mall.ebtp.common.util.PropertyUtils; import com.chinaunicom.zyhy.ebtp.supplier.base.constant.CustomerQandaConstant; import com.chinaunicom.zyhy.ebtp.supplier.base.constant.UpConstant; +import com.chinaunicom.zyhy.ebtp.supplier.base.service.UserService; import com.chinaunicom.zyhy.ebtp.supplier.portals.dao.CoscoPortalsCustomerQandaMapper; import com.chinaunicom.zyhy.ebtp.supplier.portals.entity.CoscoPortalsCustomerQanda; import com.chinaunicom.zyhy.ebtp.supplier.portals.service.ICoscoPortalsCustomerQandaService; @@ -18,6 +20,8 @@ import org.springframework.stereotype.Service; import java.util.Date; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * 中远门户_用户提问_问答Service业务层处理 @@ -31,6 +35,9 @@ public class CoscoPortalsCustomerQandaServiceImpl extends BaseServiceImpl0){ + coscoPortalsCustomerQanda.setStatus(coscoPortalsCustomerQanda.getIsPublished()); + if (coscoPortalsCustomerQanda.getAnswerContent() != null && coscoPortalsCustomerQanda.getAnswerContent().length() > 0) { coscoPortalsCustomerQanda.setIsAnswer(CustomerQandaConstant.REPLY.getStatus()); coscoPortalsCustomerQanda.setAnswerBy(currentUser.getUserId()); coscoPortalsCustomerQanda.setAnswerTime(date); } coscoPortalsCustomerQandaMapper.updateCoscoPortalsCustomerQanda(coscoPortalsCustomerQanda); - if(UpConstant.RELEASE.equals(coscoPortalsCustomerQanda.getStatus())){ - coscoPortalsHelpcenterQandaService.addHelpcenterQanda(coscoPortalsCustomerQanda); + if (UpConstant.RELEASE.equals(coscoPortalsCustomerQanda.getStatus())) { + CoscoPortalsCustomerQanda show = coscoPortalsCustomerQandaMapper.selectCoscoPortalsCustomerQandaById(coscoPortalsCustomerQanda.getId()); + coscoPortalsHelpcenterQandaService.addHelpcenterQanda(show); } return 1; } @@ -147,7 +156,20 @@ public class CoscoPortalsCustomerQandaServiceImpl extends BaseServiceImpl getPage(CoscoPortalsCustomerQanda coscoPortalsCustomerQanda) { IPage p = new Page<>(coscoPortalsCustomerQanda.getBasePageRequest().getPageNo(), coscoPortalsCustomerQanda.getBasePageRequest().getPageSize()); - return coscoPortalsCustomerQandaMapper.getPageList(p,coscoPortalsCustomerQanda); + IPage pageList = coscoPortalsCustomerQandaMapper.getPageList(p, coscoPortalsCustomerQanda); + List createByList = pageList.getRecords().stream() + .map(CoscoPortalsCustomerQanda::getAnswerBy) + .collect(Collectors.toList()); + if (!createByList.isEmpty()) { + Map mapUserByIds = userService.getMapUserByIds(createByList); + pageList.getRecords().forEach(coscoPortalsDownloads -> { + SysUser sysUser = mapUserByIds.get(coscoPortalsDownloads.getAnswerBy()); + if (sysUser != null) { + coscoPortalsDownloads.setAnswerBy(sysUser.getName()); + } + }); + } + return pageList; } /** diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/portals/service/impl/CoscoPortalsDownloadsServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/portals/service/impl/CoscoPortalsDownloadsServiceImpl.java index 5b0a8ef..879d02e 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/portals/service/impl/CoscoPortalsDownloadsServiceImpl.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/portals/service/impl/CoscoPortalsDownloadsServiceImpl.java @@ -3,14 +3,19 @@ package com.chinaunicom.zyhy.ebtp.supplier.portals.service.impl; import java.time.LocalDateTime; import java.util.Date; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.chinaunicom.mall.ebtp.common.base.client.SystemClient; import com.chinaunicom.mall.ebtp.common.base.entity.BaseCacheUser; +import com.chinaunicom.mall.ebtp.common.base.entity.SysUser; import com.chinaunicom.mall.ebtp.common.base.service.impl.BaseServiceImpl; import com.chinaunicom.mall.ebtp.common.base.util.TokenUtil; import com.chinaunicom.mall.ebtp.common.util.PropertyUtils; import com.chinaunicom.zyhy.ebtp.supplier.base.constant.UserConstant; +import com.chinaunicom.zyhy.ebtp.supplier.base.service.UserService; import com.chinaunicom.zyhy.ebtp.supplier.common.CoscoDateUtils; import com.chinaunicom.zyhy.ebtp.supplier.common.PublicStatus; import com.chinaunicom.zyhy.ebtp.supplier.portals.dao.CoscoPortalsCustomerQandaMapper; @@ -30,16 +35,32 @@ import org.springframework.stereotype.Service; * @date 2025-06-16 */ @Service -public class CoscoPortalsDownloadsServiceImpl extends BaseServiceImpl implements ICoscoPortalsDownloadsService { +public class CoscoPortalsDownloadsServiceImpl extends BaseServiceImpl implements ICoscoPortalsDownloadsService { @Autowired private CoscoPortalsDownloadsMapper coscoPortalsDownloadsMapper; + @Autowired + private UserService userService; @Override public IPage getPage(CoscoPortalsDownloads vo) { IPage p = new Page<>(vo.getPageNo(), vo.getPageSize()); - return coscoPortalsDownloadsMapper.selectPageList(p,vo); + IPage coscoPortalsDownloadsIPage = coscoPortalsDownloadsMapper.selectPageList(p, vo); + List records = coscoPortalsDownloadsIPage.getRecords(); + List createByList = records.stream() + .map(CoscoPortalsDownloads::getCreateBy) + .collect(Collectors.toList()); + if (!createByList.isEmpty()) { + Map mapUserByIds = userService.getMapUserByIds(createByList); + records.forEach(coscoPortalsDownloads -> { + SysUser sysUser = mapUserByIds.get(coscoPortalsDownloads.getCreateBy()); + if (sysUser != null) { + coscoPortalsDownloads.setCreateBy(sysUser.getName()); + } + }); + } + return coscoPortalsDownloadsIPage; } /** @@ -93,8 +114,8 @@ public class CoscoPortalsDownloadsServiceImpl extends BaseServiceImpl implements ICoscoPortalsNoticeService { @Autowired private CoscoPortalsNoticeMapper coscoPortalsNoticeMapper; + @Autowired + private UserService userService; @Override public IPage getPage(CoscoPortalsNotice vo) { IPage p = new Page<>(vo.getPageNo(), vo.getPageSize()); - return coscoPortalsNoticeMapper.selectPageList(p,vo); + IPage coscoPortalsNoticeIPage = coscoPortalsNoticeMapper.selectPageList(p, vo); + List createByList = coscoPortalsNoticeIPage.getRecords().stream() + .map(CoscoPortalsNotice::getCreateBy) + .collect(Collectors.toList()); + if (!createByList.isEmpty()) { + Map mapUserByIds = userService.getMapUserByIds(createByList); + coscoPortalsNoticeIPage.getRecords().forEach(coscoPortalsDownloads -> { + SysUser sysUser = mapUserByIds.get(coscoPortalsDownloads.getCreateBy()); + if (sysUser != null) { + coscoPortalsDownloads.setCreateBy(sysUser.getName()); + } + }); + } + return coscoPortalsNoticeIPage; } diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/portals/service/impl/CoscoPortalsRegulationsServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/portals/service/impl/CoscoPortalsRegulationsServiceImpl.java index df24310..b453b95 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/portals/service/impl/CoscoPortalsRegulationsServiceImpl.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/portals/service/impl/CoscoPortalsRegulationsServiceImpl.java @@ -3,12 +3,15 @@ package com.chinaunicom.zyhy.ebtp.supplier.portals.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.chinaunicom.mall.ebtp.common.base.entity.BaseCacheUser; +import com.chinaunicom.mall.ebtp.common.base.entity.SysUser; import com.chinaunicom.mall.ebtp.common.base.service.impl.BaseServiceImpl; import com.chinaunicom.mall.ebtp.common.base.util.TokenUtil; import com.chinaunicom.mall.ebtp.common.util.PropertyUtils; import com.chinaunicom.zyhy.ebtp.supplier.base.constant.UpConstant; import com.chinaunicom.zyhy.ebtp.supplier.base.constant.UserConstant; +import com.chinaunicom.zyhy.ebtp.supplier.base.service.UserService; import com.chinaunicom.zyhy.ebtp.supplier.portals.dao.CoscoPortalsRegulationsMapper; +import com.chinaunicom.zyhy.ebtp.supplier.portals.entity.CoscoPortalsNotice; import com.chinaunicom.zyhy.ebtp.supplier.portals.entity.CoscoPortalsRegulations; import com.chinaunicom.zyhy.ebtp.supplier.portals.service.ICoscoPortalsRegulationsService; import com.chinaunicom.zyhy.ebtp.supplier.portals.vo.RegulationsCountVo; @@ -17,6 +20,8 @@ import org.springframework.stereotype.Service; import java.util.Date; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * 中远门户_政策法规Service业务层处理 @@ -28,6 +33,8 @@ import java.util.List; public class CoscoPortalsRegulationsServiceImpl extends BaseServiceImpl implements ICoscoPortalsRegulationsService { @Autowired private CoscoPortalsRegulationsMapper coscoPortalsRegulationsMapper; + @Autowired + private UserService userService; /** * 查询中远门户_政策法规 @@ -113,7 +120,20 @@ public class CoscoPortalsRegulationsServiceImpl extends BaseServiceImpl getPage(CoscoPortalsRegulations coscoPortalsRegulations) { IPage p = new Page<>(coscoPortalsRegulations.getBasePageRequest().getPageNo(), coscoPortalsRegulations.getBasePageRequest().getPageSize()); - return coscoPortalsRegulationsMapper.getPageList(p,coscoPortalsRegulations); + IPage pageList = coscoPortalsRegulationsMapper.getPageList(p, coscoPortalsRegulations); + List createByList = pageList.getRecords().stream() + .map(CoscoPortalsRegulations::getCreateBy) + .collect(Collectors.toList()); + if (!createByList.isEmpty()) { + Map mapUserByIds = userService.getMapUserByIds(createByList); + pageList.getRecords().forEach(coscoPortalsDownloads -> { + SysUser sysUser = mapUserByIds.get(coscoPortalsDownloads.getCreateBy()); + if (sysUser != null) { + coscoPortalsDownloads.setCreateBy(sysUser.getName()); + } + }); + } + return pageList; } /**