puhanshu
2022-01-11 af8cd7db30e347bf4a9d4753e352abe9106bdb09
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,10 +82,16 @@
    /**
     * 戳戳卷核销
     * @param couponId
     * @param userId
     * @return
     */
    @Override
    public R verifyMcsCoupon(Long couponId) {
    public R verifyMcsCoupon(Long couponId, Long userId) {
        McsMerchant mcsMerchant = mcsMerchantDAO.selectOne(new QueryWrapper<McsMerchant>().lambda()
                .eq(McsMerchant::getUserId, userId).eq(McsMerchant::getIsDel, false));
        if (isNull(mcsMerchant) || !mcsMerchant.getUserId().equals(userId)) {
            return R.fail("限指定商家核验");
        }
        McsCoupon mcsCoupon = this.baseMapper.selectById(couponId);
        if (isNull(mcsCoupon) || mcsCoupon.getIsVerified()) {
            return R.fail("无效卷码");
@@ -90,10 +101,20 @@
        if (isNull(mcsGame) || 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 +126,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);
        }