2024/2/7日 日志 期末考试案例回顾与分析---》综合案例(汇总)

发表日报:学生可以提交日报,记录学习情况。
修改日报:学生可以修改已提交的日报。
删除日报:学生可以删除已提交的日报。
发送内部消息:学生和教师可以发送内部消息。
评分日报:教师可以对学生的日报进行评分。
统计日报:教师可以统计某一时间段内的日报提交情况。

mapper
DailyReportMapper

点击查看代码
package com.Moonbeams.mapper;

import com.Moonbeams.pojo.DailyReport;
import com.Moonbeams.pojo.User;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.ResultMap;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import java.util.List;

public interface DailyReportMapper {

    /**
     * 发表日报
     * @param dailyReport
     */
    @Insert("insert ft_dailyreport values (null,#{publishDate},#{stuno},#{name},#{spentTime},#{codeamount},#{blogsnumber},#{knowledgePoints},#{state},#{dailyScore},#{stateReason})")
    @ResultMap("DailyReportResultMap")
    void addDailyReport(DailyReport dailyReport);

    @Select("select *from ft_dailyreport")
    @ResultMap("DailyReportResultMap")
    List<DailyReport> getAllDailyReport();

    @Select("select *from ft_dailyreport where stuno=#{stuno} ")
    List<DailyReport> getAllDailyReportByStuno(int stuno);

    @Select("select *from ft_dailyreport where id=#{id}")
    @ResultMap("DailyReportResultMap")
    DailyReport getDailyReportById(@Param("id") int id);

    @Update("update ft_dailyreport set publishDate =#{publishDate},spentTime =#{spentTime},codeamount=#{codeamount},blogsnumber=#{blogsnumber} where id=#{id}")
    @ResultMap("DailyReportResultMap")
    void modifyDailyReport(DailyReport dailyReport);

    @Update("update ft_dailyreport set dailyScore=#{dailyScore},state=#{state},stateReason=#{stateReason} where id=#{id}")
    @ResultMap("DailyReportResultMap")
    void modifyDailyReportScore(DailyReport dailyReport);

    @Update("update ft_dailyreport set state=#{state},stateReason=#{stateReason} where id=#{id}")
    @ResultMap("DailyReportResultMap")
    void modifyDailyReportState(DailyReport dailyReport);

    @Delete("delete from ft_dailyreport where id=#{id}")
    @ResultMap("DailyReportResultMap")
    void deleteDailyReportById(@Param("id") int id);

    @Select("SELECT * FROM ft_dailyreport WHERE stuno = #{stuno} AND (publishDate LIKE CONCAT('%', #{publishDate}, '%') OR knowledgePoints LIKE CONCAT('%', #{knowledgePoints}, '%'))")
    @ResultMap("DailyReportResultMap")
    List<DailyReport> searchDR(@Param("stuno") int stuno, @Param("publishDate") String publishDate, @Param("knowledgePoints") String knowledgePoints);

    @Select("SELECT * FROM ft_dailyreport WHERE publishDate LIKE CONCAT('%', #{publishDate}, '%') OR knowledgePoints LIKE CONCAT('%', #{knowledgePoints}, '%')")
    @ResultMap("DailyReportResultMap")
    List<DailyReport> searchDR2(@Param("publishDate") String publishDate, @Param("knowledgePoints") String knowledgePoints);

    @Select("SELECT * FROM ft_dailyreport WHERE publishDate = #{today}")
    @ResultMap("DailyReportResultMap")
    List<DailyReport> getSubmittedReportsToday(@Param("today") String today);

    @Select("SELECT * FROM ft_dailyreport WHERE publishDate BETWEEN #{startDate} AND #{endDate}")
    @ResultMap("DailyReportResultMap")
    List<DailyReport> getSubmittedReportsBetweenDates(@Param("startDate") String startDate, @Param("endDate") String endDate);
}


InternalMessageMapper
点击查看代码
package com.Moonbeams.mapper;

import com.Moonbeams.pojo.InternalMessage;
import com.Moonbeams.pojo.User;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.ResultMap;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import java.util.List;

public interface InternalMessageMapper {

    @Insert("INSERT ft_internalmessage VALUES(null,#{category},#{senderName},#{senderNo},#{receiverName},#{receiverNo},#{content},#{state})")
    @ResultMap("InternalMessageResultMap")
    void addInternalMessage(InternalMessage internalMessage);

    @Select("select *from ft_internalmessage")
    @ResultMap("InternalMessageResultMap")
    List<InternalMessage> getAllInternalMessages();

    @Select("select *FROM ft_internalmessage WHERE id=#{id}")
    @ResultMap("InternalMessageResultMap")
    InternalMessage selectInternalMessageById(@Param("id") int id);

    @Update("update ft_internalmessage set state=#{state} where id =#{id}")
    @ResultMap("InternalMessageResultMap")
    void modifyInternalMessageState(InternalMessage internalMessage);

}

UserInfoMapper
点击查看代码
package com.Moonbeams.mapper;

import com.Moonbeams.pojo.User;
import com.Moonbeams.pojo.UserInfo;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.ResultMap;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import java.util.List;

public interface UserInfoMapper {

    @Select("select *from ft_userinfo where userID=#{userID}")
    @ResultMap("UserInfoResultMap")
    UserInfo selectUserInfoById(@Param("userID") Integer userID);


    @Insert("INSERT ft_userinfo VALUES (null,#{userName},#{userCategory},#{groupno})")
    @ResultMap("UserInfoResultMap")
    void addUserInfo(UserInfo userInfo);

    @Update("update ft_userinfo set userCategory = #{userCategory}")
    void updateUserInfo(UserInfo userInfo);

    @Select("select *from ft_userinfo where groupno=#{groupno}")
    @ResultMap("UserInfoResultMap")
    List<UserInfo> selectUserInfoBygroupno(@Param("groupno") int groupno);

    @Select("select *from ft_userinfo")
    @ResultMap("UserInfoResultMap")
    List<UserInfo> selectAllUserInfos();
}

