添加动态显示月刊项目,推荐项目

This commit is contained in:
cyk
2023-07-03 22:49:21 +08:00
parent b0955f1c35
commit a98dfaba21
4 changed files with 98 additions and 12 deletions

View File

@@ -24,7 +24,7 @@ public class projectDao {
try {
Connection conn = JdbcUtils.getConnection();
QueryRunner runner = new QueryRunner();
String sql = "select * from project where periodicals = ?";
String sql = "select * from project where periodicals = ? ORDER BY categoryId";
projectEntityList = runner.query(conn, sql, new BeanListHandler<>(projectEntity.class), num);
conn.close();
} catch (SQLException e) {
@@ -221,4 +221,23 @@ public class projectDao {
}
return categoryEntityList;
}
//返回项目最大数字
public int retMaxProId(){
projectEntity projectEntity;
int num ;
try {
Connection conn = JdbcUtils.getConnection();
QueryRunner runner = new QueryRunner();
String sql = "select * from project Order By ProjectId DESC limit 1";
projectEntity = runner.query(conn, sql,new BeanHandler<>(projectEntity.class));
num = projectEntity.getProjectId();
conn.close();
} catch (SQLException e) {
throw new RuntimeException(e);
}
return num;
}
}

View File

@@ -8,10 +8,7 @@ import com.hellogithub.dao.projectDao;
import com.hellogithub.entity.categoryEntity;
import com.hellogithub.entity.projectEntity;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
public class projectService {
@@ -24,16 +21,30 @@ public class projectService {
*
* @param num
*/
public List<projectEntity> retTerm(String num){
public String retTerm(String num){
List<projectEntity> projectEntityList = projectDao.retTerm(num);
List<projectEntity> projectEntityListTem =new ArrayList<>();
Map<String,List<projectEntity>> dataMap= new HashMap<>();
String tem =null;
String now =null;
for(int i =0;i<projectEntityList.size();i++)
{
projectEntity projectEntity = projectEntityList.get(i);
categoryEntity categoryEntity = categoryDao.retNum(projectEntity.getCategoryId());
projectEntity.setCategoryName(categoryEntity.getCategoryName());
now =projectEntity.getCategoryName();
if(i == 0) tem = now;
if(!tem.equals(now)){
tem=now;
dataMap.put(tem,projectEntityListTem);
projectEntityListTem = new ArrayList<>();
}
projectEntityListTem.add(projectEntity);
}
return projectDao.retTerm(num);
return JSONObject.toJSONString(dataMap);
}
@@ -145,4 +156,16 @@ public class projectService {
dataMap.put("CategoryName",strs);
return JSONArray.toJSONString(dataMap);
}
public List<projectEntity> randomSelect(){
List<projectEntity> projectEntityList = null;
long t = System.currentTimeMillis();
Random random = new Random(t);
for(int i=0;i<5;i++)
{
projectEntity projectEntity = projectDao.selectProById(String.valueOf(random.nextInt(projectDao.retMaxProId())));
projectEntityList.add(projectEntity);
}
return projectEntityList;
}
}

View File

@@ -0,0 +1,46 @@
package com.hellogithub.servlet;
import com.alibaba.fastjson.JSONObject;
import com.hellogithub.service.projectService;
import jakarta.servlet.ServletConfig;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
@WebServlet("/randomSelectPro")
public class randomSelectProServlet extends HttpServlet {
private com.hellogithub.service.projectService projectService=new projectService();
@Override
public void init(ServletConfig config) throws ServletException {
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setCharacterEncoding("UTF-8");
resp.setContentType("text/html; charset=utf-8");
// 设置响应头允许ajax跨域访问
String curOrigin = req.getHeader("Origin");
resp.setHeader("Access-Control-Allow-Origin", curOrigin == null ? "true" : curOrigin);
resp.setHeader("Access-Control-Allow-Credentials", "true");
resp.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE, HEAD");
resp.setHeader("Access-Control-Max-Age", "3600");
resp.setHeader("Access-Control-Allow-Headers", "access-control-allow-origin, authority, content-type, version-info, X-Requested-With");
resp.setContentType("application/json;charset=UTF-8");
PrintWriter writer = resp.getWriter();
String jsonString = JSONObject.toJSONString(projectService.randomSelect());
writer.println(jsonString);
writer.close();
}
}

View File

@@ -39,12 +39,10 @@ public class selectTermServlet extends HttpServlet {
resp.setHeader("Access-Control-Allow-Headers", "access-control-allow-origin, authority, content-type, version-info, X-Requested-With");
resp.setContentType("application/json;charset=UTF-8");
//按照分类返回期刊
String num = req.getParameter("xxxxxxx");
String num = req.getParameter("id");
PrintWriter writer = resp.getWriter();
String jsonString = JSONObject.toJSONString(projectService.retTerm(num));
setResultOK("success",writer);
writer.println(jsonString);
writer.close();
writer.println(projectService.retTerm(num));
// setResultOK("123",writer);
}
public void setResult(Integer code, String msg, PrintWriter writer) {