Explorar o código

finikes alpha 12

finikes %!s(int64=2) %!d(string=hai) anos
pai
achega
2f95959413

+ 45 - 0
src/main/java/com/finikes/oc/vote/controller/VoteStatisticsController.java

@@ -0,0 +1,45 @@
+package com.finikes.oc.vote.controller;
+
+import com.finikes.oc.BaseDTO;
+import com.finikes.oc.vote.dao.ChoiceDao;
+import com.finikes.oc.vote.dao.VoteDao;
+import com.finikes.oc.vote.dto.OptionSummary;
+import com.finikes.oc.vote.dto.VoteStatisticsResponseDTO;
+import com.finikes.oc.vote.entity.Vote;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@RestController
+public class VoteStatisticsController {
+    @Autowired
+    private ChoiceDao choiceDao;
+
+    @Autowired
+    private VoteDao voteDao;
+
+    @GetMapping("/vote/statis")
+    public BaseDTO statistics(@RequestParam("voteId") String voteId) {
+        int _voteId = Integer.parseInt(voteId);
+        Vote vote = voteDao.selectByPrimaryKey(_voteId);
+        List<Integer> voteIds = new ArrayList<>();
+        voteIds.add(_voteId);
+        List<OptionSummary> sums = choiceDao.selectByVoteIds(voteIds);
+
+        VoteStatisticsResponseDTO dto = new VoteStatisticsResponseDTO();
+        dto.setContent(vote.getContent());
+        dto.setTitle(vote.getTitle());
+        for (OptionSummary sum : sums) {
+            VoteStatisticsResponseDTO.OptionPoll optionPoll = new VoteStatisticsResponseDTO.OptionPoll();
+            optionPoll.setPoll(String.valueOf(sum.getQuantity()));
+            optionPoll.setValue(sum.getValue());
+            dto.getOptions().add(optionPoll);
+        }
+
+        return new BaseDTO().setContent(dto);
+    }
+}

+ 51 - 0
src/main/java/com/finikes/oc/vote/dto/VoteStatisticsResponseDTO.java

@@ -0,0 +1,51 @@
+package com.finikes.oc.vote.dto;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class VoteStatisticsResponseDTO {
+    private String content;
+    private String title;
+    private final List<OptionPoll> options = new ArrayList<>();
+
+    public String getContent() {
+        return content;
+    }
+
+    public void setContent(String content) {
+        this.content = content;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    public List<OptionPoll> getOptions() {
+        return options;
+    }
+
+    public static class OptionPoll {
+        private String poll;
+        private String value;
+
+        public String getPoll() {
+            return poll;
+        }
+
+        public void setPoll(String poll) {
+            this.poll = poll;
+        }
+
+        public String getValue() {
+            return value;
+        }
+
+        public void setValue(String value) {
+            this.value = value;
+        }
+    }
+}