Ver Fonte

Merge branch 'master' of http://git.dayaedu.com/yonge/edu-saas

zouxuan há 5 anos atrás
pai
commit
f3291c0ca7

+ 10 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/dao/TenantInfoDao.java

@@ -3,6 +3,7 @@ package com.keao.edu.user.dao;
 import com.keao.edu.common.dal.BaseDAO;
 import com.keao.edu.user.dto.TenantInfoDto;
 import com.keao.edu.user.entity.TenantInfo;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 import java.util.Map;
@@ -11,4 +12,13 @@ public interface TenantInfoDao extends BaseDAO<Integer, TenantInfo> {
 
     List<TenantInfoDto> queryTenants(Map<String, Object> params);
     int countTenants(Map<String, Object> params);
+
+    /**
+     * @describe 获取指定分部的机构信息
+     * @author Joburgess
+     * @date 2020.07.13
+     * @param organId:
+     * @return com.keao.edu.user.entity.TenantInfo
+     */
+    TenantInfo getWithOrgan(@Param("organId") Integer organId);
 }

+ 17 - 5
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExamOrganizationRelationServiceImpl.java

@@ -13,14 +13,12 @@ import com.keao.edu.common.page.QueryInfo;
 import com.keao.edu.common.service.impl.BaseServiceImpl;
 import com.keao.edu.common.tenant.TenantContextHolder;
 import com.keao.edu.thirdparty.message.MessageSenderPluginContext;
-import com.keao.edu.user.dao.ExamOrganizationRelationDao;
-import com.keao.edu.user.dao.ExaminationBasicDao;
-import com.keao.edu.user.dao.OrganizationDao;
-import com.keao.edu.user.dao.TeacherDao;
+import com.keao.edu.user.dao.*;
 import com.keao.edu.user.dto.ExamOrganizationRelationExtraDto;
 import com.keao.edu.user.entity.ExamOrganizationRelation;
 import com.keao.edu.user.entity.ExaminationBasic;
 import com.keao.edu.user.entity.Organization;
+import com.keao.edu.user.entity.TenantInfo;
 import com.keao.edu.user.enums.ExamStatusEnum;
 import com.keao.edu.user.enums.YesOrNoEnum;
 import com.keao.edu.user.page.ExamOrganizationRelationQueryInfo;
@@ -29,6 +27,8 @@ import com.keao.edu.user.service.OrganizationService;
 import com.keao.edu.user.service.ShortUrlService;
 import com.keao.edu.user.service.SysConfigService;
 import com.keao.edu.util.collection.MapUtil;
+import com.keao.edu.util.date.DateUtil;
+import org.apache.commons.lang.time.DateUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.poi.ss.formula.functions.T;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -61,6 +61,8 @@ public class ExamOrganizationRelationServiceImpl extends BaseServiceImpl<Long, E
 	private SysMessageFeignService sysMessageFeignService;
 	@Autowired
 	private SysConfigService sysConfigService;
+	@Autowired
+	private TenantInfoDao tenantInfoDao;
 
 	public static final Set<ExamStatusEnum> EDIT_ABLE_EXAM_STATUS=new HashSet<>(Arrays.asList(ExamStatusEnum.SETTING,ExamStatusEnum.NOT_START,ExamStatusEnum.APPLYING,ExamStatusEnum.APPLIED));
 
@@ -189,6 +191,15 @@ public class ExamOrganizationRelationServiceImpl extends BaseServiceImpl<Long, E
 			throw new BizException("考级项目已关闭");
 		}
 
+		StringBuffer expectRegistTime = new StringBuffer(DateUtil.dateToString(examinationBasic.getEnrollStartTime(), "yyyy年MM月dd日"));
+		expectRegistTime.append("-");
+		expectRegistTime.append(DateUtil.dateToString(examinationBasic.getEnrollStartTime(), "yyyy年MM月dd日"));
+
+		TenantInfo tenantInfo = tenantInfoDao.getWithOrgan(examinationBasic.getOrganId());
+		if(Objects.isNull(tenantInfo)){
+			throw new BizException("考级信息错误");
+		}
+
 		List<ExamOrganizationRelation> needUpdate=new ArrayList<>();
 		for (ExamOrganizationRelation examOrgan : examOrgans) {
 			if(YesOrNoEnum.YES.equals(examOrgan.getSendUrlFlag())){
@@ -203,7 +214,8 @@ public class ExamOrganizationRelationServiceImpl extends BaseServiceImpl<Long, E
 			userPhoneMap.put(examOrgan.getOrganId(), student.getPhone());
 
 			SysMessageParams sysMessageParams=new SysMessageParams(MessageSenderPluginContext.MessageSender.YIMEI, MessageTypeEnum.EXAM_REGISTRATION_URL_PUSH,
-					userPhoneMap, null, 0, null, null, examOrgan.getUrl());
+					userPhoneMap, null, 0, null, null,
+					tenantInfo.getName(), examinationBasic.getName(), expectRegistTime.toString(), examOrgan.getUrl());
 			sysMessageFeignService.batchSendMessage(sysMessageParams);
 		}
 

