|
|
@@ -9,6 +9,7 @@ import com.zhongshu.card.client.type.device.PermissSettingDeviceType;
|
|
|
import com.zhongshu.card.client.type.device.PermissSettingType;
|
|
|
import com.zhongshu.card.server.core.dao.devices.DeviceGroupDao;
|
|
|
import com.zhongshu.card.server.core.dao.devices.PermissSettingDao;
|
|
|
+import com.zhongshu.card.server.core.dao.devices.PermissSettingListDao;
|
|
|
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.RoleDao;
|
|
|
@@ -17,6 +18,7 @@ import com.zhongshu.card.server.core.dao.school.AreaDao;
|
|
|
import com.zhongshu.card.server.core.domain.devices.DeviceGroup;
|
|
|
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.PermissSettingList;
|
|
|
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.Role;
|
|
|
@@ -36,6 +38,7 @@ import org.springframework.util.Assert;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* 设备权限规则服务
|
|
|
@@ -74,6 +77,9 @@ public class PermissSettingService extends SuperService {
|
|
|
@Autowired
|
|
|
private DeviceGroupDao deviceGroupDao;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private PermissSettingListDao permissSettingListDao;
|
|
|
+
|
|
|
/**
|
|
|
* 保存设备权限规则数据
|
|
|
*
|
|
|
@@ -107,9 +113,34 @@ public class PermissSettingService extends SuperService {
|
|
|
BeanUtils.copyProperties(param, entity);
|
|
|
entity.setTimeSlot(timeSlot);
|
|
|
permissSettingDao.save(entity);
|
|
|
+
|
|
|
+ saveSettingList(entity, param.getList());
|
|
|
return ResultContent.buildSuccess();
|
|
|
}
|
|
|
|
|
|
+ private void saveSettingList(PermissSetting entity, List<PermissSettingConfigParam> list) {
|
|
|
+ List<PermissSettingList> olds = permissSettingListDao.findByPermissSettingOrderBySortAsc(entity);
|
|
|
+ List<String> ids = new ArrayList<>();
|
|
|
+ if (ObjectUtils.isNotEmpty(olds)) {
|
|
|
+ ids = olds.stream().map(it -> it.getId()).collect(Collectors.toList());
|
|
|
+ }
|
|
|
+ if (ObjectUtils.isNotEmpty(list)) {
|
|
|
+ List<PermissSettingList> saveList = new ArrayList<>();
|
|
|
+ for (PermissSettingConfigParam param : list) {
|
|
|
+ PermissSettingList permissSettingList = new PermissSettingList();
|
|
|
+ BeanUtils.copyProperties(param, permissSettingList);
|
|
|
+ permissSettingList.setPermissSetting(entity);
|
|
|
+ saveList.add(permissSettingList);
|
|
|
+ if (StringUtils.isNotEmpty(permissSettingList.getId()) && ids.contains(permissSettingList.getId())) {
|
|
|
+ ids.remove(permissSettingList.getId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (ObjectUtils.isNotEmpty(ids)) {
|
|
|
+ permissSettingListDao.deleteAllById(ids);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
public ResultContent<Page<PermissSettingModel>> page(PermissSettingSearch param, Pageable pageable) {
|
|
|
String projectOid = param.getProjectOid();
|
|
|
Organization organization = organizationDao.findTopByOid(projectOid);
|
|
|
@@ -153,9 +184,10 @@ public class PermissSettingService extends SuperService {
|
|
|
BeanUtils.copyProperties(entity, model, "list");
|
|
|
model.setTimeSlot(permissTimeSlotService.toSimpleModel(entity.getTimeSlot()));
|
|
|
|
|
|
+ List<PermissSettingList> permissSettingLists = permissSettingListDao.findByPermissSettingOrderBySortAsc(entity);
|
|
|
// 配置列表
|
|
|
- if (ObjectUtils.isNotEmpty(entity.getList())) {
|
|
|
- model.setList(entity.getList().stream().map(this::toConfigModel).toList());
|
|
|
+ if (ObjectUtils.isNotEmpty(permissSettingLists)) {
|
|
|
+ model.setList(permissSettingLists.stream().map(this::toConfigModel).toList());
|
|
|
}
|
|
|
}
|
|
|
return model;
|
|
|
@@ -167,7 +199,7 @@ public class PermissSettingService extends SuperService {
|
|
|
* @param param
|
|
|
* @return
|
|
|
*/
|
|
|
- private PermissSettingConfigModel toConfigModel(PermissSettingConfigParam param) {
|
|
|
+ private PermissSettingConfigModel toConfigModel(PermissSettingList param) {
|
|
|
PermissSettingConfigModel model = new PermissSettingConfigModel();
|
|
|
if (ObjectUtils.isNotEmpty(param)) {
|
|
|
BeanUtils.copyProperties(param, model);
|