From 70d2a5d0f9c6951b2d4cac954041ed73582ff7eb Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期一, 09 六月 2025 11:54:00 +0800
Subject: [PATCH] 6.9新增登录失败冻结逻辑

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/McsCouponServiceImpl.java |   47 +++++++++++++++++++++++++++++++++++------------
 1 files changed, 35 insertions(+), 12 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/McsCouponServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/McsCouponServiceImpl.java
index 6f49450..b18c0a2 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/McsCouponServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/McsCouponServiceImpl.java
@@ -4,13 +4,16 @@
 import java.util.List;
 
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.panzhihua.common.model.vos.LoginUserInfoVO;
 import com.panzhihua.common.model.vos.community.microCommercialStreet.GameStatisticsVO;
 import com.panzhihua.common.model.vos.community.microCommercialStreet.VerifiedReturnVO;
 import com.panzhihua.common.service.user.UserService;
 import com.panzhihua.service_community.dao.McsGameDAO;
+import com.panzhihua.service_community.dao.McsMerchantDAO;
 import com.panzhihua.service_community.dao.McsVerifiedRecordDAO;
 import com.panzhihua.service_community.entity.McsGame;
+import com.panzhihua.service_community.entity.McsMerchant;
 import com.panzhihua.service_community.entity.McsVerifiedRecord;
 import org.springframework.stereotype.Service;
 
@@ -45,6 +48,8 @@
     private McsGameDAO mcsGameDAO;
     @Resource
     private UserService userService;
+    @Resource
+    private McsMerchantDAO mcsMerchantDAO;
 
     /**
      * 我的戳戳卷
@@ -77,23 +82,47 @@
     /**
      * 戳戳卷核销
      * @param couponId
+     * @param userId
      * @return
      */
     @Override
-    public R verifyMcsCoupon(Long couponId) {
+    public R verifyMcsCoupon(Long couponId, Long userId) {
         McsCoupon mcsCoupon = this.baseMapper.selectById(couponId);
-        if (isNull(mcsCoupon) || mcsCoupon.getIsVerified()) {
-            return R.fail("无效卷码");
+        if (isNull(mcsCoupon)) {
+            return R.fail("无效券码");
+        }
+        McsGame mcsGame = mcsGameDAO.selectById(mcsCoupon.getGameId());
+        if (isNull(mcsGame)) {
+            return R.fail("资源不存在");
+        }
+        McsMerchant mcsMerchant = mcsMerchantDAO.selectById(mcsGame.getMerchantId());
+        if (isNull(mcsMerchant)) {
+            return R.fail("资源不存在");
+        }
+        if (!mcsMerchant.getUserId().equals(userId)) {
+            return R.fail("限指定商家核验");
+        }
+        if (mcsCoupon.getIsVerified()) {
+            return R.fail("该券已核销");
         }
         Date nowDate = new Date();
-        McsGame mcsGame = mcsGameDAO.selectById(mcsCoupon.getGameId());
-        if (isNull(mcsGame) || mcsGame.getExpireAt().before(nowDate)) {
+        if (mcsGame.getExpireAt().before(nowDate)) {
             return R.fail("已过期");
+        }
+        R<LoginUserInfoVO> userInfoVOR = userService.getUserInfoByUserId(mcsCoupon.getUserId().toString());
+        String nickName;
+        if (R.isOk(userInfoVOR) && nonNull(userInfoVOR.getData())) {
+            LoginUserInfoVO loginUserInfoVO = JSONObject.parseObject(JSONObject.toJSONString(userInfoVOR.getData()), LoginUserInfoVO.class);
+            nickName = loginUserInfoVO.getName();
+        } else {
+            nickName = "默认昵称";
         }
         McsVerifiedRecord mcsVerifiedRecord = new McsVerifiedRecord();
         mcsVerifiedRecord.setCouponId(couponId);
         mcsVerifiedRecord.setAward(mcsCoupon.getAward());
         mcsVerifiedRecord.setName(mcsGame.getName());
+        mcsVerifiedRecord.setNickName(nickName);
+        mcsVerifiedRecord.setGameId(mcsGame.getId());
         mcsVerifiedRecord.setMerchantId(mcsGame.getMerchantId());
         int num = mcsVerifiedRecordDAO.insert(mcsVerifiedRecord);
         if (num > 0) {
@@ -105,13 +134,7 @@
             verifiedReturnVO.setCouponId(couponId);
             verifiedReturnVO.setCover(mcsGame.getCover());
             verifiedReturnVO.setGameName(mcsGame.getName());
-            R<LoginUserInfoVO> userInfoVOR = userService.getUserInfoByUserId(mcsCoupon.getUserId().toString());
-            if (R.isOk(userInfoVOR) && nonNull(userInfoVOR.getData())) {
-                LoginUserInfoVO loginUserInfoVO = JSONObject.parseObject(JSONObject.toJSONString(userInfoVOR.getData()), LoginUserInfoVO.class);
-                verifiedReturnVO.setNickName(loginUserInfoVO.getNickName());
-            } else {
-                verifiedReturnVO.setNickName("默认昵称");
-            }
+            verifiedReturnVO.setNickName(nickName);
             verifiedReturnVO.setVerifiedAt(nowDate);
             return R.ok(verifiedReturnVO);
         }

--
Gitblit v1.7.1