2024/2/7日 日志 期末考试案例回顾与分析---》综合案例(汇总)
1.2024/10/16 日 日志 --》关于MySQL的中 基础操作的整理以及 DQL的初步学习笔记与整理2.2024/10/17日 日志 --》关于MySQL中的 约束、多表查询的初步学习笔记与整理3.2024/10/18日 日志 --》关于MySQL中的 事务 以及JDBC的初步学习笔记与整理4.2024/10/19日 日志--》关于MySQL中 JDBC的API 详解的整理简述5.2024/10/21 日 日志 --》关于Mysql中的数据库连接池 简述笔记整理6.2024/10/22日 日志 --》关于Maven的基础学习 笔记整理7.2024/10/23日 日志--》关于Maven的基础学习--2 坐标与依赖范围8.2024/10/24日 日志 --》关于Mybatis的学习笔记整理 - 环境与性质 以及ResultMap9.2024/10/25日 日志 --》关于使用Mybatis进行增删改查 ---1 查询10.2024/10/26 日 使用Mybatic --》关于Mybatis 进行增删改查 ---2 添加、修改与删除11.2024/10/28日 使用Mybatic --》关于Mybatis 的参数传递与注解开发12.2024/10/29 HTML --》关于HTML的快速入门与标签13.2024/10/30 日 日志 --》关于CSS的学习14.2024/11/1日 日志 关于JavaScript简介&引入方式 以及基础语法的学习15.2024/11/4日 日志 关于JavaScript 变量、数据类型、类型转换和流程控制语句以及对象的学习16.2024/11/5日 日志 关于BOM浏览器对象模型和DOM文档对象模型的学习与笔记整理17.2024/11/6日 日志 正则表达式,web与HTTP18.2024/11/7日 日志 Tomcat简介&基本使用19.2024/11/8日 日志 关于Servlet ----(上)20.2024/11/11日 日志 关于Servlet ----HttpServlet(下)21.2024/11/12日 日志 关于Servlet ---- Request(请求)& Response(响应) 的补充22.2024/11/13日 日志 代码优化 以及 JSP 的快速入门、原理、脚本、缺点 和 EL表达式 以及 JSTL标签23.2024/11/14日 日志 关于 MVC 分层开发模式24.2024/11/15日 日志 关于 会话跟踪技术--- Cookie & Session25.2024/11/20日 日志 关于 Filter & Listener26.2024/11/21日 日志 关于AJAX & Axious异步框架 & JSON27.2024/11/27日 日志 关于Vue && Element28.JavaWeb案例整体分析---》差旅费报销管理信息系统->>题目详情29.JavaWeb案例整体分析---》差旅费报销管理信息系统->>登录与注册30.JavaWeb案例整体分析---》差旅费报销管理信息系统->>数据库操作和Mybatis配置以及pom.xml31.JavaWeb案例整体分析---》差旅费报销管理信息系统->>出差申请与报销部分32.2024/1/13日 日志 关于Vue && Element 的后续---》综合案例(1)33.2024/1/14日 日志 关于Vue && Element 的后续---》综合案例(2)34.2024/1/16日 日志 关于Vue && Element 的后续---》综合案例(4)35.2024/1/17日 日志 关于Vue && Element 的后续---》综合案例(5)36.2024/1/18日 日志 关于Vue && Element 的后续---》综合案例(6)37.2024/1/19日 日志 关于Vue && Element 的后续---》综合案例(7)38.2024/1/20日 日志 关于Vue && Element 的后续---》综合案例(8.1)39.2024/1/21日 日志 关于Vue && Element 的后续---》综合案例(8.2)40.2024/1/22日 日志 期末考试案例回顾与分析---》综合案例(1)41.2024/1/23日 日志 期末考试案例回顾与分析---》综合案例(2)42.2024/1/24日 日志 期末考试案例回顾与分析---》综合案例(3)43.2024/1/25日 日志 期末考试案例回顾与分析---》综合案例(4)44.2024/1/26日 日志 期末考试案例回顾与分析---》综合案例(5)45.2024/1/27日 日志 期末考试案例回顾与分析---》综合案例(6)46.2024/2/3日 日志 期末考试案例回顾与分析---》综合案例(7)47.2024/2/4日 日志 期末考试案例回顾与分析---》综合案例(8)48.2024/2/5日 日志 期末考试案例回顾与分析---》综合案例(9)49.2024/2/6日 日志 期末考试案例回顾与分析---》综合案例(10)
50.2024/2/7日 日志 期末考试案例回顾与分析---》综合案例(汇总)
51.2024/2/24日 日志 第一次测试案例分析(1)--题目52.2024/2/25日 日志 第一次测试案例分析(2)--数据库层面53.2024/2/26日 日志 第一次测试案例分析(3)--基础准备54.2024/2/27日 日志 第一次测试案例分析(4)--登录与注册和仓库方面发表日报:学生可以提交日报,记录学习情况。
修改日报:学生可以修改已提交的日报。
删除日报:学生可以删除已提交的日报。
发送内部消息:学生和教师可以发送内部消息。
评分日报:教师可以对学生的日报进行评分。
统计日报:教师可以统计某一时间段内的日报提交情况。
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);
}
点击查看代码
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);
}
点击查看代码
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();
}
点击查看代码
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 + '\'' +
'}';
}
}
点击查看代码
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 + '\'' +
'}';
}
}
点击查看代码
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 + '\'' +
'}';
}
}
点击查看代码
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 +
'}';
}
}
点击查看代码
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);
}
}
}
点击查看代码
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);
}
}
}
点击查看代码
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();
}
}
}
点击查看代码
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);
}
}
}
}
点击查看代码
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;}
}
点击查看代码
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);
}
}
点击查看代码
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);
}
}
点击查看代码
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);
}
}
点击查看代码
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);
}
}
点击查看代码
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);
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署