lyhzzz 1 سال پیش
والد
کامیت
15b9c77aca

+ 2 - 6
src/main/java/com/fdkankan/manage/controller/inner/InnerAPIController.java

@@ -16,6 +16,7 @@ import com.fdkankan.manage.service.*;
 import com.fdkankan.manage.util.RsaUtils;
 import com.fdkankan.manage.vo.request.SceneParam;
 import com.fdkankan.manage.vo.request.UserParam;
+import com.fdkankan.manage.vo.response.UserAuthSceneVo;
 import com.fdkankan.manage.vo.response.UserShareSceneVo;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -243,12 +244,7 @@ public class InnerAPIController extends BaseController {
         shareParam.setPageNum(param.getPageNum());
         shareParam.setPageSize(param.getPageSize());
         shareParam.setJyUserId(jyUser.getId());
-        Page<UserShareSceneVo> page= jyUserShareService.sceneAuthList(shareParam);
-        List<String> numList = page.getRecords().stream().map(UserShareSceneVo::getNum).collect(Collectors.toList());
-        HashMap<String, List<JySceneUserAuth>> map  = jySceneUserAuthService.getByNumList(numList);
-        for (UserShareSceneVo record : page.getRecords()) {
-            List<JySceneUserAuth> userAuths = map.get(record.getNum()+"_"+record.getAuthType());
-        }
+        Page<UserAuthSceneVo> page= jyUserShareService.sceneAuthVoList(shareParam);
 
         return ResultData.ok(PageInfo.PageInfo(page));
     }

+ 3 - 0
src/main/java/com/fdkankan/manage/mapper/IScenePlusMapper.java

@@ -5,6 +5,7 @@ import com.fdkankan.manage.entity.ScenePlus;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.fdkankan.manage.entity.UserShareParam;
 import com.fdkankan.manage.vo.response.GroupByCount;
+import com.fdkankan.manage.vo.response.UserAuthSceneVo;
 import com.fdkankan.manage.vo.response.UserShareSceneVo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
@@ -29,4 +30,6 @@ public interface IScenePlusMapper extends BaseMapper<ScenePlus> {
 
     Page<UserShareSceneVo> shareScenePageList(Page<UserShareSceneVo> objectPage, UserShareParam param);
     Page<UserShareSceneVo> sceneAuthPageList(Page<UserShareSceneVo> objectPage, UserShareParam param);
+
+    Page<UserAuthSceneVo> sceneAuthVoPageList(Page<UserShareSceneVo> objectPage, UserShareParam param);
 }

+ 2 - 0
src/main/java/com/fdkankan/manage/service/IJySceneUserAuthService.java

@@ -44,4 +44,6 @@ public interface IJySceneUserAuthService extends IService<JySceneUserAuth> {
 
 
     HashMap<String, List<JySceneUserAuth>> getByNumList(List<String> numList);
+
+    HashMap<String, List<JySceneUserAuth>> getByNumList(List<String> numList,Integer jyUserId);
 }

+ 2 - 0
src/main/java/com/fdkankan/manage/service/IJyUserShareService.java

@@ -5,6 +5,7 @@ import com.fdkankan.manage.entity.JyUser;
 import com.fdkankan.manage.entity.JyUserShare;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.fdkankan.manage.entity.UserShareParam;
+import com.fdkankan.manage.vo.response.UserAuthSceneVo;
 import com.fdkankan.manage.vo.response.UserShareSceneVo;
 
 import java.util.List;
@@ -27,6 +28,7 @@ public interface IJyUserShareService extends IService<JyUserShare> {
 
     Page<UserShareSceneVo> sceneList(UserShareParam param);
     Page<UserShareSceneVo> sceneAuthList(UserShareParam param);
+    Page<UserAuthSceneVo> sceneAuthVoList(UserShareParam param);
 
     List<JyUserShare> getByJyUserId(Integer id);
 }

+ 2 - 0
src/main/java/com/fdkankan/manage/service/IScenePlusService.java

@@ -6,6 +6,7 @@ import com.fdkankan.manage.entity.ScenePlus;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.fdkankan.manage.entity.UserShareParam;
 import com.fdkankan.manage.vo.request.SceneParam;
