Browse Source

老师,增加修改时判断证件号重复性

周箭河 5 years ago
parent
commit
50a05bec0b

+ 14 - 5
mec-web/src/main/java/com/ym/mec/web/controller/TeacherController.java

@@ -9,6 +9,7 @@ import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
+
 import java.util.Date;
 
 @RequestMapping("teacher")
@@ -21,7 +22,11 @@ public class TeacherController extends BaseController {
 
     @ApiOperation(value = "新增教师")
     @PostMapping("/add")
-    public Object add(Teacher teacher){
+    public Object add(@RequestBody Teacher teacher) {
+        Teacher teacherServiceByCertificateNum = teacherService.findByCertificateNum(teacher.getCertificateNum());
+        if (teacherServiceByCertificateNum != null) {
+            return failed("系统已存在该证件号的老师,请核查");
+        }
         Date date = new Date();
         teacher.setCreateTime(date);
         teacher.setUpdateTime(date);
@@ -31,14 +36,18 @@ public class TeacherController extends BaseController {
 
     @ApiOperation(value = "删除教师")
     @DeleteMapping("/del/{id}")
-    public Object del(@ApiParam(value = "教师编号", required = true) @PathVariable("id") Integer id){
+    public Object del(@ApiParam(value = "教师编号", required = true) @PathVariable("id") Integer id) {
         teacherService.delete(id);
         return succeed();
     }
 
     @ApiOperation(value = "修改教师")
     @PutMapping("/update")
-    public Object update(Teacher teacher){
+    public Object update(Teacher teacher) {
+        Teacher teacherServiceByCertificateNum = teacherService.findByCertificateNum(teacher.getCertificateNum());
+        if (teacherServiceByCertificateNum != null && !teacherServiceByCertificateNum.getUserId().equals(teacher.getUserId())) {
+            return failed("系统已存在该证件号的老师,请核查");
+        }
         teacher.setUpdateTime(new Date());
         teacherService.update(teacher);
         return succeed();
@@ -46,13 +55,13 @@ public class TeacherController extends BaseController {
 
     @ApiOperation(value = "根据教师编号查询教师")
     @GetMapping("/get/{id}")
-    public Object get(@ApiParam(value = "教师编号", required = true) @PathVariable("id") Integer id){
+    public Object get(@ApiParam(value = "教师编号", required = true) @PathVariable("id") Integer id) {
         return succeed(teacherService.get(id));
     }
 
     @ApiOperation(value = "分页查询教师列表")
     @PostMapping("/queryPage")
-    public Object queryPage(TeacherQueryInfo queryInfo){
+    public Object queryPage(TeacherQueryInfo queryInfo) {
         return succeed(teacherService.queryPage(queryInfo));
     }
 }

+ 7 - 0
mec-web/src/main/java/com/ym/mec/web/dal/dao/TeacherDao.java

@@ -2,8 +2,15 @@ package com.ym.mec.web.dal.dao;
 
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.web.dal.entity.Teacher;
+import org.apache.ibatis.annotations.Param;
 
 public interface TeacherDao extends BaseDAO<Integer, Teacher> {
 
+    /**
+     * 根据证件号查询老师
+     * @param certificateNum  证件号
+     * @return Teacher 老师信息
+     */
+    Teacher findByCertificateNum(@Param("certificateNum") String certificateNum);
 	
 }

+ 7 - 0
mec-web/src/main/java/com/ym/mec/web/service/TeacherService.java

@@ -2,7 +2,14 @@ package com.ym.mec.web.service;
 
 import com.ym.mec.common.service.BaseService;
 import com.ym.mec.web.dal.entity.Teacher;
+import org.apache.ibatis.annotations.Param;
 
 public interface TeacherService extends BaseService<Integer, Teacher> {
 
+    /**
+     * 根据证件号查询老师信息
+     * @param certificateNum 证件号
+     * @return Teacher 老师信息
+     */
+    Teacher findByCertificateNum(String certificateNum);
 }

+ 1 - 0
mec-web/src/main/java/com/ym/mec/web/service/impl/OrganizationServiceImpl.java

@@ -52,6 +52,7 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
 			return org;
 	}
 
+	@Override
 	public Organization findByCode(int code){
 		return organizationDao.findByCode(code);
 	}

+ 6 - 1
mec-web/src/main/java/com/ym/mec/web/service/impl/TeacherServiceImpl.java

@@ -19,5 +19,10 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher>  imple
 	public BaseDAO<Integer, Teacher> getDAO() {
 		return teacherDao;
 	}
-	
+
+	@Override
+	public Teacher findByCertificateNum(String certificateNum){
+		return teacherDao.findByCertificateNum(certificateNum);
+	}
+
 }

+ 5 - 0
mec-web/src/main/resources/config/mybatis/TeacherMapper.xml

@@ -117,4 +117,9 @@
     <select id="queryCount" resultType="int">
 		SELECT COUNT(*) FROM teacher
 	</select>
+
+    <!-- 根据证件号查询老师 -->
+    <select id="findByCertificateNum" resultMap="Teacher">
+		SELECT * FROM teacher WHERE certificate_num_ = #{certificateNum}
+	</select>
 </mapper>