120 lines
3.5 KiB
Plaintext
120 lines
3.5 KiB
Plaintext
|
package com.surfbird.util;
|
|||
|
|
|||
|
import java.text.SimpleDateFormat;
|
|||
|
import java.util.Date;
|
|||
|
import java.util.List;
|
|||
|
import java.util.Map;
|
|||
|
|
|||
|
import org.springframework.beans.factory.annotation.Autowired;
|
|||
|
import org.springframework.scheduling.annotation.Scheduled;
|
|||
|
import org.springframework.stereotype.Component;
|
|||
|
|
|||
|
import com.surfbird.business.bean.HeatAnalyze;
|
|||
|
import com.surfbird.business.bean.Instrucation;
|
|||
|
import com.surfbird.business.service.HeatAnalyzeService;
|
|||
|
import com.surfbird.business.service.HeatCollectService;
|
|||
|
import com.surfbird.business.service.InstrucationService;
|
|||
|
import com.surfbird.socket.server.service.MultiSocket;
|
|||
|
import com.surfbird.util.convert.DataHandle;
|
|||
|
import com.surfbird.util.convert.Recordable;
|
|||
|
|
|||
|
@Component
|
|||
|
public class DataCollect {
|
|||
|
@Autowired
|
|||
|
private HeatAnalyzeService analyze;
|
|||
|
@Autowired
|
|||
|
private HeatCollectService collect;
|
|||
|
@Autowired
|
|||
|
private InstrucationService instrucation;
|
|||
|
|
|||
|
/**
|
|||
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־.
|
|||
|
**/
|
|||
|
@Scheduled(cron="0 0 0 * * ?")
|
|||
|
public void clear() {
|
|||
|
Recordable.record("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݲɼ<DDB2><C9BC><EFBFBD>־(TQL_DATACOLLECT).");
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־.
|
|||
|
analyze.clear(new HeatAnalyze());
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* <20><><EFBFBD>ݲɼ<DDB2>ָ<EFBFBD><D6B8><EFBFBD>·<EFBFBD><C2B7><EFBFBD>ʱ<EFBFBD><CAB1>.
|
|||
|
**/
|
|||
|
@Scheduled(cron="0 * * * * ?")
|
|||
|
public void instructions() {
|
|||
|
Map<String, MultiSocket> client = ClientCollect.instance().getClient();
|
|||
|
Recordable.record("<22><>ǰ<EFBFBD><C7B0><EFBFBD>ӿͻ<D3BF><CDBB>ˣ<EFBFBD>" + client.size() + "<22><>.");
|
|||
|
for(Map.Entry<String, MultiSocket> object : client.entrySet()) {
|
|||
|
MultiSocket socket = object.getValue();
|
|||
|
try {
|
|||
|
socket.getWriter().write(DataHandle.toStringByte(socket.getClient().getOrder()));
|
|||
|
socket.getWriter().flush();
|
|||
|
} catch(Exception e) {
|
|||
|
socket.close();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* SQL SERVER <20><><EFBFBD>ݲɼ<DDB2><C9BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD>涨ʱ<E6B6A8><CAB1>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>).
|
|||
|
**/
|
|||
|
public void collect() {
|
|||
|
StringBuffer buffer = new StringBuffer();
|
|||
|
List<HeatAnalyze> list = collect.list();
|
|||
|
buffer.append("<22>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD>ݣ<EFBFBD>");
|
|||
|
buffer.append(list.size());
|
|||
|
buffer.append("<22><>");
|
|||
|
if(list.size() > 0 ) {
|
|||
|
buffer.append("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>[");
|
|||
|
for(HeatAnalyze heat : list) {
|
|||
|
//ͨ<><CDA8>SIM<49><4D>ѯCODE<44><45><EFBFBD><EFBFBD>.
|
|||
|
HeatAnalyze heatObject = analyze.show(heat);
|
|||
|
if(heatObject != null) {
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>.
|
|||
|
heat.setCode(heatObject.getCode());
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ.
|
|||
|
analyze.save(heat);
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
|||
|
collect.clear(heat);
|
|||
|
buffer.append("(");
|
|||
|
buffer.append(heat.getCode()).append(",");
|
|||
|
buffer.append(heat.getSim()).append(",");
|
|||
|
buffer.append(heat.getDatatime()).append(",");
|
|||
|
buffer.append(heat.getView005()).append(",");
|
|||
|
buffer.append(heat.getView006()).append(",");
|
|||
|
buffer.append(heat.getView007()).append(",");
|
|||
|
buffer.append(heat.getView008()).append(",");
|
|||
|
buffer.append(heat.getView009()).append(",");
|
|||
|
buffer.append(heat.getView010()).append(",");
|
|||
|
buffer.append(heat.getView011()).append(",");
|
|||
|
buffer.append(heat.getView012());
|
|||
|
buffer.append(")");
|
|||
|
} else {
|
|||
|
System.out.println("[" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + "] - δע<CEB4><D7A2><EFBFBD>豸<EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD>" + heat.getSim());
|
|||
|
}
|
|||
|
}
|
|||
|
buffer.append("].");
|
|||
|
} else {
|
|||
|
buffer.append(".");
|
|||
|
}
|
|||
|
//<2F><>¼<EFBFBD><C2BC><EFBFBD>ݲɼ<DDB2><C9BC><EFBFBD>־
|
|||
|
this.toInstrucation(buffer.toString(), "<22><><EFBFBD>ݲɼ<DDB2>-ת<><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* <20><>¼<EFBFBD><C2BC><EFBFBD>ݲɼ<DDB2><C9BC><EFBFBD>־.
|
|||
|
* @param content:<3A><>־<EFBFBD><D6BE><EFBFBD><EFBFBD>.
|
|||
|
* @param label:<3A><>־˵<D6BE><CBB5>.
|
|||
|
**/
|
|||
|
private void toInstrucation(String content, String label) {
|
|||
|
//<2F><>־<EFBFBD><D6BE><EFBFBD><EFBFBD>.
|
|||
|
Instrucation insObject = new Instrucation();
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD><D6BE><EFBFBD><EFBFBD>.
|
|||
|
insObject.setContent(content);
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD><D6BE><EFBFBD><EFBFBD>.
|
|||
|
insObject.setInstrucation(label);
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD><D6BE>Ϣ.
|
|||
|
instrucation.save(insObject);
|
|||
|
}
|
|||
|
}
|