+import com.fdkankan.manage.vo.response.UserAuthSceneVo;
 import com.fdkankan.manage.vo.response.UserShareSceneVo;
 
 import java.util.ArrayList;
@@ -32,4 +33,5 @@ public interface IScenePlusService extends IService<ScenePlus> {
 
     Page<UserShareSceneVo> shareScenePageList(Page<UserShareSceneVo> objectPage, UserShareParam param);
     Page<UserShareSceneVo> sceneAuthPageList(Page<UserShareSceneVo> objectPage, UserShareParam param);
+    Page<UserAuthSceneVo> sceneAuthVoPageList(Page<UserShareSceneVo> objectPage, UserShareParam param);
 }

+ 18 - 0
src/main/java/com/fdkankan/manage/service/impl/JySceneUserAuthServiceImpl.java

@@ -443,4 +443,22 @@ public class JySceneUserAuthServiceImpl extends ServiceImpl<IJySceneUserAuthMapp
         }
         return map;
     }
+
+    @Override
+    public HashMap<String, List<JySceneUserAuth>> getByNumList(List<String> numList,Integer jyUserId) {
+        HashMap<String, List<JySceneUserAuth>> map = new HashMap<>();
+        if(numList.isEmpty()){
+            return map;
+        }
+        LambdaQueryWrapper<JySceneUserAuth> wrapper = new LambdaQueryWrapper<>();
+        wrapper.in(JySceneUserAuth::getNum,numList);
+        wrapper.eq(JySceneUserAuth::getAuthorId,jyUserId);
+        List<JySceneUserAuth> list = this.list(wrapper);
+        for (JySceneUserAuth e : list) {
+            String key = e.getNum() + "_"+ e.getAuthType();
+            map.computeIfAbsent(key, k -> new ArrayList<>());
+            map.get(key).add(e);
+        }
+        return map;
+    }
 }

+ 42 - 0
src/main/java/com/fdkankan/manage/service/impl/JyUserShareServiceImpl.java

@@ -19,6 +19,7 @@ import com.fdkankan.manage.service.IScenePlusService;
 import com.fdkankan.manage.service.IUserService;
 import com.fdkankan.manage.vo.request.SceneParam;
 import com.fdkankan.manage.vo.response.SceneVo;
+import com.fdkankan.manage.vo.response.UserAuthSceneVo;
 import com.fdkankan.manage.vo.response.UserShareSceneVo;
 import com.fdkankan.manage.vo.response.UserShareVo;
 import org.apache.commons.lang3.StringUtils;
@@ -161,4 +162,45 @@ public class JyUserShareServiceImpl extends ServiceImpl<IJyUserShareMapper, JyUs
     }
 
 
+    @Override
+    public Page<UserAuthSceneVo> sceneAuthVoList(UserShareParam param) {
+        Page<UserAuthSceneVo> page = scenePlusService.sceneAuthVoPageList(new Page<>(param.getPageNum(), param.getPageSize()),param);
+        setSsAuthSceneVo(page);
+        return page;
+    }
+
+    private void setSsAuthSceneVo(Page<UserAuthSceneVo> page) {
+        HashMap<String,SceneVo> map = new HashMap<>();
+        List<String> ssNumList = page.getRecords().stream().filter(e -> e.getSceneSource().equals(4)).map(UserAuthSceneVo::getNum).collect(Collectors.toList());
+        List<String> sgNumList = page.getRecords().stream().filter(e -> e.getSceneSource().equals(5)).map(UserAuthSceneVo::getNum).collect(Collectors.toList());
+        SceneParam laserParam = new SceneParam();
+        laserParam.setPageNum(1);
+        laserParam.setPageSize(999);
+        if(!ssNumList.isEmpty()){
+            laserParam.setType(2);
+            laserParam.setAuthNumList(ssNumList);
+            Page<SceneVo> sceneVoPage = laserService.pageList(laserParam);
+            for (SceneVo sceneVo : sceneVoPage.getRecords()) {
+                map.put(sceneVo.getNum(),sceneVo);
+            }
+        }
+        if(!sgNumList.isEmpty()){
+            laserParam.setType(6);
+            laserParam.setAuthNumList(sgNumList);
+            Page<SceneVo> sceneVoPage = laserService.pageList(laserParam);
+            for (SceneVo sceneVo : sceneVoPage.getRecords()) {
+                map.put(sceneVo.getNum(),sceneVo);
+            }
+        }
+        for (UserAuthSceneVo record : page.getRecords()) {
+            //替换深时标题,链接
+            SceneVo sceneVo = map.get(record.getNum());
+            if(sceneVo != null){
+                record.setWebSite(sceneVo.getWebSite());
+                record.setTitle(sceneVo.getSceneName());
+            }
+        }
+    }
+
+
 }

