diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/PopularActivitiesController.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/PopularActivitiesController.java index fcf18012..69d0b1f9 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/PopularActivitiesController.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/PopularActivitiesController.java @@ -40,7 +40,7 @@ public class PopularActivitiesController extends BaseController { /** * 查询热门活动列表 */ - @SaCheckPermission("property:activities:list") + // @SaCheckPermission("property:activities:list") @GetMapping("/list") public TableDataInfo list(PopularActivitiesBo bo, PageQuery pageQuery) { return popularActivitiesService.queryPageList(bo, pageQuery); diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/PopularActivitiesBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/PopularActivitiesBo.java index 2f0d580a..d04e39fc 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/PopularActivitiesBo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/PopularActivitiesBo.java @@ -60,7 +60,7 @@ public class PopularActivitiesBo extends BaseEntity { /** * 状态(1.未开始 2.进行中 3.已结束) */ - @NotBlank(message = "状态(1.未开始 2.进行中 3.已结束)不能为空", groups = { AddGroup.class, EditGroup.class }) + //@NotBlank(message = "状态(1.未开始 2.进行中 3.已结束)不能为空", groups = { AddGroup.class, EditGroup.class }) private String status; /** diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/PopularActivitiesVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/PopularActivitiesVo.java index 7f91dac0..cf80f872 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/PopularActivitiesVo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/PopularActivitiesVo.java @@ -1,6 +1,9 @@ package org.dromara.property.domain.vo; import java.util.Date; + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.annotation.JsonFormat; import org.dromara.property.domain.PopularActivities; import cn.idev.excel.annotation.ExcelIgnoreUnannotated; @@ -72,7 +75,14 @@ public class PopularActivitiesVo implements Serializable { @ExcelProperty(value = "状态", converter = ExcelDictConvert.class) @ExcelDictFormat(dictType = "pro_activity_status") private String status; - + /** + * 创建者 + */ + private Long createBy; + /** + * 创建者 + */ + private String createName; /** * 搜索值 */ diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/PopularActivitiesServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/PopularActivitiesServiceImpl.java index 1f151262..35db1382 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/PopularActivitiesServiceImpl.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/PopularActivitiesServiceImpl.java @@ -1,5 +1,8 @@ package org.dromara.property.service.impl; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; +import org.apache.dubbo.config.annotation.DubboReference; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.TableDataInfo; @@ -9,6 +12,9 @@ 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.property.domain.vo.CustomerNoticesVo; +import org.dromara.system.api.RemoteUserService; +import org.dromara.system.api.domain.vo.RemoteUserVo; import org.springframework.stereotype.Service; import org.dromara.property.domain.bo.PopularActivitiesBo; import org.dromara.property.domain.vo.PopularActivitiesVo; @@ -16,9 +22,12 @@ import org.dromara.property.domain.PopularActivities; import org.dromara.property.mapper.PopularActivitiesMapper; import org.dromara.property.service.IPopularActivitiesService; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Collection; +import java.util.logging.Handler; +import java.util.stream.Collectors; /** * 热门活动Service业务层处理 @@ -32,6 +41,8 @@ import java.util.Collection; public class PopularActivitiesServiceImpl implements IPopularActivitiesService { private final PopularActivitiesMapper baseMapper; + @DubboReference + private RemoteUserService remoteUserService; /** * 查询热门活动 @@ -40,8 +51,10 @@ public class PopularActivitiesServiceImpl implements IPopularActivitiesService { * @return 热门活动 */ @Override - public PopularActivitiesVo queryById(Long id){ - return baseMapper.selectVoById(id); + public PopularActivitiesVo queryById(Long id) { + PopularActivitiesVo popularActivitiesVo = baseMapper.selectVoById(id); + popularActivitiesVo.setCreateName(remoteUserService.selectUserNameById(popularActivitiesVo.getCreateBy())); + return popularActivitiesVo; } /** @@ -55,9 +68,37 @@ public class PopularActivitiesServiceImpl implements IPopularActivitiesService { public TableDataInfo queryPageList(PopularActivitiesBo bo, PageQuery pageQuery) { LambdaQueryWrapper lqw = buildQueryWrapper(bo); Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + // 提取发布人ID + List allUserIds = new ArrayList<>(); + if (CollUtil.isNotEmpty(result.getRecords())) { + List createIds = result.getRecords().stream() + .filter(vo -> ObjectUtil.isNotEmpty(vo.getCreateBy())) + .map(PopularActivitiesVo::getCreateBy) + .distinct() + .collect(Collectors.toList()); + allUserIds.addAll(createIds); + } + List remoteUserVos = remoteUserService.selectListByIds(allUserIds); + result.getRecords().stream().forEach(s -> { + handlerData(s, remoteUserVos); + }); return TableDataInfo.build(result); } + private void handlerData(PopularActivitiesVo popularActivitiesVo, List remoteUserVos) { + if (ObjectUtil.isNotEmpty(popularActivitiesVo.getCreateBy()) && CollUtil.isNotEmpty(remoteUserVos)) { + // 从remoteUserVos中寻找对应的createby和userid相等的 + RemoteUserVo remoteUserVo = remoteUserVos.stream() + .filter(user -> user.getUserId() != null && user.getUserId().equals(popularActivitiesVo.getCreateBy())) + .findFirst() + .orElse(null); + + if (ObjectUtil.isNotEmpty(remoteUserVo)) { + popularActivitiesVo.setCreateName(remoteUserVo.getNickName()); + } + } + } + /** * 查询符合条件的热门活动列表 * @@ -115,7 +156,7 @@ public class PopularActivitiesServiceImpl implements IPopularActivitiesService { /** * 保存前的数据校验 */ - private void validEntityBeforeSave(PopularActivities entity){ + private void validEntityBeforeSave(PopularActivities entity) { //TODO 做一些数据校验,如唯一约束 } @@ -128,7 +169,7 @@ public class PopularActivitiesServiceImpl implements IPopularActivitiesService { */ @Override public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { - if(isValid){ + if (isValid) { //TODO 做一些业务上的校验,判断是否需要校验 } return baseMapper.deleteByIds(ids) > 0;