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); } }