diff --git a/stwzhj-auth/src/main/resources/logback-plus.xml b/stwzhj-auth/src/main/resources/logback-plus.xml
index ce76b73b..08a6057c 100644
--- a/stwzhj-auth/src/main/resources/logback-plus.xml
+++ b/stwzhj-auth/src/main/resources/logback-plus.xml
@@ -1,87 +1,49 @@
-
-
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+ ${log.path}/info.${log.file}.log
-
- ERROR
-
- DENY
-
- ACCEPT
+ INFO
+ ACCEPT
+ DENY
-
- ${log.path}${log.file}
-
- UTF-8
- %date [%level] [%thread] %logger{60} [%file : %line] %msg%n
-
- ${log.path}info/${log.file}.%d{yyyy-MM-dd}.%i.gz
- 50MB
- 20
+ ${log.path}/info/info.${log.file}.%d{yyyy-MM-dd}.%i.log.gz
+ ${MAX_FILE_SIZE}
+ ${MAX_HISTORY}
+
+ %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
+
-
-
-
+
+
+ ${log.path}/error.${log.file}.log
- Error
+ ERROR
-
- ${log.path}error.${log.file}
-
-
- ${log.path}error/${log.file}.%d{yyyy-MM-dd}.%i.gz
-
- 50MB
- 180
-
-
+ ${log.path}/error/error.${log.file}.%d{yyyy-MM-dd}.%i.log.gz
+ ${MAX_FILE_SIZE}
+ ${MAX_HISTORY}
-
- UTF-8
- %date [%level] [%thread] %logger{60} [%file : %line] %msg%n
+ %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
-
+
-
-
-
+
+
+
diff --git a/stwzhj-common/stwzhj-common-dubbo/src/main/resources/common-dubbo.yml b/stwzhj-common/stwzhj-common-dubbo/src/main/resources/common-dubbo.yml
index 349a911d..90a28d63 100644
--- a/stwzhj-common/stwzhj-common-dubbo/src/main/resources/common-dubbo.yml
+++ b/stwzhj-common/stwzhj-common-dubbo/src/main/resources/common-dubbo.yml
@@ -23,7 +23,7 @@ dubbo:
address: redis://${spring.data.redis.host}:${spring.data.redis.port}
group: DUBBO_GROUP
username: dubbo
- password: ruoyi123
+ password: Ycgis@2509
# 集群开关
sentinel: false
parameters:
diff --git a/stwzhj-modules/wzhj-system/src/main/java/org/dromara/system/controller/system/IndexStaticsController.java b/stwzhj-modules/wzhj-system/src/main/java/org/dromara/system/controller/system/IndexStaticsController.java
index 0d5049d5..0bc1caa7 100644
--- a/stwzhj-modules/wzhj-system/src/main/java/org/dromara/system/controller/system/IndexStaticsController.java
+++ b/stwzhj-modules/wzhj-system/src/main/java/org/dromara/system/controller/system/IndexStaticsController.java
@@ -112,32 +112,26 @@ public class IndexStaticsController extends BaseController {
* 各地市总数和在线数
* */
@PostMapping("/onLineBar")
- public R onLineBar(){
- List deptVoList = deptService.getDsList();
- List staticsVoList = deviceService.countByDs();
+ public R onLineBar(@RequestBody TDeviceBo bo){
+ SysDeptBo deptBo = new SysDeptBo();
+ deptBo.setIsVisible("1");
+ deptBo.setParentId(bo.getZzjgdm());
+ List deptVoList = deptService.selectDeptList(deptBo);
List list = new ArrayList<>(); //用来接收处理后的统计结果
for (SysDeptVo deptVo : deptVoList) {
- boolean bl = false; //用来统计结果是否有当前这个机构
- for (DeviceStaticsVo staticsVo : staticsVoList) {
- String deptId = staticsVo.getZzjgdm()+"00000000";
- if (deptId.equals(deptVo.getDeptId())){
- staticsVo.setZzjgdm(deptId);
- staticsVo.setZzjgmc(deptVo.getDeptName().replaceAll("公安局",""));
- int onlineCo = RedisUtils.searchKeys("org_code:"+staticsVo.getZzjgdm()+"*");
- staticsVo.setOnlineCo(onlineCo);
- list.add(staticsVo);
- bl = true;
- break;
- }
- }
- if (!bl){
- DeviceStaticsVo staticsVo = new DeviceStaticsVo();
- staticsVo.setZzjgdm(deptVo.getDeptId());
- staticsVo.setZzjgmc(deptVo.getDeptName().replaceAll("公安局",""));
- staticsVo.setCo(0);
- staticsVo.setOnlineCo(0);
- list.add(staticsVo);
- }
+ DeviceStaticsVo staticsVo = new DeviceStaticsVo();
+ TDeviceBo deviceBo = new TDeviceBo();
+ deviceBo.setZzjgdm(deptVo.getDeptId());
+ deviceBo.setValid(1);
+ DeviceRedis redis = new DeviceRedis();
+ redis.setZzjgdm(deptVo.getDeptId());
+ Long co = deviceService.countByCondition(deviceBo);
+ Long online = redisService.countByZzjgdm(redis);
+ staticsVo.setZzjgdm(deptVo.getDeptId());
+ staticsVo.setZzjgmc(deptVo.getShortName());
+ staticsVo.setCo(co);
+ staticsVo.setOnlineCo(online);
+ list.add(staticsVo);
}
return R.ok(list);
}
diff --git a/stwzhj-modules/wzhj-system/src/main/java/org/dromara/system/domain/vo/DeviceStaticsVo.java b/stwzhj-modules/wzhj-system/src/main/java/org/dromara/system/domain/vo/DeviceStaticsVo.java
index 066241a9..e2d5ba90 100644
--- a/stwzhj-modules/wzhj-system/src/main/java/org/dromara/system/domain/vo/DeviceStaticsVo.java
+++ b/stwzhj-modules/wzhj-system/src/main/java/org/dromara/system/domain/vo/DeviceStaticsVo.java
@@ -15,8 +15,8 @@ public class DeviceStaticsVo implements Serializable {
private String zzjgdm;
- private Integer co;
+ private Long co;
- private Integer onlineCo;
+ private Long onlineCo;
}
diff --git a/stwzhj-modules/wzhj-system/src/main/java/org/dromara/system/mapper/DeviceRedisMapper.java b/stwzhj-modules/wzhj-system/src/main/java/org/dromara/system/mapper/DeviceRedisMapper.java
index 308e93d8..a9b5139c 100644
--- a/stwzhj-modules/wzhj-system/src/main/java/org/dromara/system/mapper/DeviceRedisMapper.java
+++ b/stwzhj-modules/wzhj-system/src/main/java/org/dromara/system/mapper/DeviceRedisMapper.java
@@ -1,5 +1,8 @@
package org.dromara.system.mapper;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import org.apache.ibatis.annotations.Param;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.dromara.system.domain.DeviceRedis;
import org.dromara.system.domain.vo.DeviceRedisVo;
@@ -11,4 +14,6 @@ public interface DeviceRedisMapper extends BaseMapperPlus list);
List countByCondition(DeviceRedis redis);
+
+ Long countByzzjgdm(@Param(Constants.WRAPPER) Wrapper queryWrapper);
}
diff --git a/stwzhj-modules/wzhj-system/src/main/java/org/dromara/system/schedule/DeviceRedisSchedule.java b/stwzhj-modules/wzhj-system/src/main/java/org/dromara/system/schedule/DeviceRedisSchedule.java
index 7c219e82..d9032267 100644
--- a/stwzhj-modules/wzhj-system/src/main/java/org/dromara/system/schedule/DeviceRedisSchedule.java
+++ b/stwzhj-modules/wzhj-system/src/main/java/org/dromara/system/schedule/DeviceRedisSchedule.java
@@ -69,4 +69,21 @@ public class DeviceRedisSchedule {
RedisUtils.batchInsert(deviceInfoDataMap,-1);
}
+ /*
+ * 定时处理记录仪基本数据 10天没有更新的设备设置为删除状态
+ * */
+// @Scheduled(cron = "0 0 0/1 * * ?")
+ public void deleteZfjly(){
+ deviceService.deleteZfjly();
+ }
+
+
+ /*
+ * 定时删除设备状态为删除的定位信息和在线表
+ * */
+// @Scheduled(cron = "0 0 0/1 * * ?")
+ public void removeRedis(){
+ deviceService.deleteRedis();
+ }
+
}
diff --git a/stwzhj-modules/wzhj-system/src/main/java/org/dromara/system/service/IDeviceRedisService.java b/stwzhj-modules/wzhj-system/src/main/java/org/dromara/system/service/IDeviceRedisService.java
index 8870892c..b61ae2b4 100644
--- a/stwzhj-modules/wzhj-system/src/main/java/org/dromara/system/service/IDeviceRedisService.java
+++ b/stwzhj-modules/wzhj-system/src/main/java/org/dromara/system/service/IDeviceRedisService.java
@@ -9,4 +9,6 @@ public interface IDeviceRedisService {
int insertBatch(List list);
List countByCondition(DeviceRedis redis);
+
+ Long countByZzjgdm(DeviceRedis deviceRedis);
}
diff --git a/stwzhj-modules/wzhj-system/src/main/java/org/dromara/system/service/ITDeviceService.java b/stwzhj-modules/wzhj-system/src/main/java/org/dromara/system/service/ITDeviceService.java
index c2eeeb66..cc66f87c 100644
--- a/stwzhj-modules/wzhj-system/src/main/java/org/dromara/system/service/ITDeviceService.java
+++ b/stwzhj-modules/wzhj-system/src/main/java/org/dromara/system/service/ITDeviceService.java
@@ -85,4 +85,8 @@ public interface ITDeviceService {
TDeviceVo queryByDeviceCode(String deviceCode);
List selectDeviceExportList(TDeviceBo bo);
+
+ int deleteZfjly();
+
+ int deleteRedis();
}
diff --git a/stwzhj-modules/wzhj-system/src/main/java/org/dromara/system/service/impl/DeviceRedisServiceImpl.java b/stwzhj-modules/wzhj-system/src/main/java/org/dromara/system/service/impl/DeviceRedisServiceImpl.java
index a66adf19..a5a768b8 100644
--- a/stwzhj-modules/wzhj-system/src/main/java/org/dromara/system/service/impl/DeviceRedisServiceImpl.java
+++ b/stwzhj-modules/wzhj-system/src/main/java/org/dromara/system/service/impl/DeviceRedisServiceImpl.java
@@ -1,15 +1,20 @@
package org.dromara.system.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
+import org.apache.dubbo.config.annotation.DubboReference;
import org.apache.ibatis.session.ExecutorType;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
+import org.dromara.system.api.RemoteDataScopeService;
import org.dromara.system.domain.DeviceRedis;
+import org.dromara.system.domain.TDevice;
import org.dromara.system.domain.vo.DeviceRedisVo;
import org.dromara.system.mapper.DeviceRedisMapper;
import org.dromara.system.service.IDeviceRedisService;
+import org.dromara.system.service.ISysDeptService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -23,6 +28,9 @@ public class DeviceRedisServiceImpl implements IDeviceRedisService {
private final DeviceRedisMapper baseMapper;
+ @DubboReference
+ private RemoteDataScopeService remoteDataScopeService;
+
@Autowired
SqlSessionFactory sqlSessionFactory;
@@ -61,4 +69,13 @@ public class DeviceRedisServiceImpl implements IDeviceRedisService {
public List countByCondition(DeviceRedis redis) {
return baseMapper.countByCondition(redis);
}
+
+ @Override
+ public Long countByZzjgdm(DeviceRedis deviceRedis) {
+ LambdaQueryWrapper lqw = new LambdaQueryWrapper<>();
+ lqw.ne(DeviceRedis::getDeviceType,"9");
+ String depts = remoteDataScopeService.getDeptAndChild(deviceRedis.getZzjgdm());
+ lqw.inSql(DeviceRedis::getZzjgdm,depts);
+ return baseMapper.countByzzjgdm(lqw);
+ }
}
diff --git a/stwzhj-modules/wzhj-system/src/main/java/org/dromara/system/service/impl/SysDeptServiceImpl.java b/stwzhj-modules/wzhj-system/src/main/java/org/dromara/system/service/impl/SysDeptServiceImpl.java
index 577dfa52..456780bb 100644
--- a/stwzhj-modules/wzhj-system/src/main/java/org/dromara/system/service/impl/SysDeptServiceImpl.java
+++ b/stwzhj-modules/wzhj-system/src/main/java/org/dromara/system/service/impl/SysDeptServiceImpl.java
@@ -82,8 +82,8 @@ public class SysDeptServiceImpl implements ISysDeptService {
lqw.eq(StringUtils.isNotBlank(bo.getParentId()), SysDept::getParentId, bo.getParentId());
lqw.like(StringUtils.isNotBlank(bo.getDeptName()), SysDept::getDeptName, bo.getDeptName());
lqw.eq(StringUtils.isNotBlank(bo.getStatus()), SysDept::getStatus, bo.getStatus());
- lqw.eq(StringUtils.isNotBlank(bo.getIsVisible()),SysDept::getIsVisible,bo.getIsVisible());
lqw.eq(StringUtils.isNotBlank(bo.getFullName()), SysDept::getFullName, bo.getFullName());
+ lqw.eq(StringUtils.isNotBlank(bo.getIsVisible()),SysDept::getIsVisible,bo.getIsVisible());
lqw.orderByAsc(SysDept::getAncestors);
lqw.orderByAsc(SysDept::getParentId);
lqw.orderByAsc(SysDept::getOrderNum);
@@ -369,7 +369,7 @@ public class SysDeptServiceImpl implements ISysDeptService {
@Override
public List deviceStatics(String deviceType,String manageDeptId) {
- if(!manageDeptId.equals("341300000000")){
+ if(!manageDeptId.equals("341600000000")){
String subManageId = manageDeptId.substring(0,findLastNonZeroIndex(manageDeptId) + 1);
return baseMapper.deviceStaticsByDeptId(deviceType,subManageId);
diff --git a/stwzhj-modules/wzhj-system/src/main/java/org/dromara/system/service/impl/TDeviceServiceImpl.java b/stwzhj-modules/wzhj-system/src/main/java/org/dromara/system/service/impl/TDeviceServiceImpl.java
index 6254cb0f..0bdc10a4 100644
--- a/stwzhj-modules/wzhj-system/src/main/java/org/dromara/system/service/impl/TDeviceServiceImpl.java
+++ b/stwzhj-modules/wzhj-system/src/main/java/org/dromara/system/service/impl/TDeviceServiceImpl.java
@@ -14,9 +14,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
+import org.dromara.common.redis.utils.RedisUtils;
import org.dromara.system.api.RemoteDataScopeService;
+import org.dromara.system.domain.DeviceRedis;
import org.dromara.system.domain.vo.DeviceStaticsVo;
import org.dromara.system.domain.vo.TDeviceExportVo;
+import org.dromara.system.mapper.DeviceRedisMapper;
+import org.dromara.system.mapper.SysConfigMapper;
+import org.dromara.system.service.ISysConfigService;
import org.springframework.stereotype.Service;
import org.dromara.system.domain.bo.TDeviceBo;
import org.dromara.system.domain.vo.TDeviceVo;
@@ -43,6 +48,12 @@ public class TDeviceServiceImpl implements ITDeviceService {
private final TDeviceMapper baseMapper;
+ private final ISysConfigService configService;
+
+ private final DeviceRedisMapper redisMapper;
+
+ private String lastRemoveTime;
+
@DubboReference
private RemoteDataScopeService remoteDataScopeService;
@@ -120,6 +131,53 @@ public class TDeviceServiceImpl implements ITDeviceService {
return baseMapper.selectDeviceExportList(lqw);
}
+
+ /*
+ * 删除长时间未更新的执法记录仪
+ * */
+ @Override
+ public int deleteZfjly() {
+ String day = configService.selectConfigByKey("device.remove.day");
+ LambdaQueryWrapper lqw = new LambdaQueryWrapper<>();
+ lqw.inSql(TDevice::getDeviceType,"'5','7','8'");
+ lqw.eq(TDevice::getValid,"1");
+ lqw.le(TDevice::getUpdateTime,DateUtil.offsetDay(new Date(),Integer.getInteger(day)));
+ List list = baseMapper.selectList(lqw);
+ for (TDevice device : list) {
+ device.setValid(0);
+ device.setUpdateTime(DateUtil.now());
+ baseMapper.updateById(device);
+ }
+ return 0;
+ }
+
+ /*
+ * 删除状态为删除的设备定位信息和存在t_device_redis的数据
+ * */
+
+ @Override
+ public int deleteRedis() {
+ LambdaQueryWrapper lqw = new LambdaQueryWrapper<>();
+ lqw.gt(StringUtils.isNotBlank(lastRemoveTime),TDevice::getUpdateTime,lastRemoveTime);
+ lqw.eq(TDevice::getValid,0);
+ lqw.orderByDesc(TDevice::getUpdateTime);
+ List list = baseMapper.selectVoList(lqw);
+ try {
+ if (list.size()>0){
+ lastRemoveTime = list.get(0).getUpdateTime();
+ for (TDeviceVo deviceVo : list) {
+ RedisUtils.del("online_users:"+deviceVo.getDeviceType()+":"+deviceVo.getDeviceCode());
+ LambdaQueryWrapper dqw = new LambdaQueryWrapper<>();
+ dqw.eq(DeviceRedis::getDeviceCode,deviceVo.getDeviceCode());
+ redisMapper.delete(dqw);
+ }
+ }
+ }catch (Exception e){
+
+ }
+ return 0;
+ }
+
@Override
public TDeviceVo queryOne(TDeviceBo bo) {
LambdaQueryWrapper lqw = buildQueryWrapper(bo);
diff --git a/stwzhj-modules/wzhj-system/src/main/resources/mapper/system/DeviceRedisMapper.xml b/stwzhj-modules/wzhj-system/src/main/resources/mapper/system/DeviceRedisMapper.xml
index 997e2f2f..aa66df48 100644
--- a/stwzhj-modules/wzhj-system/src/main/resources/mapper/system/DeviceRedisMapper.xml
+++ b/stwzhj-modules/wzhj-system/src/main/resources/mapper/system/DeviceRedisMapper.xml
@@ -46,4 +46,9 @@
WHERE d.dict_type = 'zd_device_type'
+
+
diff --git a/stwzhj-modules/wzhj-system/src/main/resources/mapper/system/TDeviceMapper.xml b/stwzhj-modules/wzhj-system/src/main/resources/mapper/system/TDeviceMapper.xml
index f0b03e35..b0eb07b6 100644
--- a/stwzhj-modules/wzhj-system/src/main/resources/mapper/system/TDeviceMapper.xml
+++ b/stwzhj-modules/wzhj-system/src/main/resources/mapper/system/TDeviceMapper.xml
@@ -49,8 +49,8 @@
#{remark1},#{remark2},#{cardNum},#{createTime},#{updateTime})
ON DUPLICATE KEY UPDATE
police_no = values(police_no),police_name = values(police_name),phone_num = values(phone_num),
- car_num = values(car_num),valid = values(valid),remark1 = values(remark1),remark2 = values(remark2),card_num = values(card_num),
- update_time = now()
+ car_num = values(car_num),valid = '1',remark1 = values(remark1),remark2 = values(remark2),card_num = values(card_num),
+ update_time = values(update_time)
diff --git a/stwzhj-visual/stwzhj-nacos/src/main/resources/application.properties b/stwzhj-visual/stwzhj-nacos/src/main/resources/application.properties
index 37ac1679..bd8d74e1 100644
--- a/stwzhj-visual/stwzhj-nacos/src/main/resources/application.properties
+++ b/stwzhj-visual/stwzhj-nacos/src/main/resources/application.properties
@@ -43,7 +43,7 @@ db.num=1
#db.url.0=jdbc:mysql://127.0.0.1:3306/ry-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true
db.url.0=jdbc:mysql://10.129.221.10:3306/wzhj-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true
db.user.0=root
-db.password.0=Ycgis!2509
+db.password.0=Ycgis@2509
### the maximum retry times for push
nacos.config.push.maxRetryTime=50
diff --git a/wzhj-gateway/src/main/resources/logback-plus.xml b/wzhj-gateway/src/main/resources/logback-plus.xml
index 525188bb..3d88b97a 100644
--- a/wzhj-gateway/src/main/resources/logback-plus.xml
+++ b/wzhj-gateway/src/main/resources/logback-plus.xml
@@ -1,99 +1,49 @@
-
-
+
+
+
+
-
-
-
-
-
- ${log.path}/console.log
-
-
- ${log.path}/console.%d{yyyy-MM-dd}.log
-
- 1
-
-
- ${log.pattern}
- utf-8
-
-
-
- INFO
-
-
-
-
-
-
-
+
+
+ ${log.path}/info.${log.file}.log
-
- ERROR
-
- DENY
-
- ACCEPT
+ INFO
+ ACCEPT
+ DENY
-
- ${log.path}${log.file}
-
- UTF-8
- %date [%level] [%thread] %logger{60} [%file : %line] %msg%n
-
- ${log.path}info/${log.file}.%d{yyyy-MM-dd}.%i.gz
- 50MB
- 20
+ ${log.path}/info/info.${log.file}.%d{yyyy-MM-dd}.%i.log.gz
+ ${MAX_FILE_SIZE}
+ ${MAX_HISTORY}
+
+ %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
+
-
-
-
+
+
+ ${log.path}/error.${log.file}.log
- Error
+ ERROR
-
- ${log.path}error.${log.file}
-
-
- ${log.path}error/${log.file}.%d{yyyy-MM-dd}.%i.gz
-
- 50MB
- 180
-
-
+ ${log.path}/error/error.${log.file}.%d{yyyy-MM-dd}.%i.log.gz
+ ${MAX_FILE_SIZE}
+ ${MAX_HISTORY}
-
- UTF-8
- %date [%level] [%thread] %logger{60} [%file : %line] %msg%n
+ %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
-
-
-
-
-
-
+
-
-
-
-
+
+
+