浏览代码

permissionList加入销售套餐权限

tangss 7 年之前
父节点
当前提交
26ec1e352e

+ 3 - 0
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/models/SalesPackage.java

@@ -17,4 +17,7 @@ public class SalesPackage {
 
     @Column(name  = "name")
     private String name;
+
+    @Column(name  = "permission")
+    private String permission;
 }

+ 21 - 0
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/service/UserPackageService.java

@@ -0,0 +1,21 @@
+package cn.iselab.mooctest.site.service;
+
+import cn.iselab.mooctest.site.models.User2SalesPackage;
+import cn.iselab.mooctest.site.web.data.PermissionVO;
+import cn.iselab.mooctest.site.web.data.SalesServiceVO;
+
+import java.util.List;
+
+/**
+ * Created by tangshanshan on 2018/1/4.
+ */
+public interface UserPackageService {
+
+    List<User2SalesPackage> getUserSalesPackage(Long userId);
+
+    void saveUserSalesPackage(Long userId, SalesServiceVO salesService);
+
+    void deleteUserSalesPackage(Long userId, SalesServiceVO salesService);
+
+    List<PermissionVO> getSalesPackagePermission(User2SalesPackage user2SalesPackage);
+}

+ 0 - 6
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/service/UserService.java

@@ -36,10 +36,4 @@ public interface UserService {
     Page<User> findByRoleId(Long roleId, Pageable pageable);
 
     Page<User> getUserOfFuzzySearch(Map<String, String> condition, Pageable pageable);
-
-    List<User2SalesPackage> getUserSalesPackage(Long userId);
-
-    void saveUserSalesPackage(Long userId, SalesServiceVO salesService);
-
-    void deleteUserSalesPackage(Long userId, SalesServiceVO salesService);
 }

+ 73 - 0
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/service/impl/UserPackageServiceImpl.java

@@ -0,0 +1,73 @@
+package cn.iselab.mooctest.site.service.impl;
+
+import cn.iselab.mooctest.site.dao.SalesPackageDao;
+import cn.iselab.mooctest.site.dao.SalesServiceDao;
+import cn.iselab.mooctest.site.dao.User2SalesPackageDao;
+import cn.iselab.mooctest.site.models.SalesPackage;
+import cn.iselab.mooctest.site.models.User2SalesPackage;
+import cn.iselab.mooctest.site.service.UserPackageService;
+import cn.iselab.mooctest.site.web.data.PermissionVO;
+import cn.iselab.mooctest.site.web.data.SalesServiceVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * Created by tangshanshan on 2018/1/4.
+ */
+@Service
+public class UserPackageServiceImpl implements UserPackageService {
+
+    @Autowired
+    private User2SalesPackageDao user2SalesPackageDao;
+    @Autowired
+    private SalesServiceDao salesServiceDao;
+    @Autowired
+    private SalesPackageDao salesPackageDao;
+
+    @Override
+    public List<User2SalesPackage> getUserSalesPackage(Long userId) {
+        return user2SalesPackageDao.findByUserId(userId);
+    }
+
+    @Override
+    public void saveUserSalesPackage(Long userId, SalesServiceVO salesService) {
+        User2SalesPackage saveU2p;
+        User2SalesPackage u2p = user2SalesPackageDao.findByUserIdAndSalesServiceId(userId,salesService.getServiceId());
+        if(u2p==null){
+            saveU2p = new User2SalesPackage();
+            saveU2p.setUserId(userId);
+            saveU2p.setSalesPackageId(salesService.getPackageId());
+            saveU2p.setSalesServiceId(salesService.getServiceId());
+        }else{
+            saveU2p = u2p;
+            saveU2p.setSalesPackageId(salesService.getPackageId());
+        }
+        user2SalesPackageDao.save(saveU2p);
+    }
+
+    @Override
+    public void deleteUserSalesPackage(Long userId, SalesServiceVO salesService) {
+        User2SalesPackage u2p = user2SalesPackageDao.findByUserIdAndSalesServiceId(userId,salesService.getServiceId());
+        if(u2p!=null)
+            user2SalesPackageDao.delete(u2p);
+    }
+
+    @Override
+    public List<PermissionVO> getSalesPackagePermission(User2SalesPackage user2SalesPackage) {
+        String type = salesServiceDao.findOne(user2SalesPackage.getSalesServiceId()).getName();
+        SalesPackage salesPackage = salesPackageDao.findOne(user2SalesPackage.getSalesPackageId());
+        if(salesPackage.getPermission()==null||salesPackage.getPermission().trim().equals("")){
+            return Collections.emptyList();
+        }else{
+            return Arrays.stream(salesPackage.getPermission().split(";")).map(permissionStr->{
+                String[] permission = permissionStr.split(":");
+                return new PermissionVO(type, permission[0], permission[1]);
+            }).collect(Collectors.toList());
+        }
+    }
+}

