From ef6dc207445822bdb4bb3ac9d81e86ebfbe488e9 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Thu, 01 Jun 2023 16:10:28 +0800
Subject: [PATCH] app使用率接口
---
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/vo/AppStatistics.java | 17 +++++
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/controller/SmLogManageController.java | 16 ++--
skjcmanager/skjcmanager-service/skjcmanager-user/src/main/java/cn/gistack/system/user/feign/UserClient.java | 5 +
skjcmanager/skjcmanager-service-api/skjcmanager-user-api/src/main/java/cn/gistack/system/user/feign/IUserClient.java | 5 +
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/vo/AppStatisticsVO.java | 34 +++++++++++
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/mapper/SmLogManageMapper.java | 8 ++
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/service/ISmLogManageService.java | 3 +
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/mapper/SmLogManageMapper.xml | 29 +++++++++
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/service/impl/ISmLogManageServiceImpl.java | 21 +++++++
9 files changed, 127 insertions(+), 11 deletions(-)
diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-user-api/src/main/java/cn/gistack/system/user/feign/IUserClient.java b/skjcmanager/skjcmanager-service-api/skjcmanager-user-api/src/main/java/cn/gistack/system/user/feign/IUserClient.java
index 10504a9..6275bb4 100644
--- a/skjcmanager/skjcmanager-service-api/skjcmanager-user-api/src/main/java/cn/gistack/system/user/feign/IUserClient.java
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-user-api/src/main/java/cn/gistack/system/user/feign/IUserClient.java
@@ -52,7 +52,7 @@
String USER_AUTH_INFO = API_PREFIX + "/user-auth-info";
String SAVE_USER = API_PREFIX + "/save-user";
String REMOVE_USER = API_PREFIX + "/remove-user";
-
+ String GET_ALL_USER_LIST = API_PREFIX+ "/get-all-user-list";
/**
* 获取用户信息
*
@@ -141,4 +141,7 @@
@PostMapping(REMOVE_USER)
R<Boolean> removeUser(@RequestParam("tenantIds") String tenantIds);
+ @GetMapping(GET_ALL_USER_LIST)
+ R<List<User>> getAllUserList();
+
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/controller/SmLogManageController.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/controller/SmLogManageController.java
index 76bfffc..0b76c9d 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/controller/SmLogManageController.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/controller/SmLogManageController.java
@@ -2,6 +2,7 @@
import cn.gistack.sm.log.entity.SmLogManage;
import cn.gistack.sm.log.service.ISmLogManageService;
+import cn.gistack.sm.log.vo.AppStatisticsVO;
import cn.gistack.sm.patrol.entity.PatrolConfig;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -9,10 +10,7 @@
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.ObjectUtil;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
/**
* @ClassName 日志管理
@@ -33,11 +31,13 @@
@ApiOperation(value="日志管理-添加", notes="日志管理-添加")
@PostMapping(value = "/add")
public R add(@RequestBody SmLogManage smLogManage) {
-
- if (ObjectUtil.isEmpty(smLogManage.getSource())){
- smLogManage.setSource("WEB");
- }
return R.data(smLogManageService.save(smLogManage));
}
+ @ApiOperation(value="查询app使用人数", notes="查询app使用人数")
+ @GetMapping(value = "/getAppStatistics")
+ public R getAppStatistics(AppStatisticsVO appStatisticsVO){
+ return R.data(smLogManageService.getAppStatistics(appStatisticsVO));
+ }
+
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/mapper/SmLogManageMapper.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/mapper/SmLogManageMapper.java
index b171490..b6746aa 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/mapper/SmLogManageMapper.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/mapper/SmLogManageMapper.java
@@ -1,7 +1,12 @@
package cn.gistack.sm.log.mapper;
import cn.gistack.sm.log.entity.SmLogManage;
+import cn.gistack.sm.log.vo.AppStatistics;
+import cn.gistack.sm.log.vo.AppStatisticsVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
/**
* @ClassName SmLogManageMapper
@@ -11,4 +16,7 @@
* @Version 1.0
*/
public interface SmLogManageMapper extends BaseMapper<SmLogManage> {
+ List<AppStatistics> getAppStatistics(@Param("vo") AppStatisticsVO appStatisticsVO);
+
+ Integer getAppUserNum();
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/mapper/SmLogManageMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/mapper/SmLogManageMapper.xml
index 54d17d0..8da5696 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/mapper/SmLogManageMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/mapper/SmLogManageMapper.xml
@@ -1,6 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.gistack.sm.log.mapper.SmLogManageMapper">
-
-
+ <select id="getAppUserNum" resultType="java.lang.Integer">
+ SELECT SUM(CASE WHEN useTimes !=0 THEN 1 ELSE 0 END) FROM (
+ SELECT COUNT(*) as useTimes
+ FROM SM_LOG_MANAGE SLM
+ WHERE SLM.SOURCE = 'APP' AND SLM.IS_DELETED = 0
+ GROUP BY SLM.CREATE_USER
+ )
+ </select>
+ <select id="getAppStatistics" resultType="cn.gistack.sm.log.vo.AppStatistics">
+ SELECT COUNT(A.useTime) AS useCount,A.useTime as useTime FROM
+ (
+ SELECT
+ COUNT(*),
+ to_char(create_time,'yyyy-mm-dd') AS useTime,
+ CREATE_USER
+ FROM SK002.SM_LOG_MANAGE
+ WHERE IS_DELETED = 0 AND SOURCE = 'APP'
+ <if test="vo.startTime !=null and vo.startTime !=''">
+ AND DATE_FORMAT(creat_time,'%Y-%m-%d') >= #{vo.startTime}
+ </if>
+ <if test="vo.endTime !=null and vo.endTime !=''">
+ AND DATE_FORMAT(creat_time,'%Y-%m-%d') <= #{vo.endTime}
+ </if>
+ GROUP BY (CREATE_USER,to_char(create_time,'yyyy-mm-dd'),CREATE_USER)
+ ) A
+ GROUP BY A.useTime
+ </select>
</mapper>
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/service/ISmLogManageService.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/service/ISmLogManageService.java
index 6d65a43..abc5258 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/service/ISmLogManageService.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/service/ISmLogManageService.java
@@ -1,6 +1,8 @@
package cn.gistack.sm.log.service;
import cn.gistack.sm.log.entity.SmLogManage;
+import cn.gistack.sm.log.vo.AppStatistics;
+import cn.gistack.sm.log.vo.AppStatisticsVO;
import org.springblade.core.mp.base.BaseService;
/**
@@ -11,4 +13,5 @@
* @Version 1.0
*/
public interface ISmLogManageService extends BaseService<SmLogManage> {
+ AppStatisticsVO getAppStatistics(AppStatisticsVO appStatisticsVO);
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/service/impl/ISmLogManageServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/service/impl/ISmLogManageServiceImpl.java
index 409c3da..be872fa 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/service/impl/ISmLogManageServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/service/impl/ISmLogManageServiceImpl.java
@@ -3,8 +3,14 @@
import cn.gistack.sm.log.entity.SmLogManage;
import cn.gistack.sm.log.mapper.SmLogManageMapper;
import cn.gistack.sm.log.service.ISmLogManageService;
+import cn.gistack.sm.log.vo.AppStatistics;
+import cn.gistack.sm.log.vo.AppStatisticsVO;
+import cn.gistack.system.user.feign.IUserClient;
+import lombok.AllArgsConstructor;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.stereotype.Service;
+
+import java.util.List;
/**
* @ClassName ISmLogManageServiceImpl
@@ -14,5 +20,20 @@
* @Version 1.0
*/
@Service
+@AllArgsConstructor
public class ISmLogManageServiceImpl extends BaseServiceImpl<SmLogManageMapper, SmLogManage> implements ISmLogManageService {
+ private IUserClient userClient;
+
+ @Override
+ public AppStatisticsVO getAppStatistics(AppStatisticsVO appStatisticsVO) {
+
+ Integer appUserNum = baseMapper.getAppUserNum();
+ Integer sysUserNum = userClient.getAllUserList().getData().size();
+ appStatisticsVO.setSysUserNum(sysUserNum);
+ appStatisticsVO.setAppUserNum(appUserNum);
+
+ List<AppStatistics> appStatistics = baseMapper.getAppStatistics(appStatisticsVO);
+ appStatisticsVO.setList(appStatistics);
+ return appStatisticsVO;
+ }
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/vo/AppStatistics.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/vo/AppStatistics.java
new file mode 100644
index 0000000..c542bc9
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/vo/AppStatistics.java
@@ -0,0 +1,17 @@
+package cn.gistack.sm.log.vo;
+
+import lombok.Data;
+
+@Data
+public class AppStatistics {
+ /**
+ * 使用次数
+ */
+ private Integer useCount;
+
+ /**
+ * 使用时间
+ */
+ private String useTime;
+
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/vo/AppStatisticsVO.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/vo/AppStatisticsVO.java
new file mode 100644
index 0000000..7bba8a9
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/vo/AppStatisticsVO.java
@@ -0,0 +1,34 @@
+package cn.gistack.sm.log.vo;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class AppStatisticsVO {
+
+ /**
+ * 使用人数统计列表
+ */
+ private List<AppStatistics> list;
+
+ /**
+ * app使用人数
+ */
+ private Integer appUserNum;
+
+ /**
+ * 系统使用人数
+ */
+ private Integer sysUserNum;
+
+ /**
+ * 开始时间
+ */
+ private String startTime;
+
+ /**
+ * 结束时间
+ */
+ private String endTime;
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-user/src/main/java/cn/gistack/system/user/feign/UserClient.java b/skjcmanager/skjcmanager-service/skjcmanager-user/src/main/java/cn/gistack/system/user/feign/UserClient.java
index 195d942..a28070f 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-user/src/main/java/cn/gistack/system/user/feign/UserClient.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-user/src/main/java/cn/gistack/system/user/feign/UserClient.java
@@ -99,4 +99,9 @@
return R.data(service.remove(Wrappers.<User>query().lambda().in(User::getTenantId, Func.toStrList(tenantIds))));
}
+ @Override
+ public R<List<User>> getAllUserList() {
+ return R.data(service.list());
+ }
+
}
--
Gitblit v1.9.3