Skip to content

Commit db38900

Browse files
authored
Merge pull request #8 from roselle-luo/main
feat: 增加了被举报后的申诉补时长功能,让各部长和主席团的成员有权限去为同学们补时长
2 parents 5017984 + 8f43398 commit db38900

21 files changed

+559
-9
lines changed

build.gradle.kts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ plugins {
1111
kotlin("jvm")
1212
}
1313

14+
1415
repositories {
1516
mavenLocal()
1617
maven {
@@ -24,13 +25,16 @@ repositories {
2425

2526
dependencies {
2627
// https://mvnrepository.com/artifact/com.opencsv/opencsv
28+
implementation("org.apache.httpcomponents:httpclient:4.5.13")
2729
implementation("com.opencsv:opencsv:5.9")
30+
implementation("io.minio:minio:8.5.17")
2831
implementation("com.alibaba:druid-spring-boot-starter:1.1.17")
2932
implementation("com.baomidou:mybatis-plus-boot-starter:3.4.2")
3033
implementation("org.springframework.boot:spring-boot-starter:2.3.4.RELEASE")
3134
implementation("org.springframework.boot:spring-boot-starter-aop:2.3.4.RELEASE")
3235
implementation("org.springframework.boot:spring-boot-starter-web:2.3.4.RELEASE")
33-
36+
implementation("javax.validation:validation-api:2.0.1.Final")
37+
implementation("org.hibernate.validator:hibernate-validator:6.0.13.Final")
3438
// 如果出现 Bug , see https://mp.weixin.qq.com/s?__biz=MzAwMjk5NTY3Mw==&mid=2247483950&idx=1&sn=47c6c1fed54b134f46f6dedafd34db0c&chksm=9ac0a698adb72f8e769bcfbff5a4fb0450f181bb754a2ad615dc17002f14d7ec039c0e24a1d7&token=395785991&lang=zh_CN#rd
3539
implementation("com.alibaba:easyexcel:3.3.4")
3640
implementation("mysql:mysql-connector-java:8.0.18")
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package org.sanyuankexie.attendance.common.DTO;
2+
3+
import lombok.Data;
4+
5+
import javax.validation.Valid;
6+
import javax.validation.constraints.NotNull;
7+
8+
@Data
9+
public class AppealDealDTO {
10+
@NotNull(message = "处理人不能为空")
11+
private Long operatorId; // 处理人ID
12+
@NotNull(message = "处理的申诉编号不能为空")
13+
private String dealAppealId; // 此次处理的申诉编号ID
14+
@NotNull(message = "处理结果不能为空")
15+
private Boolean result; // 处理结果
16+
private String failedReason; // 如果不通过的话,本次不通过原因
17+
private String realAddTime; // 实际应该补加的时长,若为空则是默认同意为申请者的申请时长
18+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package org.sanyuankexie.attendance.common.DTO;
2+
3+
import lombok.Data;
4+
5+
@Data
6+
public class AppealQueryDTO {
7+
private String appealId; // 对应申诉编号
8+
private String name; // 申诉人姓名
9+
private String department; // 申诉人部门
10+
private String term;
11+
private Long studentId; //申诉人学号
12+
private Integer status; // 申诉状态
13+
private Long operator; // 申诉处理者的学号
14+
}

src/main/java/org/sanyuankexie/attendance/common/DTO/RankDTO.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,4 @@ public class RankDTO {
1212
private Object totalTime;
1313
private Object accumulatedTime;
1414
private int week;
15-
16-
1715
}

src/main/java/org/sanyuankexie/attendance/common/DTO/RecordDTO.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
@TableName( autoResultMap = true ) //开启处理器
1313
public class RecordDTO {
1414

15+
private String id;
1516
private Long userId;
1617
private String userName;
1718
private String userDept;

src/main/java/org/sanyuankexie/attendance/common/exception/CExceptionEnum.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
public enum CExceptionEnum {
66
UNKNOWN(-1, "Unknown exception"),
7+
LOGIN_FAILED(-100, "验证失败"),
78
USER_NO_EXIST(-200, "用户名不存在"),
89
USER_ONLINE(-201, "不许重复签到"),
910
USER_OFFLINE(-202, "宁没有签到噢"),

src/main/java/org/sanyuankexie/attendance/config/BeanConfig.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ public TimeHelper getTimerHelper(){
3232
simpleDateFormat.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
3333
try {
3434
Date w0 = simpleDateFormat.parse(systemInfo.getWeek());
35-
3635
return new TimeHelper(w0.getTime());
3736
} catch (ParseException e) {
3837
e.printStackTrace();
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
package org.sanyuankexie.attendance.controller;
2+
3+
import org.sanyuankexie.attendance.common.DTO.AppealDealDTO;
4+
import org.sanyuankexie.attendance.common.DTO.AppealQueryDTO;
5+
import org.sanyuankexie.attendance.common.DTO.RankDTO;
6+
import org.sanyuankexie.attendance.common.api.ResultVO;
7+
import org.sanyuankexie.attendance.common.aspect.annotation.ConvertTime;
8+
import org.sanyuankexie.attendance.common.helper.ResultHelper;
9+
import org.sanyuankexie.attendance.model.AppealRecord;
10+
import org.sanyuankexie.attendance.model.AppealRequest;
11+
import org.sanyuankexie.attendance.service.AppealService;
12+
import org.sanyuankexie.attendance.service.MinioService;
13+
import org.springframework.web.bind.annotation.*;
14+
import org.springframework.web.multipart.MultipartFile;
15+
16+
import javax.annotation.Resource;
17+
import javax.validation.Valid;
18+
import java.util.List;
19+
20+
@RestController
21+
@RequestMapping(value = "/api/appeal")
22+
public class AppealController {
23+
24+
@Resource
25+
private AppealService appealService;
26+
@Resource
27+
private MinioService minioService;
28+
29+
@ConvertTime
30+
@PostMapping(value = "/uploadImage")
31+
public ResultVO<List<String>> uploadImage(@RequestParam("images") MultipartFile[] images) throws Exception {
32+
return ResultHelper.success(minioService.uploadImages(images),"上传成功");
33+
}
34+
35+
@ConvertTime
36+
@PostMapping(value = "/uploadAppeal")
37+
public Object uploadAppeal(@Valid @RequestBody AppealRequest appealInfo) {
38+
return ResultHelper.success(appealService.uploadAppeal(appealInfo).toString(),"上传成功");
39+
}
40+
41+
@ConvertTime
42+
@GetMapping(value = "/getAppeal")
43+
public ResultVO<List<AppealRecord>> getAppeal(@ModelAttribute @Valid AppealQueryDTO dto) {
44+
return ResultHelper.success(appealService.getAppealList(dto),"获取成功");
45+
}
46+
47+
@ConvertTime
48+
@PostMapping(value = "/dealAppeal")
49+
public ResultVO<String> dealAppeal(@Valid @RequestBody AppealDealDTO appealDealDTO) {
50+
return ResultHelper.success(appealService.dealAppeal(appealDealDTO),"处理完成");
51+
}
52+
53+
}

src/main/java/org/sanyuankexie/attendance/controller/UserController.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ public Object complaint(@RequestBody JSONObject jsonObject) {
4848
@PostMapping(value = "/modify")
4949
public ResultVO<RankDTO> modifyTime(@RequestBody JSONObject jsonObject) {
5050
return ResultHelper.success(userService.modifyTime(
51+
5152
jsonObject.getString("operation"),
5253
jsonObject.getLong("userId"),
5354
jsonObject.getString("time"),
@@ -71,4 +72,14 @@ public void exportUsers(HttpServletResponse response, @Param("password") String
7172
userService.exportUsersToCsv(response, password, grade);
7273
}
7374

75+
// @PostMapping("/sendCode")
76+
// public ResultVO<String> sendCode(@RequestParam("studentId") Long studentId) {
77+
// return ResultHelper.success(userService.sendCode(studentId));
78+
// }
79+
80+
@PostMapping("/login")
81+
public ResultVO<String> login(@RequestBody JSONObject jsonObject) {
82+
return ResultHelper.success(userService.login(jsonObject.getLong("id"), jsonObject.getString("password")));
83+
}
84+
7485
}

0 commit comments

Comments
 (0)