+ 0 - 36
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/service/impl/UserServiceImpl.java

@@ -36,16 +36,8 @@ public class UserServiceImpl extends BaseService implements UserService {
     UserDao userDao;
 
     @Autowired
-    private User2RoleDao user2RoleDao;
-
-    @Autowired
-    private Role2PermissionDao role2PermissionDao;
-
-    @Autowired
     private OpenId2UserIdDao openId2UserIdDao;
 
-    @Autowired
-    private User2SalesPackageDao user2SalesPackageDao;
 
     @Override
     public User createUser(User user) {
@@ -120,34 +112,6 @@ public class UserServiceImpl extends BaseService implements UserService {
 //        return null;
     }
 
-    @Override
-    public List<User2SalesPackage> getUserSalesPackage(Long userId) {
-        return user2SalesPackageDao.findByUserId(userId);
-    }
-
-    @Override
-    public void saveUserSalesPackage(Long userId, SalesServiceVO salesService) {
-        User2SalesPackage saveU2p;
-        User2SalesPackage u2p = user2SalesPackageDao.findByUserIdAndSalesServiceId(userId,salesService.getServiceId());
-        if(u2p==null){
-            saveU2p = new User2SalesPackage();
-            saveU2p.setUserId(userId);
-            saveU2p.setSalesPackageId(salesService.getPackageId());
-            saveU2p.setSalesServiceId(salesService.getServiceId());
-        }else{
-            saveU2p = u2p;
-            saveU2p.setSalesPackageId(salesService.getPackageId());
-        }
-        user2SalesPackageDao.save(saveU2p);
-    }
-
-    @Override
-    public void deleteUserSalesPackage(Long userId, SalesServiceVO salesService) {
-        User2SalesPackage u2p = user2SalesPackageDao.findByUserIdAndSalesServiceId(userId,salesService.getServiceId());
-        if(u2p!=null)
-            user2SalesPackageDao.delete(u2p);
-    }
-
     private Specification<User> getUserWhereClause(Map<String, String> condition) {
         return new Specification<User>() {
             @Override

+ 16 - 9
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/data/PermissionVO.java

@@ -9,9 +9,16 @@ import com.fasterxml.jackson.annotation.JsonInclude;
 @JsonInclude(JsonInclude.Include.NON_NULL)
 public class PermissionVO {
 
+    public PermissionVO(String type, String resource, String operation){
+        this.type = type;
+        this.resource = resource;
+        this.operation = operation;
+    }
+    public PermissionVO(){}
+
     private Long id;
 
-    private String name;
+    private String type;
 
     private String resource;
 
@@ -27,14 +34,6 @@ public class PermissionVO {
         this.id = id;
     }
 
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
     public String getResource() {
         return resource;
     }
@@ -58,4 +57,12 @@ public class PermissionVO {
     public void setCreateTime(Long createTime) {
         this.createTime = createTime;
     }
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
 }

+ 15 - 12
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/logic/impl/PermissionLogicImpl.java

@@ -1,5 +1,6 @@
 package cn.iselab.mooctest.site.web.logic.impl;
 
+import cn.iselab.mooctest.site.models.User2SalesPackage;
 import cn.iselab.mooctest.site.models.instancePermission.*;
 import cn.iselab.mooctest.site.service.*;
 import cn.iselab.mooctest.site.service.instancePermission.*;
@@ -13,6 +14,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -27,16 +29,7 @@ public class PermissionLogicImpl extends BaseLogic implements PermissionLogic {
     private PermissionService permissionService;
 
     @Autowired
-    private User2RoleService user2RoleService;
-
-    @Autowired
-    private RoleService roleService;
-
-    @Autowired
-    private UserService userService;
-
-    @Autowired
-    private Role2PermissionService role2PermissionService;
+    private UserPackageService userPackageService;
 
     @Autowired
     private AppPermissionService appPermissionService;
@@ -57,11 +50,21 @@ public class PermissionLogicImpl extends BaseLogic implements PermissionLogic {
     private TaskPermissionService taskPermissionService;
 
     @Autowired
-    private PermissionVOWraper permissionVoOWrapper;
+    private PermissionVOWraper permissionVOWrapper;
 
     @Override
     public List<PermissionVO> getPermissionsByUserId(Long userId) {
-        return permissionVoOWrapper.wrap(permissionService.findByUserId(userId));
+        List<User2SalesPackage> salesPackageList = userPackageService.getUserSalesPackage(userId);
+        List<PermissionVO> permissions = permissionVOWrapper.wrap(permissionService.findByUserId(userId));
+        List<PermissionVO> salesPermissions = salesPackageList.stream().map(salesPackage->{
+            return userPackageService.getSalesPackagePermission(salesPackage);
+        }).reduce((a,b)->{
+            a.addAll(b);
+            return a;
+        }).orElseGet(()-> Collections.emptyList());
+
+        permissions.addAll(salesPermissions);
+        return permissions;
     }
 
     @Override

+ 6 - 12
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/logic/impl/UserLogicImpl.java

@@ -47,6 +47,9 @@ public class UserLogicImpl extends BaseLogic implements UserLogic {
     private UserService userService;
 
     @Autowired
+    private UserPackageService userPackageService;
+
+    @Autowired
     private RoleService roleService;
 
     @Autowired
@@ -56,21 +59,12 @@ public class UserLogicImpl extends BaseLogic implements UserLogic {
     private UserVOWrapper userVOWrapper;
 
     @Autowired
-    private MenuVOWrapper menuVOWrapper;
-
-    @Autowired
-    private MenuService menuService;
-
-    @Autowired
     private GroupService groupService;
 
     @Autowired
     private User2RoleService user2RoleService;
 
     @Autowired
-    private GroupPermissionService groupPermissionService;
-
-    @Autowired
     private ManagerPropertyService managerPropertyService;
 
     @Autowired
@@ -538,16 +532,16 @@ public class UserLogicImpl extends BaseLogic implements UserLogic {
         if(user==null){
             throw new HttpNotFoundException("用户不存在");
         }
-        return salesPackageVOWrapper.wrap(userService.getUserSalesPackage(user.getId()), user.getId());
+        return salesPackageVOWrapper.wrap(userPackageService.getUserSalesPackage(user.getId()), user.getId());
     }
 
     @Override
     public UserPackageVO saveUserPackage(UserPackageVO userPackageVO) {
         userPackageVO.getSalesServices().stream().forEach(salesService->{
             if(salesService.getPackageId()==null){
-                userService.deleteUserSalesPackage(userPackageVO.getUserId(),salesService);
+                userPackageService.deleteUserSalesPackage(userPackageVO.getUserId(),salesService);
             }else{
-                userService.saveUserSalesPackage(userPackageVO.getUserId(),salesService);
+                userPackageService.saveUserSalesPackage(userPackageVO.getUserId(),salesService);
             }
         });
         return userPackageVO;