| | |
| | | package com.sandu.ximon.admin.service; |
| | | |
| | | import cn.hutool.core.collection.CollUtil; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.github.pagehelper.PageHelper; |
| | | import com.github.pagehelper.PageInfo; |
| | | import com.sandu.common.object.BaseConditionVO; |
| | | import com.sandu.common.service.impl.BaseServiceImpl; |
| | | import com.sandu.ximon.admin.param.BroadcastTerminalV2Param; |
| | | import com.sandu.ximon.admin.security.SecurityUtils; |
| | | import com.sandu.ximon.admin.utils.TerminalAPIUtils; |
| | | import com.sandu.ximon.admin.utils.request.BroadcastParams; |
| | | import com.sandu.ximon.admin.vo.TerminalVO; |
| | | import com.sandu.ximon.dao.bo.BroadcastTerminalV2EntityBo; |
| | | import com.sandu.ximon.dao.domain.BroadcastTerminalV2Entity; |
| | | import com.sandu.ximon.dao.domain.BroadcastV2TaskTerminal; |
| | | import com.sandu.ximon.dao.domain.Monitor; |
| | | import com.sandu.ximon.dao.mapper.BroadcastTerminalV2EntityMapper; |
| | | import com.sandu.ximon.dao.mapper.BroadcastV2TaskTerminalMapper; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | @Service |
| | | public class BroadcastTerminalV2Service { |
| | | /* |
| | | private final BroadcastV2TaskTerminalMapper broadcastV2TaskTerminalDao; |
| | | public class BroadcastTerminalV2Service extends BaseServiceImpl<BroadcastTerminalV2EntityMapper, BroadcastTerminalV2Entity> { |
| | | // private final BroadcastV2TaskTerminalMapper broadcastV2TaskTerminalDao; |
| | | // @Autowired |
| | | // private SysUserRoleService sysUserRoleService; |
| | | // @Autowired |
| | | // private SysUserCompanyService sysUserCompanyService; |
| | | // @Autowired |
| | | // private BroadcastV2TaskTerminalMapper broadcastV2TaskTerminalMapper; |
| | | @Autowired |
| | | private BroadcastTerminalV2EntityMapper broadcastTerminalV2EntityMapper; |
| | | |
| | | *//** |
| | | * 获取列表 |
| | | * @param params |
| | | * @param userId |
| | | * @return |
| | | *//* |
| | | public PageInfo<BroadcastTerminalV2Entity> list(BroadcastParams params, Long userId) { |
| | | Long roleId = sysUserRoleService.queryRoleId(userId); |
| | | Long companyId = sysUserCompanyService.queryCompanyId(userId); |
| | | Integer limit = params.getLimit(); |
| | | Integer page = params.getPage(); |
| | | |
| | | |
| | | List<BroadcastTerminalV2Entity> list = null; |
| | | if(roleId == Constant.SUPER_ADMIN) { |
| | | PageHelper.startPage(page,limit); |
| | | list = broadcastTerminalV2Dao.listAll(params.getName()); |
| | | }else if(roleId == Constant.ADMIN) { |
| | | PageHelper.startPage(page,limit); |
| | | list = broadcastTerminalV2Dao.listByCompanyId(companyId, params.getName()); |
| | | }else { |
| | | PageHelper.startPage(page,limit); |
| | | list = broadcastTerminalV2Dao.listByUserId(userId,params.getName()); |
| | | } |
| | | PageInfo<BroadcastTerminalV2Entity> pageInfo = new PageInfo(list); |
| | | |
| | | for(BroadcastTerminalV2Entity b :pageInfo.getList()){ |
| | | try { |
| | | TerminalVO terminalInfo = TerminalAPIUtils.getTerminalInfo(b.getId()); |
| | | if(null == terminalInfo) { |
| | | b.setExist(0); |
| | | }else { |
| | | b.setExist(1); |
| | | } |
| | | b.setStatus(terminalInfo.getStatus()); |
| | | b.setIp(terminalInfo.getIp()); |
| | | b.setVolumn(terminalInfo.getVolumn()); |
| | | b.setDefaultVolumn(terminalInfo.getDefaultVolumn()); |
| | | b.setPower(terminalInfo.getPower()); |
| | | b.setDefaultPower(terminalInfo.getDefaultPower()); |
| | | b.setLast(terminalInfo.getLast()); |
| | | b.setTaskType(terminalInfo.getTaskType()); |
| | | b.setTaskID(terminalInfo.getTaskID()); |
| | | }catch (Exception e) { |
| | | b.setExist(2); |
| | | } |
| | | } |
| | | return pageInfo; |
| | | } |
| | | |
| | | *//** |
| | | /** |
| | | * 同步终端 |
| | | *//* |
| | | */ |
| | | public void synchTerminal() { |
| | | List<BroadcastTerminalV2Entity> server = broadcastTerminalV2Dao.listAll(""); |
| | | List<BroadcastTerminalV2Entity> server = broadcastTerminalV2EntityMapper.listAll(""); |
| | | List<TerminalVO> list = TerminalAPIUtils.getTerminalList(); |
| | | list.stream().forEach(item->{ |
| | | System.out.println(list); |
| | | list.stream().forEach(item -> { |
| | | // 音柱服务器终端ID |
| | | Integer id = item.getId(); |
| | | boolean add = true; |
| | | // 遍历数据库终端 |
| | | for(BroadcastTerminalV2Entity b: server) { |
| | | for (BroadcastTerminalV2Entity b : server) { |
| | | Integer id1 = b.getId(); |
| | | if(id.equals(id1)){ |
| | | if (id.equals(id1)) { |
| | | add = false; |
| | | break; |
| | | } |
| | | } |
| | | if(add){ |
| | | if (add) { |
| | | BroadcastTerminalV2Entity b = new BroadcastTerminalV2Entity(); |
| | | b.setId(id); |
| | | b.setTerminalName(item.getName()); |
| | | b.setStreetlightId(0l); |
| | | b.setStreetlightId(0L); |
| | | b.setExist(1); |
| | | broadcastTerminalV2Dao.insert(b); |
| | | // save(b); |
| | | broadcastTerminalV2EntityMapper.insert(b); |
| | | } |
| | | }); |
| | | |
| | | |
| | | } |
| | | |
| | | *//** |
| | | public List<BroadcastTerminalV2EntityBo> getBroadcastTerminalList(BaseConditionVO baseConditionVO, BroadcastTerminalV2Param broadcastTerminalV2Param) { |
| | | if (broadcastTerminalV2Param == null) { |
| | | broadcastTerminalV2Param = new BroadcastTerminalV2Param(); |
| | | } |
| | | Long clientId = SecurityUtils.getClientId(); |
| | | |
| | | //在线状态全部的话需要分页 |
| | | if (2 == broadcastTerminalV2Param.getWorkState()) { |
| | | PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize()); |
| | | } |
| | | |
| | | List<BroadcastTerminalV2EntityBo> broadcastTerminalV2EntityBos; |
| | | List<BroadcastTerminalV2EntityBo> broadcastTerminalV2EntityBos_final = new ArrayList<>(); |
| | | //绑定状态:已绑定/未绑定/全部 |
| | | if (broadcastTerminalV2Param.getBindingState() == null || 2 == broadcastTerminalV2Param.getBindingState()) { |
| | | //全部 |
| | | int bindingState = 2; |
| | | broadcastTerminalV2EntityBos = broadcastTerminalV2EntityMapper.getBroadcastTerminalList(broadcastTerminalV2Param.getKeyword(), clientId, bindingState); |
| | | } else { |
| | | broadcastTerminalV2EntityBos = broadcastTerminalV2EntityMapper.getBroadcastTerminalList(broadcastTerminalV2Param.getKeyword(), clientId, broadcastTerminalV2Param.getBindingState()); |
| | | } |
| | | |
| | | List<TerminalVO> list = TerminalAPIUtils.getTerminalList(); |
| | | for (BroadcastTerminalV2EntityBo bean : broadcastTerminalV2EntityBos) { |
| | | for (TerminalVO terminalVO : list) { |
| | | if (bean.getId().equals(terminalVO.getId())) { |
| | | bean.setStatus(terminalVO.getStatus()); |
| | | bean.setIp(terminalVO.getIp()); |
| | | bean.setVolumn(terminalVO.getVolumn()); |
| | | bean.setDefaultVolumn(terminalVO.getDefaultVolumn()); |
| | | bean.setPower(terminalVO.getPower()); |
| | | bean.setDefaultPower(terminalVO.getDefaultPower()); |
| | | bean.setLast(terminalVO.getLast()); |
| | | bean.setTaskType(terminalVO.getTaskType()); |
| | | bean.setTaskID(terminalVO.getTaskID()); |
| | | |
| | | if (0 == broadcastTerminalV2Param.getWorkState() && 0 == terminalVO.getStatus()) { |
| | | broadcastTerminalV2EntityBos_final.add(bean); |
| | | } else if (1 == broadcastTerminalV2Param.getWorkState() && 1 == terminalVO.getStatus()) { |
| | | broadcastTerminalV2EntityBos_final.add(bean); |
| | | } |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | if (2 == broadcastTerminalV2Param.getWorkState()) { |
| | | return broadcastTerminalV2EntityBos; |
| | | } else { |
| | | return broadcastTerminalV2EntityBos_final; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 修改设备绑定状态 |
| | | * |
| | | * @param flag true为绑定 false 为解绑 |
| | | */ |
| | | public void updateBingdingState(boolean flag, int deviceCode) { |
| | | if (flag) {//绑定 |
| | | BroadcastTerminalV2Entity broadcastTerminalV2Entity = getOne(Wrappers.lambdaQuery(BroadcastTerminalV2Entity.class).eq(BroadcastTerminalV2Entity::getId, deviceCode)); |
| | | if (broadcastTerminalV2Entity == null) { |
| | | return; |
| | | } |
| | | broadcastTerminalV2Entity.setBindStates(1); |
| | | updateById(broadcastTerminalV2Entity); |
| | | } else {//解绑 |
| | | BroadcastTerminalV2Entity broadcastTerminalV2Entity = getOne(Wrappers.lambdaQuery(BroadcastTerminalV2Entity.class).eq(BroadcastTerminalV2Entity::getId, deviceCode)); |
| | | if (broadcastTerminalV2Entity == null) { |
| | | return; |
| | | } |
| | | broadcastTerminalV2Entity.setBindStates(0); |
| | | updateById(broadcastTerminalV2Entity); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 修改终端 |
| | | * @param params |
| | | * @param params |
| | | * @return 0:成功 1:名称不能为空 |
| | | *//* |
| | | public Integer updateTerminal(BroadcastParams params, Long userId) { |
| | |
| | | return 0; |
| | | } |
| | | |
| | | *//** |
| | | */ |
| | | |
| | | /** |
| | | * 音量修改 |
| | | * |
| | | * @param params |
| | | * @param userId |
| | | * @return |
| | | *//* |
| | | public Integer changeVol(BroadcastParams params, Long userId) { |
| | | boolean b = TerminalAPIUtils.changeVol(params.getTerminalId(), params.getDefaultVolumn(), userId); |
| | | if(b){ |
| | | return 0; |
| | | } |
| | | return 1; |
| | | */ |
| | | public boolean changeVol(BroadcastTerminalV2Param params) { |
| | | return TerminalAPIUtils.changeVol(params.getId(), params.getDefaultVolumn()); |
| | | } |
| | | |
| | | public List<BroadcastTerminalV2Entity> getAll(Long userId) { |
| | | /*public List<BroadcastTerminalV2Entity> getAll(Long userId) { |
| | | Long roleId = sysUserRoleService.queryRoleId(userId); |
| | | Long companyId = sysUserCompanyService.queryCompanyId(userId); |
| | | |