Commit e625748c authored by linruibiao's avatar linruibiao

接口编写

parent 06a1abf5
...@@ -151,7 +151,6 @@ public class VariableController extends BaseRestController{ ...@@ -151,7 +151,6 @@ public class VariableController extends BaseRestController{
}); });
} }
@GetMapping("/{deviceId}/{variableId}/{variableCode}/status") @GetMapping("/{deviceId}/{variableId}/{variableCode}/status")
@ApiOperation("状态点实时数据") @ApiOperation("状态点实时数据")
@ApiImplicitParams({ @ApiImplicitParams({
......
...@@ -26,4 +26,6 @@ public class VariableSendDTO { ...@@ -26,4 +26,6 @@ public class VariableSendDTO {
@ApiModelProperty(value = "key 是变量得id , value 是下发得值",required = true) @ApiModelProperty(value = "key 是变量得id , value 是下发得值",required = true)
private Map<String, Object> commandMap; private Map<String, Object> commandMap;
@ApiModelProperty(value = "控制按钮给1 读写框给2",required = true)
private Integer control;
} }
...@@ -17,7 +17,9 @@ import com.syc.slm.slmbi.enums.AccessType; ...@@ -17,7 +17,9 @@ import com.syc.slm.slmbi.enums.AccessType;
import com.syc.slm.slmbi.enums.StatisticsType; import com.syc.slm.slmbi.enums.StatisticsType;
import com.syc.slm.slmbi.exception.SysException; import com.syc.slm.slmbi.exception.SysException;
import com.syc.slm.slmbi.service.VariableService; import com.syc.slm.slmbi.service.VariableService;
import com.syc.slm.slmbi.vo.*; import com.syc.slm.slmbi.vo.VariableDeviceVo;
import com.syc.slm.slmbi.vo.VariableSourceVo;
import com.syc.slm.slmbi.vo.VariableVo;
import lombok.NonNull; import lombok.NonNull;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
...@@ -201,40 +203,41 @@ public class VariableServiceImpl implements VariableService { ...@@ -201,40 +203,41 @@ public class VariableServiceImpl implements VariableService {
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void send(VariableSendDTO sendDTO, CurrentUser currentUser,String uri) { public void send(VariableSendDTO sendDTO, CurrentUser currentUser,String uri) {
if(sendDTO.getControl() == null){
throw new SysException("控件类型必填,控制按钮传1 读写框填2");
}
if(sendDTO.getControl().equals(1)) {
if (StringUtils.isBlank(sendDTO.getAccessType())) { if (StringUtils.isBlank(sendDTO.getAccessType())) {
throw new SysException("请传入访问类型"); throw new SysException("请传入访问类型");
} }
if(AccessType.PRIVATE.value.equals(sendDTO.getAccessType())){ if (AccessType.PRIVATE.value.equals(sendDTO.getAccessType())) {
if (StringUtils.isBlank(sendDTO.getUserId())) { if (StringUtils.isBlank(sendDTO.getUserId())) {
throw new SysException("访问类型为私有,请传入创建人"); throw new SysException("访问类型为私有,请传入创建人");
} }
if(currentUser.getUid().equals(sendDTO.getUserId())){ if (currentUser.getUid().equals(sendDTO.getUserId())) {
throw new SysException("没有访问权限"); throw new SysException("没有访问权限");
} }
}else if(AccessType.CUSTOM.value.equals(sendDTO.getAccessType())) { } else if (AccessType.CUSTOM.value.equals(sendDTO.getAccessType())) {
if(CollectionUtils.isNotEmpty(sendDTO.getPermissions())){ if (CollectionUtils.isNotEmpty(sendDTO.getPermissions())) {
Map<String, List<CustomPermissionDTO>> maps = Map<String, List<CustomPermissionDTO>> maps = sendDTO.getPermissions().stream().collect(Collectors.groupingBy(CustomPermissionDTO::getBizType));
sendDTO.getPermissions().stream().collect(Collectors.groupingBy(CustomPermissionDTO::getBizType));
List<CustomPermissionDTO> departments = maps.get("department"); List<CustomPermissionDTO> departments = maps.get("department");
List<CustomPermissionDTO> positions = maps.get("position"); List<CustomPermissionDTO> positions = maps.get("position");
List<CustomPermissionDTO> users = maps.get("user"); List<CustomPermissionDTO> users = maps.get("user");
boolean flag=true; boolean flag = true;
if(CollectionUtils.isNotEmpty(users)){ if (CollectionUtils.isNotEmpty(users)) {
if(users.stream().noneMatch(x->currentUser.getUid().equals(x.getBizId()))){ if (users.stream().noneMatch(x -> currentUser.getUid().equals(x.getBizId()))) {
flag=false; flag = false;
} }
} }
if(CollectionUtils.isNotEmpty(departments) || CollectionUtils.isNotEmpty(positions)) { if (CollectionUtils.isNotEmpty(departments) || CollectionUtils.isNotEmpty(positions)) {
R<Map<String, String>> result = setDeptAndRole(currentUser, uri); R<Map<String, String>> result = setDeptAndRole(currentUser, uri);
Map<String, String> detach = result.detach(); Map<String, String> detach = result.detach();
String officeIds = detach.get("deptIds"); String officeIds = detach.get("deptIds");
String roleIds = detach.get("roleIds"); String roleIds = detach.get("roleIds");
if (flag) { if (flag) {
if (CollectionUtils.isNotEmpty(departments)) { if (CollectionUtils.isNotEmpty(departments)) {
if (departments.stream() if (departments.stream().map(CustomPermissionDTO::getBizId).anyMatch(officeIds::contains)) {
.map(CustomPermissionDTO::getBizId)
.anyMatch(officeIds::contains)) {
flag = false; flag = false;
} }
} }
...@@ -246,26 +249,25 @@ public class VariableServiceImpl implements VariableService { ...@@ -246,26 +249,25 @@ public class VariableServiceImpl implements VariableService {
} }
} }
} }
if(flag){ if (flag) {
throw new SysException("没有访问权限"); throw new SysException("没有访问权限");
} }
} }
} }
} }
}
Map<String, Object> commandMap = sendDTO.getCommandMap(); Map<String, Object> commandMap = sendDTO.getCommandMap();
if(CollectionUtils.isEmpty(commandMap)){ if (CollectionUtils.isEmpty(commandMap)) {
throw new SysException("变量值必传"); throw new SysException("变量值必传");
} }
if(commandMap.keySet().stream().anyMatch(StringUtils::isBlank)){ if (commandMap.keySet().stream().anyMatch(StringUtils::isBlank)) {
throw new SysException("变量id 不能为空"); throw new SysException("变量id 不能为空");
} }
if(commandMap.values().stream().anyMatch(ObjectUtils::isEmpty)){ if (commandMap.values().stream().anyMatch(ObjectUtils::isEmpty)) {
throw new SysException("变量对应得value 值不能为空"); throw new SysException("变量对应得value 值不能为空");
} }
SendDeviceCommandsDTO dto = new SendDeviceCommandsDTO(); SendDeviceCommandsDTO dto = new SendDeviceCommandsDTO();
dto.setCommandMap(commandMap); dto.setCommandMap(commandMap);
dto.setToken(currentUser.getToken()); dto.setToken(currentUser.getToken());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment