grgw_wdcj_java/wsdjc/.svn/pristine/70/709ccf19c96800d00911630479e...

120 lines
3.5 KiB
Plaintext
Raw Normal View History

2025-07-02 09:18:59 +08:00
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);
}
}