From 7d713ee9213f4c4c88fbbea73a4e36c0b7801c92 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Wed, 25 Aug 2021 16:05:36 +0800
Subject: [PATCH] Merge branch 'score-shop' of http://120.27.238.55:7000/r/xzx into score-shop

---
 gc-sys/src/main/resources/mapper/system/BannerMapper.xml                       |   10 ++++++++++
 gc-sys/src/main/java/com/xzx/gc/system/controller/ApiBannerNewsController.java |    2 +-
 gc-sys/src/main/java/com/xzx/gc/system/mapper/BannerMapper.java                |    3 +++
 gc-shop/src/main/resources/sql                                                 |   15 ++++++++++++++-
 gc-sys/src/main/resources/mapper/system/SysPopupMapper.xml                     |    5 +++++
 gc-sys/src/main/resources/mapper/system/SysNewsMapper.xml                      |    2 +-
 gc-sys/src/main/java/com/xzx/gc/system/controller/AdminBannerController.java   |   20 ++++++++++++++++++++
 7 files changed, 54 insertions(+), 3 deletions(-)

diff --git a/gc-shop/src/main/resources/sql b/gc-shop/src/main/resources/sql
index 6d65312..0ae06e8 100644
--- a/gc-shop/src/main/resources/sql
+++ b/gc-shop/src/main/resources/sql
@@ -80,7 +80,20 @@
 MODIFY COLUMN `rule_type`  varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '规则类型:1:红包规则,2:分享分利规则 3阶梯 4推广 5重量返利  7提成 8提佣 9积分规则 10邀请奖励规则' AFTER `share_ratio`;
 
 
-
+CREATE TABLE `xzx_sys_popup` (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT,
+  `area` int(11) DEFAULT NULL COMMENT '广告区域 1:首页2:其他',
+  `name` varchar(100) DEFAULT NULL COMMENT '广告名称',
+  `aims` int(11) DEFAULT NULL COMMENT '弹窗人群:1:新用戶 2:老用戶',
+  `rules` int(11) DEFAULT NULL COMMENT '弹窗规则:1:每日首次登录 2:每次登录',
+  `is_out` int(11) DEFAULT NULL COMMENT '是否跳转 1:是 2:否',
+  `out_text` varchar(500) DEFAULT NULL COMMENT '内容链接',
+  `start_time` varchar(100) DEFAULT NULL COMMENT '开始日期',
+  `end_time` varchar(100) DEFAULT NULL COMMENT '结束日期',
+  `img` varchar(500) DEFAULT NULL COMMENT '上传图片',
+  `state` int(11) DEFAULT NULL COMMENT '是否上架 1:是2:否',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COMMENT='首页弹窗表';
 
 
 
diff --git a/gc-sys/src/main/java/com/xzx/gc/system/controller/AdminBannerController.java b/gc-sys/src/main/java/com/xzx/gc/system/controller/AdminBannerController.java
index bf1d9a1..292bb97 100644
--- a/gc-sys/src/main/java/com/xzx/gc/system/controller/AdminBannerController.java
+++ b/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();
diff --git a/gc-sys/src/main/java/com/xzx/gc/system/controller/ApiBannerNewsController.java b/gc-sys/src/main/java/com/xzx/gc/system/controller/ApiBannerNewsController.java
index 8dcb3a5..36bcd98 100644
--- a/gc-sys/src/main/java/com/xzx/gc/system/controller/ApiBannerNewsController.java
+++ b/gc-sys/src/main/java/com/xzx/gc/system/controller/ApiBannerNewsController.java
@@ -67,7 +67,7 @@
     @ApiResponses({
             @ApiResponse(code = 200, message = "success", response = ApiSysPopupVo.class)
     })
-    @PostMapping(value = "/news/newsInfo")
+    @PostMapping(value = "/news/sysPopupInfo")
     public JsonResult<ApiSysPopupVo> sysPopupInfo(@RequestBody ApiSysPopupDto apiSysPopupDto, HttpServletRequest request) {
         apiSysPopupDto.setUserId(getUserId(request));
         return JsonResult.success(sysNewsService.sysPopupInfo(apiSysPopupDto));
diff --git a/gc-sys/src/main/java/com/xzx/gc/system/mapper/BannerMapper.java b/gc-sys/src/main/java/com/xzx/gc/system/mapper/BannerMapper.java
index 2b26886..0123661 100644
--- a/gc-sys/src/main/java/com/xzx/gc/system/mapper/BannerMapper.java
+++ b/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);
 }
 
diff --git a/gc-sys/src/main/resources/mapper/system/BannerMapper.xml b/gc-sys/src/main/resources/mapper/system/BannerMapper.xml
index f28d982..c61f8ec 100644
--- a/gc-sys/src/main/resources/mapper/system/BannerMapper.xml
+++ b/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} &lt;= end_time)
+            or (#{endTime} >= start_time and #{endTime} &lt;= end_time)
+            or (#{startTime} &lt;= start_time and #{endTime} >= end_time))
+    </select>
 </mapper>
\ No newline at end of file
diff --git a/gc-sys/src/main/resources/mapper/system/SysNewsMapper.xml b/gc-sys/src/main/resources/mapper/system/SysNewsMapper.xml
index 7a5adff..f510ed9 100644
--- a/gc-sys/src/main/resources/mapper/system/SysNewsMapper.xml
+++ b/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 &gt;= #{format}
-           and and  start_time &lt;= #{format}
+           and  start_time &lt;= #{format}
     </select>
 
 
diff --git a/gc-sys/src/main/resources/mapper/system/SysPopupMapper.xml b/gc-sys/src/main/resources/mapper/system/SysPopupMapper.xml
new file mode 100644
index 0000000..684d41e
--- /dev/null
+++ b/gc-sys/src/main/resources/mapper/system/SysPopupMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.xzx.gc.system.mapper.SysPopupMapper">
+
+</mapper>

--
Gitblit v1.9.1