UserMapper
点击查看代码
package com.Moonbeams.mapper;

import com.Moonbeams.pojo.User;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.ResultMap;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

public interface UserMapper {
    /**
     * 根据用户名和密码查询用户对象
     * @param username
     * @param password
     * @return
     */
    @Select("select *from ft_user where username = #{username} and password = #{password}")
    @ResultMap("UserResultMap")
    User select(@Param("username") String username, @Param("password") String password);

    /**
     * 根据用户名查询用户对象
     *
     * @param username
     * @return
     */
    @Select("select *from ft_user where username = #{username}")
    @ResultMap("UserResultMap")
    User selectByUsername(@Param("username") String username);

    /**
     * 添加用户
     * @param user
     */
    @Insert("insert into ft_user values(null,#{username},#{password},#{identify})")
    @ResultMap("UserResultMap")
    void add(User user);

    /**
     * 修改密码
     * @param user
     */
    @Update("update ft_user set password = #{password} where username = #{username}")
    @ResultMap("UserResultMap")
    void modifyPassword(User user);

    /**
     * 重置密码为123456
     * @param user
     */
    @Update("update ft_user set password = '123456' where username = #{username}")
    @ResultMap("UserRe" +
            "sultMap")
    void resetPassword(User user);

    @Update("update ft_user set identify = #{identify} where username = #{username}")
    @ResultMap("UserResultMap")
    void modifyIdentify(User user);
}

pojo

点击查看代码
package com.Moonbeams.pojo;

public class DailyReport {
    private Integer id;
    private String publishDate;
    private Integer stuno;
    private String name;
    private Integer spentTime;
    private Integer codeamount;
    private Integer blogsnumber;
    private String knowledgePoints;
    private String state;
    private Integer dailyScore;
    private String stateReason;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getPublishDate() {
        return publishDate;
    }

    public void setPublishDate(String publishDate) {
        this.publishDate = publishDate;
    }

    public Integer getStuno() {
        return stuno;
    }

    public void setStuno(Integer stuno) {
        this.stuno = stuno;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getSpentTime() {
        return spentTime;
    }

    public void setSpentTime(Integer spentTime) {
        this.spentTime = spentTime;
    }

    public Integer getCodeamount() {
        return codeamount;
    }

    public void setCodeamount(Integer codeamount) {
        this.codeamount = codeamount;
    }

    public Integer getBlogsnumber() {
        return blogsnumber;
    }

    public void setBlogsnumber(Integer blogsnumber) {
        this.blogsnumber = blogsnumber;
    }

    public String getKnowledgePoints() {
        return knowledgePoints;
    }

    public void setKnowledgePoints(String knowledgePoints) {
        this.knowledgePoints = knowledgePoints;
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }

    public Integer getDailyScore() {
        return dailyScore;
    }

    public void setDailyScore(Integer dailyScore) {
        this.dailyScore = dailyScore;
    }

    public String getStateReason() {
        return stateReason;
    }

    public void setStateReason(String stateReason) {
        this.stateReason = stateReason;
    }

    @Override
    public String toString() {
        return "DailyReport{" +
                "id=" + id +
                ", publishDate='" + publishDate + '\'' +
                ", stuno=" + stuno +
                ", name='" + name + '\'' +
                ", spentTime=" + spentTime +
                ", codeamount=" + codeamount +
                ", blogsnumber=" + blogsnumber +
                ", knowledgePoints='" + knowledgePoints + '\'' +
                ", state='" + state + '\'' +
                ", dailyScore=" + dailyScore +
                ", stateReason='" + stateReason + '\'' +
                '}';
    }
}

InternalMessage
点击查看代码
package com.Moonbeams.pojo;

public class InternalMessage {
    private Integer id;
    private String category;
    private String senderName;
    private String senderNo;
    private String receiverName;
    private String receiverNo;
    private String content;
    private String state;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getCategory() {
        return category;
    }

    public void setCategory(String category) {
        this.category = category;
    }

    public String getSenderName() {
        return senderName;
    }

    public void setSenderName(String senderName) {
        this.senderName = senderName;
    }

    public String getSenderNo() {
        return senderNo;
    }

    public void setSenderNo(String senderNo) {
        this.senderNo = senderNo;
    }

    public String getReceiverName() {
        return receiverName;
    }

    public void setReceiverName(String receiverName) {
        this.receiverName = receiverName;
    }

    public String getReceiverNo() {
        return receiverNo;
    }

    public void setReceiverNo(String receiverNo) {
        this.receiverNo = receiverNo;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }

    @Override
    public String toString() {
        return "InternalMessage{" +
                "id=" + id +
                ", category='" + category + '\'' +
                ", senderName='" + senderName + '\'' +
                ", senderNo='" + senderNo + '\'' +
                ", receiverName='" + receiverName + '\'' +
                ", receiverNo='" + receiverNo + '\'' +
                ", content='" + content + '\'' +
                ", state='" + state + '\'' +
                '}';
    }
}

User
点击查看代码
package com.Moonbeams.pojo;

public class User {
    private Integer id;
    private String username;
    private String password;
    private String identify;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getIdentify() {
        return identify;
    }

    public void setIdentify(String identify) {
        this.identify = identify;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                ", identify='" + identify + '\'' +
                '}';
    }
}

UserInfo
点击查看代码
package com.Moonbeams.pojo;

public class UserInfo {
    private Integer userID;
    private String userName;
    private String userCategory;
    private Integer groupno;

    public Integer getUserID() {
        return userID;
    }

