slowslo 4 лет назад
Родитель
Сommit
c4fb8b0ac0

+ 0 - 28
blade-service/estate/src/main/java/org/springblade/estate/controller/ApplyUserController.java

@@ -16,8 +16,6 @@
  */
 package org.springblade.estate.controller;
 
-import cn.hutool.core.lang.Assert;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -25,30 +23,12 @@ import io.swagger.annotations.ApiParam;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import lombok.AllArgsConstructor;
 import javax.validation.Valid;
-
-import org.springblade.common.constant.CommonConstant;
-import org.springblade.common.constant.ConfConstant;
-import org.springblade.community.entity.Residential;
-import org.springblade.community.entity.Room;
-import org.springblade.community.feign.IAgencyClient;
-import org.springblade.community.feign.IResidentialClient;
-import org.springblade.community.feign.IRoomClient;
-import org.springblade.community.vo.ResidentialVO;
-import org.springblade.community.vo.RoomVO;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.secure.BladeUser;
-import org.springblade.core.secure.utils.SecureUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.estate.dto.ApplyUserDTO;
-import org.springblade.person.entity.HouseUser;
-import org.springblade.person.feign.IHouseUserClient;
-import org.springblade.person.vo.HouseUserVO;
-import org.springblade.system.expand.entity.Conf;
-import org.springblade.system.expand.feign.IConfClient;
-import org.springblade.system.expand.feign.IOrgPositionClient;
-import org.springblade.system.expand.util.QueryWrapperUtil;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.RequestParam;
@@ -59,9 +39,6 @@ import org.springblade.estate.wrapper.ApplyUserWrapper;
 import org.springblade.estate.service.IApplyUserService;
 import org.springblade.core.boot.ctrl.BladeController;
 
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
 import java.util.Map;
 
 /**
@@ -77,11 +54,6 @@ import java.util.Map;
 public class ApplyUserController extends BladeController {
 
 	private final IApplyUserService applyUserService;
-	private final IResidentialClient residentialClient;
-	private final IHouseUserClient houseUserClient;
-	private final IRoomClient roomClient;
-	private final IConfClient confClient;
-
 	/**
 	 * 详情
 	 */

+ 11 - 6
blade-service/estate/src/main/java/org/springblade/estate/service/impl/ApplyUserServiceImpl.java

@@ -23,6 +23,7 @@ import org.springblade.community.entity.Room;
 import org.springblade.community.feign.ICommunityClient;
 import org.springblade.community.feign.IRoomClient;
 import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.StringUtil;
 import org.springblade.device.dto.DispatchTask;
@@ -45,6 +46,7 @@ import org.springblade.system.expand.entity.Conf;
 import org.springblade.system.expand.feign.IConfClient;
 import org.springblade.system.feign.IDictBizClient;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springframework.transaction.annotation.Transactional;
