| | |
| | | package com.fzzy.igds.service; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | | import com.fzzy.igds.constant.Constant; |
| | | import com.fzzy.igds.constant.RedisConst; |
| | | import com.fzzy.igds.domain.DeviceSer; |
| | | import com.fzzy.igds.repository.DeviceSerRepository; |
| | | import com.fzzy.igds.mapper.DeviceSerMapper; |
| | | import com.fzzy.igds.utils.ContextUtil; |
| | | import com.ruoyi.common.core.domain.entity.SysDept; |
| | | import com.ruoyi.common.core.domain.entity.SysUser; |
| | |
| | | @Resource |
| | | private ISysDeptService iSysDeptService; |
| | | @Resource |
| | | private DeviceSerRepository deviceSerRepository; |
| | | private DeviceSerMapper deviceSerMapper; |
| | | @Resource |
| | | private RedisCache redisCache; |
| | | |
| | | /** |
| | | * JPA 查询分机列表 |
| | | * 根据条件查询分机信息 |
| | | * |
| | | * @param companyId |
| | | * @param deptId |
| | | * @param parentId |
| | | * @return |
| | | */ |
| | | public List<DeviceSer> listDeviceSer(String companyId, String deptId, String parentId) { |
| | | |
| | | QueryWrapper<DeviceSer> queryWrapper = new QueryWrapper<>(); |
| | | |
| | | if (StringUtils.isNotBlank(companyId)) { |
| | | queryWrapper.eq("company_id", companyId); |
| | | } |
| | | if (StringUtils.isNotBlank(deptId)) { |
| | | queryWrapper.eq("dept_id", deptId); |
| | | } |
| | | if (StringUtils.isNotBlank(parentId)) { |
| | | queryWrapper.likeRight("dept_id", parentId); |
| | | } |
| | | |
| | | return deviceSerMapper.selectList(queryWrapper); |
| | | } |
| | | |
| | | /** |
| | | * 查询分机列表 |
| | | * |
| | | * @return |
| | | */ |
| | |
| | | SysUser user = ContextUtil.getLoginUser(); |
| | | SysDept userDept = iSysDeptService.selectDeptById(user.getDeptId()); |
| | | if (Constant.DEPT_TYPE_20.equals(userDept.getType())) { |
| | | return deviceSerRepository.getDataByDeptId(user.getDeptId() + ""); |
| | | }else { |
| | | return deviceSerRepository.getDataByParentId(user.getDeptId() + "%"); |
| | | return this.listDeviceSer(null, user.getDeptId() + "", null); |
| | | } else { |
| | | return this.listDeviceSer(null, null, user.getDeptId() + ""); |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * JPA 查询分机 |
| | | * 查询分机 |
| | | * |
| | | * @param companyId |
| | | * @param id |
| | |
| | | if (StringUtils.isEmpty(companyId)) { |
| | | companyId = ContextUtil.getCompanyId(); |
| | | } |
| | | return deviceSerRepository.getDataById(companyId, id); |
| | | |
| | | QueryWrapper<DeviceSer> queryWrapper = new QueryWrapper<>(); |
| | | queryWrapper.eq("company_id", companyId); |
| | | queryWrapper.eq("id", id); |
| | | |
| | | return deviceSerMapper.selectOne(queryWrapper); |
| | | } |
| | | |
| | | /** |
| | | * JPA 更新保存分机 |
| | | * 更新保存分机 |
| | | * |
| | | * @param ser |
| | | */ |
| | |
| | | } |
| | | if (StringUtils.isEmpty(ser.getCompanyId())) { |
| | | ser.setCompanyId(ContextUtil.getCompanyId()); |
| | | } |
| | | if (StringUtils.isEmpty(ser.getDeptId())) { |
| | | ser.setDeptId(ContextUtil.subDeptId(null)); |
| | | } |
| | | if (StringUtils.isBlank(ser.getUpdateBy())) { |
| | | ser.setCreateBy(ContextUtil.getLoginUserName()); |
| | | ser.setCreateTime(new Date()); |
| | | ser.setUpdateBy(ContextUtil.getLoginUserName()); |
| | | ser.setUpdateTime(new Date()); |
| | | deviceSerMapper.insert(ser); |
| | | } else { |
| | | ser.setUpdateBy(ContextUtil.getLoginUserName()); |
| | | ser.setUpdateTime(new Date()); |
| | | deviceSerMapper.updateById(ser); |
| | | } |
| | | |
| | | ser.setUpdateBy(ContextUtil.getLoginUserName()); |
| | | ser.setUpdateTime(new Date()); |
| | | deviceSerRepository.save(ser); |
| | | refreshCache(ser.getCompanyId()); |
| | | } |
| | | |
| | | /** |
| | | * JPA 更新保存分机 |
| | | * 更新保存分机 |
| | | * |
| | | * @param ser |
| | | */ |
| | | public void delSer(DeviceSer ser) { |
| | | deviceSerRepository.delete(ser); |
| | | deviceSerMapper.deleteById(ser); |
| | | |
| | | //删除缓存 |
| | | delCache(ser.getCompanyId(), ser.getId()); |
| | |
| | | |
| | | /** |
| | | * 更新分机信息 |
| | | * |
| | | * @param status |
| | | * @param ip |
| | | * @param port |
| | |
| | | ser.setPort(port); |
| | | ser.setUpdateTime(new Date()); |
| | | |
| | | deviceSerRepository.save(ser); |
| | | deviceSerMapper.updateById(ser); |
| | | setCacheSer(ser); |
| | | } |
| | | |
| | | /** |
| | | * 更新分机信息 |
| | | * |
| | | * @param data |
| | | */ |
| | | public void updateByData(DeviceSer data) { |
| | |
| | | ser.setPort(data.getPort()); |
| | | ser.setUpdateTime(new Date()); |
| | | ser.setSn(data.getSn()); |
| | | deviceSerRepository.save(ser); |
| | | deviceSerMapper.updateById(ser); |
| | | |
| | | setCacheSer(ser); |
| | | } |
| | | |
| | | /** |
| | | * 更新分机信息 |
| | | * |
| | | * @param companyId |
| | | * @param serId |
| | | * @param controlModel |
| | |
| | | ser.setStatus(Constant.YN_Y); |
| | | ser.setControlModel(controlModel); |
| | | ser.setUpdateTime(new Date()); |
| | | deviceSerRepository.save(ser); |
| | | deviceSerMapper.updateById(ser); |
| | | |
| | | setCacheSer(ser); |
| | | } |
| | |
| | | if (StringUtils.isEmpty(companyId)) { |
| | | companyId = ContextUtil.getCompanyId(); |
| | | } |
| | | List<DeviceSer> list = this.getAllSer(); |
| | | List<DeviceSer> list = this.listDeviceSer(companyId, null, null); |
| | | this.setCacheSer(list, companyId); |
| | | } |
| | | |
| | |
| | | |
| | | /** |
| | | * 根据类型获取分机信息 |
| | | * |
| | | * @param companyId |
| | | * @param type |
| | | * @return |
| | | */ |
| | | public List<DeviceSer> getSerCacheByType(String companyId, String type) { |
| | | List<DeviceSer> listAll = this.getCacheSerList(companyId); |
| | | if (null == listAll || listAll.isEmpty()){ |
| | | if (null == listAll || listAll.isEmpty()) { |
| | | return null; |
| | | } |
| | | if (null == type){ |
| | | if (null == type) { |
| | | return listAll; |
| | | } |
| | | List<DeviceSer> result = new ArrayList<DeviceSer>(); |
| | |
| | | } |
| | | |
| | | /** |
| | | * JPA-更新设备全部离线 |
| | | * -更新设备全部离线 |
| | | * |
| | | * @param companyId |
| | | */ |
| | | public void allOffLine(String companyId) { |
| | | if (StringUtils.isEmpty(companyId)) { |
| | | companyId = ContextUtil.getCompanyId(); |
| | | } |
| | | deviceSerRepository.updateSerStatus(companyId, Constant.YN_N); |
| | | |
| | | UpdateWrapper<DeviceSer> updateWrapper = new UpdateWrapper<>(); |
| | | updateWrapper.eq("company_id", companyId).set("status", Constant.YN_N); |
| | | deviceSerMapper.update(null, updateWrapper); |
| | | } |
| | | |
| | | /** |
| | | * JPA-根据SN更新状态 |
| | | * -根据SN更新状态 |
| | | * |
| | | * @param ip |
| | | * @param port |
| | | * @param sn |
| | | * @param status |
| | | */ |
| | | public void onlineBySn(String ip, Integer port, String sn, String status) { |
| | | deviceSerRepository.updateBySn(ip, port, status, sn, new Date()); |
| | | |
| | | UpdateWrapper<DeviceSer> updateWrapper = new UpdateWrapper<>(); |
| | | updateWrapper.eq("sn", sn).set("ip", ip).set("port", port).set("update_time", new Date()); |
| | | deviceSerMapper.update(null, updateWrapper); |
| | | } |
| | | |
| | | } |