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