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(); } 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)); } } 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(); } 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> 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); } 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; } } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/vo/AppStatistics.java
New file @@ -0,0 +1,17 @@ package cn.gistack.sm.log.vo; import lombok.Data; @Data public class AppStatistics { /** * 使用次数 */ private Integer useCount; /** * 使用时间 */ private String useTime; } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/vo/AppStatisticsVO.java
New file @@ -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; } 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()); } }