yetang307

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
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.再次完善数据库内容

 

posted on 2023-04-21 15:58  椰糖  阅读(47)  评论(0)    收藏  举报