guoshilong
2023-06-01 ef6dc207445822bdb4bb3ac9d81e86ebfbe488e9
app使用率接口
7 files modified
2 files added
138 ■■■■■ changed files
skjcmanager/skjcmanager-service-api/skjcmanager-user-api/src/main/java/cn/gistack/system/user/feign/IUserClient.java 5 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/controller/SmLogManageController.java 16 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/mapper/SmLogManageMapper.java 8 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/mapper/SmLogManageMapper.xml 29 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/service/ISmLogManageService.java 3 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/service/impl/ISmLogManageServiceImpl.java 21 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/vo/AppStatistics.java 17 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/vo/AppStatisticsVO.java 34 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-user/src/main/java/cn/gistack/system/user/feign/UserClient.java 5 ●●●●● patch | view | raw | blame | history
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') &gt;= #{vo.startTime}
        </if>
        <if test="vo.endTime !=null and vo.endTime !=''">
            AND DATE_FORMAT(creat_time,'%Y-%m-%d') &lt;= #{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());
    }
}