puhanshu
2021-09-18 5006b1ba2452c4fb487fdd48746ad8a9b8fce640
修复议事投票小程序bug
2个文件已修改
21 ■■■■■ 已修改文件
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActDiscussServiceImpl.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActDiscussDOMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActDiscussServiceImpl.java
@@ -597,12 +597,14 @@
        IPage<ComActDiscussVO> iPage = comActDiscussDAO.pageDiscussApplets(page, pageComActDiscussDTO);
        List<ComActDiscussVO> records = iPage.getRecords();
        if (!ObjectUtils.isEmpty(records)) {
            List<String> viewNumKeys = new ArrayList<>();
            records.forEach(comActDiscussVO -> {
                Integer type = comActDiscussVO.getType();
                Long id = comActDiscussVO.getId();
                String viewNumKey = String.join("_", DISCUSS_VIEW_NUM_PREFIX, id.toString());
                viewNumKeys.add(viewNumKey);
                if (stringRedisTemplate.hasKey(viewNumKey)) {
                    ValueOperations<String, String> opsForValue = stringRedisTemplate.opsForValue();
                    comActDiscussVO.setViewsNum(Integer.parseInt(opsForValue.get(viewNumKey)));
                }
                if (type.equals(2)) {
                    List<ComActDiscussOptionDO> comActDiscussOptionDOS = comActDiscussOptionDAO.selectList(
                            new QueryWrapper<ComActDiscussOptionDO>().lambda().eq(ComActDiscussOptionDO::getDiscussId, id));
@@ -666,17 +668,6 @@
                    comActDiscussVO.setHaveVote(haveVote > 0 ? 1 : 0);
                }
            });
            ValueOperations opsForValue = stringRedisTemplate.opsForValue();
            List<String> viewNumList = opsForValue.multiGet(viewNumKeys);
            for (ComActDiscussVO discussVO : records) {
                try {
                    discussVO.setViewsNum(Integer.parseInt(viewNumList.get(0)));
                    viewNumList.remove(0);
                } catch (IndexOutOfBoundsException e) {
                    //数据存在异常了,跳过,继续执行正确的
                    continue;
                }
            }
        }
        return R.ok(iPage);
    }
@@ -904,9 +895,11 @@
            comActDiscussVO.setHaveVote(comActDiscussVO1.getHaveVote());
        }
        String viewNumKey = String.join("_", DISCUSS_VIEW_NUM_PREFIX, id.toString());
        if (stringRedisTemplate.hasKey(viewNumKey)) {
        ValueOperations opsForValue = stringRedisTemplate.opsForValue();
        int viewNum = Integer.parseInt((String) opsForValue.get(viewNumKey));
        comActDiscussVO.setViewsNum(viewNum);
        }
        return R.ok(comActDiscussVO);
    }
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActDiscussDOMapper.xml
@@ -159,7 +159,7 @@
    <select id="pageDiscussApplets" resultType="com.panzhihua.common.model.vos.community.ComActDiscussVO">
        SELECT t.* FROM (
            SELECT d.id, d.vote_title, if(d.address IS NULL OR d.address='null',a.name,d.address )address, d.photo_pah,
                d.`discuss_subject`, d.type, d.end_time, d.status, d.join_num, d.fabulous_num AS signNum,
                d.`discuss_subject`, d.type, d.end_time, d.status, d.views_num, d.join_num, d.fabulous_num AS signNum,
                d.comment_num AS commentNum, d.release_at, d.img_width, d.img_height, d.is_repeat, d.count, u.type AS userType, if(u.type=1,u.name,a.name) userName,
                if(u.type=1,u.nick_name,a.name) userNickName,
                <if test='pageComActDiscussDTO.loginUserId != null '>