package com.zy.core.thread; 
 | 
  
 | 
import com.alibaba.fastjson.JSONObject; 
 | 
import com.core.common.DateUtils; 
 | 
import com.zy.core.Slave; 
 | 
import com.zy.core.ThreadHandler; 
 | 
import com.zy.core.cache.OutputQueue; 
 | 
import lombok.Data; 
 | 
import lombok.extern.slf4j.Slf4j; 
 | 
  
 | 
import java.util.Date; 
 | 
  
 | 
/** 
 | 
 * 条码扫描仪线程 
 | 
 * Created by vincent on 2020/8/4 
 | 
 */ 
 | 
@Data 
 | 
@Slf4j 
 | 
public class BarcodeThread implements Runnable, ThreadHandler { 
 | 
  
 | 
    private Slave slave; 
 | 
    private StringBuffer barcode = new StringBuffer(); 
 | 
  
 | 
    public BarcodeThread(Slave slave) { 
 | 
        this.slave = slave; 
 | 
    } 
 | 
  
 | 
    public String getBarcode() { 
 | 
        return barcode.toString(); 
 | 
    } 
 | 
  
 | 
    public void setBarcode(String barcode) { 
 | 
        this.barcode.delete(0, this.barcode.length()); 
 | 
        this.barcode.append(barcode); 
 | 
        News.info("{}号条码器,检索数据:{}", slave.getId(), this.barcode); 
 | 
        JSONObject jsonObject = new JSONObject(); 
 | 
        jsonObject.put("time", DateUtils.convert(new Date(), DateUtils.yyyyMMddHHmmss_F)); 
 | 
        jsonObject.put("barcode", barcode); 
 | 
        if (OutputQueue.BARCODE.size() >= 32) { 
 | 
            OutputQueue.BARCODE.poll(); 
 | 
        } 
 | 
        OutputQueue.BARCODE.offer(jsonObject); 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public boolean connect() { 
 | 
        return false; 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public void close() { 
 | 
  
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public void run() { 
 | 
  
 | 
    } 
 | 
  
 | 
} 
 |