需求优化

main
zhaoyu 2025-04-29 08:42:35 +08:00
parent 9e2462fb7e
commit 702b1a008a
2 changed files with 21 additions and 4 deletions

View File

@ -50,7 +50,13 @@ public class KafkaMessageListener {
combinedMap.putAll(subMap); combinedMap.putAll(subMap);
} }
if(combinedMap.containsKey(terminalNo)) { if(combinedMap.containsKey(terminalNo)) {
jsonObject.put("MAP_POINT_NAME", combinedMap.get(terminalNo)); String[] userAndStaffNo = combinedMap.get(terminalNo).split("@");
jsonObject.put("MAP_POINT_NAME", userAndStaffNo[0]);
jsonObject.put("staffNo", userAndStaffNo[1]);
jsonObject.put("orgName", userAndStaffNo[2]);
jsonObject.put("name", userAndStaffNo[3]);
}else {
return;
} }
// 根据 terminalNo 设备号 找到redis里存在的 如果不存在 直接追加 // 根据 terminalNo 设备号 找到redis里存在的 如果不存在 直接追加
// 如果存在 比对时间 以时间新的为准 更新redis // 如果存在 比对时间 以时间新的为准 更新redis
@ -64,11 +70,11 @@ public class KafkaMessageListener {
Long b = Long.parseLong(str3); Long b = Long.parseLong(str3);
if(a<b){ if(a<b){
redisTemplate.opsForValue().set("Kafka@"+terminalNo, jsonObject.toJSONString()); redisTemplate.opsForValue().set("Kafka@"+terminalNo, jsonObject.toJSONString());
redisTemplate.expire("Kafka@"+terminalNo, 5, TimeUnit.MINUTES); redisTemplate.expire("Kafka@"+terminalNo, 30, TimeUnit.SECONDS);
} }
}else { }else {
redisTemplate.opsForValue().set("Kafka@"+terminalNo, jsonObject.toJSONString()); redisTemplate.opsForValue().set("Kafka@"+terminalNo, jsonObject.toJSONString());
redisTemplate.expire("Kafka@"+terminalNo, 5, TimeUnit.MINUTES); redisTemplate.expire("Kafka@"+terminalNo, 30, TimeUnit.SECONDS);
} }
} }
} }

View File

@ -2,10 +2,13 @@ package com.zcloud.task;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.zcloud.common.utils.DateUtil;
import com.zcloud.common.utils.DateUtils;
import com.zcloud.modules.job.task.ITask; import com.zcloud.modules.job.task.ITask;
import com.zcloud.util.personnelPositioning.OpenAPI; import com.zcloud.util.personnelPositioning.OpenAPI;
import com.zcloud.util.personnelPositioning.sendAPI; import com.zcloud.util.personnelPositioning.sendAPI;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@ -38,6 +41,10 @@ public class UserPositionInfoTask implements ITask {
JSONObject dataJson = JSONObject.parseObject(redisValueJson.getString("data")); JSONObject dataJson = JSONObject.parseObject(redisValueJson.getString("data"));
JSONArray data = dataJson.getJSONArray("data"); JSONArray data = dataJson.getJSONArray("data");
JSONArray jsonArray = new JSONArray(); JSONArray jsonArray = new JSONArray();
String newDateStr = DateUtil.date2Str(new Date(), "yyyy-MM-dd HH:mm:ss");
if(StringUtils.contains(newDateStr,"00:00:00")){
}
for (int i = 0; i < data.size(); i++) { for (int i = 0; i < data.size(); i++) {
JSONObject item = data.getJSONObject(i); JSONObject item = data.getJSONObject(i);
JSONObject terminal = JSONObject.parseObject(item.getString("terminal")); JSONObject terminal = JSONObject.parseObject(item.getString("terminal"));
@ -45,7 +52,11 @@ public class UserPositionInfoTask implements ITask {
JSONObject redisJson = new JSONObject(); JSONObject redisJson = new JSONObject();
String terminalNo = terminal.getString("terminalNo"); String terminalNo = terminal.getString("terminalNo");
String userName = item.getString("staffName"); String userName = item.getString("staffName");
redisJson.put(terminalNo,userName); String staffNo = item.getString("staffNo");
String orgName = item.getString("orgName");
JSONObject bizObject = JSONObject.parseObject(item.getString("biz"));
String name = bizObject.getString("name");
redisJson.put(terminalNo,userName+"@"+staffNo+"@"+orgName+"@"+name);
jsonArray.add(redisJson); jsonArray.add(redisJson);
} }
} }