|
|
@@ -8,13 +8,28 @@ import com.java110.core.event.cmd.Cmd;
|
|
|
import com.java110.core.event.cmd.CmdEvent;
|
|
|
import com.java110.core.factory.CommunitySettingFactory;
|
|
|
import com.java110.core.factory.GenerateCodeFactory;
|
|
|
+import com.java110.core.smo.IPhotoSMO;
|
|
|
+import com.java110.dto.RoomDto;
|
|
|
+import com.java110.dto.accessControlWhite.AccessControlWhiteDto;
|
|
|
+import com.java110.dto.machine.CarBlackWhiteDto;
|
|
|
+import com.java110.dto.machine.MachineDto;
|
|
|
+import com.java110.dto.oaWorkflow.OaWorkflowDto;
|
|
|
import com.java110.dto.owner.OwnerCarDto;
|
|
|
import com.java110.dto.parking.ParkingSpaceDto;
|
|
|
+import com.java110.dto.visit.VisitDto;
|
|
|
+import com.java110.dto.visitSetting.VisitSettingDto;
|
|
|
+import com.java110.intf.common.IAccessControlWhiteV1InnerServiceSMO;
|
|
|
+import com.java110.intf.common.IMachineInnerServiceSMO;
|
|
|
import com.java110.intf.community.IParkingSpaceInnerServiceSMO;
|
|
|
+import com.java110.intf.community.IRoomInnerServiceSMO;
|
|
|
+import com.java110.intf.community.IVisitSettingV1InnerServiceSMO;
|
|
|
import com.java110.intf.community.IVisitV1InnerServiceSMO;
|
|
|
+import com.java110.intf.user.ICarBlackWhiteV1InnerServiceSMO;
|
|
|
import com.java110.intf.user.IOwnerCarAttrInnerServiceSMO;
|
|
|
import com.java110.intf.user.IOwnerCarInnerServiceSMO;
|
|
|
import com.java110.intf.user.IOwnerCarV1InnerServiceSMO;
|
|
|
+import com.java110.po.accessControlWhite.AccessControlWhitePo;
|
|
|
+import com.java110.po.car.CarBlackWhitePo;
|
|
|
import com.java110.po.car.OwnerCarPo;
|
|
|
import com.java110.po.owner.VisitPo;
|
|
|
import com.java110.po.ownerCarAttr.OwnerCarAttrPo;
|
|
|
@@ -28,10 +43,7 @@ import com.java110.vo.ResultVo;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.http.ResponseEntity;
|
|
|
|
|
|
-import java.util.Calendar;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Random;
|
|
|
+import java.util.*;
|
|
|
|
|
|
@Java110Cmd(serviceCode = "visit.updateVisit")
|
|
|
public class UpdateVisitCmd extends Cmd {
|
|
|
@@ -51,6 +63,27 @@ public class UpdateVisitCmd extends Cmd {
|
|
|
@Autowired
|
|
|
private IVisitV1InnerServiceSMO visitV1InnerServiceSMOImpl;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private IPhotoSMO photoSMOImpl;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IVisitSettingV1InnerServiceSMO visitSettingV1InnerServiceSMOImpl;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private ICarBlackWhiteV1InnerServiceSMO carBlackWhiteV1InnerServiceSMOImpl;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IAccessControlWhiteV1InnerServiceSMO accessControlWhiteV1InnerServiceSMOImpl;
|
|
|
+
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IRoomInnerServiceSMO roomInnerServiceSMOImpl;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IMachineInnerServiceSMO machineInnerServiceSMOImpl;
|
|
|
+
|
|
|
+ public static final String CODE_PREFIX_ID = "10";
|
|
|
+
|
|
|
//键
|
|
|
public static final String CAR_FREE_TIME = "CAR_FREE_TIME";
|
|
|
|
|
|
@@ -60,168 +93,198 @@ public class UpdateVisitCmd extends Cmd {
|
|
|
@Override
|
|
|
public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
|
|
|
Assert.hasKeyAndValue(reqJson, "vId", "访客记录ID不能为空");
|
|
|
+ Assert.hasKeyAndValue(reqJson, "communityId", "小区ID不能为空");
|
|
|
Assert.hasKeyAndValue(reqJson, "vName", "必填,请填写访客姓名");
|
|
|
- Assert.hasKeyAndValue(reqJson, "visitGender", "必填,请填写访客姓名");
|
|
|
- Assert.hasKeyAndValue(reqJson, "phoneNumber", "必填,请填写访客联系方式");
|
|
|
- Assert.hasKeyAndValue(reqJson, "visitTime", "必填,请填写访客拜访时间");
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@Java110Transactional
|
|
|
public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
|
|
|
String userId = context.getReqHeaders().get("user-id");
|
|
|
- //是否有空闲车位
|
|
|
- boolean freeSpace = false;
|
|
|
- //是否存在车辆
|
|
|
- boolean existCar = false;
|
|
|
- //校验车牌号是否存在
|
|
|
- OwnerCarDto ownerCarDto1 = new OwnerCarDto();
|
|
|
- ownerCarDto1.setCommunityId(reqJson.getString("communityId"));
|
|
|
- ownerCarDto1.setCarNum(reqJson.getString("carNum"));
|
|
|
- int count = ownerCarInnerServiceSMOImpl.queryOwnerCarsCount(ownerCarDto1);
|
|
|
- if (count > 0) {
|
|
|
- existCar = true;
|
|
|
- reqJson.put("psId", "-1");
|
|
|
+ String storeId = context.getReqHeaders().get("store-id");
|
|
|
+ VisitDto visitDto = new VisitDto();
|
|
|
+ visitDto.setvId(reqJson.getString("vId"));
|
|
|
+ visitDto.setCommunityId(reqJson.getString("communityId"));
|
|
|
+ List<VisitDto> visitDtos = visitV1InnerServiceSMOImpl.queryVisits(visitDto);
|
|
|
+ Assert.listOnlyOne(visitDtos, "访客不存在");
|
|
|
+
|
|
|
+ VisitPo visitPo = BeanConvertUtil.covertBean(reqJson, VisitPo.class);
|
|
|
+ visitPo.setState(visitDtos.get(0).getState());
|
|
|
+ int flag = visitV1InnerServiceSMOImpl.updateVisit(visitPo);
|
|
|
+ if (flag < 1) {
|
|
|
+ throw new CmdException("保存访客失败");
|
|
|
+ }
|
|
|
+ photoSMOImpl.savePhoto(reqJson, reqJson.getString("vId"), reqJson.getString("communityId"));
|
|
|
+
|
|
|
+ if(!VisitDto.STATE_C.equals(visitDtos.get(0).getState())){
|
|
|
+ return ;
|
|
|
+ }
|
|
|
+ String faceWay = "Y";
|
|
|
+ String carNumWay = "N";
|
|
|
+
|
|
|
+ // 查询访客设置
|
|
|
+ VisitSettingDto visitSettingDto = new VisitSettingDto();
|
|
|
+ visitSettingDto.setCommunityId(reqJson.getString("communityId"));
|
|
|
+ List<VisitSettingDto> visitSettingDtos = visitSettingV1InnerServiceSMOImpl.queryVisitSettings(visitSettingDto);
|
|
|
+
|
|
|
+ if (visitSettingDtos != null && visitSettingDtos.size() > 0) {
|
|
|
+ faceWay = visitSettingDtos.get(0).getFaceWay();
|
|
|
+ carNumWay = visitSettingDtos.get(0).getCarNumWay();
|
|
|
+ // 同步车牌 这里需要停车场,所以没有配置访客设置,不同步
|
|
|
+ synchronizedVisitCarNum(visitPo, carNumWay, visitSettingDtos.get(0));
|
|
|
+ }
|
|
|
+
|
|
|
+ // 同步访客人脸
|
|
|
+ synchronousVisitFace(visitPo, faceWay, reqJson.getString("photo"));
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private void synchronousVisitFace(VisitPo visitPo, String faceWay, String photo) {
|
|
|
+ if (VisitSettingDto.FACE_WAY_NO.equals(faceWay) || StringUtil.isEmpty(photo)) {
|
|
|
+ return;
|
|
|
}
|
|
|
- //flag审核操作 并且 审核通过 state=1 并且业主车辆不存在的情况先existCar=false
|
|
|
- if ("1".equals(reqJson.getString("flag"))
|
|
|
- && "1".equals(reqJson.getString("state"))
|
|
|
- && !existCar) {
|
|
|
- //获取预约车免费时长的值
|
|
|
- String freeTime = CommunitySettingFactory.getValue(reqJson.getString("communityId"), CAR_FREE_TIME);
|
|
|
- if (StringUtil.isEmpty(freeTime)) {
|
|
|
- freeTime = "120";
|
|
|
+
|
|
|
+ if(StringUtil.isEmpty(visitPo.getOwnerId())){
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 查询 访问业主可以访问的门禁设备
|
|
|
+ RoomDto roomDto = new RoomDto();
|
|
|
+ roomDto.setOwnerId(visitPo.getOwnerId());
|
|
|
+ //这种情况说明 业主已经删掉了 需要查询状态为 1 的数据
|
|
|
+ List<RoomDto> rooms = roomInnerServiceSMOImpl.queryRoomsByOwner(roomDto);
|
|
|
+
|
|
|
+ //拿到小区ID
|
|
|
+ String communityId = visitPo.getCommunityId();
|
|
|
+ //根据小区ID查询现有设备
|
|
|
+ MachineDto machineDto = new MachineDto();
|
|
|
+ machineDto.setCommunityId(communityId);
|
|
|
+ //String[] locationObjIds = new String[]{communityId};
|
|
|
+ List<String> locationObjIds = new ArrayList<>();
|
|
|
+ locationObjIds.add(communityId);
|
|
|
+ for (RoomDto tRoomDto : rooms) {
|
|
|
+ locationObjIds.add(tRoomDto.getUnitId());
|
|
|
+ locationObjIds.add(tRoomDto.getRoomId());
|
|
|
+ locationObjIds.add(tRoomDto.getFloorId());
|
|
|
+ }
|
|
|
+
|
|
|
+ machineDto.setLocationObjIds(locationObjIds.toArray(new String[locationObjIds.size()]));
|
|
|
+ List<MachineDto> machineDtos = machineInnerServiceSMOImpl.queryMachines(machineDto);
|
|
|
+ if (machineDtos == null || machineDtos.size() < 1) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 同步到 门禁白名单中
|
|
|
+ for (MachineDto tmpMachineDto : machineDtos) {
|
|
|
+ if (!"9999".equals(tmpMachineDto.getMachineTypeCd())) {
|
|
|
+ continue;
|
|
|
}
|
|
|
- Date time = DateUtil.getDateFromStringA(reqJson.getString("visitTime"));
|
|
|
- Calendar newTime = Calendar.getInstance();
|
|
|
- newTime.setTime(time);
|
|
|
- newTime.add(Calendar.MINUTE, Integer.parseInt(freeTime));//日期加上分钟
|
|
|
- Date newDate = newTime.getTime();
|
|
|
- String finishFreeTime = DateUtil.getFormatTimeString(newDate, DateUtil.DATE_FORMATE_STRING_A);
|
|
|
- reqJson.put("freeTime", finishFreeTime);
|
|
|
- //获取小区配置里配置的停车场id
|
|
|
- String parkingAreaId = CommunitySettingFactory.getValue(reqJson.getString("communityId"), ASCRIPTION_CAR_AREA_ID);
|
|
|
- if (StringUtil.isEmpty(parkingAreaId)) { //如果没有配置停车场id,就随便分配该小区下一个空闲车位
|
|
|
- ParkingSpaceDto parkingSpace = new ParkingSpaceDto();
|
|
|
- parkingSpace.setCommunityId(reqJson.getString("communityId"));
|
|
|
- parkingSpace.setState("F"); //车位状态 出售 S,出租 H ,空闲 F
|
|
|
- parkingSpace.setParkingType("1"); //1:普通车位 2:子母车位 3:豪华车位
|
|
|
- List<ParkingSpaceDto> parkingSpaceDtos = parkingSpaceInnerServiceSMOImpl.queryParkingSpaces(parkingSpace);
|
|
|
- if (parkingSpaceDtos == null || parkingSpaceDtos.size() < 1) {
|
|
|
- freeSpace = true;
|
|
|
- } else {
|
|
|
- //随机生成一个不大于集合长度的整数
|
|
|
- Random random = new Random();
|
|
|
- int i = random.nextInt(parkingSpaceDtos.size());
|
|
|
- //获取车位id
|
|
|
- String psId = parkingSpaceDtos.get(i).getPsId();
|
|
|
- reqJson.put("psId", psId);
|
|
|
+ AccessControlWhiteDto accessControlWhiteDto = new AccessControlWhiteDto();
|
|
|
+ accessControlWhiteDto.setCommunityId(communityId);
|
|
|
+ accessControlWhiteDto.setTel(visitPo.getPhoneNumber());
|
|
|
+ accessControlWhiteDto.setMachineId(tmpMachineDto.getMachineId());
|
|
|
+ List<AccessControlWhiteDto> accessControlWhiteDtos = accessControlWhiteV1InnerServiceSMOImpl.queryAccessControlWhites(accessControlWhiteDto);
|
|
|
+ AccessControlWhitePo accessControlWhitePo = new AccessControlWhitePo();
|
|
|
+ if (accessControlWhiteDtos == null || accessControlWhiteDtos.size() < 1) {
|
|
|
+ accessControlWhitePo.setAcwId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
|
|
|
+ accessControlWhitePo.setCommunityId(visitPo.getCommunityId());
|
|
|
+ accessControlWhitePo.setEndTime(visitPo.getDepartureTime());
|
|
|
+ accessControlWhitePo.setIdCard("");
|
|
|
+ accessControlWhitePo.setMachineId(tmpMachineDto.getMachineId());
|
|
|
+ accessControlWhitePo.setPersonName(visitPo.getvName());
|
|
|
+ accessControlWhitePo.setPersonType(AccessControlWhiteDto.PERSON_TYPE_VISIT);
|
|
|
+ accessControlWhitePo.setStartTime(visitPo.getVisitTime());
|
|
|
+ accessControlWhitePo.setTel(visitPo.getPhoneNumber());
|
|
|
+ accessControlWhitePo.setThirdId(visitPo.getvId());
|
|
|
+ int flag = accessControlWhiteV1InnerServiceSMOImpl.saveAccessControlWhite(accessControlWhitePo);
|
|
|
+ if (flag < 1) {
|
|
|
+ throw new CmdException("同步门禁白名单失败");
|
|
|
}
|
|
|
} else {
|
|
|
- ParkingSpaceDto parkingSpace = new ParkingSpaceDto();
|
|
|
- parkingSpace.setCommunityId(reqJson.getString("communityId"));
|
|
|
- parkingSpace.setPaId(parkingAreaId); //停车场id
|
|
|
- parkingSpace.setState("F"); //车位状态 出售 S,出租 H ,空闲 F
|
|
|
- parkingSpace.setParkingType("1"); //1:普通车位 2:子母车位 3:豪华车位
|
|
|
- List<ParkingSpaceDto> parkingSpaceDtos = parkingSpaceInnerServiceSMOImpl.queryParkingSpaces(parkingSpace);
|
|
|
- if (parkingSpaceDtos == null || parkingSpaceDtos.size() < 1) {
|
|
|
- freeSpace = true;
|
|
|
- } else {
|
|
|
- //随机生成一个不大于集合长度的整数
|
|
|
- Random random = new Random();
|
|
|
- int i = random.nextInt(parkingSpaceDtos.size());
|
|
|
- //获取车位id
|
|
|
- String psId = parkingSpaceDtos.get(i).getPsId();
|
|
|
- reqJson.put("psId", psId);
|
|
|
+ accessControlWhitePo.setAcwId(accessControlWhiteDtos.get(0).getAcwId());
|
|
|
+ accessControlWhitePo.setStartTime(visitPo.getVisitTime());
|
|
|
+ accessControlWhitePo.setEndTime(visitPo.getDepartureTime());
|
|
|
+ int flag = accessControlWhiteV1InnerServiceSMOImpl.updateAccessControlWhite(accessControlWhitePo);
|
|
|
+ if (flag < 1) {
|
|
|
+ throw new CmdException("保存数据失败");
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ photoSMOImpl.savePhoto(photo, accessControlWhitePo.getAcwId(), accessControlWhitePo.getCommunityId());
|
|
|
+
|
|
|
}
|
|
|
- String result = "";
|
|
|
- if ("1".equals(reqJson.getString("state"))) {
|
|
|
- result = "审核通过!";
|
|
|
- } else if ("2".equals(reqJson.getString("state"))) {
|
|
|
- result = "审核不通过!";
|
|
|
- }
|
|
|
- if (existCar) {
|
|
|
- result = "访客信息审核成功,车辆已经存在预约,请您在预约到期后,再次进行车辆预约,谢谢!";
|
|
|
- }
|
|
|
- if (freeSpace) {
|
|
|
- result = "访客信息审核成功,当前停车场已无空闲车位,登记车辆将暂时不能进入停车场,请您合理安排出行。";
|
|
|
- }
|
|
|
- reqJson.put("stateRemark", result);
|
|
|
- updateVisit(reqJson);
|
|
|
+ }
|
|
|
|
|
|
- if (existCar) {
|
|
|
- ResponseEntity<String> responseEntity = ResultVo.createResponseEntity(ResultVo.CODE_BUSINESS_VERIFICATION, "访客信息审核成功,车辆已经存在预约,请您在预约到期后,再次进行车辆预约,谢谢!");
|
|
|
- context.setResponseEntity(responseEntity);
|
|
|
+ /**
|
|
|
+ * 预约车辆 加入 白名单 是最合适的
|
|
|
+ * 不应该加入到业主车辆中
|
|
|
+ *
|
|
|
+ * @param visitPo
|
|
|
+ * @param carNumWay
|
|
|
+ * @param visitSettingDto
|
|
|
+ */
|
|
|
+ private void synchronizedVisitCarNum(VisitPo visitPo, String carNumWay, VisitSettingDto visitSettingDto) {
|
|
|
+ if (VisitSettingDto.CAR_NUM_WAY_NO.equals(carNumWay)) {
|
|
|
return;
|
|
|
}
|
|
|
- if (freeSpace) {
|
|
|
- ResponseEntity<String> responseEntity = ResultVo.createResponseEntity(ResultVo.CODE_BUSINESS_VERIFICATION, "访客信息审核成功,当前停车场已无空闲车位,登记车辆将暂时不能进入停车场,请您合理安排出行。");
|
|
|
- context.setResponseEntity(responseEntity);
|
|
|
+
|
|
|
+ if(StringUtil.isEmpty(visitPo.getCarNum())){
|
|
|
return;
|
|
|
}
|
|
|
- //审核通过且有车位就更新车位状态
|
|
|
- if (reqJson.containsKey("state") && "1".equals(reqJson.getString("state"))
|
|
|
- && "1".equals(reqJson.getString("flag"))
|
|
|
- && !existCar) {
|
|
|
- ParkingSpaceDto parkingSpace = new ParkingSpaceDto();
|
|
|
- parkingSpace.setPsId(reqJson.getString("psId"));
|
|
|
- //查询停车位
|
|
|
- List<ParkingSpaceDto> parkingSpaces = parkingSpaceInnerServiceSMOImpl.queryParkingSpaces(parkingSpace);
|
|
|
- Assert.listOnlyOne(parkingSpaces, "查询停车位错误!");
|
|
|
- //添加车辆信息
|
|
|
- OwnerCarPo ownerCarPo = new OwnerCarPo();
|
|
|
- ownerCarPo.setCarId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_carId));
|
|
|
- ownerCarPo.setOwnerId(reqJson.getString("ownerId"));
|
|
|
- ownerCarPo.setbId("-1");
|
|
|
- ownerCarPo.setCarNum(reqJson.getString("carNum"));
|
|
|
- ownerCarPo.setCarBrand("无(预约车)");
|
|
|
- ownerCarPo.setCarType("9901");
|
|
|
- ownerCarPo.setCarColor("无(预约车)");
|
|
|
- ownerCarPo.setPsId(reqJson.getString("psId"));
|
|
|
- ownerCarPo.setUserId(userId);
|
|
|
- ownerCarPo.setRemark("访客登记预约车");
|
|
|
- ownerCarPo.setCommunityId(reqJson.getString("communityId"));
|
|
|
- ownerCarPo.setStartTime(reqJson.getString("visitTime"));
|
|
|
- ownerCarPo.setEndTime(reqJson.getString("freeTime"));
|
|
|
- ownerCarPo.setState(OwnerCarDto.STATE_NORMAL); //1001 正常状态,2002 车位释放欠费状态 3003 车位释放
|
|
|
- ownerCarPo.setCarTypeCd(OwnerCarDto.CAR_TYPE_TEMP); //1001 业主车辆 1002 成员车辆 1003 临时车
|
|
|
- ownerCarPo.setMemberId(reqJson.getString("ownerId"));
|
|
|
- ownerCarPo.setLeaseType("R"); //H 月租车 S 出售车 I 内部车 NM 免费车 R 预约车
|
|
|
- ownerCarV1InnerServiceSMOImpl.saveOwnerCar(ownerCarPo);
|
|
|
- //添加车辆属性
|
|
|
- OwnerCarAttrPo ownerCarAttrPo = new OwnerCarAttrPo();
|
|
|
- ownerCarAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_cartId));
|
|
|
- ownerCarAttrPo.setCarId(ownerCarPo.getCarId());
|
|
|
- ownerCarAttrPo.setCommunityId(ownerCarPo.getCommunityId());
|
|
|
- ownerCarAttrPo.setSpecCd("6443000036"); //6443000036业主车辆
|
|
|
- ownerCarAttrPo.setValue("true"); //预约车
|
|
|
- ownerCarAttrPo.setbId("-1");
|
|
|
- ownerCarAttrInnerServiceSMOImpl.saveOwnerCarAttr(ownerCarAttrPo);
|
|
|
- //更新车位状态
|
|
|
- ParkingSpacePo parkingSpacePo = new ParkingSpacePo();
|
|
|
- parkingSpacePo.setPsId(reqJson.getString("psId"));
|
|
|
- parkingSpacePo.setState("H"); //车位状态 出售 S,出租 H ,空闲 F
|
|
|
- parkingSpaceInnerServiceSMOImpl.updateParkingSpace(parkingSpacePo);
|
|
|
+
|
|
|
+ CarBlackWhiteDto carBlackWhiteDto = new CarBlackWhiteDto();
|
|
|
+ carBlackWhiteDto.setBlackWhite(CarBlackWhiteDto.BLACK_WHITE_WHITE);
|
|
|
+ carBlackWhiteDto.setCarNum(visitPo.getCarNum());
|
|
|
+ carBlackWhiteDto.setPaId(visitSettingDto.getPaId());
|
|
|
+ List<CarBlackWhiteDto> carBlackWhiteDtos = carBlackWhiteV1InnerServiceSMOImpl.queryCarBlackWhites(carBlackWhiteDto);
|
|
|
+ CarBlackWhitePo carBlackWhitePo = new CarBlackWhitePo();
|
|
|
+ carBlackWhitePo.setCarNum(visitPo.getCarNum());
|
|
|
+ carBlackWhitePo.setBlackWhite(CarBlackWhiteDto.BLACK_WHITE_WHITE);
|
|
|
+ carBlackWhitePo.setCommunityId(visitPo.getCommunityId());
|
|
|
+ carBlackWhitePo.setPaId(visitSettingDto.getPaId());
|
|
|
+ carBlackWhitePo.setStartTime(visitPo.getVisitTime());
|
|
|
+ carBlackWhitePo.setEndTime(visitPo.getDepartureTime());
|
|
|
+ int flag = 0;
|
|
|
+ if(carBlackWhiteDtos == null || carBlackWhiteDtos.size() < 1){
|
|
|
+ carBlackWhitePo.setBwId(GenerateCodeFactory.getGeneratorId("11"));
|
|
|
+ flag = carBlackWhiteV1InnerServiceSMOImpl.saveCarBlackWhite(carBlackWhitePo);
|
|
|
+ }else {
|
|
|
+ carBlackWhitePo.setBwId(carBlackWhiteDtos.get(0).getBwId());
|
|
|
+ flag = carBlackWhiteV1InnerServiceSMOImpl.updateCarBlackWhite(carBlackWhitePo);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (flag < 1) {
|
|
|
+ throw new CmdException("预约车辆添加白名单失败");
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 添加小区信息
|
|
|
+ * 是否需要审核
|
|
|
*
|
|
|
- * @param paramInJson 接口调用放传入入参
|
|
|
- * @return 订单服务能够接受的报文
|
|
|
+ * @param visitPo
|
|
|
+ * @param reqJson
|
|
|
*/
|
|
|
- public void updateVisit(JSONObject paramInJson) {
|
|
|
+ private boolean hasAuditVisit(VisitPo visitPo, JSONObject reqJson, String storeId, String userId) {
|
|
|
|
|
|
- JSONObject businessVisit = new JSONObject();
|
|
|
- businessVisit.putAll(paramInJson);
|
|
|
|
|
|
- VisitPo visitPo = BeanConvertUtil.covertBean(businessVisit, VisitPo.class);
|
|
|
- int flag = visitV1InnerServiceSMOImpl.updateVisit(visitPo);
|
|
|
- if (flag < 1) {
|
|
|
- throw new CmdException("修改访客失败");
|
|
|
+ VisitSettingDto visitSettingDto = new VisitSettingDto();
|
|
|
+ visitSettingDto.setCommunityId(reqJson.getString("communityId"));
|
|
|
+ List<VisitSettingDto> visitSettingDtos = visitSettingV1InnerServiceSMOImpl.queryVisitSettings(visitSettingDto);
|
|
|
+
|
|
|
+ if (visitSettingDtos == null || visitSettingDtos.size() < 1) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 需要审核
|
|
|
+ if (!VisitSettingDto.AUDIT_WAY_YES.equals(visitSettingDtos.get(0).getAuditWay())) {
|
|
|
+ return false;
|
|
|
}
|
|
|
+
|
|
|
+ return true;
|
|
|
+
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
}
|