From 205b7e26029f44486906a6288d11610fdf567132 Mon Sep 17 00:00:00 2001 From: Vindicator645 <45960487+Vindicator645@users.noreply.github.com> Date: Sat, 14 Mar 2020 17:30:51 +0800 Subject: [PATCH 1/3] Leaving --- .../ase/controller/LeavesController.java | 71 +++++++++++++++++++ .../codesdream/ase/model/leaves/Leave.java | 2 +- .../ase/model/leaves/LeavesSystem.java | 7 -- .../repository/leaves/LeaveRepository.java | 6 ++ .../ase/service/ILeavesService.java | 4 ++ .../codesdream/ase/service/LeavesService.java | 57 +++++++++++++++ 6 files changed, 139 insertions(+), 8 deletions(-) create mode 100644 src/main/java/com/codesdream/ase/controller/LeavesController.java delete mode 100644 src/main/java/com/codesdream/ase/model/leaves/LeavesSystem.java create mode 100644 src/main/java/com/codesdream/ase/repository/leaves/LeaveRepository.java create mode 100644 src/main/java/com/codesdream/ase/service/ILeavesService.java create mode 100644 src/main/java/com/codesdream/ase/service/LeavesService.java diff --git a/src/main/java/com/codesdream/ase/controller/LeavesController.java b/src/main/java/com/codesdream/ase/controller/LeavesController.java new file mode 100644 index 0000000..8694283 --- /dev/null +++ b/src/main/java/com/codesdream/ase/controller/LeavesController.java @@ -0,0 +1,71 @@ +package com.codesdream.ase.controller; + +import com.alibaba.fastjson.JSONObject; +import com.codesdream.ase.component.datamanager.JSONParameter; +import com.codesdream.ase.component.json.respond.FailedSONRespond; +import com.codesdream.ase.component.json.respond.JSONBaseRespondObject; +import com.codesdream.ase.component.permission.ASEUsernameEncoder; +import com.codesdream.ase.component.json.request.UserLeaveChecker; +import com.codesdream.ase.component.json.respond.UserLeaveCheckerJSONRespond; +import com.codesdream.ase.service.LeavesService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.ResponseBody; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import java.util.Optional; + + +/** + * 登录界面控制器类 + */ +@Slf4j +@Controller +public class LeavesController { + + @Resource + private JSONParameter jsonParameter; + + @Resource + private LeavesService leavesService; + + @Resource + private ASEUsernameEncoder usernameEncoder; + + @RequestMapping(value = "/") + String printLeave(Model model) { + return "Leave"; + } + + @RequestMapping(value = "/Leave/check", method = RequestMethod.POST) + @ResponseBody + String checkLeave(HttpServletRequest request){ + + // 检查是否为JSON + Optional json = jsonParameter.getJSONByRequest(request); + if(!json.isPresent()) return jsonParameter.getJSONString(new FailedSONRespond()); + + + UserLeaveChecker LeaveChecker = json.get().toJavaObject(UserLeaveChecker.class); + // 检查类型 + if(LeaveChecker.getCheckType().equals("UsernameExistChecker")){ + // 根据学号计算用户名 + String user = usernameEncoder.encode(LeaveChecker.getUsername()) ; + // 查询用户名存在状态 + boolean existStatus = userService.checkIfUserExists(user).getKey(); + // 构造返回对象 + UserLeaveCheckerJSONRespond respond = new UserLeaveCheckerJSONRespond(); + respond.setUserExist(existStatus); + return jsonParameter.getJSONString(respond); + } + else { + // 返回失败对象 + return jsonParameter.getJSONString(new JSONBaseRespondObject()); + } + } + +} diff --git a/src/main/java/com/codesdream/ase/model/leaves/Leave.java b/src/main/java/com/codesdream/ase/model/leaves/Leave.java index bc4f361..80a00ae 100644 --- a/src/main/java/com/codesdream/ase/model/leaves/Leave.java +++ b/src/main/java/com/codesdream/ase/model/leaves/Leave.java @@ -6,7 +6,7 @@ import java.util.*; import javax.persistence.*; @Data @Entity -@Table(name = "leaves_archive") +@Table(name = "leave") public class Leave { @Id @GeneratedValue(strategy = GenerationType.AUTO) diff --git a/src/main/java/com/codesdream/ase/model/leaves/LeavesSystem.java b/src/main/java/com/codesdream/ase/model/leaves/LeavesSystem.java deleted file mode 100644 index d21d7ad..0000000 --- a/src/main/java/com/codesdream/ase/model/leaves/LeavesSystem.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.codesdream.ase.model.leaves; -/** - 请假信息的管理系统 - */ -public class LeavesSystem { - -} diff --git a/src/main/java/com/codesdream/ase/repository/leaves/LeaveRepository.java b/src/main/java/com/codesdream/ase/repository/leaves/LeaveRepository.java new file mode 100644 index 0000000..180baf2 --- /dev/null +++ b/src/main/java/com/codesdream/ase/repository/leaves/LeaveRepository.java @@ -0,0 +1,6 @@ +package com.codesdream.ase.repository.leaves; +import org.springframework.data.repository.CrudRepository; + +public interface LeaveRepository extends CrudRepository{ + +} diff --git a/src/main/java/com/codesdream/ase/service/ILeavesService.java b/src/main/java/com/codesdream/ase/service/ILeavesService.java new file mode 100644 index 0000000..4f8b0af --- /dev/null +++ b/src/main/java/com/codesdream/ase/service/ILeavesService.java @@ -0,0 +1,4 @@ +package com.codesdream.ase.service; + +public interface ILeavesService { +} diff --git a/src/main/java/com/codesdream/ase/service/LeavesService.java b/src/main/java/com/codesdream/ase/service/LeavesService.java new file mode 100644 index 0000000..7a36cce --- /dev/null +++ b/src/main/java/com/codesdream/ase/service/LeavesService.java @@ -0,0 +1,57 @@ +package com.codesdream.ase.service; + +import com.codesdream.ase.model.leaves.Leave; +import com.codesdream.ase.repository.leaves.LeaveRepository; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Optional; + +@Service +public class LeavesService implements ILeavesService { + + @Resource + private LeaveRepository leaveRepository; + + @Override + public Optional findLeaveByTitle(String title) { + return LeaveRepository.findByTitle(title); + } + + @Override + public Optional findLeaveByCreator(String creatorName) { + return LeaveRepository.findByCreator(creatorName); + } + + @Override + public Leave save(Leave Leave) { + return LeaveRepository.save(Leave); + } + + @Override + public Leave addReport(Leave Leave, Report report) { + Leave.setReport(report); + return update(Leave); + } + + @Override + public void delete(Leave Leave) { + LeaveRepository.delete(Leave); + } + + @Override + public Leave update(Leave Leave) { + return LeaveRepository.save(Leave); + } + + @Override + public Leave createLeave(Leave Leave) { + return LeaveRepository.save(Leave); + } + + /*@Override + public Leave findActivitiesInTheCharge(User user) { + + }*/ + +} From 2277f5c8e4fc890622a400cd90577e9b9e02440f Mon Sep 17 00:00:00 2001 From: Vindicator645 <45960487+Vindicator645@users.noreply.github.com> Date: Sun, 15 Mar 2020 15:17:47 +0800 Subject: [PATCH 2/3] Leaving --- .../repository/leaves/LeaveRepository.java | 8 ++++- .../ase/service/ILeavesService.java | 27 ++++++++++++++ .../codesdream/ase/service/LeavesService.java | 36 +++++++++---------- 3 files changed, 50 insertions(+), 21 deletions(-) diff --git a/src/main/java/com/codesdream/ase/repository/leaves/LeaveRepository.java b/src/main/java/com/codesdream/ase/repository/leaves/LeaveRepository.java index 180baf2..5ea51c1 100644 --- a/src/main/java/com/codesdream/ase/repository/leaves/LeaveRepository.java +++ b/src/main/java/com/codesdream/ase/repository/leaves/LeaveRepository.java @@ -1,6 +1,12 @@ package com.codesdream.ase.repository.leaves; +import com.codesdream.ase.model.activity.Report; +import com.codesdream.ase.model.leaves.Leave; import org.springframework.data.repository.CrudRepository; -public interface LeaveRepository extends CrudRepository{ +import java.util.Optional; +public interface LeaveRepository extends CrudRepository{ + + Optional findByTitle(String title) ; + Optional findByCreator(String creatorName); } diff --git a/src/main/java/com/codesdream/ase/service/ILeavesService.java b/src/main/java/com/codesdream/ase/service/ILeavesService.java index 4f8b0af..0d7b994 100644 --- a/src/main/java/com/codesdream/ase/service/ILeavesService.java +++ b/src/main/java/com/codesdream/ase/service/ILeavesService.java @@ -1,4 +1,31 @@ package com.codesdream.ase.service; +import com.codesdream.ase.model.leaves.Leave; + + +import java.util.Optional; + public interface ILeavesService { + //通过标题查找活动 + Optional findLeaveByTitle(String title); + + //通过创建人姓名查找活动 + Optional findLeaveByCreator(String creatorName); + + //活动 + Leave save(Leave leave); + + + //请假删除 + void delete(Leave Leave); + + //请假信息更新 + Leave update(Leave Leave); + + //创建请假条目 + Leave createLeave(Leave Leave); + + //查询主要负责的活动 + //Leave findActivitiesInTheCharge(User user); + } diff --git a/src/main/java/com/codesdream/ase/service/LeavesService.java b/src/main/java/com/codesdream/ase/service/LeavesService.java index 7a36cce..a9c475d 100644 --- a/src/main/java/com/codesdream/ase/service/LeavesService.java +++ b/src/main/java/com/codesdream/ase/service/LeavesService.java @@ -13,40 +13,36 @@ public class LeavesService implements ILeavesService { @Resource private LeaveRepository leaveRepository; + @Override public Optional findLeaveByTitle(String title) { - return LeaveRepository.findByTitle(title); + return Optional.empty(); } @Override - public Optional findLeaveByCreator(String creatorName) { - return LeaveRepository.findByCreator(creatorName); + public Optional findLeaveByCreator(String creatorName) { + return Optional.empty(); } @Override - public Leave save(Leave Leave) { - return LeaveRepository.save(Leave); + public Leave save(Leave leave) { + return leaveRepository.save(leave); + } + + + @Override + public void delete(Leave leave) { + leaveRepository.delete(leave); } @Override - public Leave addReport(Leave Leave, Report report) { - Leave.setReport(report); - return update(Leave); + public Leave update(Leave leave) { + return leaveRepository.save(leave); } @Override - public void delete(Leave Leave) { - LeaveRepository.delete(Leave); - } - - @Override - public Leave update(Leave Leave) { - return LeaveRepository.save(Leave); - } - - @Override - public Leave createLeave(Leave Leave) { - return LeaveRepository.save(Leave); + public Leave createLeave(Leave leave) { + return leaveRepository.save(leave); } /*@Override From 4916dea8913764bef7346f7a58318ff94b027846 Mon Sep 17 00:00:00 2001 From: Vindicator645 <45960487+Vindicator645@users.noreply.github.com> Date: Sun, 15 Mar 2020 20:25:42 +0800 Subject: [PATCH 3/3] Leaving --- .../json/request/UserLeaveRequest.java | 7 +++++ .../ase/controller/LeavesController.java | 26 ++++++------------- .../codesdream/ase/model/leaves/Leave.java | 12 ++++++++- 3 files changed, 26 insertions(+), 19 deletions(-) create mode 100644 src/main/java/com/codesdream/ase/component/json/request/UserLeaveRequest.java diff --git a/src/main/java/com/codesdream/ase/component/json/request/UserLeaveRequest.java b/src/main/java/com/codesdream/ase/component/json/request/UserLeaveRequest.java new file mode 100644 index 0000000..485c0ce --- /dev/null +++ b/src/main/java/com/codesdream/ase/component/json/request/UserLeaveRequest.java @@ -0,0 +1,7 @@ +package com.codesdream.ase.component.json.request; + +public class UserLeaveRequest { + + + +} diff --git a/src/main/java/com/codesdream/ase/controller/LeavesController.java b/src/main/java/com/codesdream/ase/controller/LeavesController.java index 8694283..9ad7eb1 100644 --- a/src/main/java/com/codesdream/ase/controller/LeavesController.java +++ b/src/main/java/com/codesdream/ase/controller/LeavesController.java @@ -2,11 +2,10 @@ package com.codesdream.ase.controller; import com.alibaba.fastjson.JSONObject; import com.codesdream.ase.component.datamanager.JSONParameter; +import com.codesdream.ase.component.json.request.UserLeaveRequest; import com.codesdream.ase.component.json.respond.FailedSONRespond; import com.codesdream.ase.component.json.respond.JSONBaseRespondObject; import com.codesdream.ase.component.permission.ASEUsernameEncoder; -import com.codesdream.ase.component.json.request.UserLeaveChecker; -import com.codesdream.ase.component.json.respond.UserLeaveCheckerJSONRespond; import com.codesdream.ase.service.LeavesService; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; @@ -41,31 +40,22 @@ public class LeavesController { return "Leave"; } + //提交请假申请 @RequestMapping(value = "/Leave/check", method = RequestMethod.POST) @ResponseBody - String checkLeave(HttpServletRequest request){ + String requestLeave(HttpServletRequest request){ // 检查是否为JSON Optional json = jsonParameter.getJSONByRequest(request); if(!json.isPresent()) return jsonParameter.getJSONString(new FailedSONRespond()); - UserLeaveChecker LeaveChecker = json.get().toJavaObject(UserLeaveChecker.class); + UserLeaveRequest LeaveChecker = json.get().toJavaObject(UserLeaveRequest.class); // 检查类型 - if(LeaveChecker.getCheckType().equals("UsernameExistChecker")){ - // 根据学号计算用户名 - String user = usernameEncoder.encode(LeaveChecker.getUsername()) ; - // 查询用户名存在状态 - boolean existStatus = userService.checkIfUserExists(user).getKey(); - // 构造返回对象 - UserLeaveCheckerJSONRespond respond = new UserLeaveCheckerJSONRespond(); - respond.setUserExist(existStatus); - return jsonParameter.getJSONString(respond); - } - else { - // 返回失败对象 - return jsonParameter.getJSONString(new JSONBaseRespondObject()); - } + } + //列出某辅导员待审核名单 + + //列出某人 } diff --git a/src/main/java/com/codesdream/ase/model/leaves/Leave.java b/src/main/java/com/codesdream/ase/model/leaves/Leave.java index 80a00ae..5cf3b32 100644 --- a/src/main/java/com/codesdream/ase/model/leaves/Leave.java +++ b/src/main/java/com/codesdream/ase/model/leaves/Leave.java @@ -17,15 +17,25 @@ public class Leave { //审批人容器 @ManyToMany(cascade = CascadeType.MERGE, fetch = FetchType.LAZY) private Set userTo; + //请假原因 + @Column + private String reasonToLeave; + + //请假类型 病假,事假等 @Column(name = "type", nullable = false) private String type; //批准状态 @Column(name = "Authentication", nullable = false) - private Boolean Authentication; + private String Authentication; + + //审核备注 + @Column + private String Comment; //开始时间 @Column(nullable = false) private Date startTime; + @Column(nullable = false) private Date endTime; //申请时间