gc-sys/src/main/java/com/xzx/gc/system/controller/AdminBannerController.java
@@ -1,11 +1,15 @@ package com.xzx.gc.system.controller; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.xzx.gc.common.constant.CommonEnum; import com.xzx.gc.common.constant.Constants; import com.xzx.gc.common.dto.log.OperationAppLog; import com.xzx.gc.common.request.BaseController; import com.xzx.gc.entity.BannerInfo; import com.xzx.gc.entity.SysPopup; import com.xzx.gc.model.JsonResult; import com.xzx.gc.system.dto.*; import com.xzx.gc.system.mapper.BannerMapper; @@ -25,7 +29,10 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import java.util.Map; @RestController @@ -105,6 +112,19 @@ if(ObjectUtil.isEmpty(sysPopupListVo)){ return JsonResult.failMessage("当前记录不存在!"); } Integer state = model.getStatus(); String startTime = sysPopupListVo.getStartTime(); String endTime = sysPopupListVo.getEndTime(); DateTime dateTime = DateUtil.parseDate(endTime); int compare = DateUtil.compare(DateUtil.date(), dateTime); if(1 == state && compare > 0){ return JsonResult.failMessage("首页弹窗已过期!"); } List<SysPopup> sysPopups = bannerMapper.selectSysPopupBystate(1,startTime,endTime); if(1 == state && CollUtil.isNotEmpty(sysPopups)){ return JsonResult.failMessage("当前时间段已有上架首页弹窗!"); } bannerService.onOffSysPopup(model); OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request)) .methodName(Constants.SCORESHOP_MODUL_NAME).operateAction("首页弹窗--上下架-" + id).build(); gc-sys/src/main/java/com/xzx/gc/system/mapper/BannerMapper.java
@@ -1,6 +1,7 @@ package com.xzx.gc.system.mapper; import com.xzx.gc.entity.BannerInfo; import com.xzx.gc.entity.SysPopup; import com.xzx.gc.model.admin.BannerModel; import com.xzx.gc.model.system.ConfigInfoVo; import com.xzx.gc.system.dto.SysBannerListDto; @@ -71,5 +72,7 @@ @Param("startTime")String startTime, @Param("endTime")String endTime, @Param("img")String img); void updateSysPopupStatusById(@Param("id")long id, @Param("state")Integer state); List<SysPopup> selectSysPopupBystate(@Param("state")int i,@Param("startTime")String startTime,@Param("endTime")String endTime); } gc-sys/src/main/resources/mapper/system/BannerMapper.xml
@@ -165,4 +165,14 @@ set state = #{state} where id = #{id} </update> <select id="selectSysPopupBystate" resultType="com.xzx.gc.entity.SysPopup"> select * from xzx_sys_popup where state = #{state} and ((#{startTime} >= start_time and #{startTime} <= end_time) or (#{endTime} >= start_time and #{endTime} <= end_time) or (#{startTime} <= start_time and #{endTime} >= end_time)) </select> </mapper> gc-sys/src/main/resources/mapper/system/SysNewsMapper.xml
@@ -52,7 +52,7 @@ <select id="selectSysPopupInfo" resultType="com.xzx.gc.system.vo.ApiSysPopupVo"> select * from xzx_sys_popup where end_time >= #{format} and and start_time <= #{format} and start_time <= #{format} </select>