> 文档中心 > 杨校老师项目之基于SSM大学生创新创业项目管理系统

杨校老师项目之基于SSM大学生创新创业项目管理系统


1. 获取代码:

添加博主微信获取,备注来源:
mryang511688

2. 项目描述

基于SSM框架开发的大学生创新创业项目管理平台。

3.功能简介

在这里插入图片描述

4. 技术栈:

html + JavaScript + Ajax + SSM + MySQL + LayUI + Bootstrap

5. 运行环境

IntelliJ IDEA/Eclipse + MySQL5.7+ JDK1.8 + Maven3.5.4 + Tomcat9.0 + Redis6.1

6.后台界面

后台首页
在这里插入图片描述

角色管理在这里插入图片描述
用户管理
在这里插入图片描述
权限管理
在这里插入图片描述
通知管理
在这里插入图片描述
文件管理
在这里插入图片描述


所有项目
在这里插入图片描述
中期检查
在这里插入图片描述
立项阶段
在这里插入图片描述
结题阶段
在这里插入图片描述
管理员个人资料
在这里插入图片描述


7. 前台界面

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述


8. 代码展示

  • 8.1 评审的实体类
package com.ieps.pojo;import com.fasterxml.jackson.annotation.JsonFormat;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;import lombok.experimental.Accessors;import org.springframework.format.annotation.DateTimeFormat;import java.io.Serializable;import java.math.BigDecimal;import java.util.Date;/** * @author Mryang */@Data@AllArgsConstructor@NoArgsConstructor@Accessors(chain = true)public class Review implements Serializable { private Integer id; // 评委职工号    private String userNum; // 项目编号    private String itemNum; // 分数    private BigDecimal reviewScore; // 评审意见    private String reviewOption; // 评审类型(0:立项申请;1:中期检查;2:结题申请)    private Integer reviewType; // 评审级别(0:指导老师评审;1:学院评审;2:学校评审)    private Integer reviewLevel; // 评审时间    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")    private Date reviewTime; private Date createTime; private Date updateTime;    }
  • 8.2 评审的controller控制器
package com.ieps.controller;import com.ieps.common.ServerResponse;import com.ieps.dto.ReviewAdminDto;import com.ieps.pojo.User;import com.ieps.service.ReviewAdminService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.ResponseBody;import javax.servlet.http.HttpSession;/** * @author Mryang */@Controllerpublic class ReviewAdminController {    @Autowired    private ReviewAdminService reviewAdminService; /**     * 根据项目编号(itemNum)评审结果,分页显示     * @param page     * @param itemNum     * @param limit     * @param session     * @param userNum     * @return     */    @RequestMapping("/getAllReviewWithItemNum.do")    @ResponseBody    public ServerResponse getAllReviewWithItemNum(@RequestParam(value = "page", defaultValue = "1") int page, String itemNum, @RequestParam(value = "limit", defaultValue = "10") int limit, HttpSession session, @RequestParam("userNum") String userNum) {  User user = (User) session.getAttribute("activeUser");      return reviewAdminService.getAllReviewListWithItemNum(page, limit, itemNum); }     @RequestMapping("/checkReview.do")    @ResponseBody    public ServerResponse checkReview(ReviewAdminDto reviewAdminDto, HttpSession session) { User user = (User) session.getAttribute("activeUser");  return reviewAdminService.checkReview(reviewAdminDto);     }    }
  • 8.3 评审的业务逻辑接口
package com.ieps.service;import com.ieps.common.ServerResponse;import com.ieps.dto.ReviewAdminDto;/** * @author Mryang */public interface ReviewAdminService { ServerResponse getAllReviewListWithItemNum(int pageNum, int pageSize, String itemNum); ServerResponse checkReview(ReviewAdminDto reviewAdminDto);    }
  • 8.4 货物的业务逻辑接口的实现类
package com.ieps.service.impl;import com.github.pagehelper.PageHelper;import com.github.pagehelper.PageInfo;import com.ieps.common.ServerResponse;import com.ieps.dto.ReviewAdminDto;import com.ieps.mapper.ReviewMapper;import com.ieps.service.ReviewAdminService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import java.util.List;/** * @author Mryang */@Servicepublic class ReviewAdminServiceImpl implements ReviewAdminService { @Autowired    private ReviewMapper reviewMapper;     @Override    public ServerResponse getAllReviewListWithItemNum(int pageNum, int pageSize, String itemNum) {     PageHelper.startPage(pageNum, pageSize);     List<ReviewAdminDto> reviewAdminDtoList = reviewMapper.selectAllReviewListWithItemNum(itemNum);   // 评审类型:1:立项评审;2:中期检查;3:结题评审 for (int i = 0; i < reviewAdminDtoList.size(); i++) {     if (reviewAdminDtoList.get(i).getReviewType() == 1) {  reviewAdminDtoList.get(i).setReviewAdminType("立项评审");     }     else if (reviewAdminDtoList.get(i).getReviewType() == 2) {  reviewAdminDtoList.get(i).setReviewAdminType("中期检查");     }     else if (reviewAdminDtoList.get(i).getReviewType() == 3) {  reviewAdminDtoList.get(i).setReviewAdminType("结题评审");     } }  // 评审级别: 1:院级评审;2:校级评审;3:省区级评审;4:国家级评审 for (int i = 0; i < reviewAdminDtoList.size(); i++) {     if (reviewAdminDtoList.get(i).getReviewLevel() == 1) {  reviewAdminDtoList.get(i).setReviewAdminLevel("院级评审");     }     else if (reviewAdminDtoList.get(i).getReviewLevel() == 2) {  reviewAdminDtoList.get(i).setReviewAdminLevel("校级评审");     }     else if (reviewAdminDtoList.get(i).getReviewLevel() == 3) {  reviewAdminDtoList.get(i).setReviewAdminLevel("省区级评审");     }     else if (reviewAdminDtoList.get(i).getReviewLevel() == 4) {  reviewAdminDtoList.get(i).setReviewAdminLevel("国家级评审");     } }     PageInfo pageInfo = new PageInfo(reviewAdminDtoList);  return ServerResponse.createBySuccess(pageInfo);    } @Override    public ServerResponse checkReview(ReviewAdminDto reviewAdminDto) { List<ReviewAdminDto> reviewAdminDtoList = reviewMapper.selectReviewWithMultCondition(reviewAdminDto); if (reviewAdminDtoList.size() > 0 ) {     return ServerResponse.createByErrorMessage("对不起,你已经上传了一次同类型的文件,请重新操作!"); }     return ServerResponse.createBySuccess("恭喜你,上传文件成功!");    }}
  • 8.5 评审的数据持久层的接口
package com.ieps.mapper;import com.ieps.dto.ReviewAdminDto;import com.ieps.pojo.Review;import java.util.List;public interface ReviewMapper {    int deleteByPrimaryKey(Integer id);    int insert(Review record);    int insertSelective(Review record);    Review selectByPrimaryKey(Integer id);    int updateByPrimaryKeySelective(Review record);    int updateByPrimaryKey(Review record); List<ReviewAdminDto> selectAllReviewListWithItemNum(String itemNum); List<ReviewAdminDto> selectReviewWithMultCondition(ReviewAdminDto reviewAdminDto); }
  • 8.5 评审的数据持久层的接口
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" ><mapper namespace="com.ieps.mapper.ReviewMapper">    <resultMap id="BaseResultMap" type="com.ieps.pojo.Review"> <constructor>     <idArg column="id" jdbcType="INTEGER" javaType="java.lang.Integer"/>     <arg column="user_num" jdbcType="VARCHAR" javaType="java.lang.String"/>     <arg column="item_num" jdbcType="VARCHAR" javaType="java.lang.String"/>     <arg column="review_score" jdbcType="DECIMAL" javaType="java.lang.Long"/>     <arg column="review_option" jdbcType="VARCHAR" javaType="java.lang.String"/>     <arg column="review_type" jdbcType="INTEGER" javaType="java.lang.Integer"/>     <arg column="review_level" jdbcType="INTEGER" javaType="java.lang.Integer"/>     <arg column="review_time" jdbcType="TIMESTAMP" javaType="java.util.Date"/>     <arg column="create_time" jdbcType="TIMESTAMP" javaType="java.util.Date"/>     <arg column="update_time" jdbcType="TIMESTAMP" javaType="java.util.Date"/> </constructor>    </resultMap>    <sql id="Base_Column_List">    id, user_num, item_num, review_score, review_option, review_type, review_level, review_time, create_time, update_time  </sql>    <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer"> select <include refid="Base_Column_List"/> from ieps_review where id = #{id,jdbcType=INTEGER}    </select>    <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">    delete from ieps_review    where id = #{id,jdbcType=INTEGER}  </delete>    <insert id="insert" parameterType="com.ieps.pojo.Review">    insert into ieps_review (user_num, item_num, review_score,      review_option, review_type, review_level,      review_time, create_time, update_time      )    values    (      #{userNum,jdbcType=VARCHAR}, #{itemNum,jdbcType=VARCHAR}, #{reviewScore,jdbcType=DECIMAL}, #{reviewOption,jdbcType=VARCHAR},      #{reviewType,jdbcType=INTEGER}, #{reviewLevel,jdbcType=INTEGER}, now(), now(), now()      )  </insert>    <insert id="insertSelective" parameterType="com.ieps.pojo.Review"> insert into ieps_review <trim prefix="(" suffix=")" suffixOverrides=",">     <if test="userNum != null">  user_num,     </if>     <if test="itemNum != null">  item_num,     </if>     <if test="reviewScore != null">  review_score,     </if>     <if test="reviewOption != null">  review_option,     </if>     <if test="reviewType != null">  review_type,     </if>     <if test="reviewLevel != null">  review_level,     </if>     <if test="reviewTime != null">  review_time,     </if>     <if test="createTime != null">  create_time,     </if>     <if test="updateTime != null">  update_time,     </if> </trim> <trim prefix="values (" suffix=")" suffixOverrides=",">     <if test="userNum != null">  #{userNum,jdbcType=VARCHAR},     </if>     <if test="itemNum != null">  #{itemNum,jdbcType=VARCHAR},     </if>     <if test="reviewScore != null">  #{reviewScore,jdbcType=DECIMAL},     </if>     <if test="reviewOption != null">  #{reviewOption,jdbcType=VARCHAR},     </if>     <if test="reviewType != null">  #{reviewType,jdbcType=INTEGER},     </if>     <if test="reviewLevel != null">  #{reviewLevel,jdbcType=INTEGER},     </if>     <if test="reviewTime != null">  now(),     </if>     <if test="createTime != null">  now(),     </if>     <if test="updateTime != null">  now(),     </if> </trim>    </insert>    <update id="updateByPrimaryKeySelective" parameterType="com.ieps.pojo.Review"> update ieps_review <set>     <if test="userNum != null">  user_num = #{userNum,jdbcType=VARCHAR},     </if>     <if test="itemNum != null">  item_num = #{itemNum,jdbcType=VARCHAR},     </if>     <if test="reviewScore != null">  review_score = #{reviewScore,jdbcType=DECIMAL},     </if>     <if test="reviewOption != null">  review_option = #{reviewOption,jdbcType=VARCHAR},     </if>     <if test="reviewType != null">  review_type = #{reviewType,jdbcType=INTEGER},     </if>     <if test="reviewLevel != null">  review_level = #{reviewLevel,jdbcType=INTEGER},     </if>     <if test="reviewTime != null">  review_time = #{reviewTime,jdbcType=TIMESTAMP},     </if>     <if test="createTime != null">  create_time = #{createTime,jdbcType=TIMESTAMP},     </if>     <if test="updateTime != null">  update_time = now(),     </if> </set> where id = #{id,jdbcType=INTEGER}    </update>    <update id="updateByPrimaryKey" parameterType="com.ieps.pojo.Review">    update ieps_review    set user_num = #{userNum,jdbcType=VARCHAR},      item_num = #{itemNum,jdbcType=VARCHAR},      review_score = #{reviewScore,jdbcType=DECIMAL},      review_option = #{reviewOption,jdbcType=VARCHAR},      review_type = #{reviewType,jdbcType=INTEGER},      review_level = #{reviewLevel,jdbcType=INTEGER},      review_time = now(),      create_time = #{createTime,jdbcType=TIMESTAMP},      update_time = now()    where id = #{id,jdbcType=INTEGER}  </update>         <select id="selectAllReviewListWithItemNum" parameterType="string" resultType="ReviewAdminDto"> SELECT ir.id, ir.user_num AS userNum, iui.user_name AS userName, ir.item_num AS itemNum, ir.review_score AS reviewScore, ir.review_option AS reviewOption, ir.review_type AS reviewType, ir.review_level AS reviewLevel, ir.review_time AS reviewTime, ir.create_time AS createTime, ir.update_time AS updateTime, ifh.file_name AS fileName, ifh.file_kind AS fileKindFROM ieps_review irLEFT JOIN ( SELECT * FROM ieps_file_hub WHERE file_kind NOT IN (-1, 0, 1, 2) ) ifh ON ifh.type_num = ir.item_numAND ifh.user_num = ir.user_num INNER JOIN ieps_user_info iui ON iui.user_num = ir.user_num WHERE ir.item_num = #{itemNum}    </select>     <select id="selectReviewWithMultCondition" resultType="ReviewAdminDto"> SELECT ir.id, ir.user_num AS userNum, iui.user_name AS userName, ir.item_num AS itemNum, ir.review_score AS reviewScore, ir.review_option AS reviewOption, ir.review_type AS reviewType, ir.review_level AS reviewLevel, ir.review_time AS reviewTime, ir.create_time AS createTime, ir.update_time AS updateTime, ifh.file_name AS fileName, ifh.file_kind AS fileKindFROM ieps_review irINNER JOIN ( SELECT * FROM ieps_file_hub WHERE file_kind = #{fileKind} ) ifh ON ifh.type_num = ir.item_numAND ifh.user_num = ir.user_num INNER JOIN ieps_user_info iui ON iui.user_num = ir.user_num WHERE ir.item_num = #{itemNum} AND ir.user_num = #{userNum}    </select></mapper>

作者: 杨校

出处: https://mryang.blog.csdn.net

有意源码研究Wx-Me:mryang511688

分享是快乐的,也见证了个人成长历程,文章大多都是工作经验总结以及平时学习积累,基于自身认知不足之处在所难免,也请大家指正,共同进步。

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 如有问题, 可邮件(397583050@qq.com)咨询

闲鱼礼物网