模态框跟换为layx,代码优化,新建帖子时可新建标签
This commit is contained in:
@@ -1,32 +0,0 @@
|
||||
package com.yaoyuan.jiscuss.controller;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
@Controller
|
||||
public class TestController {
|
||||
|
||||
|
||||
/**
|
||||
* 登录页面跳转
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("loginpage")
|
||||
public String loginpage() {
|
||||
return "login";
|
||||
}
|
||||
|
||||
|
||||
@RequestMapping("/world")
|
||||
public String world(Map<String, Object> model) {
|
||||
model.put("data", "2019");
|
||||
// request.setAttribute("name", "xxxxxxxxx");
|
||||
model.put("msg", "xxxxxxx2222xx");
|
||||
return "world";
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
package com.yaoyuan.jiscuss.controller;
|
||||
|
||||
import com.yaoyuan.jiscuss.entity.Discussion;
|
||||
import com.yaoyuan.jiscuss.entity.Tag;
|
||||
import com.yaoyuan.jiscuss.entity.User;
|
||||
import com.yaoyuan.jiscuss.entity.UserInfo;
|
||||
import com.yaoyuan.jiscuss.entity.custom.DiscussionCustom;
|
||||
import com.yaoyuan.jiscuss.entity.custom.TagCustom;
|
||||
import com.yaoyuan.jiscuss.service.IDiscussionsService;
|
||||
import com.yaoyuan.jiscuss.service.ITagsService;
|
||||
import com.yaoyuan.jiscuss.service.IUsersService;
|
||||
import com.yaoyuan.jiscuss.util.DelTagsUtil;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.ModelMap;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* @author yaoyuan2.chu
|
||||
* @Title:
|
||||
* @Package com.yaoyuan.jiscuss.controller
|
||||
* @Description:
|
||||
* @date
|
||||
*/
|
||||
@Controller
|
||||
public class UserPageController {
|
||||
|
||||
private static Logger logger = LoggerFactory.getLogger(UserPageController.class);
|
||||
|
||||
@Autowired
|
||||
private IUsersService usersService;
|
||||
|
||||
@Autowired
|
||||
private IDiscussionsService discussionsService;
|
||||
|
||||
@Autowired
|
||||
private ITagsService tagsService;
|
||||
|
||||
|
||||
/**
|
||||
* 用户页面
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping("/user")
|
||||
public String user( @RequestParam(defaultValue = "discussion") String type, ModelMap map) {
|
||||
|
||||
if (type.equals("discussion")) {
|
||||
map.put("discussion", "active");
|
||||
}
|
||||
if (type.equals("change")) {
|
||||
map.put("change", "active");
|
||||
}
|
||||
if (type.equals("like")) {
|
||||
map.put("like", "active");
|
||||
}
|
||||
return "user";
|
||||
}
|
||||
}
|
||||
@@ -6,7 +6,6 @@ import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import com.yaoyuan.jiscuss.entity.*;
|
||||
import com.yaoyuan.jiscuss.entity.custom.DiscussionCustom;
|
||||
import com.yaoyuan.jiscuss.entity.custom.PostCustom;
|
||||
import com.yaoyuan.jiscuss.service.*;
|
||||
import org.json.JSONObject;
|
||||
import org.slf4j.Logger;
|
||||
@@ -93,7 +92,7 @@ public class UserPostController extends BaseController {
|
||||
|
||||
|
||||
//新建主题
|
||||
@PostMapping(value = "/newdiscussions")
|
||||
@PostMapping(value = "/newDiscussions")
|
||||
@ResponseBody
|
||||
public String newDiscussions(@RequestBody DiscussionCustom discussion) {
|
||||
logger.info(">>> newPost" + discussion);
|
||||
@@ -143,7 +142,7 @@ public class UserPostController extends BaseController {
|
||||
//删除主题
|
||||
|
||||
//新建评论
|
||||
@PostMapping(value = "/newpost")
|
||||
@PostMapping(value = "/newPost")
|
||||
@ResponseBody
|
||||
public String newPosts(@RequestBody Post post) {
|
||||
logger.info(">>> newpost" + post);
|
||||
@@ -199,4 +198,47 @@ public class UserPostController extends BaseController {
|
||||
}
|
||||
|
||||
//排行榜等
|
||||
|
||||
/**
|
||||
* 新建主题页
|
||||
* @param request
|
||||
* @param map
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping({"/newDiscussionsPage"})
|
||||
public String newdiccuss( HttpServletRequest request, ModelMap map) {
|
||||
|
||||
//获取所有标签(以后尝试去缓存中取)
|
||||
List<Tag> allTags = tagsService.getAllList();
|
||||
map.put("allTags", allTags);
|
||||
|
||||
UserInfo user = getUserInfo(request);
|
||||
if (user != null) {
|
||||
map.put("username", user.getUsername());
|
||||
map.put("data", "Jiscuss 用户:" + user.getUsername());
|
||||
}
|
||||
return "newdiccuss";
|
||||
}
|
||||
|
||||
/**
|
||||
* 新建标签页
|
||||
* @param request
|
||||
* @param map
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping({"/newTagPage"})
|
||||
public String newtag( HttpServletRequest request, ModelMap map) {
|
||||
|
||||
//获取所有标签(以后尝试去缓存中取)
|
||||
List<Tag> allTags = tagsService.getAllList();
|
||||
map.put("allTags", allTags);
|
||||
|
||||
UserInfo user = getUserInfo(request);
|
||||
if (user != null) {
|
||||
map.put("username", user.getUsername());
|
||||
map.put("data", "Jiscuss 用户:" + user.getUsername());
|
||||
}
|
||||
return "newtag";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ import com.yaoyuan.jiscuss.entity.Tag;
|
||||
import com.yaoyuan.jiscuss.entity.UserInfo;
|
||||
import com.yaoyuan.jiscuss.entity.User;
|
||||
import com.yaoyuan.jiscuss.entity.custom.DiscussionCustom;
|
||||
import com.yaoyuan.jiscuss.entity.custom.TagCustom;
|
||||
import com.yaoyuan.jiscuss.service.IDiscussionsService;
|
||||
import com.yaoyuan.jiscuss.service.ITagsService;
|
||||
import com.yaoyuan.jiscuss.service.IUsersService;
|
||||
@@ -16,16 +17,13 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.ModelMap;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* 用户页面系统控制器
|
||||
* 首页页面系统控制器
|
||||
*/
|
||||
@Controller
|
||||
public class UserSystemController extends BaseController {
|
||||
@@ -41,28 +39,98 @@ public class UserSystemController extends BaseController {
|
||||
@Autowired
|
||||
private ITagsService tagsService;
|
||||
|
||||
//首页
|
||||
/**
|
||||
* 首页index
|
||||
* @param tag
|
||||
* @param type
|
||||
* @param pageNum
|
||||
* @param request
|
||||
* @param map
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping({"/", "/main", "/index"})
|
||||
public String home(@RequestParam(defaultValue = "all") String tag, @RequestParam(defaultValue = "all") String type, @RequestParam(defaultValue = "1") Integer
|
||||
pageNum, HttpServletRequest request, ModelMap map) {
|
||||
logger.info(">>> index");
|
||||
logger.info(">>> tag:" + tag);
|
||||
logger.info(">>> pageNum:" + pageNum);
|
||||
List<User> userall = usersService.getAllList();
|
||||
logger.info(">>> 第一遍的全部用户:" + userall);
|
||||
|
||||
List<User> useral2 = usersService.getAllList();
|
||||
logger.info(">>> 第二遍的全部用户:" + useral2);
|
||||
|
||||
int pageSiz = 10;
|
||||
int pageNumNew = pageNum - 1;
|
||||
Discussion discussion = new Discussion();
|
||||
//分页获取主题帖子
|
||||
Page<Discussion> allDiscussionsPage = discussionsService.queryAllDiscussionsList(discussion, pageNumNew, pageSiz);
|
||||
//分页获取主题帖子-默认
|
||||
Page<Discussion> allDiscussionsPage = discussionsService.queryAllDiscussionsList(discussion, pageNumNew, pageSiz, tag, type);
|
||||
|
||||
List<Discussion> allDiscussions = allDiscussionsPage.getContent();
|
||||
List<DiscussionCustom> newAllD = new ArrayList<>();
|
||||
|
||||
setTagAndUserList(newAllD,allDiscussions);
|
||||
|
||||
logger.info("全部主题==>:{}", allDiscussions);
|
||||
|
||||
Long total = allDiscussionsPage.getTotalElements();
|
||||
|
||||
//获取主题帖子的分页数据
|
||||
List<String> pageNumList = getPageNumList(allDiscussionsPage.getTotalPages());
|
||||
|
||||
//获取所有标签(以后尝试去缓存中取)
|
||||
List<Tag> allTags = tagsService.getAllList();
|
||||
logger.info("全部标签==>:{}", allTags);
|
||||
|
||||
map.put("data", "Jiscuss 用户");
|
||||
map.put("allDiscussions", newAllD);
|
||||
map.put("allUser", usersService.getAllList());
|
||||
map.put("pageDiscussions", pageNumList);
|
||||
map.put("allTags", allTags);
|
||||
map.put("tag", tag);
|
||||
map.put("type", type);
|
||||
|
||||
if (type.equals("all")) {
|
||||
map.put("typeAll", "active");
|
||||
}
|
||||
if (type.equals("hot")) {
|
||||
map.put("typeHot", "active");
|
||||
}
|
||||
if (type.equals("new")) {
|
||||
map.put("typeNew", "active");
|
||||
}
|
||||
map.put("pageSize", pageSiz);
|
||||
map.put("pageTotal", total);
|
||||
map.put("pageNum", pageNum);
|
||||
map.put("pageTotalPages", allDiscussionsPage.getTotalPages());
|
||||
UserInfo user = getUserInfo(request);
|
||||
if (user != null) {
|
||||
map.put("username", user.getUsername());
|
||||
map.put("data", "Jiscuss 用户:" + user.getUsername());
|
||||
}
|
||||
return "index";
|
||||
}
|
||||
|
||||
/**
|
||||
* 组装DiscussionCustom
|
||||
* @param newAllD
|
||||
* @param allDiscussions
|
||||
*/
|
||||
private void setTagAndUserList(List<DiscussionCustom> newAllD, List<Discussion> allDiscussions) {
|
||||
|
||||
List<Integer> discussionIdLsit = new ArrayList<>();
|
||||
for (Discussion dd : allDiscussions) {
|
||||
discussionIdLsit.add(dd.getId());
|
||||
}
|
||||
List<TagCustom> TagCustomList = tagsService.findByDiscussionIdlistId(discussionIdLsit);
|
||||
|
||||
Map<Integer, List<TagCustom>> tagMap = new HashMap<>();
|
||||
for (TagCustom tc : TagCustomList) {
|
||||
List<TagCustom> tagCustomListTemp = new ArrayList<>();
|
||||
if(tagMap.containsKey(tc.getDiscussionId())){
|
||||
tagCustomListTemp = tagMap.get(tc.getDiscussionId());
|
||||
tagCustomListTemp.add(tc);
|
||||
tagMap.put(tc.getDiscussionId(),tagCustomListTemp);
|
||||
}else{
|
||||
tagCustomListTemp.add(tc);
|
||||
tagMap.put(tc.getDiscussionId(),tagCustomListTemp);
|
||||
}
|
||||
}
|
||||
for (Discussion dd : allDiscussions) {
|
||||
DiscussionCustom newdd = new DiscussionCustom();
|
||||
BeanUtils.copyProperties(dd, newdd);
|
||||
@@ -86,42 +154,17 @@ public class UserSystemController extends BaseController {
|
||||
newdd.setRealnameLast(lastUser.getRealname());
|
||||
newdd.setUsernameLast(lastUser.getUsername());
|
||||
}
|
||||
|
||||
//组装tag
|
||||
newdd.setTagList(tagMap.get(dd.getId()));
|
||||
newAllD.add(newdd);
|
||||
}
|
||||
|
||||
logger.info("全部主题==>:{}", allDiscussions);
|
||||
|
||||
Long total = allDiscussionsPage.getTotalElements();
|
||||
|
||||
//获取主题帖子的分页数据
|
||||
List<String> pageNumList = getPageNumList(allDiscussionsPage.getTotalPages());
|
||||
|
||||
//获取所有标签(以后尝试去缓存中取)
|
||||
List<Tag> allTags = tagsService.getAllList();
|
||||
logger.info("全部标签==>:{}", allTags);
|
||||
|
||||
System.out.println(userall.toString());
|
||||
map.put("data", "Jiscuss 用户");
|
||||
map.put("allDiscussions", newAllD);
|
||||
map.put("pageDiscussions", pageNumList);
|
||||
map.put("allTags", allTags);
|
||||
map.put("tag", tag);
|
||||
map.put("type", type);
|
||||
|
||||
map.put("pageSize", pageSiz);
|
||||
map.put("pageTotal", total);
|
||||
map.put("pageNum", pageNum);
|
||||
map.put("pageTotalPages", allDiscussionsPage.getTotalPages());
|
||||
UserInfo user = getUserInfo(request);
|
||||
if (user != null) {
|
||||
map.put("username", user.getUsername());
|
||||
map.put("data", "Jiscuss 用户:" + user.getUsername());
|
||||
}
|
||||
return "index";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 分页信息
|
||||
* @param size
|
||||
* @return
|
||||
*/
|
||||
private List<String> getPageNumList(int size) {
|
||||
List<String> pageNumList = new ArrayList<String>();
|
||||
for (int i = 0; i < size; i++) {
|
||||
@@ -130,14 +173,14 @@ public class UserSystemController extends BaseController {
|
||||
return pageNumList;
|
||||
}
|
||||
|
||||
//登录页
|
||||
@GetMapping("/test")
|
||||
public String test() {
|
||||
return "test";
|
||||
}
|
||||
|
||||
|
||||
//登录页
|
||||
/**
|
||||
* 登录页
|
||||
* @param error
|
||||
* @param logout
|
||||
* @param map
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/login")
|
||||
public String login(@RequestParam(value = "error", required = false) String error,
|
||||
@RequestParam(value = "logout", required = false) String logout, ModelMap map) {
|
||||
@@ -154,7 +197,44 @@ public class UserSystemController extends BaseController {
|
||||
}
|
||||
|
||||
|
||||
//注册
|
||||
/**
|
||||
* 注册提交
|
||||
* @param username
|
||||
* @param email
|
||||
* @param password
|
||||
* @param map
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/registerDo")
|
||||
public String registerDo(@RequestParam String username, @RequestParam String email,
|
||||
@RequestParam String password, ModelMap map) {
|
||||
//验证用户名是否存在
|
||||
if (null != usersService.getByUsername(username)) {
|
||||
map.put("msg", "用户已存在,请重试!");
|
||||
return "register";
|
||||
} else {
|
||||
User user = new User();
|
||||
|
||||
user.setEmail(email);
|
||||
user.setPassword(password);
|
||||
user.setUsername(username);
|
||||
user.setRealname(username);
|
||||
user.setJoinTime(new Date());
|
||||
User userInsert = usersService.insert(user);
|
||||
map.put("msg", "注册成功,请登陆!");
|
||||
return "login";
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 注册页面
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping("/register")
|
||||
public String register() {
|
||||
return "register";
|
||||
}
|
||||
|
||||
|
||||
//获取设置信息
|
||||
|
||||
|
||||
@@ -2,10 +2,7 @@ package com.yaoyuan.jiscuss.entity;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.Id;
|
||||
import javax.persistence.Table;
|
||||
import javax.persistence.*;
|
||||
|
||||
import lombok.Data;
|
||||
@Data
|
||||
@@ -13,8 +10,11 @@ import lombok.Data;
|
||||
@Table(name="discussiontag")
|
||||
public class DiscussionTag implements Serializable{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Integer id;
|
||||
|
||||
@Column(name="discussion_id")
|
||||
private Integer discussionId;
|
||||
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
package com.yaoyuan.jiscuss.entity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @author yaoyuan2.chu
|
||||
* @Title:
|
||||
* @Package com.yaoyuan.jiscuss.entity
|
||||
* @Description:
|
||||
* @date 2020/10/21 12:00
|
||||
*/
|
||||
@Data
|
||||
@Entity
|
||||
@Table(name="likecollect")
|
||||
public class LikeCollect implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Integer id;
|
||||
|
||||
@Column(name="discussion_id")
|
||||
private Integer discussionId;
|
||||
|
||||
@Column(name="discussion_name")
|
||||
private String discussionName;
|
||||
|
||||
@Column(name="tag_id")
|
||||
private Integer tagId;
|
||||
|
||||
@Column(name="post_id")
|
||||
private Integer postId;
|
||||
|
||||
@Column(name="post_content")
|
||||
private String postContent;
|
||||
|
||||
@Column(name="user_id")
|
||||
private Integer userId;
|
||||
|
||||
@Column(name="user_name")
|
||||
private String userName;
|
||||
|
||||
@Column(name="type")
|
||||
private String type;
|
||||
|
||||
@Column(name="like_type")
|
||||
private String likeType;
|
||||
|
||||
@Column(name="collect_type")
|
||||
private String collectType;
|
||||
|
||||
@Column(name="create_id")
|
||||
private Integer createId;
|
||||
|
||||
@Column(name="create_time")
|
||||
private Date createTime;
|
||||
|
||||
}
|
||||
@@ -36,7 +36,7 @@ public class DiscussionCustom extends Discussion {
|
||||
|
||||
private String tag;
|
||||
|
||||
private List<Tag> tagList;
|
||||
private List<TagCustom> tagList;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
package com.yaoyuan.jiscuss.entity.custom;
|
||||
|
||||
import com.yaoyuan.jiscuss.entity.Post;
|
||||
import com.yaoyuan.jiscuss.entity.Tag;
|
||||
import lombok.Data;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.GeneratedValue;
|
||||
import javax.persistence.GenerationType;
|
||||
|
||||
/**
|
||||
* @author yaoyuan2.chu
|
||||
* @Title:
|
||||
* @Package com.yaoyuan.jiscuss.entity.custom
|
||||
* @Description:
|
||||
* @date 2020/10/21 10:05
|
||||
*/
|
||||
@Data
|
||||
@Setter
|
||||
@Getter
|
||||
public class TagCustom {
|
||||
|
||||
@Column(name="name")
|
||||
private String name;
|
||||
|
||||
@Column(name="description")
|
||||
private String description;
|
||||
|
||||
@Column(name="color")
|
||||
private String color;
|
||||
|
||||
@Column(name="icon")
|
||||
private String icon;
|
||||
|
||||
@Column(name="discussion_id")
|
||||
private Integer discussionId;
|
||||
|
||||
|
||||
public TagCustom(String name, String color, String icon, String description, Integer discussionId) {
|
||||
this.name = name;
|
||||
this.color = color;
|
||||
this.icon = icon;
|
||||
this.description = description;
|
||||
this.discussionId = discussionId;
|
||||
}
|
||||
}
|
||||
@@ -1,11 +1,24 @@
|
||||
package com.yaoyuan.jiscuss.repository;
|
||||
|
||||
import com.yaoyuan.jiscuss.entity.Discussion;
|
||||
import com.yaoyuan.jiscuss.entity.User;
|
||||
import org.springframework.data.domain.Example;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.data.repository.query.Param;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Repository
|
||||
public interface DiscussionsRepository extends JpaRepository<Discussion,Integer> {
|
||||
|
||||
|
||||
@Query(value = "SELECT * from discussion where id in (\n" +
|
||||
"SELECT discussion_id from discussiontag where tag_id = ?1 ) ", nativeQuery = true)
|
||||
Page<Discussion> findByQuery(String tagId, Pageable pageable);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.yaoyuan.jiscuss.repository;
|
||||
|
||||
import com.yaoyuan.jiscuss.entity.Tag;
|
||||
import com.yaoyuan.jiscuss.entity.custom.TagCustom;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.data.repository.query.Param;
|
||||
@@ -13,4 +14,13 @@ public interface TagsRepository extends JpaRepository<Tag,Integer> {
|
||||
|
||||
@Query(value = "FROM Tag a, DiscussionTag b WHERE a.id = b.tagId and b.discussionId = :dId")
|
||||
List<Tag> findByDId(@Param("dId")Integer dId);
|
||||
|
||||
|
||||
@Query("select new com.yaoyuan.jiscuss.entity.custom.TagCustom(" +
|
||||
"u.name,u.color,u.icon,u.description, d.discussionId" +
|
||||
") " +
|
||||
"from Tag u, DiscussionTag d " +
|
||||
"where u.id=d.tagId and d.discussionId in (:discussionIdlist)")
|
||||
List<TagCustom> findByDiscussionIdlistId(@Param(value = "discussionIdlist") List<Integer> discussionIdlist);
|
||||
|
||||
}
|
||||
|
||||
@@ -14,6 +14,5 @@ public interface IDiscussionsService {
|
||||
|
||||
Discussion findOne(Integer id);
|
||||
|
||||
Page<Discussion> queryAllDiscussionsList(Discussion discussion, int pageNum, int pageSize);
|
||||
|
||||
Page<Discussion> queryAllDiscussionsList(Discussion discussion, int pageNumNew, int pageSiz, String tag, String type);
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.yaoyuan.jiscuss.service;
|
||||
import java.util.List;
|
||||
|
||||
import com.yaoyuan.jiscuss.entity.Tag;
|
||||
import com.yaoyuan.jiscuss.entity.custom.TagCustom;
|
||||
|
||||
public interface ITagsService {
|
||||
|
||||
@@ -11,4 +12,6 @@ public interface ITagsService {
|
||||
Tag insert(Tag tag);
|
||||
|
||||
List<Tag> findByDId(Integer id);
|
||||
|
||||
List<TagCustom> findByDiscussionIdlistId(List<Integer> discussionIdLsit);
|
||||
}
|
||||
|
||||
@@ -37,13 +37,25 @@ public class DiscussionsServiceImpl implements IDiscussionsService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Page<Discussion> queryAllDiscussionsList(Discussion discussion, int pageNum, int pageSize) {
|
||||
public Page<Discussion> queryAllDiscussionsList(Discussion discussion, int pageNum, int pageSize,String tag,String type) {
|
||||
Sort sort = new Sort(Sort.Direction.DESC, "id");
|
||||
if(type.equals("hot")){
|
||||
sort = new Sort(Sort.Direction.DESC, "likeCount");
|
||||
}else if(type.equals("new")){
|
||||
sort = new Sort(Sort.Direction.DESC, "startTime");
|
||||
}
|
||||
@SuppressWarnings("deprecation")
|
||||
Pageable pageable = new PageRequest(pageNum, pageSize, sort);
|
||||
//将匹配对象封装成Example对象
|
||||
Example<Discussion> example = Example.of(discussion);
|
||||
if(null!=tag && !"all".equals(tag)){
|
||||
Page<Discussion> pageList= discussionsRepository.findByQuery(tag, pageable);
|
||||
return pageList;
|
||||
}else{
|
||||
Page<Discussion> pageList= discussionsRepository.findAll(example, pageable);
|
||||
return pageList;
|
||||
}
|
||||
|
||||
|
||||
return discussionsRepository.findAll(example, pageable);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import java.util.List;
|
||||
|
||||
import javax.transaction.Transactional;
|
||||
|
||||
import com.yaoyuan.jiscuss.entity.custom.TagCustom;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -31,6 +32,11 @@ public class TagsServiceImpl implements ITagsService {
|
||||
public List<Tag> findByDId(Integer id) {
|
||||
return tagsRepository.findByDId(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<TagCustom> findByDiscussionIdlistId(List<Integer> discussionIdLsit) {
|
||||
return tagsRepository.findByDiscussionIdlistId(discussionIdLsit);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user