+ 13 - 7
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExaminationBasicServiceImpl.java

@@ -136,13 +136,13 @@ public class ExaminationBasicServiceImpl extends BaseServiceImpl<Long, Examinati
         if(Objects.isNull(existsExam)){
             throw new BizException("考级项目不存在");
         }
+        if(ExamStatusEnum.RESULT_CONFIRM.equals(existsExam.getStatus())){
+            throw new BizException("考级项目结果已确认");
+        }
         existsExam.setStatus(statusEnum);
         if(ExamStatusEnum.SETTING.equals(existsExam.getStatus())&&ExamStatusEnum.NOT_START.equals(existsExam.getStatus())){
             examOrganizationRelationService.addExamOrganizations(existsExam.getId(),existsExam.getOrganId().toString());
         }
-        switch (statusEnum){
-//            cas
-        }
         examinationBasicDao.update(existsExam);
     }
 
@@ -196,10 +196,10 @@ public class ExaminationBasicServiceImpl extends BaseServiceImpl<Long, Examinati
         }
         List<ExamOrganizationRelation> examOrganizationRelations = examOrganizationRelationDao.getWithExam(examId);
         if (!CollectionUtils.isEmpty(examOrganizationRelations)) {
-            long totalRegistrationStudentNum = examOrganizationRelations.stream().map(ExamOrganizationRelation::getTotalRegistrationStudentNum).count();
-            long totalPaymentAmount = examOrganizationRelations.stream().map(ExamOrganizationRelation::getTotalPaymentAmount).count();
-            examinationBasic.setTotalRegistrationStudentNum((int) totalRegistrationStudentNum);
-            examinationBasic.setTotalPaymentAmount(new BigDecimal(totalPaymentAmount));
+            Integer totalRegistrationStudentNum = examOrganizationRelations.stream().mapToInt(ExamOrganizationRelation::getTotalRegistrationStudentNum).sum();
+            BigDecimal totalPaymentAmount = examOrganizationRelations.stream().map(ExamOrganizationRelation::getTotalPaymentAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
+            examinationBasic.setTotalRegistrationStudentNum(totalRegistrationStudentNum);
+            examinationBasic.setTotalPaymentAmount(totalPaymentAmount);
             examinationBasic.setOrganNum(examOrganizationRelations.size());
         }
         if(Objects.nonNull(examinationBasic.getCreatorId())){
@@ -219,6 +219,12 @@ public class ExaminationBasicServiceImpl extends BaseServiceImpl<Long, Examinati
         if(Objects.isNull(existsExam)){
             throw new BizException("考级项目不存在");
         }
+        if(ExamStatusEnum.RESULT_CONFIRM.equals(existsExam.getStatus())){
+            throw new BizException("考级项目结果已确认");
+        }
+        if(ExamStatusEnum.CLOSE.equals(existsExam.getStatus())){
+            throw new BizException("考级项目已关闭");
+        }
         return examinationBasicDao.update(examinationBasic);
     }
 

+ 10 - 0
edu-user/edu-user-server/src/main/resources/config/mybatis/TenantInfoMapper.xml

@@ -119,4 +119,14 @@
 		SELECT COUNT(*) FROM tenant_info ti
 		<include refid="queryPageCondition"/>
 	</select>
+
+    <select id="getWithOrgan" resultMap="TenantInfo">
+		SELECT
+			ti.*
+		FROM
+			tenant_info ti
+			LEFT JOIN organization o ON o.tenant_id_ = ti.id_
+		WHERE
+			o.id_=#{organId}
+	</select>
 </mapper>