|
@@ -3,17 +3,18 @@ package com.zhongshu.card.server.core.service.devices.permiss;
|
|
|
import com.github.microservice.components.data.base.util.PageEntityUtil;
|
|
import com.github.microservice.components.data.base.util.PageEntityUtil;
|
|
|
import com.github.microservice.net.ResultContent;
|
|
import com.github.microservice.net.ResultContent;
|
|
|
import com.github.microservice.net.ResultMessage;
|
|
import com.github.microservice.net.ResultMessage;
|
|
|
-import com.zhongshu.card.client.model.devices.permiss.PermissSettingModel;
|
|
|
|
|
-import com.zhongshu.card.client.model.devices.permiss.PermissSettingParam;
|
|
|
|
|
-import com.zhongshu.card.client.model.devices.permiss.PermissSettingSearch;
|
|
|
|
|
|
|
+import com.zhongshu.card.client.model.devices.permiss.*;
|
|
|
import com.zhongshu.card.client.type.DataState;
|
|
import com.zhongshu.card.client.type.DataState;
|
|
|
|
|
+import com.zhongshu.card.client.type.device.PermissSettingType;
|
|
|
import com.zhongshu.card.server.core.dao.devices.PermissSettingDao;
|
|
import com.zhongshu.card.server.core.dao.devices.PermissSettingDao;
|
|
|
import com.zhongshu.card.server.core.dao.devices.PermissTimeSlotDao;
|
|
import com.zhongshu.card.server.core.dao.devices.PermissTimeSlotDao;
|
|
|
import com.zhongshu.card.server.core.dao.org.OrganizationDao;
|
|
import com.zhongshu.card.server.core.dao.org.OrganizationDao;
|
|
|
|
|
+import com.zhongshu.card.server.core.domain.devices.DeviceInfo;
|
|
|
import com.zhongshu.card.server.core.domain.devices.permiss.PermissSetting;
|
|
import com.zhongshu.card.server.core.domain.devices.permiss.PermissSetting;
|
|
|
import com.zhongshu.card.server.core.domain.devices.permiss.PermissTimeSlot;
|
|
import com.zhongshu.card.server.core.domain.devices.permiss.PermissTimeSlot;
|
|
|
import com.zhongshu.card.server.core.domain.org.Organization;
|
|
import com.zhongshu.card.server.core.domain.org.Organization;
|
|
|
import com.zhongshu.card.server.core.service.base.SuperService;
|
|
import com.zhongshu.card.server.core.service.base.SuperService;
|
|
|
|
|
+import com.zhongshu.card.server.core.service.devices.DeviceInfoServiceImpl;
|
|
|
import com.zhongshu.card.server.core.util.BeanUtils;
|
|
import com.zhongshu.card.server.core.util.BeanUtils;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.lang3.ObjectUtils;
|
|
import org.apache.commons.lang3.ObjectUtils;
|
|
@@ -24,6 +25,8 @@ import org.springframework.data.domain.Pageable;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.util.Assert;
|
|
import org.springframework.util.Assert;
|
|
|
|
|
|
|
|
|
|
+import java.util.List;
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* 权限时间段管理
|
|
* 权限时间段管理
|
|
|
*
|
|
*
|
|
@@ -46,6 +49,9 @@ public class PermissSettingService extends SuperService {
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private PermissTimeSlotService permissTimeSlotService;
|
|
private PermissTimeSlotService permissTimeSlotService;
|
|
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private DeviceInfoServiceImpl deviceInfoService;
|
|
|
|
|
+
|
|
|
public ResultContent saveInfo(PermissSettingParam param) {
|
|
public ResultContent saveInfo(PermissSettingParam param) {
|
|
|
Assert.hasText(param.getProjectOid(), "projectOid不能为空");
|
|
Assert.hasText(param.getProjectOid(), "projectOid不能为空");
|
|
|
if (StringUtils.isEmpty(param.getTimeSlotId())) {
|
|
if (StringUtils.isEmpty(param.getTimeSlotId())) {
|
|
@@ -65,9 +71,11 @@ public class PermissSettingService extends SuperService {
|
|
|
initUpdateEntity(entity);
|
|
initUpdateEntity(entity);
|
|
|
} else {
|
|
} else {
|
|
|
entity = new PermissSetting();
|
|
entity = new PermissSetting();
|
|
|
|
|
+ if (param.getState() == null) {
|
|
|
|
|
+ param.setState(DataState.Enable);
|
|
|
|
|
+ }
|
|
|
initEntityNoCheckOid(entity);
|
|
initEntityNoCheckOid(entity);
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
BeanUtils.copyProperties(param, entity);
|
|
BeanUtils.copyProperties(param, entity);
|
|
|
entity.setTimeSlot(timeSlot);
|
|
entity.setTimeSlot(timeSlot);
|
|
|
permissSettingDao.save(entity);
|
|
permissSettingDao.save(entity);
|
|
@@ -114,10 +122,41 @@ public class PermissSettingService extends SuperService {
|
|
|
private PermissSettingModel toModel(PermissSetting entity) {
|
|
private PermissSettingModel toModel(PermissSetting entity) {
|
|
|
PermissSettingModel model = new PermissSettingModel();
|
|
PermissSettingModel model = new PermissSettingModel();
|
|
|
if (ObjectUtils.isNotEmpty(entity)) {
|
|
if (ObjectUtils.isNotEmpty(entity)) {
|
|
|
- BeanUtils.copyProperties(entity, model);
|
|
|
|
|
|
|
+ BeanUtils.copyProperties(entity, model, "list");
|
|
|
model.setTimeSlot(permissTimeSlotService.toSimpleModel(entity.getTimeSlot()));
|
|
model.setTimeSlot(permissTimeSlotService.toSimpleModel(entity.getTimeSlot()));
|
|
|
|
|
+
|
|
|
|
|
+ // 配置列表
|
|
|
|
|
+ if (ObjectUtils.isNotEmpty(entity.getList())) {
|
|
|
|
|
+ model.setList(entity.getList().stream().map(this::toConfigModel).toList());
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
return model;
|
|
return model;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ private PermissSettingConfigModel toConfigModel(PermissSettingConfigParam param) {
|
|
|
|
|
+ PermissSettingConfigModel model = new PermissSettingConfigModel();
|
|
|
|
|
+ if (ObjectUtils.isNotEmpty(param)) {
|
|
|
|
|
+ BeanUtils.copyProperties(param, model);
|
|
|
|
|
+
|
|
|
|
|
+ // 设备信息
|
|
|
|
|
+ List<DeviceInfo> deviceInfos = deviceInfoService.getDevicesByDeviceIds(param.getDeviceIds());
|
|
|
|
|
+ if (ObjectUtils.isNotEmpty(deviceInfos)) {
|
|
|
|
|
+ model.setDeviceInfos(deviceInfos.stream().map(it -> {
|
|
|
|
|
+ return deviceInfoService.toSimpleModel(it);
|
|
|
|
|
+ }).toList());
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ String aboutShowDataName = "";
|
|
|
|
|
+ // 关联的数据名称
|
|
|
|
|
+ if (param.getPermissSettingType() == PermissSettingType.Sex) {
|
|
|
|
|
+ if (param.getSex() != null) {
|
|
|
|
|
+ aboutShowDataName = param.getSex().getRemark();
|
|
|
|
|
+ }
|
|
|
|
|
+ } else if (param.getPermissSettingType() == PermissSettingType.Role) {
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+ model.setAboutShowDataName(aboutShowDataName);
|
|
|
|
|
+ }
|
|
|
|
|
+ return model;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|