    public void setUserID(Integer userID) {
        this.userID = userID;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getUserCategory() {
        return userCategory;
    }

    public void setUserCategory(String userCategory) {
        this.userCategory = userCategory;
    }

    public Integer getGroupno() {
        return groupno;
    }

    public void setGroupno(Integer groupno) {
        this.groupno = groupno;
    }

    @Override
    public String toString() {
        return "UserInfo{" +
                "userID=" + userID +
                ", userName='" + userName + '\'' +
                ", userCategory='" + userCategory + '\'' +
                ", groupno=" + groupno +
                '}';
    }
}

StudentService
点击查看代码
package com.Moonbeams.service;

import com.Moonbeams.mapper.DailyReportMapper;
import com.Moonbeams.mapper.InternalMessageMapper;
import com.Moonbeams.mapper.UserInfoMapper;
import com.Moonbeams.pojo.DailyReport;
import com.Moonbeams.pojo.InternalMessage;
import com.Moonbeams.pojo.UserInfo;
import com.Moonbeams.util.SqlSessionFactoryUtils;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

public class StudentService {
    SqlSessionFactory factory = SqlSessionFactoryUtils.getSqlSessionFactory();
    public void addUserInfo(UserInfo userInfo) {
        try(SqlSession sqlSession = factory.openSession()) {
            UserInfoMapper userInfoMapper = sqlSession.getMapper(UserInfoMapper.class);
            userInfoMapper.addUserInfo(userInfo);
            sqlSession.commit();
        }
    }
    public UserInfo selectUserInfoById(int id) {
        try(SqlSession sqlSession = factory.openSession()) {
            UserInfoMapper userInfoMapper = sqlSession.getMapper(UserInfoMapper.class);
            return userInfoMapper.selectUserInfoById(id);
        }
    }

    public DailyReport getDailyReportById(int id) {
        try(SqlSession sqlSession = factory.openSession()) {
            DailyReportMapper dailyReportMapper = sqlSession.getMapper(DailyReportMapper.class);
            return dailyReportMapper.getDailyReportById(id);
        }
    }

    public void addDailyReport(DailyReport DailyReport) {
        try (SqlSession session = factory.openSession()) {
            DailyReportMapper dailyReportMapper = session.getMapper(DailyReportMapper.class);
            dailyReportMapper.addDailyReport(DailyReport);
            session.commit();
        }
    }
    public List<DailyReport> getAllDailyReportByStuno(int stuno) {
        try (SqlSession session = factory.openSession()) {
            DailyReportMapper dailyReportMapper = session.getMapper(DailyReportMapper.class);
            return dailyReportMapper.getAllDailyReportByStuno(stuno);
        }
    }

    public List<DailyReport> getAllDailyReport() {
        try (SqlSession session = factory.openSession()) {
            DailyReportMapper dailyReportMapper = session.getMapper(DailyReportMapper.class);
            return dailyReportMapper.getAllDailyReport();
        }
    }

    public void modifyDailyReport(DailyReport DailyReport) {
        try (SqlSession session = factory.openSession()) {
            DailyReportMapper dailyReportMapper = session.getMapper(DailyReportMapper.class);
            dailyReportMapper.modifyDailyReport(DailyReport);
            session.commit();
        }
    }

    public void deleteDailyReportById(int id) {
        try (SqlSession session = factory.openSession()) {
            DailyReportMapper dailyReportMapper = session.getMapper(DailyReportMapper.class);
            dailyReportMapper.deleteDailyReportById(id);
            session.commit();
        }
    }

    public InternalMessage selectInternalMessageById(int id) {
        try (SqlSession session = factory.openSession()) {
            InternalMessageMapper internalMessageMapper = session.getMapper(InternalMessageMapper.class);
            return internalMessageMapper.selectInternalMessageById(id);
        }
    }

    public void modifyInternalMessageState(InternalMessage internalMessage) {
        try (SqlSession session = factory.openSession()) {
            InternalMessageMapper internalMessageMapper = session.getMapper(InternalMessageMapper.class);
            internalMessageMapper.modifyInternalMessageState(internalMessage);
            session.commit();
        }
    }

    public  List<DailyReport> searchDR(int id,String publishDate,String knowledgePoints){
        try(SqlSession session = factory.openSession()) {
            DailyReportMapper dailyReportMapper = session.getMapper(DailyReportMapper.class);
            return dailyReportMapper.searchDR(id, publishDate, knowledgePoints);
        }
    }
    public  List<DailyReport> searchDR2(String publishDate,String knowledgePoints){
        try(SqlSession session = factory.openSession()) {
            DailyReportMapper dailyReportMapper = session.getMapper(DailyReportMapper.class);
            return dailyReportMapper.searchDR2(publishDate, knowledgePoints);
        }
    }

    public List<InternalMessage> getAllInternalMessages(){
        try(SqlSession session = factory.openSession()) {
            InternalMessageMapper internalMessageMapper = session.getMapper(InternalMessageMapper.class);
            return internalMessageMapper.getAllInternalMessages();
        }
    }
    public void addInternalMessage(InternalMessage internalMessage) {
        try (SqlSession session = factory.openSession()) {
            InternalMessageMapper internalMessageMapper = session.getMapper(InternalMessageMapper.class);
            internalMessageMapper.addInternalMessage(internalMessage);
            session.commit();
        }
    }
    public List<UserInfo> selectUserInfoBygroupno(int groupno){
        try(SqlSession session = factory.openSession()){
            UserInfoMapper userInfoMapper = session.getMapper(UserInfoMapper.class);
            return userInfoMapper.selectUserInfoBygroupno(groupno);
        }

    }

    public List<UserInfo> selectAllUserInfos(){
        try(SqlSession session = factory.openSession()){
            UserInfoMapper userInfoMapper = session.getMapper(UserInfoMapper.class);
            return userInfoMapper.selectAllUserInfos();
        }

    }

    public void updateUserInfo(UserInfo userInfo){
        try (SqlSession session = factory.openSession()) {
            UserInfoMapper userInfoMapper = session.getMapper(UserInfoMapper.class);
            userInfoMapper.updateUserInfo(userInfo);
            session.commit();
        }
    }
    public void modifyDailyReportState(DailyReport dailyReport) {
        try (SqlSession session = factory.openSession()) {
            DailyReportMapper dailyReportMapper = session.getMapper(DailyReportMapper.class);
            dailyReportMapper.modifyDailyReportState(dailyReport);
            session.commit();
        }
    }

