| package com.zy.core.thread; | 
|   | 
| import com.alibaba.fastjson.JSONObject; | 
| import com.core.common.Cools; | 
| import com.core.common.DateUtils; | 
| import com.zy.common.utils.News; | 
| 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); | 
|         if(!Cools.isEmpty(barcode)) { | 
|             News.info("Barcode"+" - 1"+" - {}号条码器,检索数据:{}", 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); | 
|         } | 
|     } | 
|     public void clearBarcode() { | 
|         this.barcode=new StringBuffer(); | 
|     } | 
|   | 
|     @Override | 
|     public boolean connect() { | 
|         return false; | 
|     } | 
|   | 
|     @Override | 
|     public void close() { | 
|   | 
|     } | 
|   | 
|     @Override | 
|     public void run() { | 
|   | 
|     } | 
|   | 
| } |