Prechádzať zdrojové kódy

修改访客的权限

xuanyan 4 rokov pred
rodič
commit
19e6a204b7

+ 1 - 1
blade-service-api/estate-api/src/main/java/org/springblade/estate/entity/GuestRecord.java

@@ -158,7 +158,7 @@ public class GuestRecord extends BaseEntity {
 	/**
 	 * 人脸是否启用
 	 */
-	@ApiModelProperty("人脸是否启用")
+	@ApiModelProperty("人脸是否启用,0-未启用,1-启用")
 	private Integer faceEnable;
 
 	/**

+ 1 - 1
blade-service-api/estate-api/src/main/java/org/springblade/estate/feign/IUserAccessPermissionsClient.java

@@ -34,7 +34,7 @@ public interface IUserAccessPermissionsClient  {
 	 * 查询
 	 */
 	@GetMapping("/list")
-    List<UserAccessPermissionsVO> list(UserAccessPermissions userAccessPermissions);
+    List<UserAccessPermissionsVO> list(@SpringQueryMap UserAccessPermissions userAccessPermissions);
 
 
 

+ 74 - 21
blade-service/estate/src/main/java/org/springblade/estate/controller/GuestRecordController.java

@@ -41,6 +41,7 @@ import org.springblade.enterprise.entity.Staff;
 import org.springblade.estate.dto.UserAccessPermissionsDTO;
 import org.springblade.estate.entity.AccessRecord;
 import org.springblade.estate.feign.IUserAccessPermissionsClient;
+import org.springblade.estate.vo.UserAccessPermissionsVO;
 import org.springblade.person.entity.HouseUser;
 import org.springblade.system.expand.feign.IConfClient;
 import org.springblade.system.expand.feign.IOrgPositionClient;
@@ -99,7 +100,12 @@ public class GuestRecordController extends BladeController {
 	public R<IPage<GuestRecordVO>> list(@RequestParam Map<String, Object> guestRecord, Query query, BladeUser bladeUser) {
 		QueryWrapper<GuestRecord> queryWrapper = Condition.getQueryWrapper(guestRecord, GuestRecord.class);
 		queryWrapper.lambda().orderByDesc(GuestRecord::getCreateTime);
-		queryWrapper.lambda().eq(GuestRecord::getAuditStatus,1);
+		if (guestRecord.containsKey("auditStatus")){
+			Integer auditStatus = Integer.parseInt(String.valueOf(guestRecord.get("auditStatus")));
+			queryWrapper.lambda().eq(GuestRecord::getAuditStatus,auditStatus);
+		}else {
+			queryWrapper.lambda().eq(GuestRecord::getAuditStatus,1);
+		}
 		IPage<GuestRecord> pages = guestRecordService.page(Condition.getPage(query), queryWrapper);
 		return R.data(GuestRecordWrapper.build().pageVO(pages));
 	}
@@ -160,26 +166,73 @@ public class GuestRecordController extends BladeController {
 	@ApiOperationSupport(order = 5)
 	@ApiOperation(value = "修改", notes = "传入guest")
 	public R update(@Valid @RequestBody GuestRecord guestRecord) {
-		if(StringUtil.isNotBlank(guestRecord.getFaceUrl())){
-			guestRecord.setFaceUrl(confClient.removePrefix(guestRecord.getFaceUrl()));
+		GuestRecord dbGuestRecord = guestRecordService.getById(guestRecord.getId());
+		String faceUrl = guestRecord.getFaceUrl();
+		if(StringUtil.isNotBlank(faceUrl)){
+			faceUrl = confClient.removePrefix(faceUrl);
+			guestRecord.setFaceUrl(faceUrl);
 		}
-		guestRecordService.updateById(guestRecord);
-		if(guestRecord.getAuditStatus() == 1){
-			//审核通过下发远程开门和人脸权限
-			UserAccessPermissionsDTO userAccessPermissionsDTO = new UserAccessPermissionsDTO();
-			userAccessPermissionsDTO.setUserId(Func.toStr(guestRecord.getId()));
-			userAccessPermissionsDTO.setUserName(guestRecord.getGuestName());
-			userAccessPermissionsDTO.setUserType(CommonConstant.UserFlag.GUEST_FLAG.getValue());
-			userAccessPermissionsDTO.setTargetType(1);
-			userAccessPermissionsDTO.setResidentialId(guestRecord.getResidentialId());
-			userAccessPermissionsDTO.setUnitId(guestRecord.getUnitId());
-			userAccessPermissionsDTO.setRoomId(guestRecord.getRoomId());
-			userAccessPermissionsDTO.setTenantId(guestRecord.getTenantId());
-			userAccessPermissionsClient.autoPushGuestPermissions(userAccessPermissionsDTO);
-			guestRecordService.pushFace(guestRecord.getId());
-		}else if(guestRecord.getAuditStatus() == 2) {
-			guestRecordService.deleteFace(guestRecord.getId());
+		UserAccessPermissionsDTO userAccessPermissionsDTO = new UserAccessPermissionsDTO();
+		if (dbGuestRecord.getAuditStatus() == 0){
+			//审核走这里
+			guestRecordService.updateById(guestRecord);
+			if(guestRecord.getAuditStatus() == 1){
+				//审核通过下发远程开门和人脸权限
+				userAccessPermissionsDTO.setUserId(Func.toStr(guestRecord.getId()));
+				userAccessPermissionsDTO.setUserName(guestRecord.getGuestName());
+				userAccessPermissionsDTO.setUserType(CommonConstant.UserFlag.GUEST_FLAG.getValue());
+				userAccessPermissionsDTO.setTargetType(1);
+				userAccessPermissionsDTO.setResidentialId(guestRecord.getResidentialId());
+				userAccessPermissionsDTO.setUnitId(guestRecord.getUnitId());
+				userAccessPermissionsDTO.setRoomId(guestRecord.getRoomId());
+				userAccessPermissionsDTO.setTenantId(guestRecord.getTenantId());
+				userAccessPermissionsClient.autoPushGuestPermissions(userAccessPermissionsDTO);
+				guestRecordService.pushFace(guestRecord.getId());
+			}
+//			else if(guestRecord.getAuditStatus() == 2) {
+//				guestRecordService.deleteFace(guestRecord.getId());
+//			}
+		}else if (dbGuestRecord.getAuditStatus() == 1){
+			//编辑走这里
+			//区分是否编辑人脸
+			if (!faceUrl.equals(dbGuestRecord.getFaceUrl())){
+				//修改人脸,要重新下发人脸
+				userAccessPermissionsDTO.setUserId(String.valueOf(guestRecord.getId()));
+				userAccessPermissionsDTO.setUserType(CommonConstant.UserFlag.GUEST_FLAG.getValue());
+				userAccessPermissionsDTO.setPermissions(Integer.parseInt(CommonConstant.UserAccessPermissions.FACE_OPEN_DOOR.getValue()));
+				List<UserAccessPermissionsVO> userAccessPermissionsVOList = userAccessPermissionsClient.list(userAccessPermissionsDTO);
+				if (userAccessPermissionsVOList.size() > 0){
+					UserAccessPermissionsVO userAccessPermissionsVO = userAccessPermissionsVOList.get(0);
+					userAccessPermissionsDTO.setId(userAccessPermissionsVO.getId());
+					userAccessPermissionsDTO.setUserFace(faceUrl);
+					userAccessPermissionsClient.update(userAccessPermissionsDTO);
+				}
+				guestRecord.setFaceEnable(0);
+			}
+			guestRecordService.updateById(guestRecord);
 		}
+		//			guestRecordService.updateById(guestRecord);
+//		if(StringUtil.isNotBlank(guestRecord.getFaceUrl())){
+//			guestRecord.setFaceUrl(confClient.removePrefix(guestRecord.getFaceUrl()));
+//		}
+//		Integer auditStatus = guestRecord.getAuditStatus();
+//		guestRecordService.updateById(guestRecord);
+//		if(auditStatus == 1){
+//			//审核通过下发远程开门和人脸权限
+//			UserAccessPermissionsDTO userAccessPermissionsDTO = new UserAccessPermissionsDTO();
+//			userAccessPermissionsDTO.setUserId(Func.toStr(guestRecord.getId()));
+//			userAccessPermissionsDTO.setUserName(guestRecord.getGuestName());
+//			userAccessPermissionsDTO.setUserType(CommonConstant.UserFlag.GUEST_FLAG.getValue());
+//			userAccessPermissionsDTO.setTargetType(1);
+//			userAccessPermissionsDTO.setResidentialId(guestRecord.getResidentialId());
+//			userAccessPermissionsDTO.setUnitId(guestRecord.getUnitId());
+//			userAccessPermissionsDTO.setRoomId(guestRecord.getRoomId());
+//			userAccessPermissionsDTO.setTenantId(guestRecord.getTenantId());
+//			userAccessPermissionsClient.autoPushGuestPermissions(userAccessPermissionsDTO);
+//			guestRecordService.pushFace(guestRecord.getId());
+//		}else if(auditStatus == 2) {
+//			guestRecordService.deleteFace(guestRecord.getId());
+//		}
 		return R.status(true);
 	}
 
@@ -307,8 +360,8 @@ public class GuestRecordController extends BladeController {
 //		List<Long> userIdList = userAccessPermissionsClient.getUserIdsByUserType(CommonConstant.UserFlag.GUEST_FLAG.getValue());
 		LambdaQueryWrapper<GuestRecord> queryWrapper = null;
 		if (type.equals(0)) {
-			//访客人员待下发列表
-			queryWrapper = Condition.getQueryWrapper(new GuestRecord()).lambda().eq(GuestRecord::getFaceEnable,0).or().eq(GuestRecord::getFaceEnable,null).orderByDesc(GuestRecord::getCreateTime);
+			//访客人员待下发列表,审核通过
+			queryWrapper = Condition.getQueryWrapper(new GuestRecord()).lambda().eq(GuestRecord::getAuditStatus,1).eq(GuestRecord::getFaceEnable,0).or().eq(GuestRecord::getFaceEnable,null).orderByDesc(GuestRecord::getCreateTime);
 		}
 		if (type.equals(1)){
 			//访客人员已下发列表

+ 1 - 1
blade-service/estate/src/main/java/org/springblade/estate/feign/UserAccessPermissionsClient.java

@@ -47,7 +47,7 @@ public class UserAccessPermissionsClient implements IUserAccessPermissionsClient
      */
     @Override
     @GetMapping("/list")
-    public List<UserAccessPermissionsVO> list(UserAccessPermissions userAccessPermissions) {
+    public List<UserAccessPermissionsVO> list(@SpringQueryMap UserAccessPermissions userAccessPermissions) {
         return UserAccessPermissionsWrapper.build().listVO(userAccessPermissionsService.list(Condition.getQueryWrapper(userAccessPermissions)));
         }