    public void modifyDailyReportScore(DailyReport dailyReport){
        try (SqlSession session = factory.openSession()) {
            DailyReportMapper dailyReportMapper = session.getMapper(DailyReportMapper.class);
            dailyReportMapper.modifyDailyReportScore(dailyReport);
            session.commit();
        }
    }

    public List<DailyReport> getSubmittedReportsToday() {
      try(SqlSession session = factory.openSession()){
          DailyReportMapper dailyReportMapper = session.getMapper(DailyReportMapper.class);
          // 获取今天的日期,格式与数据库中的publishDate字段格式一致
          SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
          String today = sdf.format(new Date());
          return dailyReportMapper.getSubmittedReportsToday(today);
      }
    }

}

TeacherService
点击查看代码
package com.Moonbeams.service;

import com.Moonbeams.mapper.DailyReportMapper;
import com.Moonbeams.mapper.InternalMessageMapper;
import com.Moonbeams.mapper.UserMapper;
import com.Moonbeams.pojo.DailyReport;
import com.Moonbeams.pojo.InternalMessage;
import com.Moonbeams.pojo.User;
import com.Moonbeams.util.SqlSessionFactoryUtils;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;

import java.util.Date;
import java.util.List;

public class TeacherService {
    SqlSessionFactory factory = SqlSessionFactoryUtils.getSqlSessionFactory();

    public InternalMessage selectInternalMessageById(int id) {
        SqlSession sqlSession = factory.openSession();
        InternalMessageMapper internalMessageMapper = sqlSession.getMapper(InternalMessageMapper.class);
        internalMessageMapper.selectInternalMessageById(id);
        sqlSession.close();
        return internalMessageMapper.selectInternalMessageById(id);
    }

    public List<DailyReport> getSubmittedReportsBetweenDates(String startDate, String endDate) {
        try(SqlSession sqlSession = factory.openSession()) {
            DailyReportMapper dailyReportMapper = sqlSession.getMapper(DailyReportMapper.class);
            return dailyReportMapper.getSubmittedReportsBetweenDates(startDate, endDate);
        }

    }

}

UserService
点击查看代码
package com.Moonbeams.service;

import com.Moonbeams.mapper.UserMapper;
import com.Moonbeams.pojo.User;
import com.Moonbeams.util.SqlSessionFactoryUtils;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;

public class UserService {

    SqlSessionFactory factory = SqlSessionFactoryUtils.getSqlSessionFactory();

    /**
     * 登录方法
     * @param username
     * @param password
     * @return
     */
    public User login (String username, String password) {
        //2.获取Sqlsession
        SqlSession sqlsession = factory.openSession();
        //3.获取UserMapper
        UserMapper mapper = sqlsession.getMapper(UserMapper.class);
        //4.调用方法
        User user = mapper.select(username, password);

        //释放资源(查询,无需提交事务)
        sqlsession.close();

        return user;
    }

    /**
     * 注册方法
     * @param user
     * @return
     */

    public boolean register(User user){
        //2.获取Sqlsession
        SqlSession sqlsession = factory.openSession();
        //3.获取Usermapper
        UserMapper mapper = sqlsession.getMapper(UserMapper.class);

        //4.判断用户名是否存在
        User u = mapper.selectByUsername(user.getUsername());

        if(u == null){
            //用户名不存在
            mapper.add(user);
            sqlsession.commit();
        }
        //释放资源
        sqlsession.close();

        return u == null;
    }

    public User selectByUsername(String username) {
        try (SqlSession session = factory.openSession()) {
            UserMapper mapper = session.getMapper(UserMapper.class);
            return mapper.selectByUsername(username);
        }
    }
    public void modifyPassword(User user) {
        try (SqlSession session = factory.openSession()) {
            UserMapper mapper = session.getMapper(UserMapper.class);
            mapper.modifyPassword(user);
            session.commit();
        }
    }

    public void resetPassword(User user) {
        try (SqlSession session = factory.openSession()) {
            UserMapper mapper = session.getMapper(UserMapper.class);
            mapper.resetPassword(user);
            session.commit();
        }
    }

    public void modifyIdentify(User user) {
        try (SqlSession session = factory.openSession()) {
            UserMapper mapper = session.getMapper(UserMapper.class);
            mapper.modifyIdentify(user);
            session.commit();
        }
    }

}

util CheckCodeUtil
点击查看代码
    package com.Moonbeams.util;

import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.geom.AffineTransform;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Arrays;
import java.util.Random;

    /**
     * 生成验证码工具类
     */
    public class CheckCodeUtil {

        public static final String VERIFY_CODES = "123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
        private static Random random = new Random();


        /**
         * 输出随机验证码图片流,并返回验证码值(一般传入输出流,响应response页面端,Web项目用的较多)
         *
         * @param w
         * @param h
         * @param os
         * @param verifySize
         * @return
         * @throws IOException
         */
        public static String outputVerifyImage(int w, int h, OutputStream os, int verifySize) throws IOException {
            String verifyCode = generateVerifyCode(verifySize);
            outputImage(w, h, os, verifyCode);
            return verifyCode;
        }

        /**
         * 使用系统默认字符源生成验证码
         *
         * @param verifySize 验证码长度
         * @return
         */
        public static String generateVerifyCode(int verifySize) {
            return generateVerifyCode(verifySize, VERIFY_CODES);
        }

        /**
         * 使用指定源生成验证码
         *
         * @param verifySize 验证码长度
         * @param sources    验证码字符源
         * @return
         */
        public static String generateVerifyCode(int verifySize, String sources) {
            // 未设定展示源的字码,赋默认值大写字母+数字
            if (sources == null || sources.length() == 0) {
                sources = VERIFY_CODES;
            }
            int codesLen = sources.length();
            Random rand = new Random(System.currentTimeMillis());
            StringBuilder verifyCode = new StringBuilder(verifySize);
            for (int i = 0; i < verifySize; i++) {
                verifyCode.append(sources.charAt(rand.nextInt(codesLen - 1)));
            }
            return verifyCode.toString();
        }

