From 743e8cf5c858f77c7a5fbebbf90ad7dfabc26fb9 Mon Sep 17 00:00:00 2001
From: yanghui <2536613402@qq.com>
Date: 星期二, 29 十一月 2022 15:01:33 +0800
Subject: [PATCH] Merge branch 'local_20221104' into huacheng_test
---
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