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); 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 @Mapper
public interface VotRecordMapper { public interface VotRecordMapper {
int selectYesVotetotal(MapDto map);
Long insertCheckedNums(MapDto map); Long insertCheckedNums(MapDto map);
} }

View File

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

View File

@ -21,5 +21,7 @@ public interface localvoteMapper {
Long updateDeleteData(MapDto map); 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; int page = map.getString("page") != null ? Integer.parseInt(map.getString("page")) : 1;
PageHelper.startPage(page, 10); PageHelper.startPage(page, 10);
PageInfo<MapDto> localvote = PageUtil.redefineNavigation(new PageInfo<>(localvotemapper.selectVoteList(map),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(); List<MapDto> voteList = localvote.getList();
for (MapDto vote : voteList) { for (MapDto vote : voteList) {
MapDto voteMap = new MapDto(); MapDto voteMap = new MapDto();
voteMap.put("localVote", vote); voteMap.put("localVote", vote);
Integer locvotSeq = (Integer) vote.get("LOCVOTSEQ"); 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> voteMembers = votmembermapper.selectVoteMember(locvotSeq);
//투표 결과 조회
List<MapDto> voteResult = votchoicemapper.selectVoteResult(locvotSeq);
voteMap.put("voteDetails", voteDetails); voteMap.put("voteDetails", voteDetails);
voteMap.put("voteMembers", voteMembers); voteMap.put("voteMembers", voteMembers);
voteMap.put("voteResult", voteResult);
map.put("id",locvotSeq);
//투표 여부
int yesVotetotal = votrecordmapper.selectYesVotetotal(map);
voteMap.put("yesVotetotal", yesVotetotal);
resultList.add(voteMap); resultList.add(voteMap);
} }
localvote.setList(resultList); localvote.setList(resultList);
return localvote; return localvote;
} }

View File

@ -16,13 +16,23 @@
) )
</foreach> </foreach>
</insert> </insert>
<select id="selectVoteDetails" parameterType="int" > <select id="selectVoteDetailsResult" parameterType="map">
select SELECT
* d.*,
from COALESCE(COUNT(c.VOTDETSEQ), 0) AS VOTE_COUNT,
votdetail (SELECT COUNT(*)
where FROM votrecord
LOCVOTSEQ = #{LOCVOTSEQ} 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> </select>
</mapper> </mapper>

View File

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

View File

@ -1,15 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?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"> <!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"> <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 id="insertCheckedNums" parameterType="map">
INSERT INTO votrecord INSERT INTO votrecord
( (

View File

@ -15,21 +15,4 @@
) )
</foreach> </foreach>
</insert> </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> </mapper>

View File

@ -40,7 +40,10 @@
a.*, a.*,
DATE_FORMAT(a.LOCVOTRDT, '%Y-%m-%d %H:%i') AS formatted_LOCVOTRDT, DATE_FORMAT(a.LOCVOTRDT, '%Y-%m-%d %H:%i') AS formatted_LOCVOTRDT,
DATE_FORMAT(a.LOCVOTEDT, '%Y-%m-%d %H:%i') AS formatted_LOCVOTEDT, 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, c.CMNCODNAM AS usercolor,
CASE CASE
WHEN EXISTS ( WHEN EXISTS (

View File

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