DeviceBaseServiceImpl.java 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. package com.zy.bms.service.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  3. import com.zy.bms.common.Constant;
  4. import com.zy.bms.entity.DeviceBase;
  5. import com.zy.bms.entity.lp.LpInfoState;
  6. import com.zy.bms.entity.ubi.UbiInfoState;
  7. import com.zy.bms.mapper.DeviceBaseMapper;
  8. import com.zy.bms.pojo.vo.DeviceWxListVo;
  9. import com.zy.bms.service.IDeviceBaseService;
  10. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  11. import com.zy.bms.service.lp.ILpInfoStateService;
  12. import com.zy.bms.service.ubi.IUbiInfoStateService;
  13. import org.springframework.stereotype.Service;
  14. import javax.annotation.Resource;
  15. import java.util.ArrayList;
  16. import java.util.List;
  17. import java.util.Map;
  18. import java.util.stream.Collectors;
  19. /**
  20. * 设备静态信息 服务实现类
  21. *
  22. * @author yangxiaokun
  23. * @since 2021-06-01
  24. */
  25. @Service
  26. public class DeviceBaseServiceImpl extends ServiceImpl<DeviceBaseMapper, DeviceBase> implements IDeviceBaseService {
  27. @Resource
  28. private IUbiInfoStateService ubiInfoStateService;
  29. @Resource
  30. private ILpInfoStateService lpInfoStateService;
  31. @Override
  32. public List listByGroupIdWx(String groupId) {
  33. String type = baseMapper.getTypeByGroupId(groupId);
  34. if (type == null) return null;
  35. //普适型设备
  36. if (type.equals(Constant.DEVICE_TYPE.UBI)) {
  37. return ubiInfoStateService.listByGroupId(groupId);
  38. }
  39. //路牌设备
  40. if (type.equals(Constant.DEVICE_TYPE.LP)) {
  41. return lpInfoStateService.listByGroupId(groupId);
  42. }
  43. return null;
  44. }
  45. @Override
  46. public Map<String, List<DeviceWxListVo>> listByUserIdWx(Integer userId) {
  47. List<DeviceWxListVo> result = new ArrayList<>();
  48. //路牌
  49. List<DeviceWxListVo> lpList = lpInfoStateService.listByUserId(userId);
  50. if (lpList != null) result.addAll(lpList);
  51. //普适型
  52. List<DeviceWxListVo> ubiList = ubiInfoStateService.listByUserId(userId);
  53. if (ubiList != null) result.addAll(ubiList);
  54. return result.isEmpty() ? null : result.stream().collect(Collectors.groupingBy(DeviceWxListVo::getGroupId));
  55. }
  56. @Override
  57. public Object getDetailWx(String openNum) {
  58. String type = baseMapper.selectOne(new QueryWrapper<DeviceBase>().eq("open_num", openNum)).getType();
  59. if (type.equals(Constant.DEVICE_TYPE.UBI)) {
  60. return ubiInfoStateService.getOne(new QueryWrapper<UbiInfoState>().eq("open_num", openNum));
  61. }
  62. if (type.equals(Constant.DEVICE_TYPE.LP)) {
  63. return lpInfoStateService.getOne(new QueryWrapper<LpInfoState>().eq("open_num", openNum));
  64. }
  65. return null;
  66. }
  67. }