Sistema de recomendación de correspondencia de trabajos del personal del proyecto Springboot+vue

Obtenga el código fuente al final del artículo

Lenguaje de desarrollo: Java

Herramientas de desarrollo: IDEA/Eclipse

Base de datos: MYSQL5.7

Servicio de aplicaciones: Tomcat7/Tomcat8

Marco de uso: springboot + vue

Versión JDK: jdk1.8

La gestión del sistema también se llevará a cabo de forma inteligente en su conjunto a través de la computadora. Hay una gran cantidad de gestión y almacenamiento de datos involucrados en el sistema de recomendación de coincidencia de trabajo humano, como administradores, página de inicio, centro personal, gestión de usuarios, gestión empresarial y gestión de información de trabajo. , gestión de tipo de puesto, gestión de información de aplicación, gestión de estado de aplicación, gestión de costos de plataforma, gestión de sistema, usuario; página de inicio, centro personal, gestión de información de aplicación, gestión de estado de aplicación, gestión de mi colección, empresa; página de inicio, personal centro, administración de información de publicaciones, administración de información de aplicaciones, administración de estado de aplicaciones, administración de costos de plataforma, página de inicio de la página principal; página de inicio, empresa, información de trabajo, información de noticias, centro personal, administración de antecedentes y otras funciones.

Análisis de casos de uso del sistema UML

Caso de uso del administrador

Después de iniciar sesión, el administrador puede realizar la página de inicio, el centro personal, la gestión de usuarios, la gestión empresarial, la gestión de la información del trabajo, la gestión del tipo de trabajo, la gestión de la información de la aplicación, la gestión del estado de la aplicación, la gestión de costos de la plataforma y la gestión del sistema.

 

Caso de uso del usuario

Una vez que el usuario se registra e inicia sesión, puede gestionar la página de inicio, el centro personal, la gestión de la información de la aplicación, la gestión del estado de la aplicación y la gestión de mi colección. 

arquitectura del sistema

La estructura del sistema de recomendación de emparejamiento humano-trabajo 

El módulo incluye la interfaz principal, la página de inicio, el centro personal, la gestión de usuarios, la gestión empresarial, la gestión de la información del trabajo, la gestión del tipo de trabajo, la gestión de la información de la aplicación, la gestión del estado de la aplicación, la gestión de costos de la plataforma, la gestión del sistema, etc. para realizar las operaciones correspondientes.

Diagrama de estructura del sistema de inicio de sesión, como se muestra en la figura 

Estas funciones pueden satisfacer completamente las necesidades del sistema de recomendación de coincidencia de trabajo humano. Las funciones de este sistema son más completas, como se muestra en la figura a continuación.La estructura de funciones del sistema se muestra en la figura a continuación. 

 

Principios de diseño de bases de datos

La aplicación de cada base de datos está separada de ellas, cuando se ejecuta en un determinado programa, se comunicará con el cliente con su propio protocolo relacionado. Entonces el sistema conectará estos datos. Cuando elijamos qué segmento de puente, describiremos brevemente cómo se crea la base de datos. Cuando haga clic en el botón Finalizar, el nombre de la fuente de datos aparecerá automáticamente en el cuadro de diálogo Haga clic en Siguiente e ingrese directamente la autenticación correspondiente y la contraseña de inicio de sesión. 

El flujo de datos del sistema de recomendación de búsqueda de empleo:

 

Diagrama ER de entidad de información empresarial , como se muestra en la figura

 

Diagrama ER de información de tarifa de plataforma , como se muestra en la figura

 

Implementación del sistema

Módulo de funciones de inicio en la página principal

Sistema de recomendación de coincidencia de personal, puede ver la página de inicio, la empresa, la información del trabajo, la información de noticias, el centro personal, la gestión de antecedentes y otros contenidos en la página de inicio del sistema, como se muestra en la figura 

 

Registro de usuario, en la página de registro, puede completar la cuenta de usuario, la contraseña, el nombre, el sexo, el teléfono móvil del usuario, la escuela de posgrado, la educación más alta, el puesto deseado, los requisitos salariales, la ciudad deseada y otra información para registrarse, como se muestra en el figura 

 

 

 empresa

 

 Informacion del trabajo

 

 

Módulo de función de usuario

El usuario hace clic para ingresar a la interfaz de operación del sistema y puede administrar módulos funcionales como la página de inicio, el centro personal, la gestión de información de la aplicación, la gestión del estado de la aplicación y la gestión de mi colección.Gestión de la información de la aplicación: a través de la lista, puede obtener el trabajo título, tipo de trabajo, cuenta de la empresa y nombre de la empresa, persona a cargo, información de contacto, número de cuenta de usuario, nombre, teléfono móvil del usuario, sexo, edad, escuela de posgrado, educación más alta, currículum personal y modificarlo, como se muestra en el figura 

Gestión del estado de la aplicación: a través de la lista, puede obtener información como el cargo, el tipo de trabajo, el número de cuenta de la empresa, el nombre de la empresa, la persona a cargo, la información de contacto, el número de cuenta del usuario, el nombre, el teléfono móvil del usuario, estado, contenido, tiempo de actualización , etc., y realizar operaciones de detalle, modificación y eliminación. , como se muestra en la figura 

Módulo de funciones de administrador

El administrador inicia sesión después de completar el nombre de usuario, la contraseña y el rol, como se muestra en la Figura 1. Después de iniciar sesión con éxito, el administrador ingresa a la interfaz de operación del sistema y puede realizar módulos funcionales como página de inicio, centro personal, administración de usuarios, administración empresarial, administración de información de trabajo, administración de tipo de trabajo, administración de información de aplicación, administración de estado de aplicación, costo de plataforma gestión y gestión del sistema correspondiente operación.

Administración de usuarios: la cuenta de usuario, el nombre, el sexo, la edad, el avatar, el teléfono móvil del usuario, la escuela de posgrado, la educación más alta, el puesto deseado, los requisitos salariales, la ciudad deseada, etc. se pueden obtener a través de la lista y se pueden modificar o eliminar, según se muestra en la figura 2

 

 

Gestión empresarial: a través de la lista, puede obtener información como la cuenta empresarial, el nombre empresarial, la dirección empresarial, la escala empresarial, la persona a cargo, la información de contacto, la imagen empresarial, el buzón empresarial, etc., y eliminar o modificar operaciones, como se muestra en la figura 

Gestión de tipos de publicaciones: puede obtener información como tipos de publicaciones a través de la lista y modificarlas o eliminarlas, como se muestra en la figura. 

Gestión de la información de la aplicación: a través de la lista, puede obtener información como el cargo, el tipo de trabajo, el número de cuenta de la empresa, el nombre de la empresa, la persona a cargo, la información de contacto, el número de cuenta del usuario, el nombre, el teléfono móvil del usuario, el sexo, la edad, la escuela de posgrado. , estudios superiores, currículum personal, etc. Modificar o eliminar operaciones, como se muestra en la figura 

Gestión del estado de la aplicación: los administradores pueden obtener información como el cargo, el tipo de trabajo, el número de cuenta de la empresa, el nombre de la empresa, la persona a cargo, la información de contacto, el número de cuenta del usuario, el nombre, el teléfono móvil del usuario, el estado, el contenido, la hora de actualización, etc. a través de la lista, y modifíquelos o elimínelos. , como se muestra en la figura 

Gestión de tarifas de plataforma: el administrador puede obtener el número de tarifa, año, mes, tipo de tarifa, monto de la tarifa, cuenta de la empresa, nombre de la empresa, persona a cargo, información de contacto, si pagar y otra información a través de la lista, y modificarla o eliminarla. , como se muestra en la figura 

Módulo de función empresarial

Las empresas hacen clic para ingresar a la interfaz de operación del sistema y pueden acceder a módulos funcionales como la página de inicio, el centro personal, la gestión de la información del trabajo, la gestión de la información de la aplicación, la gestión del estado de la aplicación, la gestión de costos de la plataforma, etc. Información personal: a través de la lista, puede obtener la cuenta de la empresa, el nombre de la empresa, la dirección de la empresa, el tamaño de la empresa, la persona a cargo, la información de contacto, la imagen de la empresa, el buzón de correo de la empresa y modifíquelo, como se muestra en la figura 

Gestión de tarifas de plataforma: a través de la lista, puede obtener el número de tarifa, año, mes, tipo de tarifa, monto de la tarifa, cuenta de la empresa, nombre de la empresa, persona a cargo, información de contacto, si pagar o no, y realizar detalles, modificación, y operaciones de borrado, como se muestra en la figura 

Gestión de la información de la aplicación: a través de la lista, puede obtener información como el cargo, el tipo de trabajo, el número de cuenta de la empresa, el nombre de la empresa, la persona a cargo, la información de contacto, el número de cuenta del usuario, el nombre, el teléfono móvil del usuario, el sexo, la edad, la escuela de posgrado. , estudios superiores, currículum personal, etc. Realizar operaciones de detalle, modificación y borrado, tal y como se muestra en la figura 

Gestión del estado de la aplicación: a través de la lista, puede obtener información como el cargo, el tipo de trabajo, el número de cuenta de la empresa, el nombre de la empresa, la persona a cargo, la información de contacto, el número de cuenta del usuario, el nombre, el teléfono móvil del usuario, el estado, el contenido, la hora de actualización. , etc., y realizar operaciones de detalle, modificación y eliminación. , como se muestra en la figura 

Parte del código:  

package com.controller;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;

import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;

import com.entity.GangweileixingEntity;
import com.entity.view.GangweileixingView;

import com.service.GangweileixingService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;


/**
 * 岗位类型
 * 后端接口
 * @author 
 * @email 
 * @date 2021-03-18 22:50:34
 */
@RestController
@RequestMapping("/gangweileixing")
public class GangweileixingController {
    @Autowired
    private GangweileixingService gangweileixingService;
    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,GangweileixingEntity gangweileixing,
		HttpServletRequest request){
        EntityWrapper<GangweileixingEntity> ew = new EntityWrapper<GangweileixingEntity>();
		PageUtils page = gangweileixingService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, gangweileixing), params), params));

        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,GangweileixingEntity gangweileixing, HttpServletRequest request){
        EntityWrapper<GangweileixingEntity> ew = new EntityWrapper<GangweileixingEntity>();
		PageUtils page = gangweileixingService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, gangweileixing), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( GangweileixingEntity gangweileixing){
       	EntityWrapper<GangweileixingEntity> ew = new EntityWrapper<GangweileixingEntity>();
      	ew.allEq(MPUtil.allEQMapPre( gangweileixing, "gangweileixing")); 
        return R.ok().put("data", gangweileixingService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(GangweileixingEntity gangweileixing){
        EntityWrapper< GangweileixingEntity> ew = new EntityWrapper< GangweileixingEntity>();
 		ew.allEq(MPUtil.allEQMapPre( gangweileixing, "gangweileixing")); 
		GangweileixingView gangweileixingView =  gangweileixingService.selectView(ew);
		return R.ok("查询岗位类型成功").put("data", gangweileixingView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        GangweileixingEntity gangweileixing = gangweileixingService.selectById(id);
        return R.ok().put("data", gangweileixing);
    }

    /**
     * 前端详情
     */
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        GangweileixingEntity gangweileixing = gangweileixingService.selectById(id);
        return R.ok().put("data", gangweileixing);
    }
    



    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody GangweileixingEntity gangweileixing, HttpServletRequest request){
    	gangweileixing.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(gangweileixing);
        gangweileixingService.insert(gangweileixing);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody GangweileixingEntity gangweileixing, HttpServletRequest request){
    	gangweileixing.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(gangweileixing);
        gangweileixingService.insert(gangweileixing);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody GangweileixingEntity gangweileixing, HttpServletRequest request){
        //ValidatorUtils.validateEntity(gangweileixing);
        gangweileixingService.updateById(gangweileixing);//全部更新
        return R.ok();
    }
    

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        gangweileixingService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
    
    /**
     * 提醒接口
     */
	@RequestMapping("/remind/{columnName}/{type}")
	public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, 
						 @PathVariable("type") String type,@RequestParam Map<String, Object> map) {
		map.put("column", columnName);
		map.put("type", type);
		
		if(type.equals("2")) {
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			Calendar c = Calendar.getInstance();
			Date remindStartDate = null;
			Date remindEndDate = null;
			if(map.get("remindstart")!=null) {
				Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
				c.setTime(new Date()); 
				c.add(Calendar.DAY_OF_MONTH,remindStart);
				remindStartDate = c.getTime();
				map.put("remindstart", sdf.format(remindStartDate));
			}
			if(map.get("remindend")!=null) {
				Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
				c.setTime(new Date());
				c.add(Calendar.DAY_OF_MONTH,remindEnd);
				remindEndDate = c.getTime();
				map.put("remindend", sdf.format(remindEndDate));
			}
		}
		
		Wrapper<GangweileixingEntity> wrapper = new EntityWrapper<GangweileixingEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}


		int count = gangweileixingService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	


}

 

Supongo que te gusta

Origin blog.csdn.net/m0_49113107/article/details/123885309
Recomendado
Clasificación