puhanshu
2022-08-16 43f0578e80af82ecae6c61b51bd0539c6b960603
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/McsGameServiceImpl.java
@@ -2,7 +2,6 @@
import static java.util.Objects.isNull;
import static java.util.Objects.nonNull;
import static org.apache.commons.lang3.StringUtils.isNotEmpty;
import java.util.ArrayList;
import java.util.Date;
@@ -37,9 +36,7 @@
import com.panzhihua.service_community.entity.McsGame;
import com.panzhihua.service_community.entity.McsMerchant;
import com.panzhihua.service_community.service.McsGameService;
import com.panzhihua.service_community.util.NearbyUtil;
import com.panzhihua.service_community.util.QRCodeUtil;
import com.spatial4j.core.shape.Rectangle;
/**
 * (McsGame)表服务实现类
@@ -319,10 +316,11 @@
    /**
     * 戳戳游戏顶部统计数据
     * @param userId
     * @param type
     * @return
     */
    @Override
    public R getTopStatistics(Long userId) {
    public R getTopStatistics(Long userId, Integer type) {
        McsMerchant mcsMerchant = mcsMerchantDAO.selectOne(new QueryWrapper<McsMerchant>().lambda().eq(McsMerchant::getUserId, userId));
        if (isNull(mcsMerchant)) {
            return R.fail("未查询到商家信息");
@@ -333,9 +331,9 @@
            int surplusLitDays = DateUtils.retrieveRemainingDays(mcsMerchant.getExpireAt());
            topStatisticsVO.setSurplusLitDays(surplusLitDays > 0 ? surplusLitDays : 0);
        }
        Integer appliedCount = this.baseMapper.selectAppliedCount(mcsMerchant.getId());
        Integer appliedCount = this.baseMapper.selectAppliedCount(mcsMerchant.getId(), type);
        topStatisticsVO.setAppliedTotal(appliedCount);
        Integer verifiedCount = this.baseMapper.selectVerifiedCount(mcsMerchant.getId());
        Integer verifiedCount = this.baseMapper.selectVerifiedCount(mcsMerchant.getId(), type);
        topStatisticsVO.setVerifiedTotal(verifiedCount);
        Integer publishLimit = mcsMerchant.getPublishLimit();
@@ -392,9 +390,13 @@
            //体验游戏
            Integer awardType = mcsGame.getAwardType();
            if (awardType.equals(1)) {
                mcsCoupon.setAward("免费产品");
                mcsCoupon.setAward("免费领");
            } else if (awardType.equals(2)) {
                mcsCoupon.setAward("产品试用");
            } else if (awardType.equals(3)) {
                mcsCoupon.setAward("消费赠礼");
            } else {
                mcsCoupon.setAward("免费服务");
                mcsCoupon.setAward("优惠券");
            }
        }
        int num = mcsCouponDAO.insert(mcsCoupon);
@@ -421,19 +423,7 @@
        Page page = new Page<>();
        page.setSize(pageMcsGameDTO.getPageSize());
        page.setCurrent(pageMcsGameDTO.getPageNum());
        String lat = pageMcsGameDTO.getLat();
        String lon = pageMcsGameDTO.getLon();
        Integer distance = pageMcsGameDTO.getDistance();
        IPage<McsGameVO> mcsGames;
        if (isNotEmpty(lat) && isNotEmpty(lon) && nonNull(distance)) {
            Rectangle rectangle = new NearbyUtil().getRectangle(pageMcsGameDTO.getDistance(),
                    Double.parseDouble(pageMcsGameDTO.getLon()), Double.parseDouble(pageMcsGameDTO.getLat()));
            mcsGames = this.baseMapper.pageH5McsGame(page, rectangle.getMinX(), rectangle.getMaxX(),
                    rectangle.getMinY(), rectangle.getMaxY(), pageMcsGameDTO);
        } else {
            mcsGames = this.baseMapper.pageH5McsGame(page, null, null, null, null, pageMcsGameDTO);
        }
        IPage<McsGameVO> mcsGames = this.baseMapper.pageH5McsGame(page, pageMcsGameDTO);
        return R.ok(mcsGames);
    }
@@ -446,7 +436,8 @@
    public R getMcsGame(Long gameId) {
        McsGameVO mcsGameVO = this.baseMapper.selectDetailById(gameId);
        Integer gameCount = this.baseMapper.selectCount(new QueryWrapper<McsGame>().lambda()
                .eq(McsGame::getMerchantId, mcsGameVO.getMerchantId()).eq(McsGame::getStatus, McsGame.Status.jxz).eq(McsGame::getIsDel, false));
                .eq(McsGame::getMerchantId, mcsGameVO.getMerchantId()).eq(McsGame::getStatus, McsGame.Status.jxz)
                .eq(McsGame::getType, mcsGameVO.getType()).eq(McsGame::getIsDel, false));
        mcsGameVO.setGameCount(gameCount);
        return R.ok(mcsGameVO);
    }