Browse Source

新增访客记录时新增学号/录取号校验逻辑

codingliang 1 year ago
parent
commit
6e09a70354

+ 1 - 0
src/main/java/com/template/common/result/ResponseStatusEnum.java

@@ -39,6 +39,7 @@ public enum ResponseStatusEnum implements Code{
     SYSTEM_LOGIN_ERROR(558,false,"无效token"),
     SYSTEM_LOGIN_ERROR(558,false,"无效token"),
     PARAM_ERROR(560, false, "参数不能为空!"),
     PARAM_ERROR(560, false, "参数不能为空!"),
     GZH_ERROR(561, false, "设置失败,请先关联公众号!"),
     GZH_ERROR(561, false, "设置失败,请先关联公众号!"),
+    STUDENT_CAR_NUMBER_NOT_FOUNT(995, false, "学号/录取号不存在"),
     CAR_NUM_EXCEED(996, false, "预约车辆已超过上限,请更换日期后重试"),
     CAR_NUM_EXCEED(996, false, "预约车辆已超过上限,请更换日期后重试"),
     THIRD_API_ERROR(997, false, "第三方api请求失败"),
     THIRD_API_ERROR(997, false, "第三方api请求失败"),
     DATA_NOT_FOUND(998, false, "数据不存在"),
     DATA_NOT_FOUND(998, false, "数据不存在"),

+ 11 - 2
src/main/java/com/template/services/impl/WelcomeVisitorServiceImpl.java

@@ -22,9 +22,11 @@ import com.template.model.pojo.WelcomeSetting;
 import com.template.model.pojo.WelcomeVisitor;
 import com.template.model.pojo.WelcomeVisitor;
 import com.template.model.query.WelcomeVisitorQuery;
 import com.template.model.query.WelcomeVisitorQuery;
 import com.template.model.request.WelcomeVisitorRequest;
 import com.template.model.request.WelcomeVisitorRequest;
+import com.template.model.result.CommonResult;
 import com.template.model.result.PageUtils;
 import com.template.model.result.PageUtils;
 import com.template.model.vo.WelcomeVisitorVO;
 import com.template.model.vo.WelcomeVisitorVO;
 import com.template.services.WelcomeSettingService;
 import com.template.services.WelcomeSettingService;
+import com.template.services.WelcomeStudentService;
 import com.template.services.WelcomeVisitorService;
 import com.template.services.WelcomeVisitorService;
 import lombok.RequiredArgsConstructor;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
@@ -39,7 +41,6 @@ import org.springframework.web.context.request.ServletRequestAttributes;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.io.IOException;
 import java.nio.charset.StandardCharsets;
 import java.nio.charset.StandardCharsets;
-import java.time.LocalDateTime;
 import java.util.Date;
 import java.util.Date;
 import java.util.List;
 import java.util.List;
 
 
@@ -50,6 +51,7 @@ public class WelcomeVisitorServiceImpl extends ServiceImpl<WelcomeVisitorMapper,
 
 
     private final ParkingFeeSystemComponent parkingFeeSystemComponent;
     private final ParkingFeeSystemComponent parkingFeeSystemComponent;
     private final WelcomeSettingService settingService;
     private final WelcomeSettingService settingService;
+    private final WelcomeStudentService studentService;
 
 
     @Autowired
     @Autowired
     private WelcomeVisitorMapper welcomeVisitorMapper;
     private WelcomeVisitorMapper welcomeVisitorMapper;
@@ -136,9 +138,16 @@ public class WelcomeVisitorServiceImpl extends ServiceImpl<WelcomeVisitorMapper,
             throw new MyCustomException(ResponseStatusEnum.SEND_PARAMS);
             throw new MyCustomException(ResponseStatusEnum.SEND_PARAMS);
         }
         }
 
 
+        // 校验学号/录取号是否存在
+        String studentCard = visitorRequest.getStudentCard();
+        int existCount = studentService.existStudentInfo(studentCard, null);
+        if (existCount <= 0) {
+            throw new MyCustomException(ResponseStatusEnum.STUDENT_CAR_NUMBER_NOT_FOUNT);
+        }
+
         // 查询当前用户是否已有访客记录
         // 查询当前用户是否已有访客记录
         LambdaQueryWrapper<WelcomeVisitor> queryWrapper = new LambdaQueryWrapper<>();
         LambdaQueryWrapper<WelcomeVisitor> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.eq(WelcomeVisitor::getStudentCard, visitorRequest.getStudentCard());
+        queryWrapper.eq(WelcomeVisitor::getStudentCard, studentCard);
         queryWrapper.ne(ObjectUtil.isNotNull(visitorRequest.getId()), WelcomeVisitor::getId, visitorRequest.getId());
         queryWrapper.ne(ObjectUtil.isNotNull(visitorRequest.getId()), WelcomeVisitor::getId, visitorRequest.getId());
         if (this.count(queryWrapper) > 0) {
         if (this.count(queryWrapper) > 0) {
             throw new MyCustomException(ResponseStatusEnum.EXISTS);
             throw new MyCustomException(ResponseStatusEnum.EXISTS);