|
@@ -8,6 +8,7 @@ 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;
|
|
@@ -88,6 +89,7 @@ public class MercMiniDeviceController {
|
|
|
redisService.remove("device:auth:code:" + deviceId);
|
|
|
}
|
|
|
|
|
|
+ @LogOperate
|
|
|
@ApiOperation("解绑商户")
|
|
|
@PostMapping("unBindMercDevice")
|
|
|
R<Boolean> unBindMercDevice(@RequestBody @Validated DeviceInfoDto.MercDeviceUnBindDto dto) {
|
|
@@ -95,9 +97,12 @@ public class MercMiniDeviceController {
|
|
|
dto.setMercId(merc.getId());
|
|
|
dto.setMercCode(merc.getMercCode());
|
|
|
dto.setMercName(merc.getName());
|
|
|
- return R.ok(deviceInfoService.unBindDeviceByMerc(dto));
|
|
|
+ List<Long> deviceIds = dto.getDeviceIds();
|
|
|
+ String log = String.format("解绑商户:被解绑商户:%s,解绑设备:%s", merc.getId() + "," + merc.getName(), CollUtil.isEmpty(deviceIds) ? "" : CollUtil.join(deviceIds, ","));
|
|
|
+ return R.ok(deviceInfoService.unBindDeviceByMerc(dto)).setLogMsg(log);
|
|
|
}
|
|
|
|
|
|
+ @LogOperate
|
|
|
@ApiOperation("商户设备授权")
|
|
|
@PostMapping("deviceAuth")
|
|
|
public R mercDeviceAuth(@RequestBody @Validated DeviceInfoDto.MercDeviceAuthDto auth) {
|
|
@@ -110,9 +115,11 @@ public class MercMiniDeviceController {
|
|
|
auth.setMercName(merc.getName());
|
|
|
auth.setAlgorithmId(merc.getAlgorithmId());
|
|
|
auth.setMercOperate(true);
|
|
|
- //设备服务授权处理
|
|
|
+ // 设备服务授权处理
|
|
|
R<Boolean> r = R.feignCheck(deviceInfoService.mercDeviceAuth(auth));
|
|
|
- return R.ok(r.getData());
|
|
|
+ List<Long> deviceIds = auth.getDeviceIds();
|
|
|
+ String log = String.format("商户设备授权:授权商户:%s,授权设备:%s", merc.getId() + "," + merc.getName(), deviceIds.size() == 0 ? "取消所有设备授权" : CollUtil.join(deviceIds, ","));
|
|
|
+ return R.ok(r.getData()).setLogMsg(log);
|
|
|
}
|
|
|
|
|
|
@ApiOperation("设备分页-管理员")
|
|
@@ -131,7 +138,7 @@ public class MercMiniDeviceController {
|
|
|
dto.setMercId(MercAuthUtils.getMercId());
|
|
|
Boolean choosed = dto.getChoosed();
|
|
|
if (BooleanUtil.isTrue(choosed)) {
|
|
|
- //查询已选择,为前端传入 deviceIds
|
|
|
+ // 查询已选择,为前端传入 deviceIds
|
|
|
dto.setDeviceIds(deviceIds);
|
|
|
}
|
|
|
dto.setMyDeviceIds(getMyDevices());
|
|
@@ -197,7 +204,7 @@ public class MercMiniDeviceController {
|
|
|
DeviceInfoDto.Vo vo = r.getData();
|
|
|
if (vo != null) {
|
|
|
Long algorithmId = vo.getAlgorithmId();
|
|
|
- //点位
|
|
|
+ // 点位
|
|
|
Long placeId = vo.getPlaceId();
|
|
|
List<MercPlaceDto.Vo> merPlaceList = R.feignCheckData(mercPlaceService.list(new MercPlaceDto.ListDto().setIds(CollUtil.newArrayList(placeId))));
|
|
|
MercPlaceDto.Vo mercPlace = CollUtil.isNotEmpty(merPlaceList) ? merPlaceList.get(0) : null;
|
|
@@ -206,7 +213,7 @@ public class MercMiniDeviceController {
|
|
|
vo.setPlaceName(mercPlace.getPlaceName());
|
|
|
}
|
|
|
|
|
|
- //返显区域名称
|
|
|
+ // 返显区域名称
|
|
|
|
|
|
DeviceStatusDto.Vo deviceStatus = vo.getDeviceStatus();
|
|
|
vo.setNetStateName(deviceStatus == null ? StrUtil.EMPTY : DeviceNetSateType.getEnumByCode(deviceStatus.getNetState()).getDescription());
|
|
@@ -230,7 +237,7 @@ public class MercMiniDeviceController {
|
|
|
Integer deviceStateR = deviceStatus.getLockStateR();
|
|
|
Boolean isUseBattery = deviceStatus.getIsUseBattery();
|
|
|
if (BooleanUtil.isTrue(isUseBattery)) {
|
|
|
- //使用电池。即断电状态
|
|
|
+ // 使用电池。即断电状态
|
|
|
vo.setSysPower(2);
|
|
|
} else {
|
|
|
vo.setSysPower(1);
|
|
@@ -244,22 +251,22 @@ public class MercMiniDeviceController {
|
|
|
|
|
|
if (AlgorithmTypeEnum.ALIPAY.getId() == algorithmId) {
|
|
|
String deviceId = String.valueOf(vo.getDeviceId());
|
|
|
- //主动查询一次温度、音量 温度:TEMP 音量:VOL
|
|
|
+ // 主动查询一次温度、音量 温度:TEMP 音量:VOL
|
|
|
alipayDeviceService.queryAttributes(new DeviceQueryAttr().setTerminalId(deviceId).setType("VOL"));
|
|
|
alipayDeviceService.queryAttributes(new DeviceQueryAttr().setTerminalId(deviceId).setType("TEMP"));
|
|
|
- //支付宝状态实时返回
|
|
|
+ // 支付宝状态实时返回
|
|
|
DeviceDetailVO deviceDetailVO = alipayDeviceService.queryDetail(new DeviceDetailDTO().setTerminalId(String.valueOf(vo.getDeviceId())));
|
|
|
Boolean online = deviceDetailVO.getOnline();
|
|
|
Integer netState = BooleanUtil.isTrue(online) ? DeviceNetSateType.CONNECTED.getCode() : DeviceNetSateType.DISCONNECT.getCode();
|
|
|
if (!ObjectUtil.equals(netState, deviceStatus.getNetState())) {
|
|
|
- //存在差异更新设备状态表
|
|
|
+ // 存在差异更新设备状态表
|
|
|
deviceStatusService.updateById(new DeviceStatus().setDeviceId(vo.getDeviceId()).setNetState(netState));
|
|
|
}
|
|
|
deviceStatus.setNetState(netState);
|
|
|
vo.setDeviceStatus(deviceStatus);
|
|
|
}
|
|
|
}
|
|
|
- //工作温度设置
|
|
|
+ // 工作温度设置
|
|
|
DeviceTempSetDto.Vo lastTempset = R.feignCheckData(deviceTempSetService.getLastOne(new DeviceTempSetDto.GetLastOneDto().setDeviceId(vo.getDeviceId())));
|
|
|
vo.setJobTempSetValue(lastTempset == null ? null : lastTempset.getTempValue());
|
|
|
}
|
|
@@ -278,20 +285,20 @@ public class MercMiniDeviceController {
|
|
|
|
|
|
private R checkDeviceByMerc(DeviceInfo deviceInfo) {
|
|
|
Long mercId = MercAuthUtils.getMercId();
|
|
|
- //商户是否已通过审核
|
|
|
+ // 商户是否已通过审核
|
|
|
MercDto.Vo mercInfo = mercFeignService.obj(new MercDto.ListDTO().setId(mercId)).getData();
|
|
|
if (!mercInfo.getStatus().equals(String.valueOf(MercStatus.APPROVED.getCode()))) {
|
|
|
return R.fail("商户未通过审核");
|
|
|
}
|
|
|
- //设备是否存在
|
|
|
+ // 设备是否存在
|
|
|
if (!Emptys.check(deviceInfo)) {
|
|
|
return R.fail("机器不存在");
|
|
|
}
|
|
|
- //机器是否已授权给该商户
|
|
|
+ // 机器是否已授权给该商户
|
|
|
if (!deviceInfo.getMercId().equals(mercId)) {
|
|
|
return R.fail("机器未授权给商户");
|
|
|
}
|
|
|
- //机器是否冻结
|
|
|
+ // 机器是否冻结
|
|
|
Integer freezeStatus = SysDictUtils.getValue(EnumDeviceFreezeStatus.Code.CODE.getCode(), EnumDeviceFreezeStatus.N_2.getCode(), Integer.class);
|
|
|
if (deviceInfo.getFreezeStatus().equals(freezeStatus)) {
|
|
|
return R.fail("机器已冻结");
|
|
@@ -307,7 +314,7 @@ public class MercMiniDeviceController {
|
|
|
if (checkR.getCode() == R.Enum.SUCCESS.getCode()) {
|
|
|
Integer activeState = SysDictUtils.getValue(EnumDeviceActiveStatus.Code.CODE.getCode(), EnumDeviceActiveStatus.N_1.getCode(), Integer.class);
|
|
|
String refMercCode = deviceInfo.getMercCode();
|
|
|
- //非质检商户需要进行判断,质检商户跳过
|
|
|
+ // 非质检商户需要进行判断,质检商户跳过
|
|
|
if (!"10001".equals(refMercCode) && !deviceInfo.getActiveState().equals(activeState)) {
|
|
|
return R.fail("机器未激活");
|
|
|
}
|
|
@@ -392,7 +399,7 @@ public class MercMiniDeviceController {
|
|
|
}
|
|
|
return deviceInfos.stream().map(DeviceInfo::getDeviceId).collect(Collectors.toList());
|
|
|
} else {
|
|
|
- //成员设备
|
|
|
+ // 成员设备
|
|
|
List<Long> deviceIds = R.feignCheckData(mercFeignService.mercUserDevice());
|
|
|
return deviceIds;
|
|
|
}
|
|
@@ -408,7 +415,7 @@ public class MercMiniDeviceController {
|
|
|
return R.fail("设备不存在!");
|
|
|
}
|
|
|
Long deviceId = deviceSysinfo.getDeviceId();
|
|
|
- //用户输入的
|
|
|
+ // 用户输入的
|
|
|
String authCode = dto.getAuthCode();
|
|
|
List<Long> myDevices = getMyDevices();
|
|
|
if (!myDevices.contains(deviceId)) {
|
|
@@ -425,14 +432,14 @@ public class MercMiniDeviceController {
|
|
|
if (StrUtil.isNotEmpty(cacheAuthCode)) {
|
|
|
return R.fail("此设备尚有未使用的授权码:【" + cacheAuthCode + "】,请使用后再来生成!");
|
|
|
} else {
|
|
|
- //已失效了
|
|
|
+ // 已失效了
|
|
|
deviceBluetoothAuthService.saveOrUpdate(deviceBluetoothAuth.setUseStatus(DeviceAuthCodeUseStatus.TIME_OUT.getCode()));
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
- //缓存
|
|
|
+ // 缓存
|
|
|
setCacheAuthCode(deviceId, authCode);
|
|
|
DeviceBluetoothAuth saveInfo = new DeviceBluetoothAuth()
|
|
|
.setDeviceId(deviceId)
|
|
@@ -455,7 +462,7 @@ public class MercMiniDeviceController {
|
|
|
if (!authCode.equals(cacheAuthCode)) {
|
|
|
return R.fail("您输入的授权码有误或者无效!");
|
|
|
}
|
|
|
- //验证通过,缓存去掉授权码,并更新状态
|
|
|
+ // 验证通过,缓存去掉授权码,并更新状态
|
|
|
// Long mercId = MercAuthUtils.getMercId();
|
|
|
DeviceBluetoothAuth deviceBluetoothAuth = deviceBluetoothAuthService.getOne(Wrappers.<DeviceBluetoothAuth>lambdaQuery()
|
|
|
.eq(DeviceBluetoothAuth::getDeviceId, deviceId)
|
|
@@ -466,7 +473,7 @@ public class MercMiniDeviceController {
|
|
|
if (deviceBluetoothAuth == null) {
|
|
|
return R.fail("您输入的授权码无效!");
|
|
|
}
|
|
|
- //缓存去掉授权码
|
|
|
+ // 缓存去掉授权码
|
|
|
delCacheAuthCode(deviceId);
|
|
|
deviceBluetoothAuth.setUseStatus(DeviceAuthCodeUseStatus.USED.getCode());
|
|
|
deviceBluetoothAuth.setUseUser(AuthorizeUtils.getLoginId(Long.class));
|