Bläddra i källkod

fix 团队取消显示已取消

Administrator 1 år sedan
förälder
incheckning
13eab6f9b4

+ 9 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/reservat/BomanReservatController.java

@@ -125,6 +125,15 @@ public class BomanReservatController extends BaseController {
         return toAjax(bomanReservatService.deleteBomanReservatByReservatIds(receptionIds));
     }
 
+
+    /**
+     * 陵园预约取消
+     */
+    @GetMapping("/cancel/{receptionIds}")
+    public AjaxResult cancel(@PathVariable Long[] receptionIds) {
+        return toAjax(bomanReservatService.cancel(receptionIds));
+    }
+
     /**
      * 陵园实时参观统计
      */

+ 4 - 4
ruoyi-admin/src/main/resources/application-druid.yml

@@ -21,9 +21,9 @@ spring:
     # redis 配置
     redis:
         # 地址
-        host: 192.168.101.10
+        host: 60.171.161.56
         # 端口,默认为6379
-        port: 6379
+        port: 20001
         # 数据库索引
         database: 2
         # 密码
@@ -46,7 +46,7 @@ spring:
         druid:
             # 主库数据源
             master:
-                url: jdbc:mysql://192.168.101.10:3306/qianshan_cemetery?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+                url: jdbc:mysql://60.171.161.56:25143/qianshan_cemetery?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
                 username: root
                 password: Boman123
             # 从库数据源
@@ -82,7 +82,7 @@ spring:
             webStatFilter: 
                 enabled: true
             statViewServlet:
-                enabled: true
+                enabled: false
                 # 设置白名单,不填则允许所有访问
                 allow:
                 url-pattern: /druid/*

+ 1 - 0
ruoyi-system/src/main/java/com/ruoyi/system/mapper/BomanReservatMapper.java

@@ -43,6 +43,7 @@ public interface BomanReservatMapper
      * @return 结果
      */
     public int updateBomanReservat(BomanReservat bomanReservat);
+    public int cancel(Long[] reservatIds);
 
     /**
      * 删除陵园预约

+ 7 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/IBomanReservatService.java

@@ -61,6 +61,13 @@ public interface IBomanReservatService
      */
     public int deleteBomanReservatByReservatId(Long reservatId);
 
+    /**
+     * 预约取消
+     * @param receptionIds
+     * @return
+     */
+    public int cancel(Long[] receptionIds);
+
     AjaxResult examine(BomanReservat bomanReservat);
 
     /**

+ 46 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BomanReservatServiceImpl.java

@@ -261,6 +261,52 @@ public class BomanReservatServiceImpl implements IBomanReservatService {
         return bomanReservatMapper.deleteBomanReservatByReservatId(reservatId);
     }
 
+    /**
+     * 取消预约
+     * @param reservatIds
+     * @return
+     */
+    @Override
+    public int cancel(Long[] reservatIds) {
+        //取消预约,需要修改redis中的预约人数
+        for (Long reservatId : reservatIds) {
+            BomanReservat bomanReservat = bomanReservatMapper.selectBomanReservatByReservatId(reservatId);
+            Long reservatConfigTimeId = bomanReservat.getReservatConfigTimeId();
+            String reservatType = bomanReservat.getReservatType();
+            if ("1".equals(reservatType)) {
+                //判断是团队需要释放名额
+                String key = Constants.RESERVAT_TEAM + bomanReservat.getVisitDate() + "_" + reservatConfigTimeId;
+                Object reservatTeam = redisCache.getCacheObject(key);
+                if (ObjectUtils.isNotEmpty(reservatTeam)) {
+                    long reservatTeamNew = (long) reservatTeam - 1;
+                    if (reservatTeamNew < 0) {
+                        reservatTeamNew = 0;
+                    }
+                    redisCache.setCacheObject(key, reservatTeamNew, 24, TimeUnit.HOURS);
+                }
+                //判断是不是团队需要接待的续约
+                if ("Y".equals(bomanReservat.getIsReception())) {
+                    String keyPersonnel = Constants.RESERVAT_PERSONNEL_NUM + bomanReservat.getVisitDate() + "_" + reservatConfigTimeId;
+                    redisCache.deleteObject(keyPersonnel);
+                }
+            } else {
+                //散客
+                String visitNum = bomanReservat.getVisitNum();
+                //去redis找对应日期,对应时段id的预约数量 reservat_num:2023-10-10_1
+                String key = Constants.RESERVAT_NUM + bomanReservat.getVisitDate() + "_" + reservatConfigTimeId;
+                Object reservatNum = redisCache.getCacheObject(key);
+                if (ObjectUtils.isNotEmpty(reservatNum)) {
+                    long reservatNumNew = (long) reservatNum - Long.parseLong(visitNum);
+                    if (reservatNumNew < 0) {
+                        reservatNumNew = 0;
+                    }
+                    redisCache.setCacheObject(key, reservatNumNew, 24, TimeUnit.HOURS);
+                }
+            }
+        }
+        return bomanReservatMapper.cancel(reservatIds);
+    }
+
     /**
      * 陵园预约审核
      */

+ 6 - 0
ruoyi-system/src/main/resources/mapper/system/BomanReservatMapper.xml

@@ -188,4 +188,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             #{reservatId}
         </foreach>
     </delete>
+    <update id="cancel" parameterType="Long">
+        update boman_reservat set visit_status = '3' where reservat_id in
+        <foreach item="reservatId" collection="array" open="(" separator="," close=")">
+            #{reservatId}
+        </foreach>
+    </update>
 </mapper>