Quellcode durchsuchen

全校学生教材领取情况导出请求为post
团员管理导入时,当加入日期或转入日期有误抛出异常

大数据与最优化研究所 vor 5 Monaten
Ursprung
Commit
4baa05346b

+ 16 - 2
src/main/java/com/xjrsoft/module/student/service/impl/LeagueMembersManageServiceImpl.java

@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.yulichang.base.MPJBaseServiceImpl;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import com.xjrsoft.common.enums.DeleteMark;
+import com.xjrsoft.common.exception.MyException;
 import com.xjrsoft.common.utils.VoToColumnUtil;
 import com.xjrsoft.module.base.entity.BaseClass;
 import com.xjrsoft.module.generator.entity.ImportConfig;
@@ -187,7 +188,14 @@ public class LeagueMembersManageServiceImpl extends MPJBaseServiceImpl<LeagueMem
             // 处理入团时间
             if(StringUtils.isNotEmpty(dto.getJoinTime())){
                 // 将字符串解析为 YearMonth
-                YearMonth yearMonth = YearMonth.parse(dto.getJoinTime(), joinTimeFormatter);
+                YearMonth yearMonth;
+                try {
+                    yearMonth = YearMonth.parse(dto.getJoinTime(), joinTimeFormatter);
+                }catch (Exception e){
+                    sb.append("第").append(i + 4).append("行数据的加入日期格式错误,应该为202501");
+                    throw new MyException(sb.toString());
+                }
+
 
                 // 设置为当月的第一天并转换为 LocalDate
                 LocalDate localDate = yearMonth.atDay(1);
@@ -198,7 +206,13 @@ public class LeagueMembersManageServiceImpl extends MPJBaseServiceImpl<LeagueMem
             // 处理转入时间
             if(StringUtils.isNotEmpty(dto.getTransferTime())){
                 // 将字符串解析为 YearMonth
-                YearMonth yearMonth = YearMonth.parse(dto.getTransferTime(), transferFormatter);
+                YearMonth yearMonth;
+                try {
+                    yearMonth = YearMonth.parse(dto.getJoinTime(), joinTimeFormatter);
+                }catch (Exception e){
+                    sb.append("第").append(i + 4).append("行数据的转入日期格式错误,应该为2025.01");
+                    throw new MyException(sb.toString());
+                }
 
                 // 设置为当月的第一天并转换为 LocalDate
                 LocalDate localDate = yearMonth.atDay(1);

+ 6 - 6
src/main/java/com/xjrsoft/module/textbook/controller/TextbookStudentClaimController.java

@@ -299,13 +299,13 @@ public class TextbookStudentClaimController {
         return RT.ok(textbookStudentClaimService.removeBatchByIds(ids));
     }
 
-//    @PostMapping("/all-stu-claim-export-query")
-//    @ApiOperation(value = "某一学期全校学生领取记录条件导出")
-//    @XjrLog(value = "某一学期全校学生领取记录条件导出")
-//    public ResponseEntity<byte[]> allStuClaimExportQuery(@Valid @RequestBody AllStuClaimExportQueryDto dto) throws IOException {
-    @GetMapping("/all-stu-claim-export-query")
+    @PostMapping("/all-stu-claim-export-query")
     @ApiOperation(value = "全校学生领取记录条件导出")
-    public ResponseEntity<byte[]> allStuClaimExportQuery(@Valid AllStuClaimExportQueryDto dto) throws IOException {
+    @XjrLog(value = "全校学生领取记录条件导出")
+    public ResponseEntity<byte[]> allStuClaimExportQuery(@Valid @RequestBody AllStuClaimExportQueryDto dto) throws IOException {
+//    @GetMapping("/all-stu-claim-export-query")
+//    @ApiOperation(value = "全校学生领取记录条件导出")
+//    public ResponseEntity<byte[]> allStuClaimExportQuery(@Valid AllStuClaimExportQueryDto dto) throws IOException {
         ByteArrayOutputStream bot = textbookStudentClaimService.allStuClaimExportQuery(dto);
         String fileName = "学生领取记录条件导出";
         fileName = URLEncoder.encode(fileName, StandardCharsets.UTF_8);

+ 3 - 5
src/test/java/com/xjrsoft/xjrsoftboot/StringTest.java

@@ -1,19 +1,17 @@
 package com.xjrsoft.xjrsoftboot;
 
-import com.xjrsoft.common.mybatis.SqlRunnerAdapter;
-import com.xjrsoft.module.base.entity.BaseClass;
 import org.junit.jupiter.api.Test;
 
 import java.math.BigDecimal;
-import java.util.List;
-import java.util.Map;
+import java.security.SecureRandom;
+import java.util.Arrays;
+import java.util.UUID;
 
 /**
  * @author dzx
  * @date 2024/6/14
  */
 public class StringTest {
-
     @Test
     void test2(){
         BigDecimal bigDecimal = new BigDecimal("40001");