        /**
         * 生成随机验证码文件,并返回验证码值 (生成图片形式,用的较少)
         *
         * @param width 图片宽度
         * @param height 图片高度
         * @param outputFile 输出流
         * @param verifySize 数据长度
         * @return 验证码数据
         * @throws IOException
         */
        public static String outputVerifyImage(int width, int height, File outputFile, int verifySize) throws IOException {
            String verifyCode = generateVerifyCode(verifySize);
            outputImage(width, height, outputFile, verifyCode);
            return verifyCode;
        }



        /**
         * 生成指定验证码图像文件
         *
         * @param w
         * @param h
         * @param outputFile
         * @param code
         * @throws IOException
         */
        public static void outputImage(int w, int h, File outputFile, String code) throws IOException {
            if (outputFile == null) {
                return;
            }
            File dir = outputFile.getParentFile();
            //文件不存在
            if (!dir.exists()) {
                //创建
                dir.mkdirs();
            }
            try {
                outputFile.createNewFile();
                FileOutputStream fos = new FileOutputStream(outputFile);
                outputImage(w, h, fos, code);
                fos.close();
            } catch (IOException e) {
                throw e;
            }
        }

        /**
         * 输出指定验证码图片流
         *
         * @param w
         * @param h
         * @param os
         * @param code
         * @throws IOException
         */
        public static void outputImage(int w, int h, OutputStream os, String code) throws IOException {
            int verifySize = code.length();
            BufferedImage image = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
            Random rand = new Random();
            Graphics2D g2 = image.createGraphics();
            g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);

            // 创建颜色集合,使用java.awt包下的类
            Color[] colors = new Color[5];
            Color[] colorSpaces = new Color[]{Color.WHITE, Color.CYAN,
                    Color.GRAY, Color.LIGHT_GRAY, Color.MAGENTA, Color.ORANGE,
                    Color.PINK, Color.YELLOW};
            float[] fractions = new float[colors.length];
            for (int i = 0; i < colors.length; i++) {
                colors[i] = colorSpaces[rand.nextInt(colorSpaces.length)];
                fractions[i] = rand.nextFloat();
            }
            Arrays.sort(fractions);
            // 设置边框色
            g2.setColor(Color.GRAY);
            g2.fillRect(0, 0, w, h);

            Color c = getRandColor(200, 250);
            // 设置背景色
            g2.setColor(c);
            g2.fillRect(0, 2, w, h - 4);

            // 绘制干扰线
            Random random = new Random();
            // 设置线条的颜色
            g2.setColor(getRandColor(160, 200));
            for (int i = 0; i < 20; i++) {
                int x = random.nextInt(w - 1);
                int y = random.nextInt(h - 1);
                int xl = random.nextInt(6) + 1;
                int yl = random.nextInt(12) + 1;
                g2.drawLine(x, y, x + xl + 40, y + yl + 20);
            }

            // 添加噪点
            // 噪声率
            float yawpRate = 0.05f;
            int area = (int) (yawpRate * w * h);
            for (int i = 0; i < area; i++) {
                int x = random.nextInt(w);
                int y = random.nextInt(h);
                // 获取随机颜色
                int rgb = getRandomIntColor();
                image.setRGB(x, y, rgb);
            }
            // 添加图片扭曲
            shear(g2, w, h, c);

            g2.setColor(getRandColor(100, 160));
            int fontSize = h - 4;
            Font font = new Font("Algerian", Font.ITALIC, fontSize);
            g2.setFont(font);
            char[] chars = code.toCharArray();
            for (int i = 0; i < verifySize; i++) {
                AffineTransform affine = new AffineTransform();
                affine.setToRotation(Math.PI / 4 * rand.nextDouble() * (rand.nextBoolean() ? 1 : -1), (w / verifySize) * i + fontSize / 2, h / 2);
                g2.setTransform(affine);
                g2.drawChars(chars, i, 1, ((w - 10) / verifySize) * i + 5, h / 2 + fontSize / 2 - 10);
            }

            g2.dispose();
            ImageIO.write(image, "jpg", os);
        }

        /**
         * 随机颜色
         *
         * @param fc
         * @param bc
         * @return
         */
        private static Color getRandColor(int fc, int bc) {
            if (fc > 255) {
                fc = 255;
            }
            if (bc > 255) {
                bc = 255;
            }
            int r = fc + random.nextInt(bc - fc);
            int g = fc + random.nextInt(bc - fc);
            int b = fc + random.nextInt(bc - fc);
            return new Color(r, g, b);
        }

        private static int getRandomIntColor() {
            int[] rgb = getRandomRgb();
            int color = 0;
            for (int c : rgb) {
                color = color << 8;
                color = color | c;
            }
            return color;
        }

        private static int[] getRandomRgb() {
            int[] rgb = new int[3];
            for (int i = 0; i < 3; i++) {
                rgb[i] = random.nextInt(255);
            }
            return rgb;
        }

        private static void shear(Graphics g, int w1, int h1, Color color) {
            shearX(g, w1, h1, color);
            shearY(g, w1, h1, color);
        }

        private static void shearX(Graphics g, int w1, int h1, Color color) {

            int period = random.nextInt(2);

            boolean borderGap = true;
            int frames = 1;
            int phase = random.nextInt(2);

            for (int i = 0; i < h1; i++) {
                double d = (double) (period >> 1)
                        * Math.sin((double) i / (double) period
                        + (6.2831853071795862D * (double) phase)
                        / (double) frames);
                g.copyArea(0, i, w1, 1, (int) d, 0);
                if (borderGap) {
                    g.setColor(color);
                    g.drawLine((int) d, i, 0, i);
                    g.drawLine((int) d + w1, i, w1, i);
                }
            }

        }

