puhanshu
2022-08-04 99409fcaa1d90230f0e5a4fc5d148c6d9e5554e5
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActIntegralUserServiceImpl.java
@@ -34,6 +34,9 @@
import lombok.extern.slf4j.Slf4j;
import static java.util.Objects.isNull;
import static java.util.Objects.nonNull;
/**
 * @auther lyq
 * @create 2021-07-28 16:02:57
@@ -126,7 +129,7 @@
    }
    /**
     * 小程序-查询用户积分列表
     * 小程序-积分统计
     * 
     * @param userId
     *            用户id
@@ -134,8 +137,6 @@
     */
    @Override
    public R getIntegralUserListApplets(Long userId, Long communityId) {
        ComActIntegralUserVO integralUserVO = new ComActIntegralUserVO();
        Integer amount = 0;
        // 查询该用户在本社区下的积分账户是否存在,不存在则需要给用户创建
        ComActIntegralUserDO integralUserDO =
            this.baseMapper.selectOne(new QueryWrapper<ComActIntegralUserDO>().lambda()
@@ -147,28 +148,12 @@
            integralUserDO.setCreateAt(new Date());
            this.baseMapper.insert(integralUserDO);
        }
        // 查询用户积分账户列表
        List<ComActIntegralUserListVO> integralUserList = this.baseMapper.getIntegralUserListApplets(userId);
        if (!integralUserList.isEmpty()) {
            for (ComActIntegralUserListVO integralUser : integralUserList) {
                // 查询用户在本社区积分排行
                IntegralUserRankVO userRank =
                    this.baseMapper.getIntegralUserRank(integralUser.getCommunityId(), userId);
                if (userRank != null) {
                    integralUser.setRank(userRank.getRank());
                    amount += integralUser.getAmount();
                }
            }
        ComActIntegralUserVO integralUserVO = this.baseMapper.getUserIntegralStatistics(userId, communityId);
        if (isNull(communityId)) {
            // 各社区已获积分统计
            List<ComActIntegralUserListVO> integralUserList = this.baseMapper.getIntegralUserListApplets(userId);
            integralUserVO.setIntegralUserList(integralUserList);
        }
        // 查询用户绑定社区名字
        ComActDO actDO = comActDAO.selectById(communityId);
        if (actDO != null) {
            integralUserVO.setCommunityName(actDO.getName());
        }
        integralUserVO.setAmount(amount);
        integralUserVO.setIntegralUserList(integralUserList);
        return R.ok(integralUserVO);
    }
@@ -196,4 +181,37 @@
    public R getTaskActivityPeopleList(Long activityId) {
        return R.ok(this.baseMapper.getTaskActivityPeopleList(activityId));
    }
    @Override
    public R getUserIntegralBalance(Long userId, Long communityId) {
        ComActIntegralUserVO integralUserVO = new ComActIntegralUserVO();
        // 查询该用户在本社区下的积分账户是否存在,不存在则需要给用户创建
        ComActIntegralUserDO integralUserDO =
                this.baseMapper.selectOne(new QueryWrapper<ComActIntegralUserDO>().lambda()
                        .eq(ComActIntegralUserDO::getCommunityId, communityId).eq(ComActIntegralUserDO::getUserId, userId));
        if (integralUserDO == null) {
            integralUserDO = new ComActIntegralUserDO();
            integralUserDO.setCommunityId(communityId);
            integralUserDO.setUserId(userId);
            integralUserDO.setCreateAt(new Date());
            this.baseMapper.insert(integralUserDO);
        }
        // 查询用户绑定社区名字
        ComActDO actDO = comActDAO.selectById(communityId);
        if (actDO != null) {
            integralUserVO.setCommunityName(actDO.getName());
        }
        integralUserVO.setAmount(integralUserDO.getIntegralSum());
        return R.ok(integralUserVO);
    }
    /**
     * 获取积分详情
     * @param id
     * @return
     */
    @Override
    public R getUserIntegralDetail(Long id) {
        return comActIntegralUserTradeService.getUserIntegralDetail(id);
    }
}