@@ -347,17 +349,19 @@ public class ApplyUserServiceImpl extends BaseServiceImpl<ApplyUserMapper, Apply
 				member.setId(applyUser.getMemberId());
 				if(applyUserDTO.getAuditStatus() == 1){ //通过
 					//申请记录转User
-					HouseUser houseUser = this.applyUserToUser(applyUser);
-					if(applyUserDTO.getRecordType().equals(1)){ //只有当时认证申请时,才需要将user绑定memberId
-						houseUser.setMemberId(applyUserDTO.getMemberId());
+					HouseUser houseUserDTO = this.applyUserToUser(applyUser);
+					if(applyUserDTO.getRecordType().equals(0)){ //只有当时认证申请时,才需要将user绑定memberId
+						houseUserDTO.setMemberId(applyUserDTO.getMemberId());
 					}
-					R r = this.houseUserClient.applySave(houseUser);
+					R<HouseUser> r = this.houseUserClient.applySave(houseUserDTO);
 					if(r.isSuccess()){
+						HouseUser houseUser  = r.getData();
 						member.setState(OperationConstant.TWO);
 						this.memberClient.update(member);
 						//下发默认开门权限
 						UserAccessPermissionsDTO userAccessPermissionsDTO = new UserAccessPermissionsDTO();
 						userAccessPermissionsDTO.setUserId(Func.toStr(houseUser.getId()));
+						userAccessPermissionsDTO.setUserName(houseUser.getName());
 						userAccessPermissionsDTO.setUserType(CommonConstant.UserFlag.HOUSE_USER_FLAG.getValue());
 						userAccessPermissionsDTO.setTargetType(1);
 						userAccessPermissionsDTO.setResidentialId(houseUser.getResidentialId());
@@ -366,11 +370,12 @@ public class ApplyUserServiceImpl extends BaseServiceImpl<ApplyUserMapper, Apply
 						userAccessPermissionsDTO.setUserFace(confClient.addPrefix(applyUserDTO.getFaceUrl()));
 						userAccessPermissionsDTO.setTenantId(houseUser.getTenantId());
 						userAccessPermissionsService.autoPushPermissions(userAccessPermissionsDTO);
+						//新增小区入住人数
+						this.communityClient.addPersonNum(houseUser.getAgencyId(), houseUser.getResidentialId(), houseUser.getBuildingId(), houseUser.getUnitId(), houseUser.getFloorId(), houseUser.getRoomId());
+						return R.success("审核成功");
 					}else{
 						return R.fail("住户新增失败");
 					}
-					//新增小区入住人数
-					this.communityClient.addPersonNum(houseUser.getAgencyId(), houseUser.getResidentialId(), houseUser.getBuildingId(), houseUser.getUnitId(), houseUser.getFloorId(), houseUser.getRoomId());
 				}else if(applyUserDTO.getAuditStatus() == 2){ //不通过
 					member.setState(OperationConstant.ZERO);
 					this.memberClient.update(member);

+ 1 - 0
blade-service/estate/src/main/java/org/springblade/estate/service/impl/SnapRecordServiceImpl.java

@@ -58,6 +58,7 @@ public class SnapRecordServiceImpl extends BaseServiceImpl<SnapRecordMapper, Sna
 		snapRecordDTO.setUnitId(doorDevice.getUnitId());
 		snapRecordDTO.setRoomId(doorDevice.getRoomId());
 		snapRecordDTO.setEnterpriseId(doorDevice.getEnterpriseId());
+		snapRecordDTO.setTenantId(doorDevice.getTenantId());
 		return R.status(save(snapRecordDTO));
 	}
 

+ 22 - 12
blade-service/estate/src/main/java/org/springblade/estate/service/impl/UserAccessPermissionsServiceImpl.java

@@ -25,6 +25,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import org.springblade.common.constant.CommonConstant;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.StringUtil;
 import org.springblade.device.entity.DoorDevice;
@@ -47,6 +48,7 @@ import org.springblade.third.doordevice.dto.UserDeviceDTO;
 import org.springblade.third.doordevice.feign.IDoorDeviceButtClient;
 import org.springblade.third.dto.DeviceDTO;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springframework.util.StringUtils;
@@ -82,7 +84,8 @@ public class UserAccessPermissionsServiceImpl extends BaseServiceImpl<UserAccess
 	public R generateUserAccessPermissions(AuthorizeRecordsDTO authorizeRecordsDTO) {
 		UserAccessPermissions permissions = null;
 		List<UserAccessPermissions> permissionsList = this.getByCondition(authorizeRecordsDTO.getDeviceSerialNum(), authorizeRecordsDTO.getUserId());
-		if(permissionsList.size() > 0){
+		long facePermissionsCount = permissionsList.stream().filter(p -> p.getPermissions() == 3).count();
+		if(facePermissionsCount > 0){
 			permissions = permissionsList.get(0);
 		}else{
 			permissions = new UserAccessPermissions();
@@ -147,6 +150,7 @@ public class UserAccessPermissionsServiceImpl extends BaseServiceImpl<UserAccess
 				String serialNum = doorDevice.getSerialNum();
 				String deviceFactory = doorDevice.getDeviceFactory();
 				List<UserAccessPermissions> permissionsList = this.getByCondition(serialNum, userAccessPermissionsDTO.getUserId());
+				long facePermissionsCount = permissionsList.stream().filter(userAccessPermissions -> userAccessPermissions.getPermissions() == 3).count();
 				UserDeviceDTO userDeviceDTO = new UserDeviceDTO();
 				userDeviceDTO.setSerialNum(serialNum);
 				userDeviceDTO.setTargetType(userAccessPermissionsDTO.getTargetType());
@@ -160,7 +164,7 @@ public class UserAccessPermissionsServiceImpl extends BaseServiceImpl<UserAccess
 					userDeviceDTO.setStartTime(sdf.format(userAccessPermissionsDTO.getBeginTime()));
 					userDeviceDTO.setEndTime(sdf.format(userAccessPermissionsDTO.getEndTime()));
 				}
-				if (permissionsList.size() > 0) {
+				if (facePermissionsCount > 0) {
 					userDeviceDTO.setAddOrUpdate(2); //更新
 				} else {
 					userDeviceDTO.setAddOrUpdate(1); //新增
@@ -185,6 +189,7 @@ public class UserAccessPermissionsServiceImpl extends BaseServiceImpl<UserAccess
 	}
 
 	@Override
+	@Async
 	public R autoPushPermissions(UserAccessPermissionsDTO userAccessPermissionsDTO) {
 		R<List<DictBiz>> dictListR = dictBizClient.getList("default_user_access_permissions");
 		List<DictBiz> dictList = dictListR.getData();
@@ -199,16 +204,21 @@ public class UserAccessPermissionsServiceImpl extends BaseServiceImpl<UserAccess
 					return R.status(true);
 				}else{
 					for(DoorDeviceVO doorDeviceVO : doorDeviceVOList){
-						userAccessPermissionsDTO.setDeviceName(doorDeviceVO.getName());
-						userAccessPermissionsDTO.setDeviceSerialNum(doorDeviceVO.getSerialNum());
-						userAccessPermissionsDTO.setDeviceAddress(doorDeviceVO.getAddress());
-						userAccessPermissionsDTO.setAgencyId(doorDeviceVO.getAgencyId());
-						userAccessPermissionsDTO.setResidentialId(doorDeviceVO.getResidentialId());
-						userAccessPermissionsDTO.setBuildingId(doorDeviceVO.getBuildingId());
-						userAccessPermissionsDTO.setUnitId(doorDeviceVO.getUnitId());
-						userAccessPermissionsDTO.setRoomId(doorDeviceVO.getRoomId());
-						userAccessPermissionsDTO.setPermissions(Integer.parseInt(dict.getDictValue()));
-						this.save(userAccessPermissionsDTO);
+						UserAccessPermissions userAccessPermissions = BeanUtil.copy(userAccessPermissionsDTO, UserAccessPermissions.class);
+						userAccessPermissions.setId(null);
+						userAccessPermissions.setDeviceName(doorDeviceVO.getName());
+						userAccessPermissions.setDeviceSerialNum(doorDeviceVO.getSerialNum());
+						userAccessPermissions.setDeviceAddress(doorDeviceVO.getAddress());
+						userAccessPermissions.setAgencyId(doorDeviceVO.getAgencyId());
+						userAccessPermissions.setResidentialId(doorDeviceVO.getResidentialId());
+						userAccessPermissions.setBuildingId(doorDeviceVO.getBuildingId());
+						userAccessPermissions.setUnitId(doorDeviceVO.getUnitId());
+						userAccessPermissions.setRoomId(doorDeviceVO.getRoomId());
+						userAccessPermissions.setDeviceAddress(doorDeviceVO.getAddress());
+						userAccessPermissions.setDeviceFactory(doorDeviceVO.getDeviceFactory());
+						userAccessPermissions.setPermissions(Integer.parseInt(dict.getDictKey()));
+						userAccessPermissions.setUserFace(null);
+						this.save(userAccessPermissions);
 					}
 				}
 			}

+ 1 - 1
blade-service/system-expand/src/main/java/org/springblade/system/expand/feign/ConfClient.java

@@ -115,7 +115,7 @@ public class ConfClient implements IConfClient {
 		if(oldPicPath == null || oldPicPath == ""){
 			return "";
 		}
-		return oldPicPath.replace(this.getPicPrefix(ConfConstant.MINIO_SERVER_HOST),"");
+		return oldPicPath.replace(this.getPicPrefix(ConfConstant.FILE_SERVER_HOST),"");
 	}
 
 	private String getPicPrefix(String confToken){

+ 3 - 2
blade-service/third/src/main/java/org/springblade/third/zongheng/handler/FaceCompareEventHandler.java

@@ -70,9 +70,10 @@ public class FaceCompareEventHandler implements IDeviceEndEventHandler{
 			accessRecord.setUserType(CommonConstant.UserFlag.ENTERPRISE_STAFF_FLAG.getValue());
 		}else if(userId.startsWith(CommonConstant.UserFlag.ADMIN_FLAG.getValue())){
 			accessRecord.setUserType(CommonConstant.UserFlag.ADMIN_FLAG.getValue());
-		}
-		else if(userId.startsWith(CommonConstant.UserFlag.GUEST_FLAG.getValue())){
+		} else if(userId.startsWith(CommonConstant.UserFlag.GUEST_FLAG.getValue())){
 			accessRecord.setUserType(CommonConstant.UserFlag.GUEST_FLAG.getValue());
+		} else if(userId.startsWith(CommonConstant.UserFlag.HOUSE_USER_FLAG.getValue())){
+			accessRecord.setUserType(CommonConstant.UserFlag.HOUSE_USER_FLAG.getValue());
 		}
 		return accessRecordClient.generateAccessRecord(accessRecord);
 	}

+ 3 - 0
blade-service/third/src/main/java/org/springblade/third/zongheng/handler/FrmFacePictureHandler.java

@@ -46,6 +46,7 @@ public class FrmFacePictureHandler implements IDeviceEndianCommandHandler{
 					if(result == 0){
 						authorizeRecordsDTO.setAuthStatus(CommonConstant.AuthStatus.SUCCESS.getValue());
 						authorizeRecordsDTO.setAuthRespMsg("人脸新增入库成功");
+						authorizeRecordsDTO.setPermissions(3);
 					}else{
 						authorizeRecordsDTO.setAuthStatus(CommonConstant.AuthStatus.FAIL.getValue());
 						switch (result){
@@ -87,6 +88,7 @@ public class FrmFacePictureHandler implements IDeviceEndianCommandHandler{
 					if(result == 0){
 						authorizeRecordsDTO.setAuthRespMsg("人脸更新入库成功");
 						authorizeRecordsDTO.setAuthStatus(CommonConstant.AuthStatus.SUCCESS.getValue());
+						authorizeRecordsDTO.setPermissions(3);
 					}else{
 						authorizeRecordsDTO.setAuthStatus(CommonConstant.AuthStatus.FAIL.getValue());
 						switch (result){
@@ -112,6 +114,7 @@ public class FrmFacePictureHandler implements IDeviceEndianCommandHandler{
 				if(result == 0){
 					authorizeRecordsDTO.setAuthStatus(CommonConstant.AuthStatus.SUCCESS.getValue());
 					authorizeRecordsDTO.setAuthRespMsg("人脸删除成功");
+					authorizeRecordsDTO.setPermissions(3);
 				}else{
 					authorizeRecordsDTO.setAuthStatus(CommonConstant.AuthStatus.FAIL.getValue());
 					authorizeRecordsDTO.setAuthRespMsg("未知删除人脸异常");