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