        private static void shearY(Graphics g, int w1, int h1, Color color) {

            int period = random.nextInt(40) + 10; // 50;

            boolean borderGap = true;
            int frames = 20;
            int phase = 7;
            for (int i = 0; i < w1; i++) {
                double d = (double) (period >> 1)
                        * Math.sin((double) i / (double) period
                        + (6.2831853071795862D * (double) phase)
                        / (double) frames);
                g.copyArea(i, 0, 1, h1, 0, (int) d);
                if (borderGap) {
                    g.setColor(color);
                    g.drawLine(i, (int) d, i, 0);
                    g.drawLine(i, (int) d + h1, i, h1);
                }

            }

        }
    }


SqlSessionFactoryUtils
点击查看代码
package com.Moonbeams.util;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.IOException;
import java.io.InputStream;

public class SqlSessionFactoryUtils {
    private static SqlSessionFactory sqlSessionFactory;

    static{
        //静态代码块会随着类的加载而自动执行,且只执行一次
        try {
            String resource = "mybatis-config.xml";
            InputStream inputStream = Resources.getResourceAsStream(resource);
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }

    public static SqlSessionFactory getSqlSessionFactory(){return sqlSessionFactory;}
}

CheckCodeServlet
点击查看代码
package com.Moonbeams.web;


import com.Moonbeams.service.UserService;
import com.Moonbeams.util.CheckCodeUtil;

import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;

@WebServlet("/checkCodeServlet")
public class CheckCodeServlet extends HttpServlet {
    private UserService service = new UserService();

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //生成验证码
        ServletOutputStream os = response.getOutputStream();
        String checkCode = CheckCodeUtil.outputVerifyImage(100,50,os,4);

        //存入session
        HttpSession session = request.getSession();
        session.setAttribute("checkCodeGen",checkCode);

    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doGet(request, response);
    }
}

LoginServlet
点击查看代码
package com.Moonbeams.web;


import com.Moonbeams.pojo.User;
import com.Moonbeams.service.UserService;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;

@WebServlet("/loginServlet")
public class LoginServlet extends HttpServlet {
    private UserService service = new UserService();

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //1.获取用户名和密码
        String username = request.getParameter("username");
        String password = request.getParameter("password");

        //获取复选框数据
        String remembe = request.getParameter("remembe");

        //2.调用Service查询
        User user = service.login(username, password);

        //3.判断
        if (user != null) {
            //登录成功,存储用户信息到会话

            //判断用户是否勾选记住我
            if(("1".equals(remembe))) {
                //勾选了,发送cookie

                //1. 创建cookie 对象
                //Cookie cookie = new Cookie("uname",URLEncoder.encode(uname,"UTF-8")); 创建时设置字符集
                Cookie c_username = new Cookie("username", username);
                Cookie c_password = new Cookie("password", password);
                //设置cookie存活时间
                c_username.setMaxAge(60*60*24*7);
                c_password.setMaxAge(60*60*24*7);
                //2. 发送
                response.addCookie(c_username);
                response.addCookie(c_password);
            }

            //将登陆成功后的User对象,存储到session
            HttpSession session = request.getSession();
            session.setAttribute("user", user);

            String contextPath = request.getContextPath();
                response.sendRedirect(contextPath + "/personalHome.jsp");
        } else{
            //登录失败

            //存储错误信息到request
            request.setAttribute("login_msg", "用户名或密码错误");

            //跳转到login.jsp
            request.getRequestDispatcher("/login.jsp").forward(request, response);
        }
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doGet(request, response);
    }

}

RegisterServlet
点击查看代码
package com.Moonbeams.web;


import com.Moonbeams.pojo.User;
import com.Moonbeams.pojo.UserInfo;
import com.Moonbeams.service.StudentService;
import com.Moonbeams.service.UserService;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.util.Random;

@WebServlet("/registerServlet")
public class RegisterServlet extends HttpServlet {
    private UserService service = new UserService();
    private StudentService studentService = new StudentService();
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        response.setCharacterEncoding("utf-8");

        //1. 获取对应用户名和密码数据
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        String identify = request.getParameter("identify");
        String name = request.getParameter("name");
        //获取用户输入的验证码
        String checkCode = request.getParameter("checkCode");

        //获取程序生成的验证码,从Session中获取
        HttpSession session = request.getSession();
        String checkCodeGen =(String) session.getAttribute("checkCodeGen");

        User user = new User();
        user.setUsername(username);
        user.setPassword(password);
        user.setIdentify(identify);

        //比对验证码
        if(!checkCodeGen.equalsIgnoreCase(checkCode)||user.getIdentify().equals("员工")){
            request.setAttribute("register_msg","验证码错误或不允许员工注册");
            request.getRequestDispatcher("/register.jsp").forward(request, response);
            //不允许注册
            return;
        }

        //2. 调用service注册
        boolean flag = service.register(user);
        //判断注册成功与否
        if (flag) {

            UserInfo userInfo = new UserInfo();
            userInfo.setUserName(name);
            userInfo.setUserCategory(identify);
            if(identify.equalsIgnoreCase("教师")){
                userInfo.setGroupno(0);
            }else{
                Random random = new Random();
                userInfo.setGroupno(random.nextInt(10)+1);
            }
            studentService.addUserInfo(userInfo);

            //注册成功,跳转到登录页面

            request.setAttribute("register_msg", "注册成功,请登录");
            request.getRequestDispatcher("/login.jsp").forward(request, response);
        }else{
            //注册失败,跳转到注册页面

            request.setAttribute("register_msg", "注册失败,用户名已存在");
            request.getRequestDispatcher("/register.jsp").forward(request, response);
        }


    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doGet(request, response);
    }
}

StudentServlet
点击查看代码
package com.Moonbeams.web;

import com.Moonbeams.pojo.DailyReport;
import com.Moonbeams.pojo.InternalMessage;
import com.Moonbeams.pojo.User;
import com.Moonbeams.pojo.UserInfo;
import com.Moonbeams.service.StudentService;
import com.Moonbeams.service.UserService;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.List;

