Browse Source

1、增加老师注册申请同意的逻辑

rayson 3 months ago
parent
commit
69376b07bb

+ 2 - 0
menduner/menduner-system-api/src/main/java/com/citu/module/menduner/system/enums/ErrorCodeConstants.java

@@ -662,6 +662,8 @@ public interface ErrorCodeConstants {
 
     ErrorCode TEACHER_NAME_NOT_NULL = new ErrorCode(1_100_067_002, "老师姓名不能为空");
 
+    ErrorCode TEACHER_AUTH_NOT_EXISTS = new ErrorCode(1_100_067_003, "该老师已经注册该学校,您可以忽略该条申请或者拒绝");
+
     // ========== 学校信息 1_100_068_000 ==========
     ErrorCode SCHOOL_INFO_NOT_EXISTS = new ErrorCode(1_100_068_001, "学校信息不存在");
     ErrorCode SCHOOL_ORGANIZATION_NOT_EXISTS = new ErrorCode(1_100_068_002, "学校组织机构不存在");

+ 13 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/person/TeacherMapper.java

@@ -6,6 +6,7 @@ import com.citu.framework.mybatis.core.mapper.BaseMapperX;
 import com.citu.framework.mybatis.core.query.LambdaQueryWrapperX;
 import com.citu.module.menduner.system.controller.base.person.teacher.TeacherPageReqVO;
 import com.citu.module.menduner.system.dal.dataobject.person.TeacherDO;
+import com.citu.module.menduner.system.enums.person.TeacherAuthStatusEnum;
 import org.apache.ibatis.annotations.Mapper;
 
 
@@ -34,7 +35,18 @@ public interface TeacherMapper extends BaseMapperX<TeacherDO> {
     }
 
     default TeacherDO selectByUserId(Long userId) {
-        return selectOne(TeacherDO::getUserId, userId);
+        return selectOne(new LambdaQueryWrapperX<TeacherDO>()
+                .eq(TeacherDO::getUserId, userId)
+                .eq(TeacherDO::getAuthStatus, TeacherAuthStatusEnum.PASSED.getStatus())
+        );
+    }
+
+    default TeacherDO selectByUserIdAndSchoolId(Long userId, Long schoolId){
+        return selectOne(new LambdaQueryWrapperX<TeacherDO>()
+                .eq(TeacherDO::getUserId, userId)
+                .eq(TeacherDO::getSchoolId, schoolId)
+                .eq(TeacherDO::getAuthStatus, TeacherAuthStatusEnum.PASSED.getStatus())
+        );
     }
 
 }

+ 8 - 3
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/teacher/TeacherServiceImpl.java

@@ -28,7 +28,7 @@ import java.time.LocalDateTime;
 
 import static com.citu.framework.common.exception.util.ServiceExceptionUtil.exception;
 import static com.citu.module.menduner.common.CommonConstants.NOTIFY_SYS_SCHOOL_TEACHER_REGISTER;
-import static com.citu.module.menduner.common.CommonConstants.getPlatformSystemMessageContent;
+import static com.citu.module.menduner.system.enums.ErrorCodeConstants.TEACHER_AUTH_NOT_EXISTS;
 import static com.citu.module.menduner.system.enums.ErrorCodeConstants.TEACHER_NOT_EXISTS;
 
 /**
@@ -104,6 +104,7 @@ public class TeacherServiceImpl implements TeacherService {
 
     @Override
     public TeacherDO get(Long userId) {
+        // TODO 不清楚后续逻辑,会不会出现一个老师出现在多个学校,目前说是不会
         return teacherMapper.selectByUserId(userId);
     }
 
@@ -111,6 +112,10 @@ public class TeacherServiceImpl implements TeacherService {
     @DSTransactional
     public void approved(TeacherAuthReqVO reqVO) {
         TeacherDO teacher = teacherMapper.selectById(reqVO.getId());
+        TeacherDO existTeacher = teacherMapper.selectByUserIdAndSchoolId(teacher.getUserId(), teacher.getSchoolId());
+        if (null != existTeacher) {
+            throw exception(TEACHER_AUTH_NOT_EXISTS);
+        }
         teacher.setStatus(MendunerStatusEnum.ENABLE.getStatus());
         teacher.setAuthStatus(TeacherAuthStatusEnum.PASSED.getStatus());
         teacher.setAuthMessage(reqVO.getAuthMessage());
@@ -126,7 +131,7 @@ public class TeacherServiceImpl implements TeacherService {
         smsReqDTO.setTemplateCode(CommonConstants.SMS_SYS_EXAMINE_REDEEM);
         smsReqDTO.setTemplateParams(MapUtil.<String, Object>builder()
                 .put("1", teacher.getName())
-                .put("2","老师注册申请")
+                .put("2", "老师注册申请")
                 .build());
         messageUtils.getSendApi().sendSingleSmsToMember(smsReqDTO);
     }
@@ -146,7 +151,7 @@ public class TeacherServiceImpl implements TeacherService {
         smsReqDTO.setTemplateCode(CommonConstants.SMS_SYS_EXAMINE_REDEEM);
         smsReqDTO.setTemplateParams(MapUtil.<String, Object>builder()
                 .put("1", teacher.getName())
-                .put("2","老师注册申请")
+                .put("2", "老师注册申请")
                 .build());
         messageUtils.getSendApi().sendSingleSmsToMember(smsReqDTO);
     }