Quellcode durchsuchen

改变角色清除redis用户信息
排行榜增加月度统计

marxjaw vor 3 Monaten
Ursprung
Commit
300ae78f9f

+ 6 - 0
yt-app/app-service/src/main/java/com/ytpm/controller/AdController.java

@@ -5,6 +5,8 @@ import com.ytpm.general.Result;
 import com.ytpm.middle.view.DashboardRankingListVO;
 import com.ytpm.service.AdService;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -41,6 +43,10 @@ public class AdController {
         return adService.getAdCount(appIds);
     }
 
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "sortBy", value = "排行榜排序规则",required = true),
+            @ApiImplicitParam(name = "limit", value = "排行榜显示数量",required = true),
+    })
     @ApiOperation("查询应用排行榜信息")
     @GetMapping("/getAppRankingList")
     public DashboardRankingListVO queryRankingList(@RequestParam(name = "sortBy")Integer sortBy,@RequestParam(name = "limit")Integer limit){

+ 24 - 10
yt-app/app-service/src/main/resources/mapper/AppUserMapper.xml

@@ -363,11 +363,18 @@
             yt_dyz_ad_record ar
             JOIN yt_dyz_user u ON ar.user_id = u.user_id
         <where>
-            <if test="sortBy != null and sortBy == 1">
-                DATE_FORMAT( ar.finish_time, '%Y-%m-%d' ) = CURRENT_DATE()
-            </if>
-            <if test="sortBy != null and sortBy != 1">
-                YEARWEEK( ar.finish_time, 1 ) = YEARWEEK(now(),1)
+            <if test="sortBy != null">
+                <choose>
+                    <when test="sortBy == 1">
+                        DATE_FORMAT( ar.finish_time, '%Y-%m-%d' ) = CURRENT_DATE()
+                    </when>
+                    <when test=" sortBy == 2">
+                        YEARWEEK( ar.finish_time, 1 ) = YEARWEEK(now(),1)
+                    </when>
+                    <otherwise>
+                        DATE_FORMAT( ar.finish_time, '%Y-%m' ) = DATE_FORMAT(NOW(), '%Y-%m')
+                    </otherwise>
+                </choose>
             </if>
         </where>
         GROUP BY
@@ -387,11 +394,18 @@
             yt_dyz_ad_record ar
                 JOIN yt_dyz_user u ON ar.user_id = u.user_id
         <where>
-            <if test="sortBy != null and sortBy == 1">
-                DATE_FORMAT( ar.finish_time, '%Y-%m-%d' ) = CURRENT_DATE()
-            </if>
-            <if test="sortBy != null and sortBy != 1">
-                YEARWEEK( ar.finish_time, 1 ) = YEARWEEK(now(),1)
+            <if test="sortBy != null">
+                <choose>
+                    <when test="sortBy == 1">
+                        DATE_FORMAT( ar.finish_time, '%Y-%m-%d' ) = CURRENT_DATE()
+                    </when>
+                    <when test=" sortBy == 2">
+                        YEARWEEK( ar.finish_time, 1 ) = YEARWEEK(now(),1)
+                    </when>
+                    <otherwise>
+                        DATE_FORMAT( ar.finish_time, '%Y-%m' ) = DATE_FORMAT(NOW(), '%Y-%m')
+                    </otherwise>
+                </choose>
             </if>
         </where>
         GROUP BY ar.user_id

+ 2 - 2
yt-middle/middle-platform/src/main/java/com/ytpm/middle/controller/RoleController.java

@@ -59,7 +59,7 @@ public class RoleController {
     @ApiOperation("角色授权用户")
     @GetMapping("/grantUserList")
     public Result<String> grantUserList(@RequestParam(name = "userIds")String userIds,@RequestParam(name = "roleId")Integer roleId,@ApiIgnore @AuthenticationPrincipal MiddleUserInfo userInfo) {
-        return roleService.grantUsers(userIds,roleId,userInfo.getUserId());
+        return roleService.grantUsers(userIds,roleId,userInfo);
     }
     @ApiImplicitParams({
             @ApiImplicitParam(name = "roleId", value = "角色ID", required = true),
@@ -68,6 +68,6 @@ public class RoleController {
     @ApiOperation("角色权限设置")
     @GetMapping("/savePermission")
     public Result<String> savePermission(@RequestParam(name = "roleId")Integer roleId,@RequestParam(name = "permissionIds")String permissionIds,@ApiIgnore @AuthenticationPrincipal MiddleUserInfo userInfo){
-        return roleService.savePermission(roleId,permissionIds,userInfo.getUserId());
+        return roleService.savePermission(roleId,permissionIds,userInfo);
     }
 }

+ 3 - 2
yt-middle/middle-platform/src/main/java/com/ytpm/middle/service/RoleService.java

@@ -4,6 +4,7 @@ import com.ytpm.general.Result;
 import com.ytpm.general.ResultTable;
 import com.ytpm.middle.param.MiddleRoleParam;
 import com.ytpm.middle.view.MiddleRoleVO;
+import com.ytpm.middle.view.MiddleUserInfo;
 
 import java.util.List;
 
@@ -31,10 +32,10 @@ public interface RoleService {
     /**
      * 角色授权用户
      */
-    Result<String> grantUsers(String userIds,Integer roleId, String operatorId);
+    Result<String> grantUsers(String userIds,Integer roleId, MiddleUserInfo userInfo);
 
     /**
      * 角色分配权限
      */
-    Result<String> savePermission(Integer roleId, String permissionIds, String operatorId);
+    Result<String> savePermission(Integer roleId, String permissionIds, MiddleUserInfo userInfo);
 }

+ 4 - 4
yt-middle/middle-platform/src/main/java/com/ytpm/middle/service/impl/CountServiceImpl.java

@@ -61,19 +61,19 @@ public class CountServiceImpl implements CountService {
     @Override
     public Result<DashboardRankingListVO> getRankingList(Integer sortBy) {
         //判断redis中是否存在排行榜信息 不存在则查询数据进行更新,存在则直接取出
-        if(Boolean.TRUE.equals(redisUtil.hasKey(RANKING_KEY))){
-            String ranking = redisUtil.getStr(RANKING_KEY);
+        if(Boolean.TRUE.equals(redisUtil.hasKey(RANKING_KEY+sortBy))){
+            String ranking = redisUtil.getStr(RANKING_KEY+sortBy);
             return Result.resultObjOk(JSON.parseObject(ranking, DashboardRankingListVO.class));
         }
         DashboardRankingListVO rankingVO = appFeign.queryRankingList(sortBy,rankingLimit);
         List<AppRankingListVO> appRankingList = rankingVO.getAppRankingList();
         List<AgentAppView> views = apkMapper.queryAll();
-        Map<String, String> collect = views.stream().collect(Collectors.toMap(s -> s.getAppId(), o -> o.getAppName()));
+        Map<String, String> collect = views.stream().collect(Collectors.toMap(AgentAppView::getAppId, o -> o.getAppName()));
         for (AppRankingListVO vo : appRankingList) {
             vo.setAppName(collect.get(vo.getAppId()));
         }
         rankingVO.setAppRankingList(appRankingList);
-        redisUtil.setTimeOutMinutesStr(RANKING_KEY, JSON.toJSONString(rankingVO),rankingExpire);
+        redisUtil.setTimeOutMinutesStr(RANKING_KEY+sortBy, JSON.toJSONString(rankingVO),rankingExpire);
         return Result.resultObjOk(rankingVO);
     }
 }

+ 14 - 4
yt-middle/middle-platform/src/main/java/com/ytpm/middle/service/impl/RoleServiceImpl.java

@@ -2,6 +2,7 @@ package com.ytpm.middle.service.impl;
 
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
+import com.ytpm.constant.StrConstant;
 import com.ytpm.general.RepMessage;
 import com.ytpm.general.Result;
 import com.ytpm.general.ResultTable;
@@ -10,7 +11,10 @@ import com.ytpm.middle.dao.RoleMapper;
 import com.ytpm.middle.model.YtMiddleRole;
 import com.ytpm.middle.param.MiddleRoleParam;
 import com.ytpm.middle.service.RoleService;
+import com.ytpm.middle.util.RedisUtil;
 import com.ytpm.middle.view.MiddleRoleVO;
+import com.ytpm.middle.view.MiddleUserInfo;
+import com.ytpm.util.RedisService;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -25,6 +29,8 @@ public class RoleServiceImpl implements RoleService {
     private RoleMapper roleMapper;
     @Resource
     private PermissionMapper permissionMapper;
+    @Resource
+    private RedisUtil redisService;
 
     /**
      * 查询角色列表
@@ -87,13 +93,15 @@ public class RoleServiceImpl implements RoleService {
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public Result<String> grantUsers(String userIds,Integer roleId,String operatorId) {
+    public Result<String> grantUsers(String userIds, Integer roleId, MiddleUserInfo userInfo) {
         YtMiddleRole old = roleMapper.selectPrimary(roleId);
         if(Objects.isNull(old)){
             return Result.resultOk(RepMessage.DELETE_SUCCESS);
         }
         roleMapper.delUserRoleById(roleId);
-        roleMapper.grantRoleToUsers(roleId,operatorId,userIds);
+        roleMapper.grantRoleToUsers(roleId,userInfo.getUserId(),userIds);
+        //清除redis用户信息
+        redisService.del(StrConstant.USER_INFO_PRE+userInfo.getLoginName());
         return Result.resultOk(RepMessage.GRANT_SUCCESS);
     }
 
@@ -102,14 +110,16 @@ public class RoleServiceImpl implements RoleService {
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public Result<String> savePermission(Integer roleId, String permissionIds, String operatorId) {
+    public Result<String> savePermission(Integer roleId, String permissionIds,MiddleUserInfo userInfo) {
         YtMiddleRole old = roleMapper.selectPrimary(roleId);
         if(Objects.isNull(old)){
             return Result.resultOk(RepMessage.DELETE_SUCCESS);
         }
         //清除旧权限,分配新权限
         permissionMapper.delByRoleId(roleId);
-        permissionMapper.addRolePermissions(roleId,permissionIds,operatorId);
+        permissionMapper.addRolePermissions(roleId,permissionIds,userInfo.getUserId());
+        //清除redis用户信息
+        redisService.del(StrConstant.USER_INFO_PRE+userInfo.getLoginName());
         return Result.resultOk(RepMessage.GRANT_SUCCESS);
     }
 }