123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209 |
- package com.ruoyi.sim.service.impl;
- import java.util.*;
- import com.ruoyi.common.core.domain.AjaxResult;
- import com.ruoyi.common.utils.DateUtils;
- import com.ruoyi.sim.domain.Sim;
- import com.ruoyi.sim.domain.vo.SeatVo;
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.beans.BeanUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import com.ruoyi.sim.mapper.SeatMapper;
- import com.ruoyi.sim.domain.Seat;
- /**
- * 座Service业务层处理
- *
- * @author tom
- * @date 2024-12-13
- */
- @Service
- public class SeatService {
- @Autowired
- private SeatMapper seatMapper;
- /**
- * 查询座
- *
- * @param seatId 座主键
- * @return 座
- */
- public Seat selectSeatBySeatId(Long seatId) {
- return seatMapper.selectSeatBySeatId(seatId);
- }
- /**
- * 查询座列表
- *
- * @param seat 座
- * @return 座
- */
- public List<Seat> selectSeatList(Seat seat) {
- return seatMapper.selectSeatList(seat);
- }
- /**
- * 新增座
- *
- * @param seat 座
- * @return 结果
- */
- public int insertSeat(Seat seat) {
- seat.setCreateTime(DateUtils.getNowDate());
- return seatMapper.insertSeat(seat);
- }
- /**
- * 修改座
- *
- * @param seat 座
- * @return 结果
- */
- public int updateSeat(Seat seat) {
- seat.setUpdateTime(DateUtils.getNowDate());
- return seatMapper.updateSeat(seat);
- }
- /**
- * 批量删除座
- *
- * @param seatIds 需要删除的座主键
- * @return 结果
- */
- public int deleteSeatBySeatIds(Long[] seatIds) {
- return seatMapper.deleteSeatBySeatIds(seatIds);
- }
- /**
- * 删除座信息
- *
- * @param seatId 座主键
- * @return 结果
- */
- public int deleteSeatBySeatId(Long seatId) {
- return seatMapper.deleteSeatBySeatId(seatId);
- }
- // -------------------------------- tom add --------------------------------
- @Autowired
- private SimService simService;
- public boolean exist(Long seatId) {
- if (seatId == null) {
- return false;
- }
- if (seatId == 0) {
- return false;
- }
- Seat s = selectSeatBySeatId(seatId);
- if (s == null) {
- return false;
- }
- return true;
- }
- public List<Seat> listAllEnable() {
- List<Seat> list = new ArrayList<>();
- seatMapper.selectSeatList(new Seat()).stream().filter(Objects::nonNull).filter(s -> !StringUtils.equals(Seat.SocketState.DISABLE, s.getSeatRs485SocketState())).forEach(list::add);
- return list;
- }
- /**
- * 获取所有没有被禁用的 座 列表
- *
- * @return
- */
- public AjaxResult listAllEnableAj() {
- List<Seat> list1 = listAllEnable();
- List<SeatVo> list2 = new ArrayList<>();
- for (Seat seat : list1) {
- SeatVo vo = new SeatVo();
- BeanUtils.copyProperties(seat, vo);
- Sim sim = simService.selectSimBySimId(seat.getCurrentSimId());
- if (seat != null && seat.getCurrentSimId() != null && seat.getCurrentSimId() != 0L) {
- BeanUtils.copyProperties(sim, vo);
- }
- list2.add(vo);
- }
- return AjaxResult.success(list2);
- }
- public Seat uniqueBySeatNum(final Integer seatNum) {
- Seat q = new Seat();
- q.setSeatNum(seatNum);
- List<Seat> list = seatMapper.selectSeatList(q);
- if (list.isEmpty()) {
- return null;
- } else if (list.size() == 1) {
- return list.get(0);
- } else {
- throw new IllegalArgumentException("Seat数据错误。");
- }
- }
- public Seat uniqueByBindIp(final String bindIp) {
- Seat q = new Seat();
- q.setSeatBindIp(bindIp);
- List<Seat> list = seatMapper.selectSeatList(q);
- if (list.isEmpty()) {
- return null;
- } else if (list.size() == 1) {
- return list.get(0);
- } else {
- throw new IllegalArgumentException("Seat数据错误。");
- }
- }
- public Seat uniqueByRs485IpAndPort(final String rs485Ip, final int rs485Port) {
- Seat q = new Seat();
- q.setSeatRs485Ip(rs485Ip);
- q.setSeatRs485Port(rs485Port);
- List<Seat> list = seatMapper.selectSeatList(q);
- if (list.isEmpty()) {
- return null;
- } else if (list.size() == 1) {
- return list.get(0);
- } else {
- throw new IllegalArgumentException("Seat数据错误。");
- }
- }
- public void updateSimIdBySeatNum(final Integer seatNum, final Long simId) {
- Seat f = uniqueBySeatNum(seatNum);
- f.setCurrentSimId(simId);
- updateSeat(f);
- }
- public int updateAllEnableState(final String socketState) {
- List<Seat> list = listAllEnable();
- for (Seat seat : list) {
- seat.setSeatRs485SocketState(socketState);
- seatMapper.updateSeat(seat);
- }
- return list.size();
- }
- public List<String> listAllRs485Ip() {
- List<Seat> list = listAllEnable();
- Set<String> ips = new HashSet<>();
- list.forEach(seat -> ips.add(seat.getSeatRs485Ip()));
- return ips.stream().toList();
- }
- public void updateSocketStateBySeatNum(final Integer seatNum, final String socketState) {
- Seat f = uniqueBySeatNum(seatNum);
- f.setSeatRs485SocketState(socketState);
- updateSeat(f);
- }
- public void updateSocketStateByRs485Ip(final String rs485Ip, final String socketState) {
- Seat q = new Seat();
- q.setSeatRs485Ip(rs485Ip);
- selectSeatList(q).forEach(seat -> {
- seat.setSeatRs485SocketState(socketState);
- seatMapper.updateSeat(seat);
- });
- }
- }
|