package com.panzhihua.service_community.dao; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.panzhihua.common.model.dtos.community.PageVoteSituationDTO; import com.panzhihua.common.model.vos.community.ComActDiscussOptionUserVO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.panzhihua.service_community.model.dos.ComActDiscussOptionUserDO; import java.util.List; /** * @program: springcloud_k8s_panzhihuazhihuishequ * @description: 一起议选项投票 * @author: huang.hongfa weixin hhf9596 qq 959656820 * @create: 2021-01-22 16:13 **/ @Mapper public interface ComActDiscussOptionUserDAO extends BaseMapper { // @Select("") @Select("SELECT \n" + "COUNT(ou.id)\n" + "FROM\n" + "com_act_discuss d\n" + "JOIN com_act_discuss_option o ON d.id = o.discuss_id and d.id=#{id}\n" + "JOIN com_act_discuss_option_user ou ON o.id = ou.discuss_option_id and ou.user_id=#{loginUserId}") int selectHaveVote(@Param("id") Long id, @Param("loginUserId") Long loginUserId); @Select("select count(id) from com_act_discuss_option_user where discuss_option_id = #{discussOptionId} and user_id = #{userId}") int selectHaveVotes(@Param("discussOptionId") Long discussOptionId, @Param("userId") Long userId); /** * 查询用户当天当前投票栏目下已投次数 * @param discussId 一起议主键id * @param userId 用户id * @return 总数 */ int selectVotedVotesInToday(@Param("discussId") Long discussId, @Param("userId") Long userId); /** * 查询当前投票主题下的记录 最多6条用于展示 * @param discussId 一起议主键id * @return */ List selectVotedRecords(@Param("discussId") Long discussId); /** * 查询当前投票主题参与人数 * @param discussId 一起议主键id * @return */ int selectVotedPersonNum(@Param("discussId") Long discussId); /** * 投票情况-分页查询 * @param pageVoteSituationDTO * @return */ IPage pageVoteSituation(@Param("page") Page page, @Param("pageVoteSituationDTO") PageVoteSituationDTO pageVoteSituationDTO); /** * 投票情况详情 * @param optionUserId * @return */ ComActDiscussOptionUserVO detailVoteSituation(@Param("optionUserId") Long optionUserId); }