|
@@ -25,6 +25,7 @@ import com.template.model.request.WelcomeVisitorRequest;
|
|
|
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,9 +40,9 @@ 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;
|
|
|
|
|
+import java.util.concurrent.atomic.AtomicInteger;
|
|
|
|
|
|
|
|
@Slf4j
|
|
@Slf4j
|
|
|
@Service
|
|
@Service
|
|
@@ -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;
|
|
@@ -73,6 +75,9 @@ public class WelcomeVisitorServiceImpl extends ServiceImpl<WelcomeVisitorMapper,
|
|
|
|
|
|
|
|
// 新增车辆信息
|
|
// 新增车辆信息
|
|
|
addVisitorCar(visitor);
|
|
addVisitorCar(visitor);
|
|
|
|
|
+
|
|
|
|
|
+ // 更新学生信息中的车牌信息
|
|
|
|
|
+ studentService.updateCarNumber(studentCard, visitorRequest.getCarNumber());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -113,6 +118,7 @@ public class WelcomeVisitorServiceImpl extends ServiceImpl<WelcomeVisitorMapper,
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
|
|
+ @Transactional
|
|
|
public void addVisitorByAdmin(WelcomeVisitorRequest visitorRequest) {
|
|
public void addVisitorByAdmin(WelcomeVisitorRequest visitorRequest) {
|
|
|
checkBeforeAdd(visitorRequest);
|
|
checkBeforeAdd(visitorRequest);
|
|
|
|
|
|
|
@@ -125,6 +131,9 @@ public class WelcomeVisitorServiceImpl extends ServiceImpl<WelcomeVisitorMapper,
|
|
|
|
|
|
|
|
// 新增车辆信息
|
|
// 新增车辆信息
|
|
|
addVisitorCar(visitor);
|
|
addVisitorCar(visitor);
|
|
|
|
|
+
|
|
|
|
|
+ // 更新学生信息中的车牌信息
|
|
|
|
|
+ studentService.updateCarNumber(visitor.getStudentCard(), visitorRequest.getCarNumber());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private void checkBeforeAdd(WelcomeVisitorRequest visitorRequest) {
|
|
private void checkBeforeAdd(WelcomeVisitorRequest visitorRequest) {
|
|
@@ -136,9 +145,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.countByStudentCard(studentCard);
|
|
|
|
|
+ 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);
|
|
@@ -200,6 +216,7 @@ public class WelcomeVisitorServiceImpl extends ServiceImpl<WelcomeVisitorMapper,
|
|
|
checkBeforeAdd(visitorRequest);
|
|
checkBeforeAdd(visitorRequest);
|
|
|
|
|
|
|
|
WelcomeVisitor visitor = getById(visitorRequest.getId());
|
|
WelcomeVisitor visitor = getById(visitorRequest.getId());
|
|
|
|
|
+ String oldCarNumber = visitor.getCarNumber();
|
|
|
if (ObjectUtil.isNull(visitor)) {
|
|
if (ObjectUtil.isNull(visitor)) {
|
|
|
throw new MyCustomException(ResponseStatusEnum.SEND_PARAMS);
|
|
throw new MyCustomException(ResponseStatusEnum.SEND_PARAMS);
|
|
|
}
|
|
}
|
|
@@ -212,6 +229,12 @@ public class WelcomeVisitorServiceImpl extends ServiceImpl<WelcomeVisitorMapper,
|
|
|
|
|
|
|
|
// 更新车辆信息
|
|
// 更新车辆信息
|
|
|
addVisitorCar(visitor);
|
|
addVisitorCar(visitor);
|
|
|
|
|
+
|
|
|
|
|
+ if (!StrUtil.equals(visitorRequest.getCarNumber(), oldCarNumber)) {
|
|
|
|
|
+ // 更新学生信息中的车牌信息
|
|
|
|
|
+ studentService.updateCarNumber(visitor.getStudentCard(), visitorRequest.getCarNumber());
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -235,6 +258,8 @@ public class WelcomeVisitorServiceImpl extends ServiceImpl<WelcomeVisitorMapper,
|
|
|
List<WelcomeVisitor> welcomeVisitors = list(wrapper);
|
|
List<WelcomeVisitor> welcomeVisitors = list(wrapper);
|
|
|
|
|
|
|
|
List<WelcomeVisitorVO> welcomeVisitorVOS = BeanUtil.copyListProperties(welcomeVisitors, WelcomeVisitorVO::new);
|
|
List<WelcomeVisitorVO> welcomeVisitorVOS = BeanUtil.copyListProperties(welcomeVisitors, WelcomeVisitorVO::new);
|
|
|
|
|
+ AtomicInteger i = new AtomicInteger(1);
|
|
|
|
|
+ welcomeVisitorVOS.forEach(e -> e.setNum(i.getAndIncrement()));
|
|
|
|
|
|
|
|
try {
|
|
try {
|
|
|
RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
|
|
RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
|