@WebServlet("/studentServlet")
public class StudentServlet extends HttpServlet {
    private StudentService service = new StudentService();
    private UserService userService = new UserService();
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        response.setCharacterEncoding("utf-8");
        HttpSession session = request.getSession();
        User currentUser = (User) session.getAttribute("user");
        if (currentUser == null) {
            // 用户未登录,重定向到登录页面
            response.sendRedirect("login.jsp");
            return;
        }
        String action = request.getParameter("action");
        if ("addDR".equals(action)) {
            int id = Integer.parseInt(request.getParameter("id"));
            String publishDate = request.getParameter("publishDate");

            UserInfo userInfo = service.selectUserInfoById(Integer.parseInt(currentUser.getUsername()));
            int stuno = userInfo.getUserID();
            String name = currentUser.getUsername();
            int spentTime = Integer.parseInt(request.getParameter("spentTime"));
            int codeamount= Integer.parseInt(request.getParameter("codeamount"));
            int blogsNumber = Integer.parseInt(request.getParameter("blogsNumber"));
            String knowledgePoints = request.getParameter("knowledgePoints");
            String state ="待审批";
            int dailyScore = 0;
            String stateReason = "空";

            DailyReport dailyReport = new DailyReport();
            dailyReport.setId(id);
            dailyReport.setPublishDate(publishDate);
            dailyReport.setStuno(stuno);
            dailyReport.setName(name);
            dailyReport.setSpentTime(spentTime);
            dailyReport.setCodeamount(codeamount);
            dailyReport.setBlogsnumber(blogsNumber);
            dailyReport.setKnowledgePoints(knowledgePoints);
            dailyReport.setState(state);
            dailyReport.setDailyScore(dailyScore);
            dailyReport.setStateReason(stateReason);

            service.addDailyReport(dailyReport);

            request.setAttribute("message", "新日报添加成功");
            request.getRequestDispatcher("/personalHome.jsp").forward(request, response);

        } else if ("modifyDR".equals(action)) {
            int id = Integer.parseInt(request.getParameter("id"));
            DailyReport dailyReport = service.getDailyReportById(id);
            String publishDate = request.getParameter("publishDate");
            int spentTime = Integer.parseInt(request.getParameter("spentTime"));
            int codeamount= Integer.parseInt(request.getParameter("codeamount"));
            int blogsNumber = Integer.parseInt(request.getParameter("blogsNumber"));
            String knowledgePoints = request.getParameter("knowledgePoints");
            dailyReport.setPublishDate(publishDate);
            dailyReport.setSpentTime(spentTime);
            dailyReport.setBlogsnumber(blogsNumber);
            dailyReport.setCodeamount(codeamount);
            dailyReport.setKnowledgePoints(knowledgePoints);
            service.modifyDailyReport(dailyReport);
            request.setAttribute("message", "新日报修改成功");
            request.getRequestDispatcher("/personalHome.jsp").forward(request, response);
        } else if ("deleteDR".equals(action)) {
            int id = Integer.parseInt(request.getParameter("id"));
            service.deleteDailyReportById(id);
            request.setAttribute("message", "员工基本信息删除成功");
            request.getRequestDispatcher("/personalHome.jsp").forward(request, response);
        } else if ("addIM".equals(action)) {
            int id = Integer.parseInt(request.getParameter("id"));
            String category = request.getParameter("category");
            String content =request.getParameter("content");
            String receiverNo = request.getParameter("receiverNo");
            int receiverId = Integer.parseInt(receiverNo);
            UserInfo userInfo1 = service.selectUserInfoById(Integer.parseInt(currentUser.getUsername()));
            UserInfo userInfo2 = service.selectUserInfoById(receiverId);

            InternalMessage internalMessage = new InternalMessage();
            internalMessage.setId(id);
            internalMessage.setCategory(category);
            internalMessage.setSenderName(userInfo1.getUserName());;
            internalMessage.setSenderNo(currentUser.getUsername());
            internalMessage.setReceiverName(userInfo2.getUserName());
            internalMessage.setReceiverNo(receiverNo);
            internalMessage.setContent(content);
            String state = "未读";
            internalMessage.setState(state);

            service.addInternalMessage(internalMessage);

            request.setAttribute("message", "发送信息成功");
            request.getRequestDispatcher("/personalHome.jsp").forward(request, response);
        }else if("IMread".equals(action)){
            int id = Integer.parseInt(request.getParameter("id"));
            InternalMessage internalMessage = service.selectInternalMessageById(id);
            internalMessage.setState("已读");
            service.modifyInternalMessageState(internalMessage);
            request.setAttribute("message", "已读成功");
            request.getRequestDispatcher("/personalHome.jsp").forward(request, response);
        }else if("ReState".equals(action)){
            int id = Integer.parseInt(request.getParameter("id"));
            String reason = request.getParameter("reason");
            DailyReport dailyReport = service.getDailyReportById(id);
            dailyReport.setState("通过");
            dailyReport.setStateReason(reason);
            service.modifyDailyReportState(dailyReport);
            request.setAttribute("message", "审核成功");
            request.getRequestDispatcher("/personalHome.jsp").forward(request, response);
        }else if("ReState2".equals(action)){
            int id = Integer.parseInt(request.getParameter("id"));
            String reason = request.getParameter("reason");
            DailyReport dailyReport = service.getDailyReportById(id);
            dailyReport.setState("退回");
            dailyReport.setStateReason(reason);
            service.modifyDailyReportState(dailyReport);
            request.setAttribute("message", "审核成功");
            request.getRequestDispatcher("/personalHome.jsp").forward(request, response);
        }else if("checkDailyReport".equals(action)){

            request.setAttribute("message", "部门信息修改成功");
            request.getRequestDispatcher("/personalHome.jsp").forward(request, response);
        }else if("deleteDepartment".equals(action)){

            request.setAttribute("message", "部门删除成功");
            request.getRequestDispatcher("/personalHome.jsp").forward(request, response);

        }else if("".equals(action)){
            String publishDate = request.getParameter("publishDate");
            int userId = Integer.parseInt(currentUser.getUsername()); // 从请求中获取用户ID
            StudentService service = new StudentService();
            List<DailyReport> reports = service.getAllDailyReportByStuno(userId); // 根据用户ID获取日报
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
            boolean todayReported = false;

            for (DailyReport report : reports) {
                if (sdf.format(report.getPublishDate()).equals(publishDate)) {
                    todayReported = true;
                    break;
                }
            }
            // 返回结果
            response.getWriter().write(String.valueOf(todayReported));
        }
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doGet(request, response);
    }
}

