|
@@ -22,6 +22,7 @@ import com.hfln.portal.common.request.device.DeviceLocationParams;
|
|
|
import com.hfln.portal.common.request.event.EventListParams;
|
|
|
import com.hfln.portal.common.request.share.ShareConfirmParam;
|
|
|
import com.hfln.portal.common.request.share.ShareParam;
|
|
|
+import com.hfln.portal.common.request.share.updateShareParam;
|
|
|
import com.hfln.portal.common.response.device.WcTimesQueryRes;
|
|
|
import com.hfln.portal.common.vo.PageRecord;
|
|
|
import com.hfln.portal.domain.customer.OssBusiType;
|
|
@@ -203,7 +204,23 @@ public class DeviceGatewayImpl implements DeviceGateway {
|
|
|
|
|
|
@Override
|
|
|
public Boolean deviceBind(DeviceBandingParams request) {
|
|
|
- // 1. 检查设备是否存在
|
|
|
+ // 1.参数范围大小校验
|
|
|
+ if (request.getXxEnd().compareTo(request.getXxStart()) <= 0) {
|
|
|
+ throw new BizException(ErrorEnum.DEVICE_PARAM_ERROR.getErrorCode(), ErrorEnum.DEVICE_PARAM_ERROR.getErrorMessage());
|
|
|
+ }
|
|
|
+ if (request.getYyEnd().compareTo(request.getYyStart()) <= 0) {
|
|
|
+ throw new BizException(ErrorEnum.DEVICE_PARAM_ERROR.getErrorCode(), ErrorEnum.DEVICE_PARAM_ERROR.getErrorMessage());
|
|
|
+ }
|
|
|
+ if (!Arrays.asList(
|
|
|
+ BigDecimal.ZERO,
|
|
|
+ new BigDecimal("90"),
|
|
|
+ new BigDecimal("180"),
|
|
|
+ new BigDecimal("270")
|
|
|
+ ).contains(request.getNorthAngle())) {
|
|
|
+ throw new BizException(ErrorEnum.DEVICE_PARAM_ERROR.getErrorCode(), ErrorEnum.DEVICE_PARAM_ERROR.getErrorMessage());
|
|
|
+ }
|
|
|
+
|
|
|
+ // 2. 检查设备是否存在
|
|
|
DevInfo devInfo = devInfoService.getOne(
|
|
|
Wrappers.<DevInfo>lambdaQuery()
|
|
|
.eq(DevInfo::getClientId, request.getClientId())
|
|
@@ -216,7 +233,30 @@ public class DeviceGatewayImpl implements DeviceGateway {
|
|
|
}
|
|
|
|
|
|
// 3. 更新设备信息
|
|
|
- return devInfoService.updateDevice(devInfo.getClientId(), request);
|
|
|
+ boolean updateResult = devInfoService.updateDevice(devInfo.getClientId(), request);
|
|
|
+
|
|
|
+ //4.通过MQTT把信息参数发送到设备
|
|
|
+ String topic = TopicConstants.TOPIC_SET_DEVICE_PARAM;
|
|
|
+ JSONObject msg = new JSONObject();
|
|
|
+ msg.put("dev_id", devInfo.getDevId());
|
|
|
+ msg.put("mounting_plain", request.getMountPlain());
|
|
|
+ msg.put("height", request.getHeight());
|
|
|
+
|
|
|
+ JSONObject area = new JSONObject();
|
|
|
+ area.put("start_x", request.getXxStart());
|
|
|
+ area.put("stop_x", request.getXxEnd());
|
|
|
+ area.put("start_y", request.getYyStart());
|
|
|
+ area.put("stop_y", request.getYyEnd());
|
|
|
+ area.put("start_z", request.getZzStart());
|
|
|
+ area.put("stop_z", request.getZzEnd());
|
|
|
+ msg.put("area", area);
|
|
|
+ try {
|
|
|
+ mqttClient.sendMessage(topic, msg.toJSONString());
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("发送设备参数到MQTT失败", e);
|
|
|
+ }
|
|
|
+
|
|
|
+ return updateResult;
|
|
|
}
|
|
|
|
|
|
|
|
@@ -435,6 +475,9 @@ public class DeviceGatewayImpl implements DeviceGateway {
|
|
|
devShare.setSharerPhone(shareParam.getSharerPhone());
|
|
|
devShare.setSharedPhone(shareParam.getSharedPhone());
|
|
|
devShare.setSharedUserId(userInfo.getUserId());
|
|
|
+ devShare.setMessageFlag(shareParam.getMessageFlag());
|
|
|
+ devShare.setServiceNumberFlag(shareParam.getServiceNumberFlag());
|
|
|
+ devShare.setVoipFlag(shareParam.getVoipFlag());
|
|
|
devShare.setState(0);
|
|
|
devShareService.save(devShare);
|
|
|
return null;
|
|
@@ -475,6 +518,9 @@ public class DeviceGatewayImpl implements DeviceGateway {
|
|
|
}
|
|
|
|
|
|
// 5. 设置分享状态并保存
|
|
|
+ devShare.setMessageFlag(shareParam.getMessageFlag());
|
|
|
+ devShare.setServiceNumberFlag(shareParam.getServiceNumberFlag());
|
|
|
+ devShare.setVoipFlag(shareParam.getVoipFlag());
|
|
|
devShare.setState(0);
|
|
|
devShareService.save(devShare);
|
|
|
return true;
|
|
@@ -514,6 +560,33 @@ public class DeviceGatewayImpl implements DeviceGateway {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ public void cancelShare(Long shareId) {
|
|
|
+ //1.判断分享记录是否为空
|
|
|
+ DevShare devShare = devShareService.getById(shareId);
|
|
|
+ if (devShare == null){
|
|
|
+ throw new BizException(ErrorEnum.SHARE_RECORD_IS_NOT_EXIST.getErrorCode(), ErrorEnum.SHARE_RECORD_IS_NOT_EXIST.getErrorMessage());
|
|
|
+ }
|
|
|
+ //2.将dev_share中这条记录置为逻辑删除
|
|
|
+ devShare.setIsDeleted(BasePO.DeleteFlag.DELETED);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional
|
|
|
+ public void updateDeviceShare(updateShareParam param) {
|
|
|
+ //1.判断分享记录是否为空
|
|
|
+ DevShare devShare = devShareService.getById(param.getShareId());
|
|
|
+ if (devShare == null) {
|
|
|
+ throw new BizException(ErrorEnum.SHARE_RECORD_IS_NOT_EXIST.getErrorCode(), ErrorEnum.SHARE_RECORD_IS_NOT_EXIST.getErrorMessage());
|
|
|
+ }
|
|
|
+
|
|
|
+ //2.更新权限
|
|
|
+ devShare.setMessageFlag(param.getMessageFlag());
|
|
|
+ devShare.setServiceNumberFlag(param.getServiceNumberFlag());
|
|
|
+ devShare.setVoipFlag(param.getVoipFlag());
|
|
|
+ devShareService.updateById(devShare);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
public void getVersion(String clientId) {
|
|
|
|
|
|
String topic = String.format(TopicConstants.TOPIC_DEV_GET_VERSION, clientId);
|
|
@@ -700,6 +773,39 @@ public class DeviceGatewayImpl implements DeviceGateway {
|
|
|
}
|
|
|
return res;
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Boolean deviceTransfer(String phone, String devId){
|
|
|
+ //1.检查手机号是非为空
|
|
|
+ if (StringUtils.isEmpty(phone)){
|
|
|
+ throw new BizException(ErrorEnum.PHONE_IS_NULL.getErrorCode(),ErrorEnum.PHONE_IS_NULL.getErrorMessage());
|
|
|
+ }
|
|
|
+
|
|
|
+ //2.根据手机号查询user_info看是否注册
|
|
|
+ UserInfo userInfo = userService.queryByPhone(phone);
|
|
|
+ if (userInfo == null){
|
|
|
+ throw new BizException(ErrorEnum.USER_IS_NOT_EXIST.getErrorCode(), ErrorEnum.USER_IS_NOT_EXIST.getErrorMessage());
|
|
|
+ }
|
|
|
+
|
|
|
+ //3.检查设备是否存在
|
|
|
+ DevInfo devInfo = devInfoService.getOne(
|
|
|
+ Wrappers.<DevInfo>lambdaQuery()
|
|
|
+ .eq(DevInfo::getDevId, devId)
|
|
|
+ .eq(DevInfo::getIsDeleted, BasePO.DeleteFlag.NOT_DELETED)
|
|
|
+ );
|
|
|
+ if (devInfo == null) {
|
|
|
+ throw new BizException(ErrorEnum.DEVICE_IS_NOT_EXIST.getErrorCode(), ErrorEnum.DEVICE_IS_NOT_EXIST.getErrorMessage());
|
|
|
+ }
|
|
|
+
|
|
|
+ //4.更新设备拥有者
|
|
|
+ devInfo.setUserId(userInfo.getUserId());
|
|
|
+ boolean updateResult = devInfoService.updateById(devInfo);
|
|
|
+
|
|
|
+ return updateResult;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
/* @Override
|
|
|
public String checkDevByOpenId(String openId, String clientId) {
|
|
|
// 1. 检查参数是否为空
|