diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/funds/advertisement/vo/AdvertisementPageReqVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/funds/advertisement/vo/AdvertisementPageReqVO.java index 1c8094404..47b30d498 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/funds/advertisement/vo/AdvertisementPageReqVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/funds/advertisement/vo/AdvertisementPageReqVO.java @@ -1,12 +1,16 @@ package com.cf.imes.module.system.controller.admin.funds.advertisement.vo; import com.cf.imes.framework.common.pojo.PageParam; +import com.cf.imes.framework.common.validation.InScope; +import com.cf.imes.module.system.enums.advertisement.AdvertisementPositionEnum; import com.cf.imes.module.system.validation.advertisement.AdvertisementStatus; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; +import java.util.List; + @Schema(description = "管理后台 - 广告分页 Request VO") @Data @EqualsAndHashCode(callSuper = true) @@ -20,7 +24,8 @@ public class AdvertisementPageReqVO extends PageParam { private String adName; @Schema(description = "广告位置") - private String adPosition; + @InScope(value = AdvertisementPositionEnum.class, desc = "广告位置") + private List adPosition; @Schema(description = "广告状态,0未发布 1已发布 2已结束", example = "0") @AdvertisementStatus diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/funds/advertisement/AdvertisementMapper.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/funds/advertisement/AdvertisementMapper.java index da8c625f5..f5f8a9019 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/funds/advertisement/AdvertisementMapper.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/funds/advertisement/AdvertisementMapper.java @@ -1,5 +1,6 @@ package com.cf.imes.module.system.dal.mysql.funds.advertisement; +import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.cf.imes.framework.common.pojo.PageResult; import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; @@ -24,9 +25,10 @@ public interface AdvertisementMapper extends BaseMapperX { default PageResult selectPage(AdvertisementPageReqVO reqVO) { + List adPosition = reqVO.getAdPosition().stream().sorted().distinct().toList(); LambdaQueryWrapperX queryWrapper = new LambdaQueryWrapperX() .likeIfPresent(AdvertisementDO::getAdName, reqVO.getAdName()) - .likeIfPresent(AdvertisementDO::getAdPosition, reqVO.getAdPosition()) + .likeIfPresent(AdvertisementDO::getAdPosition, CollUtil.isNotEmpty(adPosition) ? CollUtil.join(adPosition, ",") : null) .eqIfPresent(AdvertisementDO::getStatus, reqVO.getStatus()) .eqIfPresent(AdvertisementDO::getDeleted, false); diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/advertisement/AdvertisementServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/advertisement/AdvertisementServiceImpl.java index b2d09fa1a..cc531b114 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/advertisement/AdvertisementServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/advertisement/AdvertisementServiceImpl.java @@ -63,7 +63,7 @@ public class AdvertisementServiceImpl implements AdvertisementService{ // 插入广告 AdvertisementDO advertisementDO = BeanUtils.toBean(createReqVO, AdvertisementDO.class) - .setAdPosition(createReqVO.getAdPosition()) + .setAdPosition(createReqVO.getAdPosition().stream().sorted().distinct().toList()) .setStatus(AdvertisementStatusEnum.UNPUBLISHED.getStatus()) .setSoftwareId(SOFT_WARE_ID); @@ -103,7 +103,7 @@ public class AdvertisementServiceImpl implements AdvertisementService{ .setAdImagePath(reqVO.getAdImagePath()) .setStartTime(reqVO.getStartTime()) .setEndTime(reqVO.getEndTime()) - .setAdPosition(reqVO.getAdPosition()) + .setAdPosition(reqVO.getAdPosition().stream().sorted().distinct().toList()) .setSort(ObjectUtil.isNull(reqVO.getSort()) ? advertisementDO.getSort() : reqVO.getSort()) .setAdRedirectUrl(StringUtils.isEmpty(reqVO.getAdRedirectUrl()) ? advertisementDO.getAdRedirectUrl() : reqVO.getAdRedirectUrl()); advertisementMapper.updateById(advertisementDO);