Quellcode durchsuchen

Merge remote-tracking branch 'origin/dev' into dev

大数据与最优化研究所 vor 5 Monaten
Ursprung
Commit
31f7ff1208

+ 19 - 2
src/main/java/com/xjrsoft/module/student/controller/BaseStudentScholarshipReleaseController.java

@@ -7,6 +7,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import com.xjrsoft.common.annotation.XjrLog;
+import com.xjrsoft.common.enums.DeleteMark;
+import com.xjrsoft.common.enums.EnabledMark;
 import com.xjrsoft.common.model.result.RT;
 import com.xjrsoft.common.page.ConventPage;
 import com.xjrsoft.common.page.PageOutput;
@@ -34,6 +36,7 @@ import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @title: 奖学金发放记录表
@@ -103,9 +106,23 @@ public class BaseStudentScholarshipReleaseController {
     @SaCheckPermission("basestudentscholarshiprelease:add")
     @XjrLog(value = "新增奖学金发放记录表", saveResponseData = true)
     public RT<Boolean> add(@Valid @RequestBody AddBaseStudentScholarshipReleaseDto dto) {
+        //查询已发放的金额
+        List<BaseStudentScholarshipRelease> releaseList = releaseService.list(
+                new QueryWrapper<BaseStudentScholarshipRelease>().lambda()
+                        .eq(BaseStudentScholarshipRelease::getBaseStudentScholarshipApplicantId, dto.getBaseStudentScholarshipApplicantId())
+                        .eq(BaseStudentScholarshipRelease::getDeleteMark, DeleteMark.NODELETE.getCode())
+                        .eq(BaseStudentScholarshipRelease::getEnabledMark, EnabledMark.ENABLED.getCode())
+        );
+
+        double releaseAmount = releaseList.stream().mapToDouble(BaseStudentScholarshipRelease::getAmount).sum();
+
         BaseStudentScholarshipApplicant applicant = applicantService.getById(dto.getBaseStudentScholarshipApplicantId());
-        if (dto.getAmount() > applicant.getAmount()) {
-            return RT.error("发放金额不能大于获奖金额");
+        if(releaseAmount == applicant.getAmount()){
+            return RT.error("已发放足够金额,无法再发放");
+        }
+        double v = applicant.getAmount() - releaseAmount;
+        if (dto.getAmount() > v) {
+            return RT.error("发放金额不能大于" + v);
         }
         BaseStudentScholarshipRelease baseStudentScholarshipRelease = BeanUtil.toBean(dto, BaseStudentScholarshipRelease.class);
         boolean isSuccess = releaseService.save(baseStudentScholarshipRelease);

+ 5 - 1
src/main/java/com/xjrsoft/module/student/service/impl/BaseStudentScholarshipApplicantServiceImpl.java

@@ -29,9 +29,11 @@ import org.springframework.web.multipart.MultipartFile;
 
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 import java.util.stream.Collectors;
 
 /**
@@ -110,7 +112,7 @@ public class BaseStudentScholarshipApplicantServiceImpl extends MPJBaseServiceIm
         List<Map<String, String>> errorList = new ArrayList<>();
         List<BaseStudentScholarshipApplicant> updateList = new ArrayList<>();
         for (ScholarshipApplicantImportVo importVo : dataList) {
-            List<String> errorMsg = new ArrayList<>();
+            Set<String> errorMsg = new HashSet<>();
             if (StrUtil.isEmpty(importVo.getSemesterName()) || StrUtil.isEmpty(importVo.getName()) || StrUtil.isEmpty(importVo.getCredentialNumber())
                     || StrUtil.isEmpty(importVo.getScholarshipCategoryName()) || importVo.getScholarshipLevel() == null) {
                 errorMsg.add("有未填写的列");
@@ -134,6 +136,8 @@ public class BaseStudentScholarshipApplicantServiceImpl extends MPJBaseServiceIm
                     applicant.setAmount(category.getTotalAmount());
                     applicant.setScholarshipLevel(importVo.getScholarshipLevel());
                     updateList.add(applicant);
+                }else{
+                    errorMsg.add("身份信息匹配不上");
                 }
             }
             if (!errorMsg.isEmpty()) {

+ 1 - 1
src/main/resources/application-prod.yml

@@ -45,7 +45,7 @@ xjrsoft:
     cloud-type: minio
     access-key: 2LHjFEvzGaSTw7vt
     secret-key: taHsgYz9hk7ZrQZD
-    endpoint: http://219.153.208.41:9000
+    endpoint: http://219.153.208.34:9001
     endpoint-preview: https://zhxy.cqtlzjzx.com/minio
     bucket-name: static
     prefix: xjr

+ 1 - 1
src/main/resources/mapper/evaluate/EvaluateManageMapper.xml

@@ -56,7 +56,7 @@
             where tb1.delete_mark = 0
                 and tb1.status = 1
                 and tb3.status = 0
-                and tb3.user_id = t3.user_id
+                and tb3.user_id = #{dto.loginUserId}
                 and tb1.id = t.id) as ratedCount
         from evaluate_manage t
             left join evaluate_template t2 on t2.id = t.evaluate_template_id