From bdc5a18e1715b6d0c7cc19da1a5d602de1f26893 Mon Sep 17 00:00:00 2001 From: jiangqs <jiangqs> Date: 星期三, 07 六月 2023 11:41:58 +0800 Subject: [PATCH] 基础配置 增加测试类配置 --- ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/PopService.java | 44 +++ ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/pojo/config/Banner.java | 25 + ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/config/AsyncConfig.java | 81 ++++++ ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/BannerServiceImpl.java | 31 ++ ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/PopServiceImpl.java | 81 ++++++ ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/PopMapper.xml | 16 + ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtBannerEditDto.java | 2 ruoyi-modules/ruoyi-system/src/test/java/com/ruoyi/system/systemTest.java | 33 ++ ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/annotation/EnableCustomConfig.java | 12 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/config/PopMapper.java | 13 + ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtBannerGetVo.java | 43 +++ ruoyi-modules/ruoyi-order/pom.xml | 1 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtPopGetVo.java | 50 ++++ ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/management/MgtConfigController.java | 76 +++++ ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtBannerPageVo.java | 19 - ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MgtBaseGetDto.java | 3 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtPopPageVo.java | 39 +++ ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/BannerService.java | 20 + ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/BannerMapper.xml | 16 + ruoyi-modules/ruoyi-system/pom.xml | 17 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtPopEditDto.java | 49 ++++ ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/goods/GoodsServiceImpl.java | 2 22 files changed, 613 insertions(+), 60 deletions(-) diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MgtBaseGetDto.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MgtBaseGetDto.java index 3a3d714..56aa2e3 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MgtBaseGetDto.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MgtBaseGetDto.java @@ -3,6 +3,8 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotNull; + /** * @author jqs34 * @ClassName MgtBaseGetDto @@ -14,6 +16,7 @@ public class MgtBaseGetDto extends MgtBaseDto{ @ApiModelProperty(value = "请求对象id") + @NotNull(message = "对象id为必传参数") private String id; } diff --git a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/annotation/EnableCustomConfig.java b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/annotation/EnableCustomConfig.java index c07c3a8..41cda71 100644 --- a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/annotation/EnableCustomConfig.java +++ b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/annotation/EnableCustomConfig.java @@ -1,17 +1,13 @@ package com.ruoyi.common.security.annotation; -import java.lang.annotation.Documented; -import java.lang.annotation.ElementType; -import java.lang.annotation.Inherited; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; +import com.ruoyi.common.security.config.ApplicationConfig; +import com.ruoyi.common.security.feign.FeignAutoConfiguration; import org.mybatis.spring.annotation.MapperScan; import org.springframework.context.annotation.EnableAspectJAutoProxy; import org.springframework.context.annotation.Import; import org.springframework.scheduling.annotation.EnableAsync; -import com.ruoyi.common.security.config.ApplicationConfig; -import com.ruoyi.common.security.feign.FeignAutoConfiguration; + +import java.lang.annotation.*; @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) diff --git a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/config/AsyncConfig.java b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/config/AsyncConfig.java new file mode 100644 index 0000000..3bc8ba7 --- /dev/null +++ b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/config/AsyncConfig.java @@ -0,0 +1,81 @@ +package com.ruoyi.common.security.config; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.aop.interceptor.AsyncUncaughtExceptionHandler; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.annotation.AsyncConfigurer; +import org.springframework.scheduling.annotation.EnableAsync; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; + +import java.lang.reflect.Method; +import java.util.concurrent.Executor; +import java.util.concurrent.ThreadPoolExecutor; + +/** + * @ClassName AsyncConfig + * @Description TODO + * @Author jqs + * @Date 2023/6/7 10:46 + * @Version 1.0 + */ +@Configuration +@EnableAsync +@Slf4j +public class AsyncConfig implements AsyncConfigurer { + + /** + * 表示线程池核心线程,正常情况下开启的线程数量 + */ + private Integer corePoolSize = 10; + + /** + * 如果queueCapacity存满了,还有任务就会启动更多的线程, + * 直到线程数达到maxPoolSize。如果还有任务,则根据拒绝策略进行处理 + */ + private Integer maxPoolSize = 100; + + /** + * 当核心线程都在跑任务,还有多余的任务会存到此处 + */ + private Integer queueCapacity = 100; + + private Integer keepAliveSeconds = 60; + + private String threadNamePrefix = "async-thread-"; + + @Override + public Executor getAsyncExecutor() { + ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); + //核心线程池大小 + executor.setCorePoolSize(corePoolSize); + //最大线程数 + executor.setMaxPoolSize(maxPoolSize); + //队列容量 + executor.setQueueCapacity(queueCapacity); + //活跃时间 + executor.setKeepAliveSeconds(keepAliveSeconds); + //线程名字前缀 + executor.setThreadNamePrefix(threadNamePrefix); + + // setRejectedExecutionHandler:当pool已经达到max size的时候,如何处理新任务 + // CallerRunsPolicy:不在新线程中执行任务,而是由调用者所在的线程来执行 + executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy()); + executor.initialize(); + return executor; + } + /** + * 异步任务中异常处理 + * @return + */ + @Override + public AsyncUncaughtExceptionHandler getAsyncUncaughtExceptionHandler() { + return new AsyncUncaughtExceptionHandler() { + @Override + public void handleUncaughtException(Throwable throwable, Method method, Object... objects) { + log.info("==================线程发生错误====================="); + log.error("=========================="+throwable.getMessage()+"=======================", throwable); + log.error("exception method:"+method.getName()); + } + }; + } +} \ No newline at end of file diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/goods/GoodsServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/goods/GoodsServiceImpl.java index 8f829f2..7f55fdc 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/goods/GoodsServiceImpl.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/goods/GoodsServiceImpl.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.utils.StringUtils; +import com.ruoyi.common.core.utils.bean.BeanUtils; import com.ruoyi.common.core.utils.uuid.IdUtils; import com.ruoyi.goods.domain.dto.*; import com.ruoyi.goods.domain.pojo.goods.GoodsTotal; @@ -21,7 +22,6 @@ import com.ruoyi.system.api.domain.poji.goods.GoodsFile; import com.ruoyi.system.api.domain.poji.goods.ShopGoods; import com.ruoyi.system.api.service.RemoteConfigService; -import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; diff --git a/ruoyi-modules/ruoyi-order/pom.xml b/ruoyi-modules/ruoyi-order/pom.xml index 8c16e9c..b26eb23 100644 --- a/ruoyi-modules/ruoyi-order/pom.xml +++ b/ruoyi-modules/ruoyi-order/pom.xml @@ -107,7 +107,6 @@ <version>0.2.7</version> </dependency> - </dependencies> <build> diff --git a/ruoyi-modules/ruoyi-system/pom.xml b/ruoyi-modules/ruoyi-system/pom.xml index 87bed2c..1fa5da9 100644 --- a/ruoyi-modules/ruoyi-system/pom.xml +++ b/ruoyi-modules/ruoyi-system/pom.xml @@ -101,23 +101,18 @@ <artifactId>mybatis-plus-generate</artifactId> <version>2.3</version> </dependency> + <dependency> <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-test</artifactId> - <version>2.5.7</version> + <artifactId>spring-boot-starter-test</artifactId> + <version>2.7.7</version> </dependency> <dependency> - <groupId>org.junit.jupiter</groupId> - <artifactId>junit-jupiter</artifactId> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.13.1</version> <scope>test</scope> </dependency> - <dependency> - <groupId>org.junit.jupiter</groupId> - <artifactId>junit-jupiter-api</artifactId> - <version>5.8.2</version> - <scope>test</scope> - </dependency> - </dependencies> diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/management/MgtConfigController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/management/MgtConfigController.java index 895cc16..884176e 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/management/MgtConfigController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/management/MgtConfigController.java @@ -3,16 +3,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.security.utils.SecurityUtils; +import com.ruoyi.system.api.domain.dto.MgtBaseGetDto; import com.ruoyi.system.api.domain.dto.MgtPageDto; -import com.ruoyi.system.domain.dto.MgtAgreementEditDto; -import com.ruoyi.system.domain.dto.MgtBannerEditDto; -import com.ruoyi.system.domain.dto.MgtCooperationEditDto; -import com.ruoyi.system.domain.dto.MgtServiceMobileEditDto; +import com.ruoyi.system.domain.dto.*; +import com.ruoyi.system.domain.vo.MgtBannerGetVo; import com.ruoyi.system.domain.vo.MgtBannerPageVo; -import com.ruoyi.system.service.config.AgreementService; -import com.ruoyi.system.service.config.BannerService; -import com.ruoyi.system.service.config.CooperationService; -import com.ruoyi.system.service.config.CustomConfigService; +import com.ruoyi.system.domain.vo.MgtPopGetVo; +import com.ruoyi.system.domain.vo.MgtPopPageVo; +import com.ruoyi.system.service.config.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.RequestBody; @@ -46,6 +44,9 @@ @Resource private BannerService bannerService; + + @Resource + private PopService popService; @RequestMapping(value = "/editCooperation", method = RequestMethod.POST) @ApiOperation(value = "修改申请合作") @@ -85,7 +86,7 @@ @RequestMapping(value = "/pageBanner", method = RequestMethod.POST) @ApiOperation(value = "分页获取banner") - public R<Page<MgtBannerPageVo>> pageMerShopRecommend(@RequestBody MgtPageDto mgtPageDto) { + public R<Page<MgtBannerPageVo>> pageBanner(@RequestBody MgtPageDto mgtPageDto) { Long userId = SecurityUtils.getUserId(); mgtPageDto.setUserId(userId); Page<MgtBannerPageVo> page = new Page<>(); @@ -94,4 +95,61 @@ List<MgtBannerPageVo> mgtBannerPageVoList = bannerService.pageMgtBannerVo(page); return R.ok(page.setRecords(mgtBannerPageVoList)); } + + @RequestMapping(value = "/getBanner", method = RequestMethod.POST) + @ApiOperation(value = "获取banner编辑信息") + public R<MgtBannerGetVo> getBanner(@RequestBody MgtBaseGetDto mgtBaseGetDto) { + Long userId = SecurityUtils.getUserId(); + mgtBaseGetDto.setUserId(userId); + MgtBannerGetVo mgtBannerGetVo = bannerService.getMgtBanner(Long.valueOf(mgtBaseGetDto.getId())); + return R.ok(mgtBannerGetVo); + } + + @RequestMapping(value = "/deleteBanner", method = RequestMethod.POST) + @ApiOperation(value = "删除banner") + public R deleteBanner(@RequestBody MgtBaseGetDto mgtBaseGetDto) { + Long userId = SecurityUtils.getUserId(); + mgtBaseGetDto.setUserId(userId); + bannerService.deleteBanner(mgtBaseGetDto); + return R.ok(); + } + + @RequestMapping(value = "/pagePop", method = RequestMethod.POST) + @ApiOperation(value = "分页获取广告弹窗") + public R<Page<MgtPopPageVo>> pagePop(@RequestBody MgtPageDto mgtPageDto) { + Long userId = SecurityUtils.getUserId(); + mgtPageDto.setUserId(userId); + Page<MgtPopPageVo> page = new Page<>(); + page.setSize(mgtPageDto.getPageSize()); + page.setCurrent(mgtPageDto.getPageNum()); + List<MgtPopPageVo> mgtPopPageVoList = popService.pageMgtPop(page); + return R.ok(page.setRecords(mgtPopPageVoList)); + } + + @RequestMapping(value = "/editPop", method = RequestMethod.POST) + @ApiOperation(value = "修改弹窗广告") + public R editPop(@RequestBody MgtPopEditDto mgtPopEditDto) { + Long userId = SecurityUtils.getUserId(); + mgtPopEditDto.setUserId(userId); + popService.editMgtPop(mgtPopEditDto); + return R.ok(); + } + + @RequestMapping(value = "/getPop", method = RequestMethod.POST) + @ApiOperation(value = "获取弹窗编辑信息") + public R<MgtPopGetVo> getPop(@RequestBody MgtBaseGetDto mgtBaseGetDto) { + Long userId = SecurityUtils.getUserId(); + mgtBaseGetDto.setUserId(userId); + MgtPopGetVo mgtPopGetVo = popService.getMgtPop(Long.valueOf(mgtBaseGetDto.getId())); + return R.ok(mgtPopGetVo); + } + + @RequestMapping(value = "/deletePop", method = RequestMethod.POST) + @ApiOperation(value = "删除弹窗广告") + public R deletePop(@RequestBody MgtBaseGetDto mgtBaseGetDto) { + Long userId = SecurityUtils.getUserId(); + mgtBaseGetDto.setUserId(userId); + popService.deleteMgtPop(mgtBaseGetDto); + return R.ok(); + } } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtBannerEditDto.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtBannerEditDto.java index 069b85f..0372df0 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtBannerEditDto.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtBannerEditDto.java @@ -38,5 +38,7 @@ @ApiModelProperty(value = "跳转id") private String jumpId; + @ApiModelProperty(value = "banner排序") + private String bannerSort; } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtPopEditDto.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtPopEditDto.java new file mode 100644 index 0000000..06f22f5 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtPopEditDto.java @@ -0,0 +1,49 @@ +package com.ruoyi.system.domain.dto; + +import com.ruoyi.system.api.domain.dto.MgtBaseDto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * @ClassName MgtpopEditDto + * @Description TODO + * @Author jqs + * @Date 2023/6/6 14:52 + * @Version 1.0 + */ +@Data +public class MgtPopEditDto extends MgtBaseDto { + + @ApiModelProperty(value = "popId 新增不传") + private Long popId; + + @ApiModelProperty(value = "pop图片") + private String popUrl; + + @ApiModelProperty(value = "链接类型1.外部2.内部3.无") + private Integer targetType; + + @ApiModelProperty(value = "链接类型1.手动输入2.选择已有") + private Integer linkType; + + @ApiModelProperty(value = "链接地址") + private String linkUrl; + + @ApiModelProperty(value = "跳转类型1.门店详情2.秒杀活动3领券中心4.商城列表5.关于洪瑞堂") + private Integer jumpType; + + @ApiModelProperty(value = "跳转id") + private String jumpId; + + @ApiModelProperty(value = "pop排序") + private String popSort; + + @ApiModelProperty(value = "展示开始时间 yyyy-MM-dd") + private Date showStartTime; + + @ApiModelProperty(value = "展示结束时间 yyyy-MM-dd") + private Date showEndTime; + +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/pojo/config/Banner.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/pojo/config/Banner.java index 0a98a48..7b96e84 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/pojo/config/Banner.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/pojo/config/Banner.java @@ -1,24 +1,22 @@ package com.ruoyi.system.domain.pojo.config; -import com.baomidou.mybatisplus.annotation.IdType; -import java.util.Date; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; - import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; +import java.io.Serializable; +import java.util.Date; + /** - * <p> - * banner - * </p> - * + * @description: banner * @author jqs - * @since 2023-04-25 + * @date 2023/6/7 9:29 + * @version 1.0 */ @Data @EqualsAndHashCode(callSuper = false) @@ -49,6 +47,11 @@ @TableField("banner_url") private String bannerUrl; /** + * banner排序 + */ + @TableField("banner_sort") + private String bannerSort; + /** * 链接类型1.外部2.内部3.无 */ @TableField("target_type") diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtBannerGetVo.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtBannerGetVo.java new file mode 100644 index 0000000..e9bca9d --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtBannerGetVo.java @@ -0,0 +1,43 @@ +package com.ruoyi.system.domain.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @ClassName MgtBannerGetVo + * @Description TODO + * @Author jqs + * @Date 2023/6/7 9:34 + * @Version 1.0 + */ +@Data +public class MgtBannerGetVo { + + + @ApiModelProperty(value = "bannerId") + private Long bannerId; + + @ApiModelProperty(value = "banner图片") + private String bannerUrl; + + @ApiModelProperty(value = "banner位置1.小程序首页") + private Integer bannerPosition; + + @ApiModelProperty(value = "链接类型1.外部2.内部3.无") + private Integer targetType; + + @ApiModelProperty(value = "链接类型1.手动输入2.选择已有") + private Integer linkType; + + @ApiModelProperty(value = "链接地址") + private String linkUrl; + + @ApiModelProperty(value = "跳转类型1.门店详情2.秒杀活动3领券中心4.商城列表5.关于洪瑞堂") + private Integer jumpType; + + @ApiModelProperty(value = "跳转id") + private String jumpId; + + @ApiModelProperty(value = "banner排序") + private String bannerSort; +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtBannerPageVo.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtBannerPageVo.java index c7ed3e8..330e2f2 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtBannerPageVo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtBannerPageVo.java @@ -22,23 +22,8 @@ @ApiModelProperty(value = "banner图片") private String bannerUrl; - @ApiModelProperty(value = "banner位置1.小程序首页") - private Integer bannerPosition; - - @ApiModelProperty(value = "链接类型1.外部2.内部3.无") - private Integer targetType; - - @ApiModelProperty(value = "链接类型1.手动输入2.选择已有") - private Integer linkType; - - @ApiModelProperty(value = "链接地址") - private String linkUrl; - - @ApiModelProperty(value = "跳转类型1.门店详情2.秒杀活动3领券中心4.商城列表5.关于洪瑞堂") - private Integer jumpType; - - @ApiModelProperty(value = "跳转id") - private String jumpId; + @ApiModelProperty(value = "链接对象1.外部2.内部3.无") + private String targetType; @ApiModelProperty(value = "创建时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtPopGetVo.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtPopGetVo.java new file mode 100644 index 0000000..3dc8690 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtPopGetVo.java @@ -0,0 +1,50 @@ +package com.ruoyi.system.domain.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * @ClassName MgtPopGetVo + * @Description TODO + * @Author jqs + * @Date 2023/6/7 10:27 + * @Version 1.0 + */ +@Data +public class MgtPopGetVo { + + @ApiModelProperty(value = "popId") + private Long popId; + + @ApiModelProperty(value = "pop图片") + private String popUrl; + + @ApiModelProperty(value = "链接类型1.外部2.内部3.无") + private Integer targetType; + + @ApiModelProperty(value = "链接类型1.手动输入2.选择已有") + private Integer linkType; + + @ApiModelProperty(value = "链接地址") + private String linkUrl; + + @ApiModelProperty(value = "跳转类型1.门店详情2.秒杀活动3领券中心4.商城列表5.关于洪瑞堂") + private Integer jumpType; + + @ApiModelProperty(value = "跳转id") + private String jumpId; + + @ApiModelProperty(value = "pop排序") + private String popSort; + + @ApiModelProperty(value = "展示开始时间 yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date showStartTime; + + @ApiModelProperty(value = "展示结束时间 yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date showEndTime; +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtPopPageVo.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtPopPageVo.java new file mode 100644 index 0000000..ff20ad8 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtPopPageVo.java @@ -0,0 +1,39 @@ +package com.ruoyi.system.domain.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * @ClassName MgtBannerEditDto + * @Description TODO + * @Author jqs + * @Date 2023/6/6 14:52 + * @Version 1.0 + */ +@Data +public class MgtPopPageVo { + + @ApiModelProperty(value = "bannerId") + private Long popId; + + @ApiModelProperty(value = "banner图片") + private String popUrl; + + @ApiModelProperty(value = "链接对象1.外部2.内部3.无") + private String targetType; + + @ApiModelProperty(value = "展示开始时间") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date showStartTime; + + @ApiModelProperty(value = "展示结束时间") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date showEndTime; + + @ApiModelProperty(value = "创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createTime; +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/config/PopMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/config/PopMapper.java index d023eb3..3c1c303 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/config/PopMapper.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/config/PopMapper.java @@ -1,7 +1,11 @@ package com.ruoyi.system.mapper.config; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.system.domain.pojo.config.Pop; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.system.domain.vo.MgtPopPageVo; + +import java.util.List; /** * <p> @@ -13,4 +17,13 @@ */ public interface PopMapper extends BaseMapper<Pop> { + + /** + * @description 平台分页获取弹窗广告 + * @author jqs + * @date 2023/6/7 10:08 + * @param page + * @return List<MgtPopPageVo> + */ + List<MgtPopPageVo> pageMgtPop(Page page); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/BannerService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/BannerService.java index b70fde4..43d82ad 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/BannerService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/BannerService.java @@ -2,9 +2,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.system.api.domain.dto.MgtBaseGetDto; import com.ruoyi.system.domain.dto.MgtBannerEditDto; import com.ruoyi.system.domain.pojo.config.Banner; import com.ruoyi.system.domain.vo.AppBannerVo; +import com.ruoyi.system.domain.vo.MgtBannerGetVo; import com.ruoyi.system.domain.vo.MgtBannerPageVo; import java.util.List; @@ -41,4 +43,22 @@ * @return List<MgtBannerPageVo> */ List<MgtBannerPageVo> pageMgtBannerVo(Page page); + + /** + * @description + * @author jqs + * @date 2023/6/7 9:37 + * @param bannerId + * @return MgtBannerGetVo + */ + MgtBannerGetVo getMgtBanner(Long bannerId); + + /** + * @description 删除banner + * @author jqs + * @date 2023/6/7 9:41 + * @param mgtBaseGetDto + * @return void + */ + void deleteBanner(MgtBaseGetDto mgtBaseGetDto); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/PopService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/PopService.java index 3389cff..a4c5b97 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/PopService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/PopService.java @@ -1,7 +1,14 @@ package com.ruoyi.system.service.config; -import com.ruoyi.system.domain.pojo.config.Pop; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.system.api.domain.dto.MgtBaseGetDto; +import com.ruoyi.system.domain.dto.MgtPopEditDto; +import com.ruoyi.system.domain.pojo.config.Pop; +import com.ruoyi.system.domain.vo.MgtPopGetVo; +import com.ruoyi.system.domain.vo.MgtPopPageVo; + +import java.util.List; /** * <p> @@ -13,4 +20,39 @@ */ public interface PopService extends IService<Pop> { + /** + * @description 平台分页获取弹窗广告 + * @author jqs + * @date 2023/6/7 10:08 + * @param page + * @return List<MgtPopPageVo> + */ + List<MgtPopPageVo> pageMgtPop(Page page); + + /** + * @description 平台修改弹窗广告 + * @author jqs + * @date 2023/6/7 10:20 + * @param mgtPopEditDto + * @return void + */ + void editMgtPop(MgtPopEditDto mgtPopEditDto); + + /** + * @description 平台获取弹窗编辑信息 + * @author jqs + * @date 2023/6/7 10:30 + * @param popId + * @return MgtPopGetVo + */ + MgtPopGetVo getMgtPop(Long popId); + + /** + * @description 平台删除弹窗 + * @author jqs + * @date 2023/6/7 10:35 + * @param mgtBaseGetDto + * @return void + */ + void deleteMgtPop(MgtBaseGetDto mgtBaseGetDto); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/BannerServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/BannerServiceImpl.java index ce53732..ba61b9c 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/BannerServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/BannerServiceImpl.java @@ -2,9 +2,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.core.utils.bean.BeanUtils; +import com.ruoyi.system.api.domain.dto.MgtBaseGetDto; import com.ruoyi.system.domain.dto.MgtBannerEditDto; import com.ruoyi.system.domain.pojo.config.Banner; import com.ruoyi.system.domain.vo.AppBannerVo; +import com.ruoyi.system.domain.vo.MgtBannerGetVo; import com.ruoyi.system.domain.vo.MgtBannerPageVo; import com.ruoyi.system.mapper.config.BannerMapper; import com.ruoyi.system.service.config.BannerService; @@ -76,4 +78,33 @@ List<MgtBannerPageVo> mgtBannerPageVoList = bannerMapper.pageMgtBannerVo(page); return mgtBannerPageVoList; } + + /** + * @description + * @author jqs + * @date 2023/6/7 9:37 + * @param bannerId + * @return MgtBannerGetVo + */ + @Override + public MgtBannerGetVo getMgtBanner(Long bannerId){ + Banner banner = this.getById(bannerId); + MgtBannerGetVo mgtBannerGetVo = new MgtBannerGetVo(); + BeanUtils.copyProperties(banner, mgtBannerGetVo); + return mgtBannerGetVo; + } + + /** + * @description 删除banner + * @author jqs + * @date 2023/6/7 9:41 + * @param mgtBaseGetDto + * @return void + */ + @Override + public void deleteBanner(MgtBaseGetDto mgtBaseGetDto){ + Banner banner = this.getById(Long.valueOf(mgtBaseGetDto.getId())); + banner.setDelFlag(1); + this.saveOrUpdate(banner); + } } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/PopServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/PopServiceImpl.java index 21ad3f7..d5f8990 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/PopServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/PopServiceImpl.java @@ -1,10 +1,20 @@ package com.ruoyi.system.service.impl.config; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.utils.bean.BeanUtils; +import com.ruoyi.system.api.domain.dto.MgtBaseGetDto; +import com.ruoyi.system.domain.dto.MgtPopEditDto; import com.ruoyi.system.domain.pojo.config.Pop; +import com.ruoyi.system.domain.vo.MgtPopGetVo; +import com.ruoyi.system.domain.vo.MgtPopPageVo; import com.ruoyi.system.mapper.config.PopMapper; import com.ruoyi.system.service.config.PopService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; /** * <p> @@ -17,4 +27,75 @@ @Service public class PopServiceImpl extends ServiceImpl<PopMapper, Pop> implements PopService { + @Resource + private PopMapper popMapper; + + /** + * @description 平台分页获取弹窗广告 + * @author jqs + * @date 2023/6/7 10:08 + * @param page + * @return List<MgtPopPageVo> + */ + @Override + public List<MgtPopPageVo> pageMgtPop(Page page){ + return popMapper.pageMgtPop(page); + } + + /** + * @description 平台修改弹窗广告 + * @author jqs + * @date 2023/6/7 10:20 + * @param mgtPopEditDto + * @return void + */ + @Override + public void editMgtPop(MgtPopEditDto mgtPopEditDto){ + Pop pop; + // 如果管理弹窗ID不为空,则获取该管理弹窗 + if (mgtPopEditDto.getPopId() != null) { + pop = this.getById(mgtPopEditDto.getPopId()); + } else { + // 否则,创建新的管理弹窗 + pop = new Pop(); + pop.setDelFlag(0); + } + // 将管理弹窗编辑DTO的属性复制到管理弹窗中 + BeanUtils.copyProperties(mgtPopEditDto, pop); + // 设置创建时间和创建者ID + pop.setCreateTime(new Date()); + pop.setCreateUserId(mgtPopEditDto.getPopId()); + // 保存或更新管理弹窗 + this.saveOrUpdate(pop); + } + + /** + * @description 平台获取弹窗编辑信息 + * @author jqs + * @date 2023/6/7 10:30 + * @param popId + * @return MgtPopGetVo + */ + @Override + public MgtPopGetVo getMgtPop(Long popId){ + Pop pop = this.getById(popId); + MgtPopGetVo mgtPopGetVo = new MgtPopGetVo(); + BeanUtils.copyProperties(pop, mgtPopGetVo); + return mgtPopGetVo; + } + + /** + * @description 平台删除弹窗 + * @author jqs + * @date 2023/6/7 10:35 + * @param mgtBaseGetDto + * @return void + */ + @Override + public void deleteMgtPop(MgtBaseGetDto mgtBaseGetDto){ + Pop pop = this.getById(Long.valueOf(mgtBaseGetDto.getId())); + pop.setDelFlag(1); + pop.insertOrUpdate(); + this.saveOrUpdate(pop); + } } diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/BannerMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/BannerMapper.xml index 1de8833..4cf285c 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/BannerMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/BannerMapper.xml @@ -105,6 +105,20 @@ jump_type jumpType, jump_id jumpId FROM t_banner WHERE del_flag = 0 AND banner_position = 1 - ORDER BY create_time ASC + ORDER BY banner_sort DESC,create_time ASC + </select> + + <select id="pageMgtBannerVo" resultType="com.ruoyi.system.domain.vo.MgtBannerPageVo"> + SELECT + banner_id bannerId, + banner_url bannerUrl, + CASE target_type + WHEN 1 THEN "外链" + WHEN 2 THEN "内链" + ELSE "无" + END targetType, + create_time createTime + FROM t_banner WHERE del_flag = 0 + ORDER BY create_time DESC </select> </mapper> diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/PopMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/PopMapper.xml index fba5deb..a8c8600 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/PopMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/PopMapper.xml @@ -95,4 +95,20 @@ </foreach> </delete> + <select id="pageMgtPop" resultType="com.ruoyi.system.domain.vo.MgtPopPageVo"> + SELECT + pop_id popId, + pop_url popUrl, + CASE target_type + WHEN 1 THEN "外链" + WHEN 2 THEN "内链" + ELSE "无" + END targetType, + show_start_time showStartTime, + show_end_time showEndTime, + create_time createTime + FROM t_pop + WHERE del_flag = 0 + ORDER BY create_time DESC + </select> </mapper> diff --git a/ruoyi-modules/ruoyi-system/src/test/java/com/ruoyi/system/systemTest.java b/ruoyi-modules/ruoyi-system/src/test/java/com/ruoyi/system/systemTest.java new file mode 100644 index 0000000..a7689d4 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/test/java/com/ruoyi/system/systemTest.java @@ -0,0 +1,33 @@ +package com.ruoyi.system; + + +import com.ruoyi.system.domain.vo.MgtPopGetVo; +import com.ruoyi.system.service.config.PopService; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; + +/** + * @ClassName systemTest + * @Description TODO + * @Author jqs + * @Date 2023/6/7 10:57 + * @Version 1.0 + */ +@RunWith(SpringJUnit4ClassRunner.class) +@SpringBootTest(classes = RuoYiSystemApplication.class) +public class systemTest { + + @Resource + private PopService popService; + + @Test + public void test1(){ + MgtPopGetVo mgtPopGetVo = popService.getMgtPop(1L); + System.out.println(mgtPopGetVo); + } + +} -- Gitblit v1.7.1