huangmp 4 роки тому
батько
коміт
05e05572f9

+ 31 - 17
blade-service/estate/src/main/java/org/springblade/estate/controller/UserFacePermissionsController.java

@@ -88,33 +88,35 @@ public class UserFacePermissionsController extends BladeController {
 	@ApiOperation(value = "详情", notes = "传入userAccessPermissions")
 	public R statistics(@RequestParam Integer tenantType, @RequestParam Integer type) {
 		UserFacePermissionsStatisticsVO vo = null;
-		if (type.equals(0)) {
-			if(tenantType == 0){
+		switch (type) {
+			case 0:
 				//获取常驻人员的数据统计
-				vo = getHouseUserStatisticsVO();
-			}else{
-				//获取常驻人员的数据统计
-				vo = getStaffUserStatisticsVO();
-			}
-		} else if (type.equals(1)) {
-			//获取来访人员的数据统计
-			vo = getGuestUserStatisticsVO();
-		} else if (type.equals(2)) {
-			//获取服务人员的数据统计
-			vo = getServerUserStatisticsVO();
-		} else if (type.equals(3)) {
-			//获取抓拍记录的数据统计
-			vo = getSnapStatisticsVO();
+				vo = this.getResidentPersonnel(tenantType);
+				break;
+			case 1:
+				//获取来访人员的数据统计
+				vo = getGuestUserStatisticsVO();
+				break;
+			case 2:
+				//获取服务人员的数据统计
+				vo = getServerUserStatisticsVO();
+				break;
+			case 3:
+				//获取抓拍记录的数据统计
+				vo = getSnapStatisticsVO();
+				break;
 		}
 		return R.data(vo);
 	}
 
+
 	/**
 	 * 详情
 	 */
 	@GetMapping("/detail")
 	@ApiOperationSupport(order = 1)
 	@ApiOperation(value = "详情", notes = "传入userAccessPermissions")
+
 	public R<UserAccessPermissionsVO> detail(UserAccessPermissions userAccessPermissions) {
 		UserAccessPermissions detail = userAccessPermissionsService.getOne(Condition.getQueryWrapper(userAccessPermissions));
 		return R.data(UserAccessPermissionsWrapper.build().entityVO(detail));
@@ -248,7 +250,7 @@ public class UserFacePermissionsController extends BladeController {
 		//获取高温临界点
 		BigDecimal highTemperature = Convert.toBigDecimal(sysClient.getParamValue(EstateConstant.HIGH_TEMPERATURE_NAME).getData());
 		//异常记录("temperature+0"将字符串类型的数据转为数字类型再比较大小)
-		List<SnapRecord> list = snapRecordService.list(Condition.getQueryWrapper(new SnapRecord()).ge("temperature+0",highTemperature));
+		List<SnapRecord> list = snapRecordService.list(Condition.getQueryWrapper(new SnapRecord()).ge("temperature+0", highTemperature));
 		long totalCount = list.size();
 		//今日异常总数
 		long todayCount = list.stream().filter(item -> isNow(item.getCreateTime())).count();
@@ -265,4 +267,16 @@ public class UserFacePermissionsController extends BladeController {
 		String createTime = DateUtil.format(date, format);
 		return now.equals(createTime);
 	}
+
+	private UserFacePermissionsStatisticsVO getResidentPersonnel(Integer tenantType) {
+		UserFacePermissionsStatisticsVO vo = null;
+		if (tenantType == 0) {
+			//获取常驻人员的数据统计
+			vo = getHouseUserStatisticsVO();
+		} else {
+			//获取常驻人员的数据统计
+			vo = getStaffUserStatisticsVO();
+		}
+		return vo;
+	}
 }

+ 16 - 13
blade-service/estate/src/main/java/org/springblade/estate/service/impl/UserAccessPermissionsServiceImpl.java

@@ -24,6 +24,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 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.secure.BladeUser;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.core.tool.utils.Func;
@@ -55,10 +56,11 @@ import org.springframework.util.StringUtils;
 
 import java.text.SimpleDateFormat;
 import java.util.List;
+import java.util.Objects;
 import java.util.stream.Collectors;
 
 /**
- *  服务实现类
+ * 服务实现类
  *
  * @author BladeX
  * @since 2022-01-07
@@ -85,9 +87,9 @@ public class UserAccessPermissionsServiceImpl extends BaseServiceImpl<UserAccess
 		UserAccessPermissions permissions = null;
 		List<UserAccessPermissions> permissionsList = this.getByCondition(authorizeRecordsDTO.getDeviceSerialNum(), authorizeRecordsDTO.getUserId());
 		long facePermissionsCount = permissionsList.stream().filter(p -> p.getPermissions() == 3).count();
-		if(facePermissionsCount > 0){
+		if (facePermissionsCount > 0) {
 			permissions = permissionsList.get(0);
-		}else{
+		} else {
 			permissions = new UserAccessPermissions();
 		}
 		DoorDevice doorDevice = doorDeviceClient.getBySerialNum(authorizeRecordsDTO.getDeviceSerialNum());
@@ -134,7 +136,8 @@ public class UserAccessPermissionsServiceImpl extends BaseServiceImpl<UserAccess
 		queryWrapper.select("DISTINCT(user_id)").lambda()
 			.eq(UserAccessPermissions::getUserType, userType)
 			.select(UserAccessPermissions::getUserId);
-		List<Long> list = this.list(queryWrapper).stream().map(UserAccessPermissions::getUserId).mapToLong(Convert::toLong).boxed().collect(Collectors.toList());
+		List<UserAccessPermissions> permissionsList = this.list(queryWrapper);
+		List<Long> list = permissionsList.stream().map(UserAccessPermissions::getUserId).filter(Objects::nonNull).mapToLong(Convert::toLong).boxed().collect(Collectors.toList());
 		if (CollUtil.isEmpty(list)) {
 			list.add(Long.valueOf("-1"));
 		}
@@ -145,7 +148,7 @@ public class UserAccessPermissionsServiceImpl extends BaseServiceImpl<UserAccess
 	public R pushFace(UserAccessPermissionsDTO userAccessPermissionsDTO) {
 		//这里的userId是拼接了用户类型的,比如ZH_13349456569094,表示住户
 		List<DoorDevice> deviceList = doorDeviceClient.listByIds(userAccessPermissionsDTO.getDeviceIds());
-		if(deviceList != null && deviceList.size() > 0) {
+		if (deviceList != null && deviceList.size() > 0) {
 			for (DoorDevice doorDevice : deviceList) {
 				String serialNum = doorDevice.getSerialNum();
 				String deviceFactory = doorDevice.getDeviceFactory();
@@ -172,7 +175,7 @@ public class UserAccessPermissionsServiceImpl extends BaseServiceImpl<UserAccess
 				doorDeviceButtClient.pushFace(userDeviceDTO);
 			}
 			return R.success("下发成功");
-		}else{
+		} else {
 			return R.fail("请先添加设备");
 		}
 	}
@@ -193,17 +196,17 @@ public class UserAccessPermissionsServiceImpl extends BaseServiceImpl<UserAccess
 	public R autoPushPermissions(UserAccessPermissionsDTO userAccessPermissionsDTO) {
 		R<List<DictBiz>> dictListR = dictBizClient.getList("default_user_access_permissions");
 		List<DictBiz> dictList = dictListR.getData();
-		for(DictBiz dict : dictList){
-			if(dict.getDictKey().equals(CommonConstant.UserAccessPermissions.FACE_OPEN_DOOR.getValue())){
-				if(StringUtil.isNotBlank(userAccessPermissionsDTO.getUserFace())){
+		for (DictBiz dict : dictList) {
+			if (dict.getDictKey().equals(CommonConstant.UserAccessPermissions.FACE_OPEN_DOOR.getValue())) {
+				if (StringUtil.isNotBlank(userAccessPermissionsDTO.getUserFace())) {
 					this.autoPushFace(userAccessPermissionsDTO);
 				}
-			}else{
+			} else {
 				List<DoorDeviceVO> doorDeviceVOList = doorDeviceClient.getListByResidentialAndUnit(userAccessPermissionsDTO.getResidentialId(), userAccessPermissionsDTO.getUnitId(), 1);
 				if (doorDeviceVOList.size() == 0) {
 					return R.status(true);
-				}else{
-					for(DoorDeviceVO doorDeviceVO : doorDeviceVOList){
+				} else {
+					for (DoorDeviceVO doorDeviceVO : doorDeviceVOList) {
 						UserAccessPermissions userAccessPermissions = BeanUtil.copy(userAccessPermissionsDTO, UserAccessPermissions.class);
 						userAccessPermissions.setId(null);
 						userAccessPermissions.setDeviceName(doorDeviceVO.getName());
@@ -229,7 +232,7 @@ public class UserAccessPermissionsServiceImpl extends BaseServiceImpl<UserAccess
 	@Override
 	public R deleteFace(String userId, String userType) {
 		List<UserAccessPermissions> permissionsList = this.listByUser(userId, userType);
-		for(UserAccessPermissions permissions : permissionsList){
+		for (UserAccessPermissions permissions : permissionsList) {
 			String deviceSerialNum = permissions.getDeviceSerialNum();
 			UserDeviceDTO userDeviceDTO = new UserDeviceDTO();
 			userDeviceDTO.setSerialNum(deviceSerialNum);