package com.itheima.web; import com.alibaba.fastjson.JSON; import com.itheima.pojo.Company; import com.itheima.pojo.Post; import com.itheima.pojo.Seeker; import com.itheima.pojoComplex.*; import com.itheima.service.CompanyService; import com.itheima.service.PostService; import com.itheima.service.SeekerService; import com.itheima.service.impl.CompanyServiceImpl; import com.itheima.service.impl.PostServiceImpl; import com.itheima.service.impl.SeekerServiceImpl; import com.itheima.util.Hashmap; import com.itheima.util.MyTextComparator; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.nio.charset.StandardCharsets; import java.text.ParseException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @WebServlet("/company/*") public class CompanyServlet extends BaseServlet{ private CompanyService service = new CompanyServiceImpl(); private PostService postService = new PostServiceImpl(); private SeekerService seekerService = new SeekerServiceImpl(); public void loginCompany(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { System.out.println("loginCompany..."); BufferedReader br = request.getReader(); String params = br.readLine(); PageBeen pageBeen = JSON.parseObject(params, PageBeen.class); Company company = service.loginCompany(pageBeen.getUsername(), pageBeen.getPassword()); //System.out.println("login"+seeker); response.setContentType("text/json;charset=utf-8"); if(company != null){ String jsonString = JSON.toJSONString(company); response.getWriter().write(jsonString); }else{ System.out.println("error"); response.getWriter().write("error"); } } public void companyRegister(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, ParseException { System.out.println("seekerRegister..."); request.setCharacterEncoding("utf-8"); BufferedReader br = request.getReader(); String params = br.readLine(); Company company = JSON.parseObject(params, Company.class); //System.out.println(params); service.insertCompany(company); response.setContentType("text/json;charset=utf-8"); response.getWriter().write("success"); } public void selectComInformation(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, ParseException { System.out.println("selectComInformation..."); BufferedReader br = new BufferedReader(new InputStreamReader(request.getInputStream(), StandardCharsets.UTF_8)); // BufferedReader br = request.getReader(); String companyname = br.readLine(); // System.out.println(params); // String companyname = JSON.parseObject(params, String.class); //System.out.println(params); Company company = service.selectCompanyByName(companyname); response.setContentType("text/json;charset=utf-8"); String jsonString = JSON.toJSONString(company); response.getWriter().write(jsonString); } public void updateComInformation(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, ParseException { System.out.println("selectComInformation..."); BufferedReader br = request.getReader(); String params = br.readLine(); // System.out.println(params); Company company = JSON.parseObject(params, Company.class); //System.out.println(params); service.updateCompany(company); response.setContentType("text/json;charset=utf-8"); String jsonString = JSON.toJSONString(company); response.getWriter().write(jsonString); } public void selectAllSeekers(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, ParseException { System.out.println("selectAllSeekers..."); BufferedReader br = request.getReader(); String params = br.readLine(); ComSeekers comSeekers = JSON.parseObject(params, ComSeekers.class); Company company = service.selectCompanyByName(comSeekers.getCompanyName()); List<Seeker> seekers = seekerService.selectAllByCondition(comSeekers.getSeeker()); Map<Seeker,Double> postIntegerMap =new HashMap<>(); for (int i = 0; i < seekers.size(); i++) { Double cosineSimilarity = MyTextComparator.getCosineSimilarity(company.getIntroduction(), seekers.get(i).getSkill()); postIntegerMap.put(seekers.get(i),cosineSimilarity); } List<Seeker> hsahpaixu = Hashmap.hsahpaixu2(postIntegerMap); String _currentPage = request.getParameter("currentPage"); String _pageSize = request.getParameter("pageSize"); int currentPage = Integer.parseInt(_currentPage); int pageSize = Integer.parseInt(_pageSize); List<Seeker> postBypage=new ArrayList<>(); int length=(currentPage-1)*pageSize+pageSize; if(length>hsahpaixu.size()) length=hsahpaixu.size(); for (int i = (currentPage-1)*pageSize; i <length ; i++) { postBypage.add(hsahpaixu.get(i)); } PostBeenSum<Seeker> postBeenSum =new PostBeenSum<>(); postBeenSum.setRows(postBypage); postBeenSum.setTotalCount(hsahpaixu.size()); response.setContentType("text/json;charset=utf-8"); String jsonString = JSON.toJSONString(postBeenSum); response.getWriter().write(jsonString); } public void selectPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, ParseException { System.out.println("selectPost..."); BufferedReader br = request.getReader(); String params = br.readLine(); PostBean postBean = JSON.parseObject(params, PostBean.class); System.out.println(postBean); Company company = service.selectCompanyByName(postBean.getUsername()); // List<Post> posts = postService.selectPost(); List<Post> posts = postService.selectPostByConditionAndComId(postBean.getPost(),company.getId()); // Map<Post,Double> postIntegerMap =new HashMap<>(); // for (int i = 0; i < posts.size(); i++) { // Double cosineSimilarity = MyTextComparator.getCosineSimilarity(seeker.getSkill(), posts.get(i).getSkillRequire()); // postIntegerMap.put(posts.get(i),cosineSimilarity); // } // List<Post> hsahpaixu = Hashmap.hsahpaixu(postIntegerMap); String _currentPage = request.getParameter("currentPage"); String _pageSize = request.getParameter("pageSize"); int currentPage = Integer.parseInt(_currentPage); int pageSize = Integer.parseInt(_pageSize); List<Post> postBypage=new ArrayList<>(); int length=(currentPage-1)*pageSize+pageSize; if(length>posts.size()) length=posts.size(); for (int i = (currentPage-1)*pageSize; i <length ; i++) { postBypage.add(posts.get(i)); } PostBeenSum<Post> postBeenSum =new PostBeenSum<>(); postBeenSum.setRows(postBypage); postBeenSum.setTotalCount(posts.size()); response.setContentType("text/json;charset=utf-8"); String jsonString = JSON.toJSONString(postBeenSum); //System.out.println(jsonString); response.getWriter().write(jsonString); } public void selectPostById(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, ParseException { System.out.println("selectPostById..."); BufferedReader br = request.getReader(); String params = br.readLine(); Integer id = JSON.parseObject(params, Integer.class); System.out.println(id); Post post = postService.selectPosrById(id); response.setContentType("text/json;charset=utf-8"); String jsonString = JSON.toJSONString(post); //System.out.println(jsonString); response.getWriter().write(jsonString); } public void updatePostById(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, ParseException { System.out.println("updatePostById..."); BufferedReader br = request.getReader(); String params = br.readLine(); Post post = JSON.parseObject(params, Post.class); System.out.println(post); postService.updatePostById(post); response.setContentType("text/json;charset=utf-8"); String jsonString = JSON.toJSONString(post); //System.out.println(jsonString); response.getWriter().write(jsonString); } public void addPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, ParseException { System.out.println("addPost..."); request.setCharacterEncoding("utf-8"); BufferedReader br = request.getReader(); String params = br.readLine(); Post post = JSON.parseObject(params, Post.class); String name = new String(request.getParameter("name").getBytes("iso-8859-1"), "utf-8"); System.out.println(name); Company company = service.selectCompanyByName(name); post.setCompanyId(company.getId()); postService.addCompanyPost(post); response.setContentType("text/json;charset=utf-8"); String jsonString = JSON.toJSONString(post); //System.out.println(jsonString); response.getWriter().write(jsonString); } public void selectPostStateByCondition(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { System.out.println("selectPostStateByCondition..."); BufferedReader br = request.getReader(); String params = br.readLine(); Post post = JSON.parseObject(params, Post.class); System.out.println(post); List<PostSeekerState> postStates = service.selectPostStateByCondition(post); //System.out.println(postStates); String _currentPage = request.getParameter("currentPage"); String _pageSize = request.getParameter("pageSize"); int currentPage = Integer.parseInt(_currentPage); int pageSize = Integer.parseInt(_pageSize); List<PostSeekerState> postBypage=new ArrayList<>(); int length=(currentPage-1)*pageSize+pageSize; if(length>postStates.size()) length=postStates.size(); for (int i = (currentPage-1)*pageSize; i <length ; i++) { postBypage.add(postStates.get(i)); } PostBeenSum<PostSeekerState> postBeenSum =new PostBeenSum<>(); postBeenSum.setRows(postBypage); postBeenSum.setTotalCount(postStates.size()); response.setContentType("text/json;charset=utf-8"); String jsonString = JSON.toJSONString(postBeenSum); //System.out.println(jsonString); System.out.println(jsonString); response.getWriter().write(jsonString); } public void updateNewsCommit(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, ParseException { System.out.println("updateNewsCommit..."); request.setCharacterEncoding("utf-8"); BufferedReader br = request.getReader(); String params = br.readLine(); PostSeekerState postSeekerState = JSON.parseObject(params, PostSeekerState.class); postService.updateOrdeleteNewsByIdsCommit(postSeekerState.getPid(),postSeekerState.getSid(),2); response.setContentType("text/json;charset=utf-8"); String jsonString = JSON.toJSONString("success"); //System.out.println(jsonString); response.getWriter().write(jsonString); } }
对于Company的SQL等操作
package com.itheima.mapper; import com.itheima.pojo.Company; import com.itheima.pojo.Post; import com.itheima.pojoComplex.PostSeekerState; import com.itheima.pojoComplex.PostState; import org.apache.ibatis.annotations.Insert; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Update; import java.util.List; public interface CompanyMapper { @Select("select * from company where name=#{name} and password =#{password}") Company loginCompany(@Param("name") String name, @Param("password") String password); @Insert("insert into company values (null,#{name},#{introduction},#{phone},#{password})") void insertCompany(Company company); @Select("select * from company where id=#{id}") Company selectCompanyByPostId(int id); @Select("select * from company where name=#{name}") Company selectCompanyByName(String name); @Update("update company set name=#{name},introduction=#{introduction},phone=#{phone},password=#{password} where id=#{id}") void updateCompany(Company company); List<PostSeekerState> selectPostStateByCondition(Post post); }
SQl
今日完成:
1.对于公司的SQl语句的编辑
2.完成与页面的交互,数据互通
3.对于SQL的优化修改测试
明日目标:
1.完成个人端的相关SQl实现
2.进行两个端口的数据交互
3.再次完善数据库内容

浙公网安备 33010602011771号