parent
1835bf6f1e
commit
024a53d3c2
|
|
@ -24,6 +24,10 @@
|
||||||
<groupId>com.chushang</groupId>
|
<groupId>com.chushang</groupId>
|
||||||
<artifactId>chushang-common-security</artifactId>
|
<artifactId>chushang-common-security</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.chushang</groupId>
|
||||||
|
<artifactId>chushang-common-mq</artifactId>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
</project>
|
</project>
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,7 @@ import com.chushang.common.core.constant.ServiceConstant;
|
||||||
import com.chushang.common.log.entity.SysLogEntity;
|
import com.chushang.common.log.entity.SysLogEntity;
|
||||||
import com.chushang.common.log.enums.BusinessType;
|
import com.chushang.common.log.enums.BusinessType;
|
||||||
import com.chushang.common.log.enums.LogTypeEnum;
|
import com.chushang.common.log.enums.LogTypeEnum;
|
||||||
|
import com.chushang.common.mq.produce.MqProduceService;
|
||||||
import com.chushang.security.utils.SecurityUtils;
|
import com.chushang.security.utils.SecurityUtils;
|
||||||
import com.chushang.security.entity.vo.LoginUser;
|
import com.chushang.security.entity.vo.LoginUser;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
|
@ -59,6 +60,7 @@ import java.util.stream.Collectors;
|
||||||
public class SysLogAspect {
|
public class SysLogAspect {
|
||||||
|
|
||||||
final RedissonClient redissonClient;
|
final RedissonClient redissonClient;
|
||||||
|
private final MqProduceService<SysLogEntity> mqProduceService;
|
||||||
|
|
||||||
@Pointcut("@annotation(com.chushang.common.log.annotation.SysLog)")
|
@Pointcut("@annotation(com.chushang.common.log.annotation.SysLog)")
|
||||||
public void logPointCut() {
|
public void logPointCut() {
|
||||||
|
|
@ -177,8 +179,9 @@ public class SysLogAspect {
|
||||||
assert syslog != null;
|
assert syslog != null;
|
||||||
// if (null != ex){
|
// if (null != ex){
|
||||||
// 入队列, 方便在system 统一查询
|
// 入队列, 方便在system 统一查询
|
||||||
RList<SysLogEntity> list = redissonClient.getList(ServiceConstant.QUEUE_NAME);
|
// RList<SysLogEntity> list = redissonClient.getList(ServiceConstant.QUEUE_NAME);
|
||||||
list.add(sysLogEntity);
|
// list.add(sysLogEntity);
|
||||||
|
mqProduceService.send( ServiceConstant.QUEUE_NAME, sysLogEntity);
|
||||||
//// sysLogService.save(sysLogEntity);
|
//// sysLogService.save(sysLogEntity);
|
||||||
// }else {
|
// }else {
|
||||||
// log.info("log {}", JSONObject.toJSONString(sysLogEntity));
|
// log.info("log {}", JSONObject.toJSONString(sysLogEntity));
|
||||||
|
|
|
||||||
|
|
@ -3,10 +3,10 @@ package com.chushang.inspection.project.vo;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class CountTaskVO {
|
public class CountVO {
|
||||||
|
|
||||||
private Long projectId;
|
private Long projectId;
|
||||||
|
|
||||||
private int totalTask;
|
private int total;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -156,7 +156,7 @@ public class WrkProjectController {
|
||||||
* 项目数据 展示
|
* 项目数据 展示
|
||||||
*/
|
*/
|
||||||
@GetMapping(value = "/project/data")
|
@GetMapping(value = "/project/data")
|
||||||
@RequiresPermissions("inspection:project:info")
|
// @RequiresPermissions("inspection:project:info")
|
||||||
public AjaxResult projectData(ProjectQuery projectQuery)
|
public AjaxResult projectData(ProjectQuery projectQuery)
|
||||||
{
|
{
|
||||||
return AjaxResult.success(projectService.projectData(projectQuery));
|
return AjaxResult.success(projectService.projectData(projectQuery));
|
||||||
|
|
|
||||||
|
|
@ -4,9 +4,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.chushang.common.core.util.StringUtils;
|
import com.chushang.common.core.util.StringUtils;
|
||||||
import com.chushang.inspection.project.po.PollingTask;
|
import com.chushang.inspection.project.po.PollingTask;
|
||||||
import com.chushang.inspection.project.vo.CountTaskVO;
|
import com.chushang.inspection.project.vo.CountVO;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
import org.apache.ibatis.annotations.Select;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
@ -26,5 +25,5 @@ public interface PollingTaskMapper extends BaseMapper<PollingTask> {
|
||||||
// 此处为null
|
// 此处为null
|
||||||
return pollingTask.getSearchIndex();
|
return pollingTask.getSearchIndex();
|
||||||
}
|
}
|
||||||
List<CountTaskVO> countByProjectIds(@Param("projectIds") Set<Long> projectIds);
|
List<CountVO> countByProjectIds(@Param("projectIds") Set<Long> projectIds);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.chushang.inspection.project.service;
|
package com.chushang.inspection.project.service;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.chushang.common.mybatis.page.CommonParam;
|
import com.chushang.common.mybatis.page.CommonParam;
|
||||||
|
|
@ -7,14 +8,15 @@ import com.chushang.inspection.project.dto.TaskDTO;
|
||||||
import com.chushang.inspection.project.dto.TaskExcelDTO;
|
import com.chushang.inspection.project.dto.TaskExcelDTO;
|
||||||
import com.chushang.inspection.project.dto.TaskQuery;
|
import com.chushang.inspection.project.dto.TaskQuery;
|
||||||
import com.chushang.inspection.project.po.PollingTask;
|
import com.chushang.inspection.project.po.PollingTask;
|
||||||
import com.chushang.inspection.project.po.Template;
|
|
||||||
import com.chushang.inspection.project.vo.ConfigVO;
|
import com.chushang.inspection.project.vo.ConfigVO;
|
||||||
import com.chushang.inspection.project.vo.CountTaskVO;
|
import com.chushang.inspection.project.vo.CountVO;
|
||||||
import com.chushang.inspection.project.vo.TaskVO;
|
import com.chushang.inspection.project.vo.TaskVO;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @auther: zhao
|
* @auther: zhao
|
||||||
|
|
@ -46,6 +48,18 @@ public interface PollingTaskService extends IService<PollingTask>{
|
||||||
return ObjectUtil.isNotEmpty(task) ? task.getName() : "";
|
return ObjectUtil.isNotEmpty(task) ? task.getName() : "";
|
||||||
}
|
}
|
||||||
|
|
||||||
List<CountTaskVO> countByProjectIds(Set<Long> projectIds);
|
List<CountVO> countByProjectIds(Set<Long> projectIds);
|
||||||
|
|
||||||
|
default Map<Long, Integer> countByProjectIdsMap(Set<Long> projectIds){
|
||||||
|
List<CountVO> countVOS = countByProjectIds(projectIds);
|
||||||
|
if (CollectionUtil.isNotEmpty(countVOS)){
|
||||||
|
return countVOS.stream().collect(Collectors.toMap(
|
||||||
|
CountVO::getProjectId,
|
||||||
|
CountVO::getTotal,
|
||||||
|
Integer::sum
|
||||||
|
));
|
||||||
|
}
|
||||||
|
return Map.of();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
package com.chushang.inspection.project.service;
|
package com.chushang.inspection.project.service;
|
||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
|
@ -14,13 +13,10 @@ import com.chushang.common.mybatis.utils.WrapperUtils;
|
||||||
import com.chushang.datascope.annotation.DataScope;
|
import com.chushang.datascope.annotation.DataScope;
|
||||||
import com.chushang.inspection.project.dto.ContractDTO;
|
import com.chushang.inspection.project.dto.ContractDTO;
|
||||||
import com.chushang.inspection.project.dto.ProjectDTO;
|
import com.chushang.inspection.project.dto.ProjectDTO;
|
||||||
import com.chushang.inspection.project.po.PollingTask;
|
|
||||||
import com.chushang.inspection.project.po.WrkAudit;
|
|
||||||
import com.chushang.inspection.project.po.WrkProjectContract;
|
import com.chushang.inspection.project.po.WrkProjectContract;
|
||||||
import com.chushang.inspection.project.query.ProjectQuery;
|
import com.chushang.inspection.project.query.ProjectQuery;
|
||||||
import com.chushang.inspection.project.vo.CountTaskVO;
|
import com.chushang.inspection.project.vo.CountVO;
|
||||||
import com.chushang.inspection.project.vo.ProjectVO;
|
import com.chushang.inspection.project.vo.ProjectVO;
|
||||||
import com.chushang.inspection.terminal.po.Store;
|
|
||||||
import com.chushang.inspection.terminal.service.StoreService;
|
import com.chushang.inspection.terminal.service.StoreService;
|
||||||
import com.chushang.inspection.terminal.service.TerminalService;
|
import com.chushang.inspection.terminal.service.TerminalService;
|
||||||
import com.chushang.inspection.work.service.WrkInfoService;
|
import com.chushang.inspection.work.service.WrkInfoService;
|
||||||
|
|
@ -265,7 +261,6 @@ public class WrkProjectService extends ServiceImpl<WrkProjectMapper, WrkProject>
|
||||||
new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(commonParam.getPage(), commonParam.getLimit()),
|
new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(commonParam.getPage(), commonParam.getLimit()),
|
||||||
sql
|
sql
|
||||||
);
|
);
|
||||||
|
|
||||||
List<WrkProject> recordList = page.getRecords();
|
List<WrkProject> recordList = page.getRecords();
|
||||||
List<ProjectVO> list = BeanUtil.copyToList(recordList, ProjectVO.class);
|
List<ProjectVO> list = BeanUtil.copyToList(recordList, ProjectVO.class);
|
||||||
Set<Long> deptIds = list.stream().map(ProjectVO::getDeptId).collect(Collectors.toSet());
|
Set<Long> deptIds = list.stream().map(ProjectVO::getDeptId).collect(Collectors.toSet());
|
||||||
|
|
@ -273,24 +268,26 @@ public class WrkProjectService extends ServiceImpl<WrkProjectMapper, WrkProject>
|
||||||
= remoteDeptService.getDeptNameByIds(deptIds, SecurityConstants.INNER);
|
= remoteDeptService.getDeptNameByIds(deptIds, SecurityConstants.INNER);
|
||||||
Set<Long> projectIds = list.stream().map(ProjectVO::getProjectId).collect(Collectors.toSet());
|
Set<Long> projectIds = list.stream().map(ProjectVO::getProjectId).collect(Collectors.toSet());
|
||||||
// 任务总数
|
// 任务总数
|
||||||
List<CountTaskVO> totalTaskMap = taskService.countByProjectIds(projectIds);
|
Map<Long, Integer> totalTaskMap = taskService.countByProjectIdsMap(projectIds);
|
||||||
List<PollingTask> taskList = taskService.list(new LambdaQueryWrapper<PollingTask>()
|
// 商户总数
|
||||||
.in(PollingTask::getProjectId, projectIds));
|
Map<Long, Integer> totalStoreMap = storeService.countByProjectIdsMap(projectIds);
|
||||||
if (CollectionUtil.isNotEmpty(taskList)){
|
// 终端总数
|
||||||
Set<Long> taskIds = taskList.stream().map(PollingTask::getId).collect(Collectors.toSet());
|
Map<Long, Integer> totalTerminalMap = terminalService.countByProjectIdsMap(projectIds);
|
||||||
// 商户总数
|
// 巡检工单总数
|
||||||
List<Store> storeList = storeService.list(new LambdaQueryWrapper<Store>()
|
Map<Long, Integer> countInsMap = wrkInfoService.countByProjectIdsMap(projectIds, Set.of(5, 21));
|
||||||
.in(Store::getLowerTaskId, taskIds));
|
// 工单总数
|
||||||
|
Map<Long, Integer> countWrkMap = wrkInfoService.countByProjectIdsMap(projectIds, Set.of());
|
||||||
Map<Long, List<Store>> storeMap
|
|
||||||
= storeList.stream().collect(Collectors.groupingBy(Store::getLowerTaskId));
|
|
||||||
// 商户id
|
|
||||||
Set<Long> storeIds = storeList.stream().map(Store::getStoreId).collect(Collectors.toSet());
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
list.forEach(p->{
|
||||||
|
Long deptId = p.getDeptId();
|
||||||
|
Long projectId = p.getProjectId();
|
||||||
|
p.setDeptName(deptNameMap.get(deptId));
|
||||||
|
p.setTotalWrk(countWrkMap.getOrDefault(projectId, 0));
|
||||||
|
p.setTotalIns(countInsMap.getOrDefault(projectId, 0));
|
||||||
|
p.setTotalTerminal(totalTerminalMap.getOrDefault(projectId, 0));
|
||||||
|
p.setTotalStore(totalStoreMap.getOrDefault(projectId, 0));
|
||||||
|
p.setTotalTask(totalTaskMap.getOrDefault(projectId, 0));
|
||||||
|
});
|
||||||
return new PageResult(list,page.getTotal(),page.getSize(),page.getCurrent());
|
return new PageResult(list,page.getTotal(),page.getSize(),page.getCurrent());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ import com.chushang.inspection.project.dto.TaskDTO;
|
||||||
import com.chushang.inspection.project.dto.TaskExcelDTO;
|
import com.chushang.inspection.project.dto.TaskExcelDTO;
|
||||||
import com.chushang.inspection.project.dto.TaskQuery;
|
import com.chushang.inspection.project.dto.TaskQuery;
|
||||||
import com.chushang.inspection.project.vo.ConfigVO;
|
import com.chushang.inspection.project.vo.ConfigVO;
|
||||||
import com.chushang.inspection.project.vo.CountTaskVO;
|
import com.chushang.inspection.project.vo.CountVO;
|
||||||
import com.chushang.inspection.project.vo.TaskVO;
|
import com.chushang.inspection.project.vo.TaskVO;
|
||||||
import com.chushang.inspection.project.service.PollingTaskService;
|
import com.chushang.inspection.project.service.PollingTaskService;
|
||||||
import com.chushang.security.utils.SecurityUtils;
|
import com.chushang.security.utils.SecurityUtils;
|
||||||
|
|
@ -248,7 +248,7 @@ public class PollingTaskServiceImpl extends ServiceImpl<PollingTaskMapper, Polli
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<CountTaskVO> countByProjectIds(Set<Long> projectIds) {
|
public List<CountVO> countByProjectIds(Set<Long> projectIds) {
|
||||||
return baseMapper.countByProjectIds(projectIds);
|
return baseMapper.countByProjectIds(projectIds);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,12 +3,14 @@ package com.chushang.inspection.terminal.mapper;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.chushang.datascope.annotation.DataScope;
|
import com.chushang.datascope.annotation.DataScope;
|
||||||
|
import com.chushang.inspection.project.vo.CountVO;
|
||||||
import com.chushang.inspection.terminal.po.Store;
|
import com.chushang.inspection.terminal.po.Store;
|
||||||
import com.chushang.inspection.terminal.query.StoreQuery;
|
import com.chushang.inspection.terminal.query.StoreQuery;
|
||||||
import com.chushang.inspection.terminal.vo.StoreVO;
|
import com.chushang.inspection.terminal.vo.StoreVO;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @auther: zhao
|
* @auther: zhao
|
||||||
|
|
@ -19,4 +21,7 @@ public interface StoreMapper extends BaseMapper<Store> {
|
||||||
@DataScope(deptAlias = "s")
|
@DataScope(deptAlias = "s")
|
||||||
List<StoreVO> pageList(@Param("query") StoreQuery query,
|
List<StoreVO> pageList(@Param("query") StoreQuery query,
|
||||||
Page<Store> page);
|
Page<Store> page);
|
||||||
|
|
||||||
|
List<CountVO> countByProjectIds(@Param("projectIds") Set<Long> projectIds);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ package com.chushang.inspection.terminal.mapper;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.chushang.datascope.annotation.DataScope;
|
import com.chushang.datascope.annotation.DataScope;
|
||||||
|
import com.chushang.inspection.project.vo.CountVO;
|
||||||
import com.chushang.inspection.project.vo.TerminalAppVO;
|
import com.chushang.inspection.project.vo.TerminalAppVO;
|
||||||
import com.chushang.inspection.terminal.po.Store;
|
import com.chushang.inspection.terminal.po.Store;
|
||||||
import com.chushang.inspection.terminal.po.Terminal;
|
import com.chushang.inspection.terminal.po.Terminal;
|
||||||
|
|
@ -15,6 +16,7 @@ import com.chushang.inspection.work.query.DispatchQuery;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @auther: zhao
|
* @auther: zhao
|
||||||
|
|
@ -30,4 +32,5 @@ public interface TerminalMapper extends BaseMapper<Terminal> {
|
||||||
@DataScope(deptAlias = "t")
|
@DataScope(deptAlias = "t")
|
||||||
List<DispatchDTO> getStoreByTasKIdOrIds(@Param("query") DispatchQuery query);
|
List<DispatchDTO> getStoreByTasKIdOrIds(@Param("query") DispatchQuery query);
|
||||||
|
|
||||||
|
List<CountVO> countByProjectIds(@Param("projectIds") Set<Long> projectIds);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,20 @@
|
||||||
package com.chushang.inspection.terminal.service;
|
package com.chushang.inspection.terminal.service;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.chushang.common.mybatis.utils.PageResult;
|
import com.chushang.common.mybatis.utils.PageResult;
|
||||||
import com.chushang.inspection.project.po.Template;
|
import com.chushang.inspection.project.po.Template;
|
||||||
|
import com.chushang.inspection.project.vo.CountVO;
|
||||||
import com.chushang.inspection.terminal.po.Store;
|
import com.chushang.inspection.terminal.po.Store;
|
||||||
import com.chushang.inspection.terminal.query.StoreQuery;
|
import com.chushang.inspection.terminal.query.StoreQuery;
|
||||||
import com.chushang.inspection.work.dto.WrkIcbcJsReceive;
|
import com.chushang.inspection.work.dto.WrkIcbcJsReceive;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @auther: zhao
|
* @auther: zhao
|
||||||
* @date: 2024/6/21 16:39
|
* @date: 2024/6/21 16:39
|
||||||
|
|
@ -20,4 +27,17 @@ public interface StoreService extends IService<Store>{
|
||||||
void upload(MultipartFile file, Long taskId);
|
void upload(MultipartFile file, Long taskId);
|
||||||
|
|
||||||
Store save(WrkIcbcJsReceive dto);
|
Store save(WrkIcbcJsReceive dto);
|
||||||
|
|
||||||
|
List<CountVO> countByProjectIds(Set<Long> projectIds);
|
||||||
|
default Map<Long, Integer> countByProjectIdsMap(Set<Long> projectIds){
|
||||||
|
List<CountVO> countVOS = countByProjectIds(projectIds);
|
||||||
|
if (CollectionUtil.isNotEmpty(countVOS)){
|
||||||
|
return countVOS.stream().collect(Collectors.toMap(
|
||||||
|
CountVO::getProjectId,
|
||||||
|
CountVO::getTotal,
|
||||||
|
Integer::sum
|
||||||
|
));
|
||||||
|
}
|
||||||
|
return Map.of();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,10 @@
|
||||||
package com.chushang.inspection.terminal.service;
|
package com.chushang.inspection.terminal.service;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import com.alibaba.fastjson2.JSONObject;
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.chushang.common.mybatis.utils.PageResult;
|
import com.chushang.common.mybatis.utils.PageResult;
|
||||||
|
import com.chushang.inspection.project.vo.CountVO;
|
||||||
import com.chushang.inspection.project.vo.TerminalApp;
|
import com.chushang.inspection.project.vo.TerminalApp;
|
||||||
import com.chushang.inspection.terminal.po.Store;
|
import com.chushang.inspection.terminal.po.Store;
|
||||||
import com.chushang.inspection.terminal.po.Terminal;
|
import com.chushang.inspection.terminal.po.Terminal;
|
||||||
|
|
@ -14,6 +16,8 @@ import com.chushang.inspection.work.query.DispatchQuery;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @auther: zhao
|
* @auther: zhao
|
||||||
|
|
@ -62,4 +66,18 @@ public interface TerminalService extends IService<Terminal>{
|
||||||
|
|
||||||
|
|
||||||
JSONObject getTerMap(Long terminalId);
|
JSONObject getTerMap(Long terminalId);
|
||||||
|
|
||||||
|
List<CountVO> countByProjectIds(Set<Long> projectIds);
|
||||||
|
|
||||||
|
default Map<Long, Integer> countByProjectIdsMap(Set<Long> projectIds){
|
||||||
|
List<CountVO> countVOS = countByProjectIds(projectIds);
|
||||||
|
if (CollectionUtil.isNotEmpty(countVOS)){
|
||||||
|
return countVOS.stream().collect(Collectors.toMap(
|
||||||
|
CountVO::getProjectId,
|
||||||
|
CountVO::getTotal,
|
||||||
|
Integer::sum
|
||||||
|
));
|
||||||
|
}
|
||||||
|
return Map.of();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,7 @@ import com.chushang.inspection.project.po.PollingTask;
|
||||||
import com.chushang.inspection.project.po.Template;
|
import com.chushang.inspection.project.po.Template;
|
||||||
import com.chushang.inspection.project.service.PollingTaskService;
|
import com.chushang.inspection.project.service.PollingTaskService;
|
||||||
import com.chushang.inspection.project.service.TbTemplateService;
|
import com.chushang.inspection.project.service.TbTemplateService;
|
||||||
|
import com.chushang.inspection.project.vo.CountVO;
|
||||||
import com.chushang.inspection.terminal.po.Store;
|
import com.chushang.inspection.terminal.po.Store;
|
||||||
import com.chushang.inspection.terminal.query.StoreQuery;
|
import com.chushang.inspection.terminal.query.StoreQuery;
|
||||||
import com.chushang.inspection.terminal.service.StoreService;
|
import com.chushang.inspection.terminal.service.StoreService;
|
||||||
|
|
@ -83,4 +84,9 @@ public class StoreServiceImpl extends ServiceImpl<StoreMapper, Store> implements
|
||||||
return store;
|
return store;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<CountVO> countByProjectIds(Set<Long> projectIds) {
|
||||||
|
return baseMapper.countByProjectIds(projectIds);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@ import com.chushang.common.mybatis.enums.Operator;
|
||||||
import com.chushang.common.mybatis.page.CommonParam;
|
import com.chushang.common.mybatis.page.CommonParam;
|
||||||
import com.chushang.common.mybatis.utils.PageResult;
|
import com.chushang.common.mybatis.utils.PageResult;
|
||||||
import com.chushang.common.mybatis.utils.WrapperUtils;
|
import com.chushang.common.mybatis.utils.WrapperUtils;
|
||||||
|
import com.chushang.inspection.project.vo.CountVO;
|
||||||
import com.chushang.inspection.project.vo.TerminalApp;
|
import com.chushang.inspection.project.vo.TerminalApp;
|
||||||
import com.chushang.inspection.project.vo.TerminalAppVO;
|
import com.chushang.inspection.project.vo.TerminalAppVO;
|
||||||
import com.chushang.inspection.terminal.po.Store;
|
import com.chushang.inspection.terminal.po.Store;
|
||||||
|
|
@ -148,6 +149,11 @@ public class TerminalServiceImpl extends ServiceImpl<TerminalMapper, Terminal> i
|
||||||
return JSONObject.of("terminal", getById(terminalId), "terminalIns", terminalInsService.getById(terminalId));
|
return JSONObject.of("terminal", getById(terminalId), "terminalIns", terminalInsService.getById(terminalId));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<CountVO> countByProjectIds(Set<Long> projectIds) {
|
||||||
|
return baseMapper.countByProjectIds(projectIds);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public long updateTerminalAndStore(TerminalQuery query) {
|
public long updateTerminalAndStore(TerminalQuery query) {
|
||||||
|
|
|
||||||
|
|
@ -222,7 +222,7 @@ public class WrkInfoController {
|
||||||
* 提交 工单
|
* 提交 工单
|
||||||
*/
|
*/
|
||||||
@PostMapping("/submit")
|
@PostMapping("/submit")
|
||||||
@RequiresPermissions("wrk:submit")
|
@RequiresPermissions("wrk:info:submit")
|
||||||
@SysLog(value = "工单提交", businessType = BusinessType.INSERT)
|
@SysLog(value = "工单提交", businessType = BusinessType.INSERT)
|
||||||
public AjaxResult submit(@Validated @RequestBody WrkInfoDTO info) {
|
public AjaxResult submit(@Validated @RequestBody WrkInfoDTO info) {
|
||||||
wrkInfoService.submit(info);
|
wrkInfoService.submit(info);
|
||||||
|
|
@ -241,5 +241,11 @@ public class WrkInfoController {
|
||||||
return AjaxResult.success();
|
return AjaxResult.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping(value = "/data")
|
||||||
|
@RequiresPermissions("wrk:info:dispatch")
|
||||||
|
public AjaxResult wrkData(){
|
||||||
|
return AjaxResult.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ package com.chushang.inspection.work.mapper;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.chushang.datascope.annotation.DataScope;
|
import com.chushang.datascope.annotation.DataScope;
|
||||||
|
import com.chushang.inspection.project.vo.CountVO;
|
||||||
import com.chushang.inspection.work.po.WrkInfo;
|
import com.chushang.inspection.work.po.WrkInfo;
|
||||||
import com.chushang.inspection.work.query.ReviewedQuery;
|
import com.chushang.inspection.work.query.ReviewedQuery;
|
||||||
import com.chushang.inspection.work.query.WrkAppQuery;
|
import com.chushang.inspection.work.query.WrkAppQuery;
|
||||||
|
|
@ -11,6 +12,7 @@ import com.chushang.inspection.work.vo.*;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @auther: zhao
|
* @auther: zhao
|
||||||
|
|
@ -32,4 +34,7 @@ public interface WrkInfoMapper extends BaseMapper<WrkInfo> {
|
||||||
|
|
||||||
@DataScope(deptAlias = "i")
|
@DataScope(deptAlias = "i")
|
||||||
List<WrkInfoExportVO> exportDispatchPage(@Param("query") WrkInfoQuery query);
|
List<WrkInfoExportVO> exportDispatchPage(@Param("query") WrkInfoQuery query);
|
||||||
|
|
||||||
|
List<CountVO> countByProjectIds(@Param("projectIds") Set<Long> projectIds,
|
||||||
|
@Param("wrkTypes") Set<Integer> wrkTypes);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,9 @@
|
||||||
package com.chushang.inspection.work.service;
|
package com.chushang.inspection.work.service;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import com.chushang.common.mybatis.utils.PageResult;
|
import com.chushang.common.mybatis.utils.PageResult;
|
||||||
import com.chushang.inspection.project.dto.AuditDTO;
|
import com.chushang.inspection.project.dto.AuditDTO;
|
||||||
|
import com.chushang.inspection.project.vo.CountVO;
|
||||||
import com.chushang.inspection.terminal.po.Store;
|
import com.chushang.inspection.terminal.po.Store;
|
||||||
import com.chushang.inspection.terminal.po.Terminal;
|
import com.chushang.inspection.terminal.po.Terminal;
|
||||||
import com.chushang.inspection.terminal.po.TerminalIns;
|
import com.chushang.inspection.terminal.po.TerminalIns;
|
||||||
|
|
@ -16,6 +18,9 @@ import com.chushang.inspection.work.vo.WrkInfoDetailsVO;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @auther: zhao
|
* @auther: zhao
|
||||||
|
|
@ -46,4 +51,17 @@ public interface WrkInfoService extends IService<WrkInfo> {
|
||||||
|
|
||||||
Long dispatch(WrkInfo wrkInfo, Store store, Terminal terminal, TerminalIns terminalIns);
|
Long dispatch(WrkInfo wrkInfo, Store store, Terminal terminal, TerminalIns terminalIns);
|
||||||
|
|
||||||
|
List<CountVO> countByProjectIds(Set<Long> projectIds, Set<Integer> wrkType);
|
||||||
|
|
||||||
|
default Map<Long, Integer> countByProjectIdsMap(Set<Long> projectIds, Set<Integer> wrkType){
|
||||||
|
List<CountVO> countVOS = countByProjectIds(projectIds, wrkType);
|
||||||
|
if (CollectionUtil.isNotEmpty(countVOS)){
|
||||||
|
return countVOS.stream().collect(Collectors.toMap(
|
||||||
|
CountVO::getProjectId,
|
||||||
|
CountVO::getTotal,
|
||||||
|
Integer::sum
|
||||||
|
));
|
||||||
|
}
|
||||||
|
return Map.of();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,7 @@ import com.chushang.inspection.project.dto.AuditDTO;
|
||||||
import com.chushang.inspection.project.po.InspectionData;
|
import com.chushang.inspection.project.po.InspectionData;
|
||||||
import com.chushang.inspection.project.service.InspectionDataService;
|
import com.chushang.inspection.project.service.InspectionDataService;
|
||||||
import com.chushang.inspection.project.service.PollingTaskService;
|
import com.chushang.inspection.project.service.PollingTaskService;
|
||||||
|
import com.chushang.inspection.project.vo.CountVO;
|
||||||
import com.chushang.inspection.terminal.po.FiveStore;
|
import com.chushang.inspection.terminal.po.FiveStore;
|
||||||
import com.chushang.inspection.terminal.po.Store;
|
import com.chushang.inspection.terminal.po.Store;
|
||||||
import com.chushang.inspection.terminal.po.Terminal;
|
import com.chushang.inspection.terminal.po.Terminal;
|
||||||
|
|
@ -647,6 +648,11 @@ public class WrkInfoServiceImpl extends ServiceImpl<WrkInfoMapper, WrkInfo> impl
|
||||||
return wrkInfo.getWrkId();
|
return wrkInfo.getWrkId();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<CountVO> countByProjectIds(Set<Long> projectIds, Set<Integer> wrkType) {
|
||||||
|
return baseMapper.countByProjectIds(projectIds, wrkType);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 计算经纬度 偏差
|
* 计算经纬度 偏差
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,8 @@
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
||||||
<mapper namespace="com.chushang.inspection.project.mapper.PollingTaskMapper">
|
<mapper namespace="com.chushang.inspection.project.mapper.PollingTaskMapper">
|
||||||
|
|
||||||
<select id="countByProjectIds" resultType="com.chushang.inspection.project.vo.CountTaskVO">
|
<select id="countByProjectIds" resultType="com.chushang.inspection.project.vo.CountVO">
|
||||||
SELECT COUNT(*) AS totalTask, pt.project_id AS projectId
|
SELECT COUNT(*) AS total, pt.project_id AS projectId
|
||||||
FROM ta_polling_task pt
|
FROM ta_polling_task pt
|
||||||
where pt.del_state = 0
|
where pt.del_state = 0
|
||||||
<if test="projectIds != null and projectIds.size() != 0">
|
<if test="projectIds != null and projectIds.size() != 0">
|
||||||
|
|
|
||||||
|
|
@ -37,4 +37,17 @@
|
||||||
</if>
|
</if>
|
||||||
ORDER BY s.${query.orderBy} ${query.isAsc}
|
ORDER BY s.${query.orderBy} ${query.isAsc}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="countByProjectIds" resultType="com.chushang.inspection.project.vo.CountVO">
|
||||||
|
SELECT COUNT(*) AS total, s.project_id
|
||||||
|
FROM st_store s
|
||||||
|
where s.del_state = 0
|
||||||
|
<if test="projectIds != null and projectIds.size() != 0">
|
||||||
|
AND s.project_id IN
|
||||||
|
<foreach collection="projectIds" open="(" close=")" item="projectId" separator=",">
|
||||||
|
#{projectId}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
GROUP BY s.project_id
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
||||||
|
|
@ -237,4 +237,17 @@
|
||||||
</foreach>
|
</foreach>
|
||||||
</if>
|
</if>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="countByProjectIds" resultType="com.chushang.inspection.project.vo.CountVO">
|
||||||
|
SELECT COUNT(*) AS total, t.project_id AS projectId
|
||||||
|
FROM st_terminal t
|
||||||
|
where t.del_state = 0
|
||||||
|
<if test="projectIds != null and projectIds.size() != 0">
|
||||||
|
AND t.project_id IN
|
||||||
|
<foreach collection="projectIds" open="(" close=")" item="projectId" separator=",">
|
||||||
|
#{projectId}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
GROUP BY t.project_id
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
||||||
|
|
@ -249,4 +249,23 @@
|
||||||
LEFT JOIN wrk_info_terminal_ins_record itir ON i.wrk_id = itir.wrk_id
|
LEFT JOIN wrk_info_terminal_ins_record itir ON i.wrk_id = itir.wrk_id
|
||||||
WHERE i.del_state = 0
|
WHERE i.del_state = 0
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
|
<select id="countByProjectIds" resultType="com.chushang.inspection.project.vo.CountVO">
|
||||||
|
SELECT COUNT(*) AS total, wi.project_id AS projectId
|
||||||
|
FROM wrk_info wi
|
||||||
|
where wi.del_state = 0
|
||||||
|
<if test="projectIds != null and projectIds.size() > 0">
|
||||||
|
AND wi.project_id IN
|
||||||
|
<foreach collection="projectIds" open="(" close=")" item="projectId" separator=",">
|
||||||
|
#{projectId}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
<if test="wrkTypes != null and wrkTypes.size() > 0">
|
||||||
|
AND wi.work_type IN
|
||||||
|
<foreach collection="wrkTypes" open="(" close=")" separator="," item="wrkType">
|
||||||
|
#{wrkType}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
GROUP BY wi.project_id
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
||||||
|
|
@ -1,83 +1,83 @@
|
||||||
package com.chushang.system.component;
|
//package com.chushang.system.component;
|
||||||
|
//
|
||||||
import com.chushang.common.core.constant.ServiceConstant;
|
//import com.chushang.common.core.constant.ServiceConstant;
|
||||||
import com.chushang.common.log.entity.SysLogEntity;
|
//import com.chushang.common.log.entity.SysLogEntity;
|
||||||
import com.chushang.system.service.SysLogService;
|
//import com.chushang.system.service.SysLogService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
//import lombok.extern.slf4j.Slf4j;
|
||||||
import org.redisson.api.RQueue;
|
//import org.redisson.api.RQueue;
|
||||||
import org.redisson.api.RedissonClient;
|
//import org.redisson.api.RedissonClient;
|
||||||
import org.springframework.stereotype.Component;
|
//import org.springframework.stereotype.Component;
|
||||||
|
//
|
||||||
import javax.annotation.PostConstruct;
|
//import javax.annotation.PostConstruct;
|
||||||
import java.util.List;
|
//import java.util.List;
|
||||||
import java.util.concurrent.ScheduledThreadPoolExecutor;
|
//import java.util.concurrent.ScheduledThreadPoolExecutor;
|
||||||
import java.util.concurrent.TimeUnit;
|
//import java.util.concurrent.TimeUnit;
|
||||||
|
//
|
||||||
/**
|
///**
|
||||||
* @auther: zhao
|
// * @auther: zhao
|
||||||
* @date: 2024/4/12 17:09
|
// * @date: 2024/4/12 17:09
|
||||||
*/
|
// */
|
||||||
@Slf4j
|
//@Slf4j
|
||||||
@Component
|
//@Component
|
||||||
public class LogRedisComponent {
|
//public class LogRedisComponent {
|
||||||
|
//
|
||||||
private final SysLogService logService;
|
// private final SysLogService logService;
|
||||||
private final RedissonClient redissonClient;
|
// private final RedissonClient redissonClient;
|
||||||
public LogRedisComponent(SysLogService logService, RedissonClient redissonClient){
|
// public LogRedisComponent(SysLogService logService, RedissonClient redissonClient){
|
||||||
log.info("构造器执行");
|
// log.info("构造器执行");
|
||||||
this.logService = logService;
|
// this.logService = logService;
|
||||||
this.redissonClient = redissonClient;
|
// this.redissonClient = redissonClient;
|
||||||
}
|
// }
|
||||||
private final ScheduledThreadPoolExecutor scheduledThreadPoolExecutor = new ScheduledThreadPoolExecutor(1);
|
// private final ScheduledThreadPoolExecutor scheduledThreadPoolExecutor = new ScheduledThreadPoolExecutor(1);
|
||||||
@PostConstruct
|
// @PostConstruct
|
||||||
public void redisStart() {
|
// public void redisStart() {
|
||||||
log.info("线程执行");
|
// log.info("线程执行");
|
||||||
Thread startLogQueueThread = startLogQueueThread();
|
// Thread startLogQueueThread = startLogQueueThread();
|
||||||
scheduledThreadPoolExecutor.scheduleWithFixedDelay(()->{
|
// scheduledThreadPoolExecutor.scheduleWithFixedDelay(()->{
|
||||||
Thread runLog = startLogQueueThread;
|
// Thread runLog = startLogQueueThread;
|
||||||
try {
|
// try {
|
||||||
boolean runLogThreadAlive = runLog.isAlive();
|
// boolean runLogThreadAlive = runLog.isAlive();
|
||||||
if (!runLogThreadAlive) {
|
// if (!runLogThreadAlive) {
|
||||||
throw new NullPointerException("runLogThread alive false");
|
// throw new NullPointerException("runLogThread alive false");
|
||||||
}
|
// }
|
||||||
} catch (Exception ex) {
|
// } catch (Exception ex) {
|
||||||
System.out.println("logQueueThread 重启线程");
|
// System.out.println("logQueueThread 重启线程");
|
||||||
runLog = startLogQueueThread();
|
// runLog = startLogQueueThread();
|
||||||
}
|
// }
|
||||||
}, 10 ,30, TimeUnit.SECONDS);
|
// }, 10 ,30, TimeUnit.SECONDS);
|
||||||
log.info("RedisLogQueueCollect is starting!");
|
// log.info("RedisLogQueueCollect is starting!");
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
private Thread startLogQueueThread() {
|
// private Thread startLogQueueThread() {
|
||||||
Thread logQueueThread = new Thread(this::logQueueThread);
|
// Thread logQueueThread = new Thread(this::logQueueThread);
|
||||||
logQueueThread.start();
|
// logQueueThread.start();
|
||||||
return logQueueThread;
|
// return logQueueThread;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
private void logQueueThread()
|
// private void logQueueThread()
|
||||||
{
|
// {
|
||||||
while (true) {
|
// while (true) {
|
||||||
if (log.isDebugEnabled()){
|
// if (log.isDebugEnabled()){
|
||||||
log.debug("读取redis 数据");
|
// log.debug("读取redis 数据");
|
||||||
}
|
// }
|
||||||
try {
|
// try {
|
||||||
try {
|
// try {
|
||||||
// 每1000 毫秒从 redis 获取一遍 入队数据
|
// // 每1000 毫秒从 redis 获取一遍 入队数据
|
||||||
Thread.sleep(1000);
|
// Thread.sleep(1000);
|
||||||
} catch (InterruptedException e) {
|
// } catch (InterruptedException e) {
|
||||||
log.error("", e);
|
// log.error("", e);
|
||||||
Thread.currentThread().interrupt();
|
// Thread.currentThread().interrupt();
|
||||||
}
|
// }
|
||||||
if (!redissonClient.isShutdown()){
|
// if (!redissonClient.isShutdown()){
|
||||||
RQueue<SysLogEntity> list = redissonClient.getQueue(ServiceConstant.QUEUE_NAME);
|
// RQueue<SysLogEntity> list = redissonClient.getQueue(ServiceConstant.QUEUE_NAME);
|
||||||
List<SysLogEntity> reqList = list.poll(5000);
|
// List<SysLogEntity> reqList = list.poll(5000);
|
||||||
logService.saveBatch(reqList);
|
// logService.saveBatch(reqList);
|
||||||
}else {
|
// }else {
|
||||||
if (log.isDebugEnabled()) log.debug(" Redisson is shutdown");
|
// if (log.isDebugEnabled()) log.debug(" Redisson is shutdown");
|
||||||
}
|
// }
|
||||||
} catch (RuntimeException e) {
|
// } catch (RuntimeException e) {
|
||||||
log.error("logQueueThread error, 并重启线程!", e);
|
// log.error("logQueueThread error, 并重启线程!", e);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
//}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,45 @@
|
||||||
|
package com.chushang.system.consumer;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson2.JSON;
|
||||||
|
import com.chushang.common.core.constant.SecurityConstants;
|
||||||
|
import com.chushang.common.core.constant.ServiceConstant;
|
||||||
|
import com.chushang.common.core.context.SecurityContextHolder;
|
||||||
|
import com.chushang.common.core.util.SpringUtils;
|
||||||
|
import com.chushang.common.core.web.AjaxResult;
|
||||||
|
import com.chushang.common.core.web.Result;
|
||||||
|
import com.chushang.common.log.entity.SysLogEntity;
|
||||||
|
import com.chushang.system.service.SysLogService;
|
||||||
|
import com.chushang.task.entity.TaskInfo;
|
||||||
|
import com.chushang.task.entity.dto.UpdateTaskDTO;
|
||||||
|
import com.chushang.task.enums.TaskStatusEnum;
|
||||||
|
import com.chushang.task.enums.TaskTypeEnum;
|
||||||
|
import com.chushang.task.feign.RemoteTaskService;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
|
||||||
|
import org.apache.rocketmq.spring.core.RocketMQListener;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.lang.reflect.Method;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @auther: zhao
|
||||||
|
* @date: 2024/6/12 16:59
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Component
|
||||||
|
@RocketMQMessageListener(topic = ServiceConstant.QUEUE_NAME, consumerGroup = ServiceConstant.SYSTEM_CONSUMER_GROUP)
|
||||||
|
public class LogConsumerService implements RocketMQListener<SysLogEntity> {
|
||||||
|
@Resource
|
||||||
|
private SysLogService logService;
|
||||||
|
/**
|
||||||
|
* 执行 下发的 后台任务
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void onMessage(SysLogEntity logEntity) {
|
||||||
|
log.info("消费日志 {}", JSON.toJSONString(logEntity));
|
||||||
|
logService.save(logEntity);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -31,6 +31,7 @@ public class RemoteDeptController implements RemoteDeptService {
|
||||||
@GetMapping(value = "/getDeptNameByIds")
|
@GetMapping(value = "/getDeptNameByIds")
|
||||||
@InnerAuth
|
@InnerAuth
|
||||||
public Map<Long, String> getDeptNameByIds(@RequestParam Set<Long> deptIds, String source) {
|
public Map<Long, String> getDeptNameByIds(@RequestParam Set<Long> deptIds, String source) {
|
||||||
|
if (CollectionUtil.isEmpty(deptIds)) return Map.of();
|
||||||
List<SysDept> sysDepts = deptService.listByIds(deptIds);
|
List<SysDept> sysDepts = deptService.listByIds(deptIds);
|
||||||
if (CollectionUtil.isNotEmpty(sysDepts)){
|
if (CollectionUtil.isNotEmpty(sysDepts)){
|
||||||
return sysDepts.stream().collect(Collectors.toMap(SysDept::getDeptId, SysDept::getDeptName));
|
return sysDepts.stream().collect(Collectors.toMap(SysDept::getDeptId, SysDept::getDeptName));
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue