Java程式設計師用下班時間寫了個高校畢業就業管理平臺

語言: CN / TW / HK

theme: condensed-night-purple highlight: a11y-dark


前言介紹:

隨著社會的發展,社會的各行各業都在利用資訊化時代的優勢。計算機的優勢和普及使得各種資訊系統的開發成為必需。高校畢業生就業管理系統,主要的模組包括首頁、個人中心、學生管理、輔導員管理、企業管理、招聘資訊管理、應聘資訊管理、畢業去向管理、就業知識管理、系統管理等功能。系統中管理員主要是為了安全有效地儲存和管理各類資訊,還可以對系統進行管理與更新維護等操作,並且對後臺有相應的操作許可權。要想實現高校畢業生就業管理系統的各項功能,需要後臺資料庫的大力支援。管理員驗證註冊資訊,收集的資訊,並由此分析得出的關聯資訊等大量的資料都由資料庫管理。本文中資料庫伺服器端採用了Mysql作為後臺資料庫,使Web與資料庫緊密聯絡起來。在設計過程中,充分保證了系統程式碼的良好可讀性、實用性、易擴充套件性、通用性、便於後期維護、操作方便以及頁面簡潔等特點。本系統的開發使獲取高校畢業生就業管理系統資訊能夠更加方便快捷,同時也使高校畢業生就業管理系統管理資訊變的更加系統化、有序化。系統介面較友好,易於操作。

專案設計:

高校畢業生就業管理系統基於Web服務模式,是一個適用於Internet環境下的模型結構。只要使用者能連上Internet,便可以在不受時間、地點的限制來使用這個系統。高校畢業生就業管理系統工作原理圖,如圖

圖系統工作原理圖

系統架構圖屬於系統設計階段,系統架構圖只是這個階段一個產物,系統的總體架構決定了整個系統的模式,是系統的基礎。高校畢業生就業管理系統的整體結構設計

功能截圖:

系統首頁:首頁可以檢視首頁、企業、招聘資訊、就業知識、公告資訊、個人中心、後臺管理等資訊進行詳細操作

登入註冊:管理員、學生、輔導員和企業四個角色,都可以簡單明瞭的進入到自己的系統介面,通過介面導航選單可以簡單明瞭地操作功能模組,方便使用者資訊的操作需求和管理員管理資料資訊

企業資訊:

企業詳情:

招聘資訊:在招聘資訊頁面中可以檢視企業名稱、企業賬號、崗位名稱、上班地點、上班時間、薪資待遇、招聘人數、聯絡方式、點選次數、任職要求、企業介紹等資訊

 招聘資訊詳情:

招聘資訊詳情公司介紹

使用者填寫應聘資訊:管理員或企業收到應聘資訊進行稽核、稽核後在使用者端可以看到

企業賬號登入稽核通過後進行面試:

學生使用者檢視應聘資訊 

就業知識:在就業知識頁面中可以檢視標題、分類、圖片、相關資料、視訊等資訊

在就業知識可以對檔案進行下載以及視訊的觀看。

以及評論和檔案內容的檢視 

線下宣講會:

公告資訊:

公告詳情:

個人中心:

管理員後臺管理:管理員登入進入系統之後,就可以對所有的資訊進行檢視,可以檢視到首頁、個人中心、學生管理、輔導員管理、企業管理、招聘資訊管理、應聘資訊管理、畢業去向管理、就業知識管理、系統管理等,並且還可以對其進行相應的操作管理

 企業管理:在企業管理頁面中可以對索引、企業賬號、企業名稱、企業地址、負責人、聯絡方式、郵箱、企業圖片、附件等資訊進行詳情,修改或刪除等操作

招聘資訊:

應聘資訊:

畢業去向:

就業知識:

線下宣講會:

系統公告以及輪播圖等管理:

​​

程式碼實現:

```java

/* * 招聘資訊 * 後端介面 * @author * @email * @date 2022-03-05 23:00:18 / @RestController @RequestMapping("/zhaopinxinxi") public class ZhaopinxinxiController { @Autowired private ZhaopinxinxiService zhaopinxinxiService;

/**
 * 後端列表
 */
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,ZhaopinxinxiEntity zhaopinxinxi,
    HttpServletRequest request){
    String tableName = request.getSession().getAttribute("tableName").toString();
    if(tableName.equals("qiye")) {
        zhaopinxinxi.setQiyezhanghao((String)request.getSession().getAttribute("username"));
    }
    EntityWrapper<ZhaopinxinxiEntity> ew = new EntityWrapper<ZhaopinxinxiEntity>();
    PageUtils page = zhaopinxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, zhaopinxinxi), params), params));

    return R.ok().put("data", page);
}

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

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

 /**
 * 查詢
 */
@RequestMapping("/query")
public R query(ZhaopinxinxiEntity zhaopinxinxi){
    EntityWrapper< ZhaopinxinxiEntity> ew = new EntityWrapper< ZhaopinxinxiEntity>();
    ew.allEq(MPUtil.allEQMapPre( zhaopinxinxi, "zhaopinxinxi")); 
    ZhaopinxinxiView zhaopinxinxiView =  zhaopinxinxiService.selectView(ew);
    return R.ok("查詢招聘資訊成功").put("data", zhaopinxinxiView);
}

/**
 * 後端詳情
 */
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id){
    ZhaopinxinxiEntity zhaopinxinxi = zhaopinxinxiService.selectById(id);
    zhaopinxinxi.setClicknum(zhaopinxinxi.getClicknum()+1);
    zhaopinxinxiService.updateById(zhaopinxinxi);
    return R.ok().put("data", zhaopinxinxi);
}

/**
 * 前端詳情
 */
@IgnoreAuth
@RequestMapping("/detail/{id}")
public R detail(@PathVariable("id") Long id){
    ZhaopinxinxiEntity zhaopinxinxi = zhaopinxinxiService.selectById(id);
    zhaopinxinxi.setClicknum(zhaopinxinxi.getClicknum()+1);
    zhaopinxinxiService.updateById(zhaopinxinxi);
    return R.ok().put("data", zhaopinxinxi);
}




/**
 * 後端儲存
 */
@RequestMapping("/save")
public R save(@RequestBody ZhaopinxinxiEntity zhaopinxinxi, HttpServletRequest request){
    zhaopinxinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    //ValidatorUtils.validateEntity(zhaopinxinxi);
    zhaopinxinxiService.insert(zhaopinxinxi);
    return R.ok();
}

/**
 * 前端儲存
 */
@RequestMapping("/add")
public R add(@RequestBody ZhaopinxinxiEntity zhaopinxinxi, HttpServletRequest request){
    zhaopinxinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    //ValidatorUtils.validateEntity(zhaopinxinxi);
    zhaopinxinxiService.insert(zhaopinxinxi);
    return R.ok();
}

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


/**
 * 刪除
 */
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
    zhaopinxinxiService.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<ZhaopinxinxiEntity> wrapper = new EntityWrapper<ZhaopinxinxiEntity>();
    if(map.get("remindstart")!=null) {
        wrapper.ge(columnName, map.get("remindstart"));
    }
    if(map.get("remindend")!=null) {
        wrapper.le(columnName, map.get("remindend"));
    }

    String tableName = request.getSession().getAttribute("tableName").toString();
    if(tableName.equals("qiye")) {
        wrapper.eq("qiyezhanghao", (String)request.getSession().getAttribute("username"));
    }

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

} ```

資料庫設計:

將資料庫概念設計的E-R圖轉換為關係資料庫。在關係資料庫中,資料關係由資料表組成,但是表的結構表現在表的欄位上。

表4-1:企業

| | | | | | --------------- | --------- | ---------- | ----- | | 欄位名稱 | 型別 | 長度 | 欄位說明 | | id | bigint | | 主鍵 | | addtime | timestamp | | 建立時間 | | qiyezhanghao | varchar | 200 | 企業賬號 | | mima | varchar | 200 | 密碼 | | qiyemingcheng | varchar | 200 | 企業名稱 | | qiyedizhi | varchar | 200 | 企業地址 | | fuzeren | varchar | 200 | 負責人 | | lianxifangshi | varchar | 200 | 聯絡方式 | | youxiang | varchar | 200 | 郵箱 | | qiyetupian | varchar | 200 | 企業圖片 | | qiyezizhi | varchar | 200 | 企業資質 | | yingyexukezheng | varchar | 200 | 營業許可證 | | sfsh | varchar | 200 | 是否稽核 | | shhf | longtext | 4294967295 | 稽核回覆 |

​​

表:公告資訊

| | | | | | ------------ | --------- | ---------- | ---- | | 欄位名稱 | 型別 | 長度 | 欄位說明 | | id | bigint | | 主鍵 | | addtime | timestamp | | 建立時間 | | title | varchar | 200 | 標題 | | introduction | longtext | 4294967295 | 簡介 | | picture | varchar | 200 | 圖片 | | content | longtext | 4294967295 | 內容 |

表:就業知識

| | | | | | --------------- | --------- | ---------- | ---- | | 欄位名稱 | 型別 | 長度 | 欄位說明 | | id | bigint | | 主鍵 | | addtime | timestamp | | 建立時間 | | biaoti | varchar | 200 | 標題 | | fenlei | varchar | 200 | 分類 | | tupian | varchar | 200 | 圖片 | | xiangguanziliao | varchar | 200 | 相關資料 | | shipin | varchar | 200 | 視訊 | | wenzhangneirong | longtext | 4294967295 | 文章內容 |

表:輔導員

| | | | | | ----------------- | --------- | --- | ----- | | 欄位名稱 | 型別 | 長度 | 欄位說明 | | id | bigint | | 主鍵 | | addtime | timestamp | | 建立時間 | | fudaoyuangonghao | varchar | 200 | 輔導員工號 | | mima | varchar | 200 | 密碼 | | fudaoyuanxingming | varchar | 200 | 輔導員姓名 | | xingbie | varchar | 200 | 性別 | | lianxidianhua | varchar | 200 | 聯絡電話 | | jiaoshiyouxiang | varchar | 200 | 教師郵箱 |

表:招聘資訊

| | | | | | ---------------- | --------- | ---------- | ---- | | 欄位名稱 | 型別 | 長度 | 欄位說明 | | id | bigint | | 主鍵 | | addtime | timestamp | | 建立時間 | | qiyemingcheng | varchar | 200 | 企業名稱 | | qiyezhanghao | varchar | 200 | 企業賬號 | | qiyetupian | varchar | 200 | 企業圖片 | | gangweimingcheng | varchar | 200 | 崗位名稱 | | shangbandidian | varchar | 200 | 上班地點 | | shangbanshijian | varchar | 200 | 上班時間 | | xinzidaiyu | int | | 薪資待遇 | | zhaopinrenshu | int | | 招聘人數 | | lianxifangshi | varchar | 200 | 聯絡方式 | | qiyejieshao | longtext | 4294967295 | 企業介紹 | | renzhiyaoqiu | longtext | 4294967295 | 任職要求 | | sfsh | varchar | 200 | 是否稽核 | | shhf | longtext | 4294967295 | 稽核回覆 | | clicknum | int | | 點選次數 |

表:配置檔案

| | | | | | ----- | ------- | --- | ------ | | 欄位名稱 | 型別 | 長度 | 欄位說明 | | id | bigint | | 主鍵 | | name | varchar | 100 | 配置引數名稱 | | value | varchar | 100 | 配置引數值 |

表:應聘資訊

| | | | | | ---------------- | --------- | ---------- | ---- | | 欄位名稱 | 型別 | 長度 | 欄位說明 | | id | bigint | | 主鍵 | | addtime | timestamp | | 建立時間 | | qiyemingcheng | varchar | 200 | 企業名稱 | | gangweimingcheng | varchar | 200 | 崗位名稱 | | xinzidaiyu | varchar | 200 | 薪資待遇 | | qiyezhanghao | varchar | 200 | 企業賬號 | | xueshengzhanghao | varchar | 200 | 學生賬號 | | xueshengxingming | varchar | 200 | 學生姓名 | | lianxifangshi | varchar | 200 | 聯絡方式 | | jianlitoudi | varchar | 200 | 簡歷投遞 | | yingpinriqi | datetime | | 應聘日期 | | sfsh | varchar | 200 | 是否稽核 | | shhf | longtext | 4294967295 | 稽核回覆 |

論文參考:

摘  要

1 系統概述

1.1 概述

1.2課題意義

1.3 主要內容

2 系統開發環境

2.1 Spring Boot框架

2.2 JAVA簡介

2.3訪問資料庫實現方法

2.4系統對MySQL資料庫的兩種連線方式

2.5 MySql資料庫

3 需求分析

3.1技術可行性:技術背景

3.2經濟可行性

3.3操作可行性

3.4系統設計規則

3.5系統流程和邏輯

4系統概要設計

4.1 概述

4.2 系統結構

4.3. 資料庫設計

4.3.1 資料庫實體

4.3.2 資料庫設計表

5 系統詳細設計 5 系統詳細設計

5.1系統功能模組

5.2 管理員功能模組

5.3企業功能模組

5.4輔導員功能模組

5.5學生功能模組

6 系統測試

6.1系統測試的目的

6.2系統測試方法

6.3 測試結果

結論

致 謝

參考文獻

「其他文章」