Merge branch 'main' into yoon

This commit is contained in:
yoon 2025-03-09 20:48:16 +09:00
commit 1326e0e33f
11 changed files with 38 additions and 61 deletions

View File

@ -11,6 +11,6 @@ public interface VotDetailMapper {
Long insertdetail(MapDto map);
List<MapDto> selectVoteDetails(int locvotSeq);
List<MapDto> selectVoteDetailsResult(MapDto map);
}

View File

@ -7,8 +7,6 @@ import io.company.localhost.common.dto.MapDto;
@Mapper
public interface VotRecordMapper {
int selectYesVotetotal(MapDto map);
Long insertCheckedNums(MapDto map);
}

View File

@ -1,7 +1,5 @@
package io.company.localhost.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import io.company.localhost.common.dto.MapDto;
@ -11,6 +9,5 @@ public interface VotchoiceMapper {
void insertChoice(MapDto map);
List<MapDto> selectVoteResult(Integer locvotSeq);
}

View File

@ -21,5 +21,7 @@ public interface localvoteMapper {
Long updateDeleteData(MapDto map);
List<MapDto> selectVoteListWithDetails(MapDto map);
}

View File

@ -55,35 +55,26 @@ public class localvoteService {
int page = map.getString("page") != null ? Integer.parseInt(map.getString("page")) : 1;
PageHelper.startPage(page, 10);
PageInfo<MapDto> localvote = PageUtil.redefineNavigation(new PageInfo<>(localvotemapper.selectVoteList(map),10));
List<MapDto> resultList = new ArrayList<>();
List<MapDto> resultList = new ArrayList<>();
List<MapDto> voteList = localvote.getList();
for (MapDto vote : voteList) {
MapDto voteMap = new MapDto();
voteMap.put("localVote", vote);
Integer locvotSeq = (Integer) vote.get("LOCVOTSEQ");
//투표 항목조회
List<MapDto> voteDetails = votdetailmapper.selectVoteDetails(locvotSeq);
//투표 항목조회 + 결과 조회 + 투표여부
map.put("locvotSeq", locvotSeq);
List<MapDto> voteDetails = votdetailmapper.selectVoteDetailsResult(map);
//투표 가능 멤버 조회
List<MapDto> voteMembers = votmembermapper.selectVoteMember(locvotSeq);
//투표 결과 조회
List<MapDto> voteResult = votchoicemapper.selectVoteResult(locvotSeq);
voteMap.put("voteDetails", voteDetails);
voteMap.put("voteMembers", voteMembers);
voteMap.put("voteResult", voteResult);
map.put("id",locvotSeq);
//투표 여부
int yesVotetotal = votrecordmapper.selectYesVotetotal(map);
voteMap.put("yesVotetotal", yesVotetotal);
resultList.add(voteMap);
}
localvote.setList(resultList);
return localvote;
}

View File

@ -16,13 +16,23 @@
)
</foreach>
</insert>
<select id="selectVoteDetails" parameterType="int" >
select
*
from
votdetail
where
LOCVOTSEQ = #{LOCVOTSEQ}
<select id="selectVoteDetailsResult" parameterType="map">
SELECT
d.*,
COALESCE(COUNT(c.VOTDETSEQ), 0) AS VOTE_COUNT,
(SELECT COUNT(*)
FROM votrecord
WHERE LOCVOTSEQ = d.LOCVOTSEQ
AND VOTRECMEM = #{userId}) AS yesvote
FROM
votdetail d
LEFT JOIN
votchoice c ON d.LOCVOTSEQ = c.LOCVOTSEQ AND d.VOTDETSEQ = c.VOTDETSEQ
WHERE
d.LOCVOTSEQ = #{locvotSeq}
GROUP BY
d.VOTDETSEQ, d.LOCVOTCON
ORDER BY
VOTE_COUNT DESC
</select>
</mapper>

View File

@ -13,8 +13,10 @@
</insert>
<select id="selectVoteMember" parameterType="int" >
SELECT
a.*,
n.*,
n.MEMBERSEQ,
n.MEMBERNAM,
n.MEMBERCOL,
n.MEMBERPRF,
c.CMNCODNAM AS usercolor,
CASE
WHEN v.LOCVOTSEQ IS NOT NULL THEN 1

View File

@ -1,15 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="io.company.localhost.mapper.VotRecordMapper">
<select id="selectYesVotetotal" parameterType="map">
select count(*) as yesvote
from
votrecord
where
LOCVOTSEQ = #{id}
and
VOTRECMEM = #{userId}
</select>
<insert id="insertCheckedNums" parameterType="map">
INSERT INTO votrecord
(

View File

@ -15,21 +15,4 @@
)
</foreach>
</insert>
<select id="selectVoteResult" parameterType="int">
SELECT
c.VOTDETSEQ,
v.LOCVOTCON,
COUNT(v.VOTDETSEQ) AS VOTE_COUNT
FROM
votchoice c
LEFT JOIN
votdetail v ON c.LOCVOTSEQ = v.LOCVOTSEQ AND c.VOTDETSEQ = v.VOTDETSEQ
WHERE
c.LOCVOTSEQ = #{LOCVOTSEQ}
GROUP BY
c.LOCVOTSEQ, c.VOTDETSEQ
ORDER BY
VOTE_COUNT DESC
</select>
</mapper>

View File

@ -40,7 +40,10 @@
a.*,
DATE_FORMAT(a.LOCVOTRDT, '%Y-%m-%d %H:%i') AS formatted_LOCVOTRDT,
DATE_FORMAT(a.LOCVOTEDT, '%Y-%m-%d %H:%i') AS formatted_LOCVOTEDT,
b.*,
b.MEMBERSEQ,
b.MEMBERNAM,
b.MEMBERCOL,
b.MEMBERPRF,
c.CMNCODNAM AS usercolor,
CASE
WHEN EXISTS (

View File

@ -137,7 +137,7 @@
</choose>
</if>
<!-- 카테고리 조건 -->
<if test="category != null and category != ''">
<if test="category != null and category != '' and category != 'all'">
and w.WRDDICCAT = #{category}
</if>
</sql>