diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/AdvertisementController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/AdvertisementController.java index 691fbe78..3cc1db24 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/AdvertisementController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/AdvertisementController.java @@ -3,9 +3,7 @@ package com.nflg.wms.admin.controller; import com.nflg.wms.common.constant.Constant; import com.nflg.wms.common.pojo.ApiResult; import com.nflg.wms.common.pojo.PageData; -import com.nflg.wms.common.pojo.qo.AdvertisementRequst; -import com.nflg.wms.common.pojo.qo.AdvertisementSaveRequest; -import com.nflg.wms.common.pojo.qo.PageQO; +import com.nflg.wms.common.pojo.qo.*; import com.nflg.wms.common.pojo.vo.AdvertisementListVO; import com.nflg.wms.common.pojo.vo.AdvertisementVO; import com.nflg.wms.common.util.MultilingualUtil; @@ -69,6 +67,15 @@ public class AdvertisementController extends BaseController{ return ApiResult.success(); } + /** + * 是否启用广告 + */ + @PostMapping("enable") + public ApiResult enableAdvertisement(@Valid @RequestBody @NotNull EnableBatchQO request){ + advertisementService.enable(request); + return ApiResult.success(); + } + /** * 删除广告 * @param ids 广告id列表 diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/AdvertisementSaveRequest.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/AdvertisementSaveRequest.java index d0b8b640..d40ce1f6 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/AdvertisementSaveRequest.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/AdvertisementSaveRequest.java @@ -1,6 +1,9 @@ package com.nflg.wms.common.pojo.qo; import com.nflg.wms.common.pojo.vo.AdvertisementItemVO; +import jakarta.validation.Valid; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; import lombok.Data; import java.util.List; @@ -16,20 +19,30 @@ public class AdvertisementSaveRequest { /** * 广告类型 */ + @NotNull private Integer type; /** * 广告位置 */ + @NotNull private Integer position; /** * 轮播间隔 */ + @NotNull private Integer interval; + /** + * 是否启用 + */ + private Boolean enable = true; + /** * 广告项 */ + @Valid + @NotEmpty private List items; } diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/EnableBatchQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/EnableBatchQO.java new file mode 100644 index 00000000..ca4731b7 --- /dev/null +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/EnableBatchQO.java @@ -0,0 +1,18 @@ +package com.nflg.wms.common.pojo.qo; + +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +import java.util.List; + +@Data +public class EnableBatchQO { + + @NotEmpty + private List ids; + + // 是否启用 + @NotNull + private Boolean enable; +} diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/AdvertisementItemVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/AdvertisementItemVO.java index a1b3b734..53ed6adb 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/AdvertisementItemVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/AdvertisementItemVO.java @@ -1,5 +1,6 @@ package com.nflg.wms.common.pojo.vo; +import jakarta.validation.constraints.NotBlank; import lombok.Data; @Data @@ -8,6 +9,7 @@ public class AdvertisementItemVO { /** * 广告url */ + @NotBlank private String url; /** @@ -18,5 +20,5 @@ public class AdvertisementItemVO { /** * 排序 */ - private Integer sort; + private Integer sort = 0; } diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/AdvertisementListVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/AdvertisementListVO.java index 4db77605..a9d0ef06 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/AdvertisementListVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/AdvertisementListVO.java @@ -59,6 +59,11 @@ public class AdvertisementListVO { return JSONUtil.toList(content, AdvertisementItemVO.class); } + /** + * 是否启用 + */ + private Boolean enable; + /** * 创建人 */ diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/Advertisement.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/Advertisement.java index ff33b6bc..16cfbe82 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/Advertisement.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/Advertisement.java @@ -49,6 +49,11 @@ public class Advertisement implements Serializable { */ private String content; + /** + * 是否启用 + */ + private Boolean enable; + /** * 创建人 */ diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IAdvertisementService.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IAdvertisementService.java index e1f6ee2b..c187ecf6 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IAdvertisementService.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IAdvertisementService.java @@ -3,6 +3,7 @@ package com.nflg.wms.repository.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.nflg.wms.common.pojo.qo.AdvertisementSaveRequest; +import com.nflg.wms.common.pojo.qo.EnableBatchQO; import com.nflg.wms.common.pojo.qo.PageQO; import com.nflg.wms.common.pojo.vo.AdvertisementListVO; import com.nflg.wms.common.pojo.vo.AdvertisementVO; @@ -23,4 +24,6 @@ public interface IAdvertisementService extends IService { void save(AdvertisementSaveRequest request); IPage getList(PageQO request); + + void enable(EnableBatchQO request); } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/AdvertisementServiceImpl.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/AdvertisementServiceImpl.java index 79752ecb..1cf3926e 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/AdvertisementServiceImpl.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/AdvertisementServiceImpl.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.nflg.wms.common.pojo.qo.AdvertisementSaveRequest; +import com.nflg.wms.common.pojo.qo.EnableBatchQO; import com.nflg.wms.common.pojo.qo.PageQO; import com.nflg.wms.common.pojo.vo.AdvertisementItemVO; import com.nflg.wms.common.pojo.vo.AdvertisementListVO; @@ -21,9 +22,8 @@ import java.util.Objects; /** *

- * 服务实现类 + * 服务实现类 *

- * * @author 代码生成器生成 * @since 2025 */ @@ -31,12 +31,12 @@ import java.util.Objects; public class AdvertisementServiceImpl extends ServiceImpl implements IAdvertisementService { @Override - public AdvertisementVO getByType(String type,String position) { - Advertisement ad=baseMapper.getByType(type,position); - if (Objects.isNull(ad)){ + public AdvertisementVO getByType(String type, String position) { + Advertisement ad = baseMapper.getByType(type, position); + if (Objects.isNull(ad)) { return null; } - AdvertisementVO vo=new AdvertisementVO(); + AdvertisementVO vo = new AdvertisementVO(); vo.setInterval(ad.getInterval()); vo.setItems(JSONUtil.toList(ad.getContent(), AdvertisementItemVO.class)); return vo; @@ -44,26 +44,28 @@ public class AdvertisementServiceImpl extends ServiceImpl getList(PageQO request) { - return baseMapper.getList(new Page<>(request.getPage(),request.getPageSize())); + return baseMapper.getList(new Page<>(request.getPage(), request.getPageSize())); + } + + @Override + public void enable(EnableBatchQO request) { + lambdaUpdate() + .set(Advertisement::getEnable, request.getEnable()) + .set(Advertisement::getUpdateBy, UserUtil.getUserName()) + .set(Advertisement::getUpdateTime, LocalDateTime.now()) + .in(Advertisement::getId, request.getIds()) + .update(); } } diff --git a/nflg-wms-repository/src/main/resources/mapper/AdvertisementMapper.xml b/nflg-wms-repository/src/main/resources/mapper/AdvertisementMapper.xml new file mode 100644 index 00000000..6931c78b --- /dev/null +++ b/nflg-wms-repository/src/main/resources/mapper/AdvertisementMapper.xml @@ -0,0 +1,19 @@ + + + + + + + +