|
@@ -0,0 +1,93 @@
|
|
|
+package com.xy.controller;
|
|
|
+
|
|
|
+import cn.hutool.core.bean.BeanUtil;
|
|
|
+import cn.hutool.core.collection.CollUtil;
|
|
|
+import cn.hutool.core.util.BooleanUtil;
|
|
|
+import cn.hutool.core.util.ObjectUtil;
|
|
|
+import cn.hutool.core.util.StrUtil;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
+import com.xy.annotate.RestMappingController;
|
|
|
+import com.xy.annotation.LogOperate;
|
|
|
+import com.xy.collections.list.JArrayList;
|
|
|
+import com.xy.collections.map.JMap;
|
|
|
+import com.xy.device.EnumDeviceActiveStatus;
|
|
|
+import com.xy.device.EnumDeviceFreezeStatus;
|
|
|
+import com.xy.dto.*;
|
|
|
+import com.xy.dto.be.MercDto;
|
|
|
+import com.xy.dto.common.MercPlaceDto;
|
|
|
+import com.xy.entity.*;
|
|
|
+import com.xy.enums.LogEnum;
|
|
|
+import com.xy.enums.MercStatus;
|
|
|
+import com.xy.service.*;
|
|
|
+import com.xy.service.be.MercFeignService;
|
|
|
+import com.xy.service.be.MercService;
|
|
|
+import com.xy.service.common.MercLineService;
|
|
|
+import com.xy.service.common.MercPlaceService;
|
|
|
+import com.xy.service.factory.device.DeviceFactory;
|
|
|
+import com.xy.utils.*;
|
|
|
+import com.xy.utils.Enum.AlgorithmTypeEnum;
|
|
|
+import com.xy.utils.enums.DeviceActiveStateEnum;
|
|
|
+import com.xy.utils.enums.DeviceAuthCodeUseStatus;
|
|
|
+import com.xy.utils.enums.DeviceLockState;
|
|
|
+import com.xy.utils.enums.DeviceNetSateType;
|
|
|
+import com.xy.vo.DeviceDetailVO;
|
|
|
+import io.swagger.annotations.Api;
|
|
|
+import io.swagger.annotations.ApiOperation;
|
|
|
+import lombok.AllArgsConstructor;
|
|
|
+import org.springframework.validation.annotation.Validated;
|
|
|
+import org.springframework.web.bind.annotation.PostMapping;
|
|
|
+import org.springframework.web.bind.annotation.RequestBody;
|
|
|
+
|
|
|
+import javax.validation.Valid;
|
|
|
+import java.time.LocalDateTime;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Objects;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
+import static com.xy.utils.Beans.copy;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 商管PC-设备
|
|
|
+ */
|
|
|
+@RestMappingController("merc-pc/device")
|
|
|
+@AllArgsConstructor
|
|
|
+@Api(tags = "商管PC-设备")
|
|
|
+public class MercPcDeviceController {
|
|
|
+
|
|
|
+ private final DeviceInfoServiceImpl deviceService;
|
|
|
+ private final MercService mercService;
|
|
|
+
|
|
|
+ @ApiOperation("设备分页-商户")
|
|
|
+ @PostMapping("page")
|
|
|
+ public R<PageBean<DeviceInfoDto.Vo2>> page(@RequestBody DeviceInfoDto.Page page) {
|
|
|
+ page.setMercId(page.getMercId() == null ? MercAuthUtils.getMercId() : page.getMercId());
|
|
|
+ //非商户管理员,按设备权限过滤
|
|
|
+ if (!MercAuthUtils.isMercAdmin()) {
|
|
|
+ List<Long> mercDeviceIds = getMercDeviceIds();
|
|
|
+ if (CollUtil.isEmpty(mercDeviceIds)) {
|
|
|
+ return R.ok(new PageBean<>());
|
|
|
+ }
|
|
|
+ page.setMyDeviceIds(mercDeviceIds);
|
|
|
+
|
|
|
+ }
|
|
|
+ PageBean<DeviceInfoDto.Vo2> vo2PageBean = deviceService.queryPage(page);
|
|
|
+ return R.ok(vo2PageBean);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取商户设备列表
|
|
|
+ *
|
|
|
+ * @return {@link List}<{@link Long}>
|
|
|
+ */
|
|
|
+ public List<Long> getMercDeviceIds() {
|
|
|
+ MercDto.MercDevicesDTO mercDevicesDTO = new MercDto.MercDevicesDTO();
|
|
|
+ mercDevicesDTO.setMercAdmin(MercAuthUtils.isMercAdmin());
|
|
|
+ mercDevicesDTO.setMercId(MercAuthUtils.getMercId());
|
|
|
+ Long userId = MercAuthUtils.getMercAuth().getUserInfo().getUserId();
|
|
|
+ mercDevicesDTO.setUserId(userId);
|
|
|
+ List<Long> deviceIds = R.feignCheckData(mercService.getMercDevices(mercDevicesDTO));
|
|
|
+ return deviceIds;
|
|
|
+ }
|
|
|
+
|
|
|
+}
|