This commit is contained in:
huangzj
2023-09-04 15:26:30 +08:00
parent 338735b132
commit 04f16ee8ee
13 changed files with 201 additions and 22 deletions

View File

@@ -8,6 +8,7 @@ import com.njcn.common.utils.HttpResultUtil;
import com.njcn.csdevice.enums.DeviceOperate;
import com.njcn.csdevice.pojo.po.CsDeviceUserPO;
import com.njcn.csdevice.pojo.vo.DevCountVO;
import com.njcn.csdevice.pojo.vo.DevUserVO;
import com.njcn.csdevice.service.CsDeviceUserPOService;
import com.njcn.web.advice.DeviceLog;
import com.njcn.web.controller.BaseController;
@@ -112,11 +113,21 @@ public class DeviceUserController extends BaseController {
@ApiOperation("取消分享")
@ApiImplicitParam(name = "eid", value = "设备Id", required = true)
@DeviceLog(operateType = DeviceOperate.CANCELSHARE)
public HttpResult<Boolean> cancelShare(@RequestParam("eid") String eid){
public HttpResult<Boolean> cancelShare(@RequestParam("eid") String eid ,@RequestParam("userId") String userId){
String methodDescribe = getMethodDescribe("cancelShare");
Boolean flag = csDeviceUserPOService.cancelShare (eid,userId);
Boolean flag = csDeviceUserPOService.cancelShare (eid);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/queryUserById")
@ApiOperation("设备主子用户关系")
@ApiImplicitParam(name = "devId", value = "设备Id", required = true)
public HttpResult<DevUserVO> queryUserById(@RequestParam("devId") String devId){
String methodDescribe = getMethodDescribe("queryUserById");
DevUserVO devUserVO = csDeviceUserPOService.queryUserById (devId);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, devUserVO, methodDescribe);
}
}

View File

@@ -61,6 +61,9 @@
<if test="projectEquipmentQueryParm!=null and projectEquipmentQueryParm.engineerId != null and projectEquipmentQueryParm.engineerId !=''">
AND a.id = #{projectEquipmentQueryParm.engineerId}
</if>
<if test="projectEquipmentQueryParm!=null and projectEquipmentQueryParm.runStatus != null and projectEquipmentQueryParm.runStatus !=''">
AND c.run_status = #{projectEquipmentQueryParm.engineerId}
</if>
and c.id in
<foreach collection="device" item="item" open="(" close=")" separator=",">
#{item}

View File

@@ -3,6 +3,7 @@ package com.njcn.csdevice.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.csdevice.pojo.po.CsDeviceUserPO;
import com.njcn.csdevice.pojo.vo.DevCountVO;
import com.njcn.csdevice.pojo.vo.DevUserVO;
import java.util.List;
@@ -29,7 +30,7 @@ public interface CsDeviceUserPOService extends IService<CsDeviceUserPO>{
Boolean delete(String eid);
Boolean cancelShare(String eid);
Boolean cancelShare(String eid,String userId);
/**
* @Description: 设备恢复
* @Param:
@@ -38,4 +39,6 @@ public interface CsDeviceUserPOService extends IService<CsDeviceUserPO>{
* @Date: 2023/7/27
*/
Boolean recovery(String eid);
DevUserVO queryUserById(String devId);
}

View File

@@ -16,11 +16,14 @@ import com.njcn.csdevice.mapper.CsMarketDataMapper;
import com.njcn.csdevice.pojo.po.*;
import com.njcn.csdevice.pojo.vo.CsLedgerVO;
import com.njcn.csdevice.pojo.vo.DevCountVO;
import com.njcn.csdevice.pojo.vo.DevUserVO;
import com.njcn.csdevice.service.*;
import com.njcn.cswarn.api.CsEquipmentAlarmFeignClient;
import com.njcn.cswarn.pojo.parm.CsEquipmentAlarmParm;
import com.njcn.cswarn.pojo.vo.CsEquipmentAlarmVO;
import com.njcn.user.api.UserFeignClient;
import com.njcn.user.enums.AppRoleEnum;
import com.njcn.user.pojo.po.User;
import com.njcn.web.utils.RequestUtil;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
@@ -58,6 +61,9 @@ public class CsDeviceUserPOServiceImpl extends ServiceImpl<CsDeviceUserPOMapper,
private final CsLinePOService csLinePOService;
private final CsMarketDataMapper csMarketDataMapper;
private final UserFeignClient userFeignClient;
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean add(String id) {
@@ -288,17 +294,17 @@ public class CsDeviceUserPOServiceImpl extends ServiceImpl<CsDeviceUserPOMapper,
*/
@Override
@Transactional(rollbackFor = {Exception.class})
public Boolean cancelShare(String eid) {
public Boolean cancelShare(String eid,String userId) {
String userIndex = RequestUtil.getUserIndex();
//主用户
if(Objects.equals(isPrimaryUser(eid),"1")){
this.lambdaUpdate().eq(CsDeviceUserPO::getDeviceId, eid).ne(CsDeviceUserPO::getSubUserId,userIndex).set(CsDeviceUserPO::getStatus,"0").update();
}
//子用户
else if (Objects.equals(isPrimaryUser(eid),"0")) {
this.lambdaUpdate().eq(CsDeviceUserPO::getDeviceId, eid).eq(CsDeviceUserPO::getSubUserId,userIndex).set(CsDeviceUserPO::getStatus,"0").update();
// //主用户
// if(Objects.equals(isPrimaryUser(eid),"1")){
// this.lambdaUpdate().eq(CsDeviceUserPO::getDeviceId, eid).ne(CsDeviceUserPO::getSubUserId,userIndex).set(CsDeviceUserPO::getStatus,"0").update();
// }
// //子用户
// else if (Objects.equals(isPrimaryUser(eid),"0")) {
this.lambdaUpdate().eq(CsDeviceUserPO::getDeviceId, eid).eq(CsDeviceUserPO::getSubUserId,userId).set(CsDeviceUserPO::getStatus,"0").update();
}
// }
return true;
}
@@ -318,4 +324,22 @@ public class CsDeviceUserPOServiceImpl extends ServiceImpl<CsDeviceUserPOMapper,
this.lambdaUpdate().eq(CsDeviceUserPO::getDeviceId, eid).set(CsDeviceUserPO::getStatus,"1").update();
return true;
}
@Override
public DevUserVO queryUserById(String devId) {
List<CsDeviceUserPO> list = this.lambdaQuery().eq(CsDeviceUserPO::getDeviceId, devId).eq(CsDeviceUserPO::getStatus, "1").list();
if (CollectionUtils.isEmpty(list)) {
throw new BusinessException(AlgorithmResponseEnum.DATA_ARRAY_MISSING);
}
List<String> collect = list.stream().map(CsDeviceUserPO::getSubUserId).distinct().collect(Collectors.toList());
List<User> data = userFeignClient.getUserByIdList(collect).getData();
String primaryUserId = list.get(0).getPrimaryUserId();
List<User> subUser = data.stream().filter(temp -> !Objects.equals(temp.getId(), primaryUserId)).collect(Collectors.toList());
List<User> primaryUser = data.stream().filter(temp -> Objects.equals(temp.getId(), primaryUserId)).collect(Collectors.toList());
DevUserVO devUser = new DevUserVO();
devUser.setDevId(devId);
devUser.setSubUsers(subUser);
devUser.setMasterUser(primaryUser.get(0));
return devUser;
}
}