提交 4d9dfa0f 编写于 作者: 街头小贩's avatar 街头小贩

更新api实现

上级 d40ca475
......@@ -2,7 +2,6 @@ package com.apobates.forum.core.impl.dao;
import com.apobates.forum.core.dao.BoardConfigDao;
import com.apobates.forum.core.entity.BoardConfig;
import com.apobates.forum.core.entity.ForumEntityStatusEnum;
import java.util.Optional;
import java.util.stream.Stream;
import javax.persistence.EntityManager;
......
......@@ -67,13 +67,12 @@ public class BoardGroupDaoImpl implements BoardGroupDao{
@Override
public Optional<BoardGroup> findOneOriginByDirectoryNames(String directoryNames) {
BoardGroup bg = null;
try {
bg = entityManager.createQuery("SELECT bg FROM BoardGroup bg WHERE bg.origin = ?1 AND bg.directoryNames = ?2", BoardGroup.class).setParameter(1, true).setParameter(2, directoryNames).getSingleResult();
BoardGroup bg = entityManager.createQuery("SELECT bg FROM BoardGroup bg WHERE bg.origin = ?1 AND bg.directoryNames = ?2", BoardGroup.class).setParameter(1, true).setParameter(2, directoryNames).getSingleResult();
return Optional.ofNullable(bg);
} catch (javax.persistence.NoResultException e) {
return Optional.empty();
}
return Optional.ofNullable(bg);
}
@Override
......
......@@ -191,6 +191,7 @@ public class BoardStatsDaoImpl implements BoardStatsDao{
* @return
*/
@Override
@SuppressWarnings("unchecked")
public Stream<BoardStats> findAllForNotOriginBoard() {
final String SQL = "SELECT bs.* FROM apo_board_stats AS bs JOIN apo_board AS b ON bs.BOARDID = b.ID WHERE b.ORIGIN = ?1";
return entityManager.createNativeQuery(SQL, BoardStats.class).setParameter(1, false).getResultStream();
......@@ -212,6 +213,7 @@ public class BoardStatsDaoImpl implements BoardStatsDao{
@Override
public Map<ForumActionEnum, Long> sumTopicAndPosts() {
final String SQL = "SELECT SUM(TOPICES), SUM(POSTSES) FROM apo_board_stats";
@SuppressWarnings("unchecked")
List<Object[]> result = entityManager.createNativeQuery(SQL).getResultList();
if(null == result || result.isEmpty()){
return Collections.emptyMap();
......
......@@ -84,6 +84,7 @@ public class PostsMoodRecordsDaoImpl implements PostsMoodRecordsDao{
@Override
public Map<Boolean, Long> collectMembers(long postsId) {
Map<Boolean, Long> data = new HashMap<>();
@SuppressWarnings("unchecked")
List<Object[]> results = entityManager.createQuery("SELECT pm.liked, COUNT(pm) FROM PostsMoodRecords pm WHERE pm.postsId = ?1 GROUP BY pm.liked").setParameter(1, postsId).getResultList();
for (Object[] result : results) {
Boolean name = (Boolean) result[0];
......
......@@ -42,6 +42,7 @@ public class TopicCarouselSlideDaoImpl implements TopicCarouselSlideDao{
}
@Override
@SuppressWarnings("unchecked")
public Stream<TopicCarouselSlide> findAllUsed(String topicCarouselTitle) {
final String SQL = "SELECT tcs.* FROM apo_topic_carousel_slide tcs LEFT OUTER JOIN apo_topic_carousel tc ON tcs.TOPICCAROUSELID=tc.ID WHERE tcs.STATUS = ?1 AND tc.TITLE = ?2 ORDER BY tcs.RANKING ASC";
return entityManager.createNativeQuery(SQL, TopicCarouselSlide.class).setParameter(1, "1").setParameter(2, topicCarouselTitle).getResultStream();
......
package com.apobates.forum.core.impl.dao;
import com.apobates.forum.core.dao.TopicConfigDao;
import com.apobates.forum.core.entity.ForumEntityStatusEnum;
import com.apobates.forum.core.entity.TopicConfig;
import java.util.Optional;
import java.util.stream.Stream;
......
......@@ -469,7 +469,7 @@ public class TopicDaoImpl implements TopicDao{
.setParameter(3, "DELETE");
query.setFirstResult(pageable.getOffset());
query.setMaxResults(pageable.getPageSize());
@SuppressWarnings("unchecked")
final Stream<Topic> result = query.getResultStream();
return new Page<Topic>() {
@Override
......
......@@ -120,6 +120,7 @@ public class TopicTagDaoImpl implements TopicTagDao{
@Override
public Map<String, Long> groupTagForNames(int size) {
final String SQL = "SELECT tt.names, COUNT(tt) FROM TopicTag tt GROUP BY tt.names ORDER BY COUNT(tt) DESC";
@SuppressWarnings("unchecked")
List<Object[]> result = entityManager.createQuery(SQL).setMaxResults(size).getResultList();
//
Map<String, Long> data = new HashMap<>();
......
......@@ -3,8 +3,6 @@ package com.apobates.forum.core.impl.service;
import com.apobates.forum.attention.core.decorater.ForumEncoder;
import com.apobates.forum.attention.core.decorater.posts.ForumPostsDecorator;
import com.apobates.forum.core.ImageIOMeta;
import com.apobates.forum.core.dao.BoardDao;
import com.apobates.forum.core.dao.BoardGroupDao;
import com.apobates.forum.core.dao.PostsDao;
import com.apobates.forum.core.dao.TopicDao;
import com.apobates.forum.core.entity.Posts;
......@@ -51,10 +49,6 @@ public class PostsServiceImpl implements PostsService{
@Autowired
private TopicDao topicDao;
@Autowired
private BoardDao boardDao;
@Autowired
private BoardGroupDao boardGroupDao;
@Autowired
private MemberService memberService;
@Autowired
private ForumEventPublisher forumEventPublisher;
......
......@@ -191,6 +191,7 @@ public class InboxDaoImpl implements InboxDao{
* @return
*/
@Override
@SuppressWarnings("unchecked")
public Stream<ForumLetter> findAll(long sender, long memberId) {
String SQL = "SELECT fl.* FROM apo_letter AS fl JOIN apo_letter_inbox AS ib ON fl.ID = ib.LETTER WHERE ib.MEMBER = ?1 AND ib.USABLE = ?2 AND fl.AUTHOR = ?3 ORDER BY fl.ENTRYDATETIME ASC";
return entityManager.createNativeQuery(SQL, ForumLetter.class).setParameter(1, memberId).setParameter(2, true).setParameter(3, sender).getResultStream();
......@@ -221,6 +222,7 @@ public class InboxDaoImpl implements InboxDao{
* @return
*/
@Override
@SuppressWarnings("unchecked")
public Stream<ForumLetter> findAllForUnReadable(long memberId, int size) {
String SQL="SELECT fl.* FROM apo_letter AS fl JOIN apo_letter_inbox AS ib ON fl.ID = ib.LETTER WHERE ib.MEMBER = ?1 AND ib.READABLE = ?2 AND ib.USABLE = ?3";
return entityManager.createNativeQuery(SQL, ForumLetter.class).setMaxResults(size).setParameter(1, memberId).setParameter(2, true).setParameter(3, true).getResultStream();
......
......@@ -10,6 +10,7 @@ import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Collections;
import java.util.EnumMap;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
......@@ -191,7 +192,7 @@ public class MemberActiveRecordsDaoImpl implements MemberActiveRecordsDao{
logger.debug("[statsMemberTopicAction][MemberActiveRecordsDao]", e);
}
}
Map<ForumActionEnum, Long> data = new HashMap<>();
Map<ForumActionEnum, Long> data = new EnumMap<>(ForumActionEnum.class);
data.put(ForumActionEnum.MEMBER_REGISTER, 1L);
data.put(ForumActionEnum.MEMBER_LOGIN, count);
return data;
......@@ -225,6 +226,7 @@ public class MemberActiveRecordsDaoImpl implements MemberActiveRecordsDao{
@Override
public Map<String, Long> groupForDevice() {
Query query = entityManager.createQuery("SELECT mar.device, COUNT(mar) FROM MemberActiveRecords mar GROUP BY mar.device");
@SuppressWarnings("unchecked")
List<Object[]> resultList = query.getResultList();
return toGroupResultMap(resultList);
}
......@@ -232,6 +234,7 @@ public class MemberActiveRecordsDaoImpl implements MemberActiveRecordsDao{
@Override
public Map<String, Long> groupForISP() {
Query query = entityManager.createQuery("SELECT mar.isp, COUNT(mar) FROM MemberActiveRecords mar GROUP BY mar.isp");
@SuppressWarnings("unchecked")
List<Object[]> resultList = query.getResultList();
return toGroupResultMap(resultList);
}
......@@ -239,6 +242,7 @@ public class MemberActiveRecordsDaoImpl implements MemberActiveRecordsDao{
@Override
public Map<String, Long> groupForProvince() {
Query query = entityManager.createQuery("SELECT mar.province, COUNT(mar) FROM MemberActiveRecords mar GROUP BY mar.province");
@SuppressWarnings("unchecked")
List<Object[]> resultList = query.getResultList();
return toGroupResultMap(resultList);
}
......@@ -246,6 +250,7 @@ public class MemberActiveRecordsDaoImpl implements MemberActiveRecordsDao{
@Override
public TreeMap<String, Long> groupMemberForActivity(LocalDateTime start, LocalDateTime finish) {
final String SQL = "SELECT FUNCTION('DATE', mar.activeDateTime), COUNT(mar) FROM MemberActiveRecords mar WHERE mar.activeDateTime BETWEEN ?1 AND ?2 GROUP BY FUNCTION('DATE', mar.activeDateTime)";
@SuppressWarnings("unchecked")
List<Object[]> result = entityManager.createQuery(SQL).setParameter(1, start).setParameter(2, finish).getResultList();
//
TreeMap<String, Long> data = new TreeMap<>();
......
......@@ -8,7 +8,7 @@ import com.apobates.forum.member.entity.MemberStatusEnum;
import com.apobates.forum.utils.Commons;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.EnumMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
......@@ -265,6 +265,7 @@ public class MemberDaoImpl implements MemberDao {
@Override
public TreeMap<String, Long> groupMemberForBirthDate(LocalDateTime start, LocalDateTime finish) {
final String SQL = "SELECT FUNCTION('DATE', m.registeDateTime), COUNT(m) FROM Member m WHERE m.registeDateTime BETWEEN ?1 AND ?2 GROUP BY FUNCTION('DATE', m.registeDateTime)";
@SuppressWarnings("unchecked")
List<Object[]> result = entityManager.createQuery(SQL).setParameter(1, start).setParameter(2, finish).getResultList();
//
TreeMap<String, Long> data = new TreeMap<>();
......@@ -292,9 +293,10 @@ public class MemberDaoImpl implements MemberDao {
@Override
public Map<MemberStatusEnum, Long> groupMemberForStatus() {
final String SQL = "SELECT m.status, COUNT(m) FROM Member m GROUP BY m.status";
@SuppressWarnings("unchecked")
List<Object[]> result = entityManager.createQuery(SQL).getResultList();
//
Map<MemberStatusEnum, Long> data = new HashMap<>();
Map<MemberStatusEnum, Long> data = new EnumMap<>(MemberStatusEnum.class);
for (Object[] columns : result) {
MemberStatusEnum k = null;
try {
......@@ -318,9 +320,10 @@ public class MemberDaoImpl implements MemberDao {
@Override
public Map<MemberRoleEnum, Long> groupMemberForRole() {
final String SQL = "SELECT m.mrole, COUNT(m) FROM Member m GROUP BY m.mrole";
@SuppressWarnings("unchecked")
List<Object[]> result = entityManager.createQuery(SQL).getResultList();
//
Map<MemberRoleEnum, Long> data = new HashMap<>();
Map<MemberRoleEnum, Long> data = new EnumMap<>(MemberRoleEnum.class);
for (Object[] columns : result) {
MemberRoleEnum k = null;
try {
......@@ -344,9 +347,10 @@ public class MemberDaoImpl implements MemberDao {
@Override
public Map<MemberGroupEnum, Long> groupMemberForGroup() {
final String SQL = "SELECT m.mgroup, COUNT(m) FROM Member m GROUP BY m.mgroup";
@SuppressWarnings("unchecked")
List<Object[]> result = entityManager.createQuery(SQL).getResultList();
//
Map<MemberGroupEnum, Long> data = new HashMap<>();
Map<MemberGroupEnum, Long> data = new EnumMap<>(MemberGroupEnum.class);
for (Object[] columns : result) {
MemberGroupEnum k = null;
try {
......
......@@ -131,6 +131,7 @@ public class MemberOnlineDaoImpl implements MemberOnlineDao{
* @return
*/
@Override
@SuppressWarnings("unchecked")
public Stream<MemberOnline> findDuplicateRecords() {
final String SQL="SELECT t1.* FROM apo_member_online AS t1 WHERE EXISTS (SELECT 1 FROM apo_member_online AS t2 WHERE t2.MID = t1.MID and t2.ACTIVEDATETIME > t1.ACTIVEDATETIME)";
return entityManager.createNativeQuery(SQL, MemberOnline.class).getResultStream();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册