+ 5 - 0
src/main/java/com/fdkankan/manage/service/impl/ScenePlusServiceImpl.java

@@ -11,6 +11,7 @@ import com.fdkankan.manage.service.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.manage.vo.request.SceneParam;
 import com.fdkankan.manage.vo.response.GroupByCount;
+import com.fdkankan.manage.vo.response.UserAuthSceneVo;
 import com.fdkankan.manage.vo.response.UserShareSceneVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -83,4 +84,8 @@ public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlu
     public Page<UserShareSceneVo> sceneAuthPageList(Page<UserShareSceneVo> objectPage, UserShareParam param) {
         return this.getBaseMapper().sceneAuthPageList(objectPage,param);
     }
+    @Override
+    public Page<UserAuthSceneVo> sceneAuthVoPageList(Page<UserShareSceneVo> objectPage, UserShareParam param) {
+        return this.getBaseMapper().sceneAuthVoPageList(objectPage,param);
+    }
 }

+ 65 - 0
src/main/java/com/fdkankan/manage/vo/response/UserAuthSceneVo.java

@@ -0,0 +1,65 @@
+package com.fdkankan.manage.vo.response;
+
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fdkankan.manage.entity.JySceneUserAuth;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+@Data
+public class UserAuthSceneVo {
+    private Integer id;
+    private String title;
+    private String webSite;
+    private String num;
+    private String createTime;
+    private String algorithmTime;
+    private String ryNo;
+    private String ryNickName;
+    private Integer status;
+    private Integer sceneSource;
+
+    private Integer jyUserId;
+
+    /**
+     * 是否有浏览权限0否,1不限时查看,2限时查看
+     */
+    private Integer lookAuth;
+
+    /**
+     * 是否有编辑权限0否,1不限时编辑,2限时编辑
+     */
+    private Integer editAuth;
+
+    /**
+     * 浏览截止时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+    private Date lookEndTime;
+
+    /**
+     * 编辑截止时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+    private Date editEndTime;
+    private Integer isAuthor;
+    private Integer canAuthLook;
+    private Integer canEditLook;
+    private Integer authorId;
+
+    private Date updateTime;
+
+    private String ryId;
+
+    private Integer authType = 0;   //0授权用户,1公开访问
+
+    private Integer canDel =0;
+
+    private List<JySceneUserAuth> authList;
+}

+ 15 - 0
src/main/resources/mapper/manage/ScenePlusMapper.xml

@@ -65,4 +65,19 @@
         order by s.create_time desc ,s.id desc
 
     </select>
+
+    <select id="sceneAuthVoPageList" resultType="com.fdkankan.manage.vo.response.UserAuthSceneVo">
+        select s.*,e.*,jua.*
+        from t_scene_plus s
+        left join  t_scene_plus_ext e on s.id = e.plus_id
+        left join jy_user ju on s.user_id = ju.user_id
+        left join jy_scene_user_auth jua on s.num = jua.num
+        left join jy_scene_auth ja on jua.num = ja.num
+        where s.rec_status = 'A'  and jua.rec_status = 'A'  and jua.auth_type = ja.auth_type
+        <if test="param.jyUserId != null">
+            and jua.jy_user_id = #{param.jyUserId}
+        </if>
+        order by s.create_time desc ,s.id desc
+
+    </select>
 </mapper>