|
|
@@ -681,52 +681,36 @@ public class DeviceGatewayImpl implements DeviceGateway {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public Boolean shareByUrl(ShareParam shareParam) {
|
|
|
+ public ShareDto shareByUrl(ShareParam shareParam) {
|
|
|
//校验主绑人
|
|
|
DevInfo devInfo = devInfoService.getById(shareParam.getDevId());
|
|
|
if (!Objects.equals(shareParam.getSharerUserId(), devInfo.getUserId())) {
|
|
|
throw new BizException(ErrorEnum.USER_NO_PERMISSION.getErrorCode(), ErrorEnum.USER_NO_PERMISSION.getErrorMessage());
|
|
|
}
|
|
|
|
|
|
- // 1. 验证是否存在未处理的分享
|
|
|
- DevShare notDealShare = devShareService.queryNotDeal(shareParam.getSharerUserId(), shareParam.getSharedUserId(), shareParam.getDevId());
|
|
|
- if (notDealShare != null) {
|
|
|
- throw new BizException(ErrorEnum.EXIST_NOT_DEAL_SHARE.getErrorCode(), ErrorEnum.EXIST_NOT_DEAL_SHARE.getErrorMessage());
|
|
|
- }
|
|
|
-
|
|
|
- // 2. 验证是否存在已分享的记录
|
|
|
- LambdaQueryWrapper<DevShare> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
- queryWrapper.eq(DevShare::getDevId, shareParam.getDevId())
|
|
|
- .eq(DevShare::getSharerUserId, shareParam.getSharerUserId())
|
|
|
- .eq(DevShare::getSharedUserId, shareParam.getSharedUserId())
|
|
|
- .in(DevShare::getState, Arrays.asList(0, 1))
|
|
|
- .eq(DevShare::getIsDeleted, 0);
|
|
|
- List<DevShare> existingShares = devShareService.list(queryWrapper);
|
|
|
-
|
|
|
- if (existingShares != null && !existingShares.isEmpty()) {
|
|
|
- throw new BizException(ErrorEnum.SHARE_IS_NOT_REPEAT.getErrorCode(), ErrorEnum.SHARE_IS_NOT_REPEAT.getErrorMessage());
|
|
|
- }
|
|
|
|
|
|
- // 3. 创建新的分享记录
|
|
|
+ //插入新分享记录
|
|
|
DevShare devShare = new DevShare();
|
|
|
- BeanUtils.copyProperties(shareParam, devShare);
|
|
|
-
|
|
|
- // 4. 如果分享人手机号为空,从用户信息中获取
|
|
|
- if (StringUtils.isEmpty(shareParam.getSharerPhone())) {
|
|
|
- UserInfo shareUser = userService.queryById(shareParam.getSharerUserId());
|
|
|
- if (shareUser == null) {
|
|
|
- throw new BizException(ErrorEnum.SHARER_IS_NOT_EXIST.getErrorCode(), ErrorEnum.SHARER_IS_NOT_EXIST.getErrorMessage());
|
|
|
- }
|
|
|
- devShare.setSharerPhone(shareUser.getPhone());
|
|
|
- }
|
|
|
-
|
|
|
- // 5. 设置分享状态并保存
|
|
|
+ devShare.setDevId(shareParam.getDevId());
|
|
|
+ devShare.setSharerUserId(shareParam.getSharerUserId());
|
|
|
+ devShare.setSharerPhone(shareParam.getSharerPhone());
|
|
|
devShare.setMessageFlag(shareParam.getMessageFlag());
|
|
|
devShare.setServiceNumberFlag(shareParam.getServiceNumberFlag());
|
|
|
devShare.setVoipFlag(shareParam.getVoipFlag());
|
|
|
devShare.setState(0);
|
|
|
devShareService.save(devShare);
|
|
|
- return true;
|
|
|
+
|
|
|
+ //构建返回对象
|
|
|
+ ShareDto dto = new ShareDto();
|
|
|
+ dto.setShareId(devShare.getShareId());
|
|
|
+ dto.setDevId(shareParam.getDevId());
|
|
|
+ dto.setClientId(devInfo.getClientId());
|
|
|
+ dto.setDevName(devInfo.getDevName());
|
|
|
+ dto.setSharerUserId(shareParam.getSharerUserId());
|
|
|
+ dto.setSharedPhone(shareParam.getSharerPhone());
|
|
|
+ dto.setShareTime(devShare.getCreateTime());
|
|
|
+ dto.setState(devShare.getState());
|
|
|
+ return dto;
|
|
|
}
|
|
|
|
|
|
@Override
|