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 | 138 +++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 137 insertions(+), 1 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 f52da70..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 @@ -1,10 +1,37 @@ package com.panzhihua.service_community.service.impl; +import java.util.Date; +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; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.panzhihua.common.model.dtos.community.microCommercialStreet.PageJoinGameListDTO; +import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.model.vos.community.microCommercialStreet.McsCouponVO; +import com.panzhihua.common.model.vos.community.microCommercialStreet.MyCouponVO; import com.panzhihua.service_community.dao.McsCouponDAO; import com.panzhihua.service_community.entity.McsCoupon; import com.panzhihua.service_community.service.McsCouponService; -import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +import static java.util.Objects.isNull; +import static java.util.Objects.nonNull; /** * (McsCoupon)表服务实现类 @@ -15,4 +42,113 @@ @Service("mcsCouponService") public class McsCouponServiceImpl extends ServiceImpl<McsCouponDAO, McsCoupon> implements McsCouponService { + @Resource + private McsVerifiedRecordDAO mcsVerifiedRecordDAO; + @Resource + private McsGameDAO mcsGameDAO; + @Resource + private UserService userService; + @Resource + private McsMerchantDAO mcsMerchantDAO; + + /** + * 我的戳戳卷 + * @return + * @param type + * @param userId + */ + @Override + public R getMyCoupon(Integer type, Long userId) { + MyCouponVO myCouponVO = this.baseMapper.getMyCouponData(userId); + List<McsCouponVO> mcsCoupons = this.baseMapper.getCouponList(type, userId); + myCouponVO.setCouponList(mcsCoupons); + return R.ok(myCouponVO); + } + + /** + * 我的评价-参与游戏列表 + * @param pageJoinGameListDTO + * @return + */ + @Override + public R getJoinGameList(PageJoinGameListDTO pageJoinGameListDTO) { + Page page = new Page<>(); + page.setSize(pageJoinGameListDTO.getPageSize()); + page.setCurrent(pageJoinGameListDTO.getPageNum()); + IPage<McsCouponVO> mcsCoupons = this.baseMapper.pageJoinGameList(page, pageJoinGameListDTO); + return R.ok(mcsCoupons); + } + + /** + * 戳戳卷核销 + * @param couponId + * @param userId + * @return + */ + @Override + public R verifyMcsCoupon(Long couponId, Long userId) { + McsCoupon mcsCoupon = this.baseMapper.selectById(couponId); + 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(); + 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) { + mcsCoupon.setIsVerified(true); + this.baseMapper.updateById(mcsCoupon); + VerifiedReturnVO verifiedReturnVO = new VerifiedReturnVO(); + verifiedReturnVO.setAward(mcsCoupon.getAward()); + verifiedReturnVO.setAwardType(mcsGame.getAwardType()); + verifiedReturnVO.setCouponId(couponId); + verifiedReturnVO.setCover(mcsGame.getCover()); + verifiedReturnVO.setGameName(mcsGame.getName()); + verifiedReturnVO.setNickName(nickName); + verifiedReturnVO.setVerifiedAt(nowDate); + return R.ok(verifiedReturnVO); + } + return R.fail("核验失败,请重试"); + } + + /** + * 游戏统计 + * @param userId + * @return + */ + @Override + public R getMcsGameStatistics(Long userId) { + GameStatisticsVO gameStatisticsVO = this.baseMapper.getMcsGameStatistics(userId); + return R.ok(gameStatisticsVO); + } } -- Gitblit v1.7.1