jiangqs
2023-06-07 bdc5a18e1715b6d0c7cc19da1a5d602de1f26893
基础配置 增加测试类配置
16个文件已修改
6个文件已添加
673 ■■■■■ 已修改文件
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MgtBaseGetDto.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/annotation/EnableCustomConfig.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/config/AsyncConfig.java 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/goods/GoodsServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/pom.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/pom.xml 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/management/MgtConfigController.java 76 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtBannerEditDto.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtPopEditDto.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/pojo/config/Banner.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtBannerGetVo.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtBannerPageVo.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtPopGetVo.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtPopPageVo.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/config/PopMapper.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/BannerService.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/PopService.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/BannerServiceImpl.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/PopServiceImpl.java 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/BannerMapper.xml 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/PopMapper.xml 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/test/java/com/ruoyi/system/systemTest.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
}
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)
ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/config/AsyncConfig.java
New file
@@ -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());
            }
        };
    }
}
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;
ruoyi-modules/ruoyi-order/pom.xml
@@ -107,7 +107,6 @@
            <version>0.2.7</version>
        </dependency>
    </dependencies>
    <build>
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>
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();
    }
}
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;
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtPopEditDto.java
New file
@@ -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;
}
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")
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtBannerGetVo.java
New file
@@ -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;
}
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")
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtPopGetVo.java
New file
@@ -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;
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtPopPageVo.java
New file
@@ -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;
}
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);
}
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);
}
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);
}
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);
    }
}
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);
    }
}
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>
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>
ruoyi-modules/ruoyi-system/src/test/java/com/ruoyi/system/systemTest.java
New file
@@ -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);
    }
}