TeacherServlet
点击查看代码
    package com.Moonbeams.web;

    import com.Moonbeams.pojo.DailyReport;
    import com.Moonbeams.pojo.InternalMessage;
    import com.Moonbeams.pojo.User;
    import com.Moonbeams.pojo.UserInfo;
    import com.Moonbeams.service.StudentService;
    import com.Moonbeams.service.TeacherService;
    import com.Moonbeams.service.UserService;

    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    import java.io.IOException;
    import java.util.List;

    @WebServlet("/teacherServlet")
    public class TeacherServlet extends HttpServlet {
        private StudentService service = new StudentService();
        private TeacherService teacherService = new TeacherService();
        private UserService userService = new UserService();
        @Override
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            request.setCharacterEncoding("utf-8");
            response.setCharacterEncoding("utf-8");
            HttpSession session = request.getSession();
            User currentUser = (User) session.getAttribute("user");
            if (currentUser == null) {
                // 用户未登录,重定向到登录页面
                response.sendRedirect("login.jsp");
                return;
            }
            String action = request.getParameter("action");
            if ("resetRole".equals(action)) {
                int id = Integer.parseInt(request.getParameter("id"));
                String role = request.getParameter("role");
                UserInfo userInfo = service.selectUserInfoById(id);
                userInfo.setUserCategory(role);
                service.updateUserInfo(userInfo);
                request.setAttribute("message", "设置小组长成功");
                request.getRequestDispatcher("/personalHome.jsp").forward(request, response);
            } else if ("addIM".equals(action)) {
                int id = Integer.parseInt(request.getParameter("id"));
                String category = request.getParameter("category");
                String content =request.getParameter("content");
                String receiverNo = request.getParameter("receiverNo");
                int receiverId = Integer.parseInt(receiverNo);
                UserInfo userInfo1 = service.selectUserInfoById(Integer.parseInt(currentUser.getUsername()));
                UserInfo userInfo2 = service.selectUserInfoById(receiverId);

                InternalMessage internalMessage = new InternalMessage();
                internalMessage.setId(id);
                internalMessage.setCategory(category);
                internalMessage.setSenderName(userInfo1.getUserName());;
                internalMessage.setSenderNo(currentUser.getUsername());
                internalMessage.setReceiverName(userInfo2.getUserName());
                internalMessage.setReceiverNo(receiverNo);
                internalMessage.setContent(content);
                String state = "未读";
                internalMessage.setState(state);

                service.addInternalMessage(internalMessage);

                request.setAttribute("message", "发送信息成功");
                request.getRequestDispatcher("/personalHome.jsp").forward(request, response);
            }else if("IMread".equals(action)){
                int id = Integer.parseInt(request.getParameter("id"));
                InternalMessage internalMessage = service.selectInternalMessageById(id);
                internalMessage.setState("已读");
                service.modifyInternalMessageState(internalMessage);

                request.setAttribute("message", "已读成功");
                request.getRequestDispatcher("/personalHome.jsp").forward(request, response);
            } else if ("scoreDR".equals(action)) {
                int id = Integer.parseInt(request.getParameter("id"));
                int score = Integer.parseInt(request.getParameter("score"));
                String reason = request.getParameter("reason");
                DailyReport dailyReport = service.getDailyReportById(id);
                dailyReport.setDailyScore(score);
                dailyReport.setState("评分");
                dailyReport.setStateReason(reason);
                service.modifyDailyReportScore(dailyReport);
                request.setAttribute("message", "评分成功");
                request.getRequestDispatcher("/personalHome.jsp").forward(request, response);
            }else if("statistics".equals(action)){
                String startDate = request.getParameter("startDate");
                String endDate = request.getParameter("endDate");
                List<DailyReport> reports = teacherService.getSubmittedReportsBetweenDates(startDate, endDate);
                request.setAttribute("reports", reports);
                request.setAttribute("message", "统计成功");
                request.getRequestDispatcher("/statisticsDR.jsp").forward(request, response);
            }else if("search".equals(action)){

    //            if (1 != null) {
    //                request.setAttribute("jobID", 1.get1());
    //                request.getRequestDispatcher("resetPassword.jsp").forward(request, response);
    //            } else {
    //                request.setAttribute("error", "未找到对应的员工信息");
    //                request.getRequestDispatcher("resetPassword.jsp").forward(request, response);
    //            }
            }else if("addDepartment".equals(action)){



                    request.setAttribute("message", "添加部门信息成功");
                    request.getRequestDispatcher("/personalHome.jsp").forward(request, response);
            }else if("modifyDepartmentDetails".equals(action)){

                    request.setAttribute("message", "部门信息修改成功");
                    request.getRequestDispatcher("/personalHome.jsp").forward(request, response);
            }else if("deleteDepartment".equals(action)){

                    request.setAttribute("message", "部门删除成功");
                    request.getRequestDispatcher("/personalHome.jsp").forward(request, response);

            }else if("".equals(action)){

                request.setAttribute("message", "个人密码修改成功");
                request.getRequestDispatcher("/personalHome.jsp").forward(request, response);
            }
        }

        @Override
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            this.doGet(request, response);
        }
    }

posted @   Moonbeamsc  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
返回顶端
点击右上角即可分享
微信分享提示