提交 7475f0ff authored 作者: zhoushaopan's avatar zhoushaopan

feat(增加修改ip接口): 增加修改ip接口

释放读写机资源
上级 0fc9fda3
......@@ -42,12 +42,20 @@
<artifactId>socket</artifactId>
</dependency>
<!-- <dependency>-->
<!-- <groupId>com.zebra</groupId>-->
<!-- <artifactId>sdk1</artifactId>-->
<!-- <version>1.0.0</version>-->
<!-- <scope>system</scope>-->
<!-- <systemPath>${project.basedir}/src/main/resources/lib/ModuleAPI_Java_2.2.0.0.jar</systemPath>-->
<!-- </dependency>-->
<dependency>
<groupId>com.zebra</groupId>
<artifactId>sdk1</artifactId>
<version>1.0.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/resources/lib/ModuleAPI_Java_2.2.0.0.jar</systemPath>
<systemPath>${project.basedir}/src/main/resources/lib/ModuleAPI_J.jar</systemPath>
</dependency>
</dependencies>
......
package com.tykj.dev.readmachine.devreadmachine.Entity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.annotations.SQLDelete;
import org.hibernate.annotations.Where;
import org.springframework.data.annotation.CreatedBy;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedBy;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
import javax.persistence.*;
import java.util.Date;
/**
* @author zsp
* @create 2021/12/3 10:24
*/
@Data
@Entity
@EntityListeners(AuditingEntityListener.class)
@SQLDelete(sql = "update read_machine_ip set delete_tag = 1 where id = ?")
@Where(clause = "delete_tag = 0")
@ApiModel("读写机ip表")
public class ReadMachineIp {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer id;
@ApiModelProperty(value = "ip")
private String ip;
@ApiModelProperty(value = "子网掩码")
private String mask;
@ApiModelProperty(value = "网关")
private String gateway;
@ApiModelProperty(value = "读写机名称")
private String readMachineName;
@ApiModelProperty(value = "删除标志位")
private Integer deleteTag = 0;
}
......@@ -12,10 +12,11 @@ import com.tykj.dev.readmachine.devreadmachine.Entity.ReadMachineBill;
import com.tykj.dev.readmachine.devreadmachine.Entity.ReadMachineLibrary;
import com.tykj.dev.readmachine.devreadmachine.Vo.*;
import com.tykj.dev.readmachine.devreadmachine.service.ReadMachineBillService;
import com.tykj.dev.readmachine.devreadmachine.service.ReadMachineIpService;
import com.tykj.dev.readmachine.devreadmachine.service.ReadMachineLibraryService;
import com.tykj.dev.readmachine.devreadmachine.socket.ReadWebSocket;
import com.tykj.dev.readmachine.devreadmachine.toBack.BackReadDetailVo;
import com.tykj.dev.rfid.timeTask.ReadUtils;
import com.tykj.dev.readmachine.devreadmachine.util.ReadUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
......@@ -54,6 +55,9 @@ public class ReadMachineBillController {
@Resource
private UserCache userCache;
@Autowired
private ReadMachineIpService readMachineIpService;
@Autowired
private ReadMachineLibraryService readMachineLibraryService;
......@@ -73,15 +77,15 @@ public class ReadMachineBillController {
// @Autowired
// private ReadUtils readUtils;
static{
//增加一个全局变量,只要加载过这个so就不再执行,除非进程重启才会清掉该变量。
if(System.getProperty("myapplibrary")==null){
log.info("myapplibrary:{}",System.getProperty("myapplibrary"));
System.setProperty("myapplibrary", "libModuleAPIJni.so");
// System.loadLibrary("libModuleAPIJni");
System.load("/usr/lib/libModuleAPIJni.so");
}
}
// static{
// //增加一个全局变量,只要加载过这个so就不再执行,除非进程重启才会清掉该变量。
// if(System.getProperty("myapplibrary")==null){
// log.info("myapplibrary:{}",System.getProperty("myapplibrary"));
// System.setProperty("myapplibrary", "libModuleAPIJni.so");
//// System.loadLibrary("libModuleAPIJni");
// System.load("/usr/lib/libModuleAPIJni.so");
// }
// }
@ApiOperation(value = "保存盘存接口", notes = "保存盘存接口")
@PostMapping(value = "/addReadMachineBill")
......@@ -161,8 +165,11 @@ public class ReadMachineBillController {
*/
public List<DeviceLibrary> startDeviceDetail(){
ReadUtils readUtils = new ReadUtils();
//先获取ip1
//TODO 后续考虑做成ip的选择,目前先写死
String ip = readMachineIpService.findById(1).getIp();
//先开启
readUtils.testinitreader();
readUtils.testinitreader(ip);
while (localFlag){
//开始盘存
List<String> rfids = readUtils.testinventory1();
......
package com.tykj.dev.readmachine.devreadmachine.controller;
import com.tykj.dev.config.swagger.AutoDocument;
import com.tykj.dev.misc.exception.ApiException;
import com.tykj.dev.readmachine.devreadmachine.Entity.ReadMachineIp;
import com.tykj.dev.readmachine.devreadmachine.service.ReadMachineIpService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.stream.Collectors;
/**
* @author zsp
* @create 2021/12/3 10:59
*/
@RestController
@RequestMapping(value = "/readIp")
@AutoDocument
@Api(tags = "修改ip", description = "修改ip")
@Slf4j
public class ReadMachineIpController {
@Autowired
private ReadMachineIpService readMachineIpService;
@ApiOperation(value = "修改ip的接口", notes = "修改ip的接口")
@PostMapping(value = "/updateIp")
@Transactional(rollbackFor = Exception.class)
public ResponseEntity<ReadMachineIp> updateIp(@RequestBody ReadMachineIp readMachineIp) {
ReadMachineIp readMachineIp1 = readMachineIpService.updateIp(readMachineIp);
return ResponseEntity.ok(readMachineIp1);
}
@ApiOperation(value = "新增ip接口", notes = "新增ip接口")
@PostMapping(value = "/addIp")
@Transactional(rollbackFor = Exception.class)
public ResponseEntity<String> addIp(@RequestBody ReadMachineIp readMachineIp) {
//先判断名称是否存在
List<String> names =
readMachineIpService.findAll().stream().map(ReadMachineIp::getReadMachineName).collect(Collectors.toList());
if (!names.isEmpty()){
if (names.contains(readMachineIp.getReadMachineName())){
throw new ApiException("该名称已经存在,请更换名称");
}
}
readMachineIpService.addIp(readMachineIp);
return ResponseEntity.ok("新增ip成功");
}
@ApiOperation(value = "查询ip列表", notes = "查询ip列表")
@PostMapping(value = "/findAllIp")
@Transactional(rollbackFor = Exception.class)
public ResponseEntity<List<ReadMachineIp>> findAllIp() {
List<ReadMachineIp> readMachineIpList = readMachineIpService.findAll();
return ResponseEntity.ok(readMachineIpList);
}
@ApiOperation(value = "选中要使用的读写机", notes = "选中要使用的读写机")
@GetMapping(value = "/selectIp")
@Transactional(rollbackFor = Exception.class)
public ResponseEntity<ReadMachineIp> selectIp(Integer id) {
ReadMachineIp readMachineIp = readMachineIpService.findById(id);
return ResponseEntity.ok(readMachineIp);
}
}
package com.tykj.dev.readmachine.devreadmachine.repository;
import com.tykj.dev.readmachine.devreadmachine.Entity.ReadMachineIp;
import com.tykj.dev.readmachine.devreadmachine.Entity.ReadMachineLibrary;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import java.util.List;
/**
* @author zsp
* @create 2021/12/3 10:52
*/
public interface ReadMachineIpDao extends JpaRepository<ReadMachineIp,Integer>, JpaSpecificationExecutor<ReadMachineIp> {
}
package com.tykj.dev.readmachine.devreadmachine.service;
import com.tykj.dev.readmachine.devreadmachine.Entity.ReadMachineIp;
import java.util.List;
/**
* @author zsp
* @create 2021/12/3 10:59
*/
public interface ReadMachineIpService {
/**
* add
* @param machineIp addIp
*/
void addIp(ReadMachineIp machineIp);
/**
* update
* @param machineIp updateIp
*/
ReadMachineIp updateIp(ReadMachineIp machineIp);
/**
* 根据id查询
*/
ReadMachineIp findById(Integer id);
/**
* 查询全部
*/
List<ReadMachineIp> findAll();
void deleteById(Integer id);
ReadMachineIp findByName(String name);
}
package com.tykj.dev.readmachine.devreadmachine.service.impl;
import com.github.wenhao.jpa.PredicateBuilder;
import com.github.wenhao.jpa.Specifications;
import com.tykj.dev.device.library.repository.DeviceLibraryPositionDao;
import com.tykj.dev.device.library.service.DeviceLibraryPositionService;
import com.tykj.dev.device.library.subject.domin.DeviceLibraryPosition;
import com.tykj.dev.device.user.util.UserUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author zsp
* @create 2021/12/13 16:23
*/
@Service
public class DeviceLibraryPositionServiceImpl implements DeviceLibraryPositionService {
@Autowired
private UserUtils userUtils;
@Autowired
private DeviceLibraryPositionDao deviceLibraryPositionDao;
@Override
public void addDeviceLibraryPosition(DeviceLibraryPosition deviceLibraryPosition) {
deviceLibraryPositionDao.save(deviceLibraryPosition);
}
@Override
public void updateDeviceLibraryPosition(DeviceLibraryPosition deviceLibraryPosition) {
deviceLibraryPositionDao.save(deviceLibraryPosition);
}
@Override
public void batchDeviceLibraryPositions(List<DeviceLibraryPosition> deviceLibraryPositions) {
deviceLibraryPositionDao.saveAll(deviceLibraryPositions);
}
@Override
public List<DeviceLibraryPosition> findByStorageLocationId(Integer StorageLocationId) {
return deviceLibraryPositionDao.findAllByStorageLocationId(StorageLocationId);
}
}
package com.tykj.dev.readmachine.devreadmachine.service.impl;
import com.tykj.dev.readmachine.devreadmachine.Entity.ReadMachineIp;
import com.tykj.dev.readmachine.devreadmachine.repository.ReadMachineIpDao;
import com.tykj.dev.readmachine.devreadmachine.service.ReadMachineIpService;
import com.tykj.dev.readmachine.devreadmachine.util.ReadUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Optional;
/**
* @author zsp
* @create 2021/12/14 13:18
*/
@Service
@Slf4j
public class ReadMachineIpServiceImpl implements ReadMachineIpService {
@Autowired
private ReadMachineIpDao readMachineIpDao;
@Override
public void addIp(ReadMachineIp machineIp) {
readMachineIpDao.save(machineIp);
}
@Override
public ReadMachineIp updateIp(ReadMachineIp machineIp) {
ReadUtils readUtils = new ReadUtils();
readUtils.testsetip(machineIp.getIp(),machineIp.getMask(), machineIp.getGateway());
log.info("读写机ip修改成功");
return readMachineIpDao.save(machineIp);
}
@Override
public ReadMachineIp findById(Integer id) {
Optional<ReadMachineIp> re = readMachineIpDao.findById(id);
ReadMachineIp readMachineIp = new ReadMachineIp();
if (re.isPresent()){
readMachineIp = re.get();
}
return readMachineIp;
}
@Override
public List<ReadMachineIp> findAll() {
return readMachineIpDao.findAll();
}
@Override
public void deleteById(Integer id) {
readMachineIpDao.deleteById(id);
}
@Override
public ReadMachineIp findByName(String name) {
return null;
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论