From cf9cf52301dcf206ab15cc239c41752f0984be0f Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期三, 05 十一月 2025 17:41:29 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/2.0' into 2.0

---
 cloud-server-activity/src/main/java/com/dsh/activity/controller/UserCouponController.java |   39 +++++++++++++++++--
 cloud-server-other/src/main/java/com/dsh/other/controller/CodeCallBackController.java     |   37 ++++++++++++++----
 cloud-server-other/src/main/java/com/dsh/other/feignclient/activity/UserCouponClient.java |   10 ++++
 3 files changed, 73 insertions(+), 13 deletions(-)

diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/UserCouponController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/UserCouponController.java
index b1f1fcb..0066308 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/controller/UserCouponController.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/UserCouponController.java
@@ -5,6 +5,7 @@
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.dsh.activity.entity.*;
 import com.dsh.activity.feignclient.account.AppUserClient;
 import com.dsh.activity.feignclient.account.StudentClient;
@@ -17,10 +18,7 @@
 import com.dsh.activity.model.CouponListVo;
 import com.dsh.activity.model.GrantCoupon;
 import com.dsh.activity.model.SendCouponReq;
-import com.dsh.activity.service.CouponStoreService;
-import com.dsh.activity.service.ICouponService;
-import com.dsh.activity.service.UserCouponService;
-import com.dsh.activity.service.VipDetailService;
+import com.dsh.activity.service.*;
 import com.dsh.activity.util.DateUtil;
 import com.dsh.activity.util.ResultUtil;
 import com.dsh.activity.util.TokenUtil;
@@ -51,6 +49,9 @@
 
     @Autowired
     private UserCouponService userCouponService;
+    @Autowired
+    private UserPointsMerchandiseService userPointsMerchandiseService;
+
 
     @Autowired
     private CouponStoreService csServie;
@@ -202,6 +203,36 @@
             return null;
         }
     }
+    /**
+     * 根据id修改门票使用状态
+     *
+     * @param id
+     * @return
+     */
+    @PostMapping("/userCoupon/changeTicketStatus")
+    @ResponseBody
+    public void changeTicketStatus(String id){
+        if (id.length()<=11){
+            // 购买会员赠送的门票
+            VipDetail vipDetail = vipDetailService.getById(Integer.valueOf(id));
+            if (vipDetail!=null){
+                vipDetail.setStatus(2);
+                vipDetailService.updateById(vipDetail);
+            }else{
+                System.err.println("未查询到会员权益门票数据"+ id);
+            }
+        }else{
+            // 积分商城门票
+            UserPointsMerchandise userPointsMerchandise = userPointsMerchandiseService.getById(Long.valueOf(id));
+            if (userPointsMerchandise!=null){
+                userPointsMerchandise.setStatus(2);
+                userPointsMerchandiseService.updateById(userPointsMerchandise);
+            }else{
+                System.err.println("未查询到积分商城门票数据"+ id);
+            }
+        }
+
+    }
 
     @ResponseBody
     @PostMapping("/userCoupon/queryUserCouponById1")
diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/CodeCallBackController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/CodeCallBackController.java
index 4487ef8..81604b3 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/controller/CodeCallBackController.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/controller/CodeCallBackController.java
@@ -1,6 +1,7 @@
 package com.dsh.other.controller;
 
 import com.dsh.other.entity.SiteBooking;
+import com.dsh.other.feignclient.activity.UserCouponClient;
 import com.dsh.other.model.QuerySiteTimes;
 import com.dsh.other.service.ISiteBookingService;
 import com.dsh.other.service.ISiteService;
@@ -33,12 +34,14 @@
     private ISiteBookingService siteBookingService;
     @Autowired
     private ISiteService siteService;
+    @Autowired
+    private UserCouponClient userCouponClient;
     // 进场二维码新增参数codeType 1=订场 2=散客,3=门票,玩湃惠民卡codeType=4
     /**
      * 硬件开门后回调 是否可进场检查接口 sid门店id rid场地id
      */
     @GetMapping("/verify")
-    public ResultUtil verify(Integer codeType,Integer dataId, Integer rid, Integer sid) throws Exception {
+    public ResultUtil verify(Integer codeType,String dataId, Integer rid, Integer sid) throws Exception {
         System.err.println("硬件开门后回调 校验是否可入场");
         System.err.println("codeType:"+codeType);
         System.err.println("dataId:"+dataId);
@@ -49,7 +52,7 @@
         // codeType二维码类型1=订场 2=散客,3=门票,玩湃惠民卡codeType=4 234需要校验能否进场
         if (codeType==1 || codeType==2){
             // 将订单设置为已核销
-            SiteBooking siteBooking = siteBookingService.getById(dataId);
+            SiteBooking siteBooking = siteBookingService.getById(Integer.valueOf(dataId));
             if (siteBooking==null){
                 System.err.println("未查询到订场记录"+dataId);
                 System.err.println("codeType"+codeType);
@@ -65,15 +68,36 @@
             LocalDate now = LocalDate.now();
             Date date1 = new Date();
             SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
-            SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
             String day = simpleDateFormat.format(now);
-            String nowDate = simpleDateFormat.format(date1);
 
             List<QuerySiteTimes> querySiteTimes = siteService.querySiteTimes(rid, day, null, null, 2);
             Integer flag =0;
             for (QuerySiteTimes querySiteTime : querySiteTimes) {
                 if (querySiteTime.getSelectable()==1){
-                    //
+                    flag = 1;
+                    break;
+                }
+            }
+            if (flag==0){
+                return ResultUtil.error("该时间段已无空位");
+            }else{
+                // 远程调用 将门票设置为已使用
+                userCouponClient.changeTicketStatus(dataId);
+                return ResultUtil.success();
+            }
+        }
+        if (codeType==4){
+            //  判断是否能入场 远程调用将门票设置为已使用
+            LocalDate now = LocalDate.now();
+            Date date1 = new Date();
+            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+            String day = simpleDateFormat.format(now);
+            List<QuerySiteTimes> querySiteTimes = siteService.querySiteTimes(rid, day, null, null, 2);
+            Integer flag =0;
+            for (QuerySiteTimes querySiteTime : querySiteTimes) {
+                if (querySiteTime.getSelectable()==1){
+                    flag = 1;
+                    break;
                 }
             }
             if (flag==0){
@@ -81,9 +105,6 @@
             }else{
                 return ResultUtil.success();
             }
-        }
-        if (codeType==4){
-            // 判断能否入场
         }
 
         return ResultUtil.success();
diff --git a/cloud-server-other/src/main/java/com/dsh/other/feignclient/activity/UserCouponClient.java b/cloud-server-other/src/main/java/com/dsh/other/feignclient/activity/UserCouponClient.java
index 6fc7831..9a2644c 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/feignclient/activity/UserCouponClient.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/feignclient/activity/UserCouponClient.java
@@ -1,5 +1,6 @@
 package com.dsh.other.feignclient.activity;
 
+import com.dsh.other.feignclient.activity.model.Coupon;
 import com.dsh.other.feignclient.activity.model.QueryUserCouponByIdAndUserId;
 import com.dsh.other.feignclient.activity.model.UserCoupon;
 import org.springframework.cloud.openfeign.FeignClient;
@@ -12,7 +13,14 @@
 @FeignClient("mb-cloud-activity")
 public interface UserCouponClient {
 
-
+    /**
+     * 根据id修改门票使用状态
+     *
+     * @param id
+     * @return
+     */
+    @PostMapping("/userCoupon/changeTicketStatus")
+    void changeTicketStatus(String id);
     /**
      * 根据id获取用户优惠券数据
      *

--
Gitblit v1.7.1