Просмотр исходного кода

update: 区域发布项目时对区域管理员管辖区域的判断

guochao 6 лет назад
Родитель
Сommit
0d610161eb

+ 0 - 35
core/src/main/java/com/mooctest/crowd/domain/dao/RegionalManagerDao.java

@@ -1,35 +0,0 @@
-package com.mooctest.crowd.domain.dao;
-
-import com.mooctest.crowd.domain.model.RegionalManagerPO;
-import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
-import org.springframework.data.repository.PagingAndSortingRepository;
-
-import javax.transaction.Transactional;
-import java.util.List;
-import java.util.Optional;
-
-@Transactional
-public interface RegionalManagerDao extends PagingAndSortingRepository<RegionalManagerPO, Long>, JpaSpecificationExecutor<RegionalManagerPO> {
-
-    Optional<RegionalManagerPO> findById(Long Id);
-
-    List<RegionalManagerPO> findByUserId(Long userId);
-
-    List<RegionalManagerPO> findByUserIdAndIsDeleted(Long userId, int deletedStatus);
-
-    RegionalManagerPO findByRegionalId(Long regionalId);
-
-    @Override
-    Iterable<RegionalManagerPO> findAllById(Iterable<Long> iterable);
-
-    @Override
-    Iterable<RegionalManagerPO> findAll();
-
-    @Override
-    void delete(RegionalManagerPO regionalManagerPO);
-
-    void deleteAll(Iterable<? extends RegionalManagerPO> iterable);
-
-    RegionalManagerPO save(RegionalManagerPO regionalManagerPO);
-
-}

+ 33 - 0
core/src/main/java/com/mooctest/crowd/domain/dao/RegionalManagerToRegionalDao.java

@@ -0,0 +1,33 @@
+package com.mooctest.crowd.domain.dao;
+
+import com.mooctest.crowd.domain.model.RegionalManagerToRegionalPO;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.repository.PagingAndSortingRepository;
+
+import javax.transaction.Transactional;
+import java.util.List;
+import java.util.Optional;
+
+@Transactional
+public interface RegionalManagerToRegionalDao extends PagingAndSortingRepository<RegionalManagerToRegionalPO, Long>, JpaSpecificationExecutor<RegionalManagerToRegionalPO> {
+
+    Optional<RegionalManagerToRegionalPO> findById(Long Id);
+
+    List<RegionalManagerToRegionalPO> findByUserId(Long userId);
+
+    List<RegionalManagerToRegionalPO> findByUserIdAndIsDeleted(Long userId, int deletedStatus);
+
+    @Override
+    Iterable<RegionalManagerToRegionalPO> findAllById(Iterable<Long> iterable);
+
+    @Override
+    Iterable<RegionalManagerToRegionalPO> findAll();
+
+    @Override
+    void delete(RegionalManagerToRegionalPO regionalManagerToRegionalPO);
+
+    void deleteAll(Iterable<? extends RegionalManagerToRegionalPO> iterable);
+
+    RegionalManagerToRegionalPO save(RegionalManagerToRegionalPO regionalManagerToRegionalPO);
+
+}

+ 10 - 3
core/src/main/java/com/mooctest/crowd/domain/domainobject/CrowdTestProject.java

@@ -337,13 +337,20 @@ public class CrowdTestProject {
             }
             //项目是区域发布
             else if(this.getProjectDistributionTypeId() == 1){
-                List<Regional> regionalList = regionalManager.getRegionalList();
+                List<RegionalManagerToRegional> regionalList = regionalManager.getRegionalList();
                 boolean isValidCity = false;
                 //判断管理员管辖的区域是否符合要求
-                for(Regional regional : regionalList){
-                    if(this.getDistributionCity().equals(regional.getName())){
+                for(RegionalManagerToRegional regional : regionalList){
+                    //判断市是否相同
+                    if(this.getDistributionCity().equals(regional.getCity())){
                         isValidCity = true;
                     }
+                    //如果市区是"*",则判断省份是否相同
+                    if(regional.getCity().equals("*")){
+                        if(this.getDistributionProvince().equals(regional.getProvince())){
+                            isValidCity = true;
+                        }
+                    }
                 }
 
                 if(!isValidCity){

+ 2 - 12
core/src/main/java/com/mooctest/crowd/domain/domainobject/RegionalManager.java

@@ -2,7 +2,6 @@ package com.mooctest.crowd.domain.domainobject;
 
 import lombok.Data;
 
-import java.sql.Timestamp;
 import java.util.List;
 
 /**
@@ -13,23 +12,14 @@ import java.util.List;
 public class RegionalManager {
     private Long id;
     private Long userId;
-    private Long provinceCode;
-    private String province;
-    private String city;
-    private int isDeleted;
-    private List<Regional> regionalList;
-    private Timestamp createTime;
+    private List<RegionalManagerToRegional> regionalList;
 
     @Override
     public String toString() {
         return "RegionalManager{" +
                 "id=" + id +
                 ", userId=" + userId +
-                ", provinceCode=" + provinceCode +
-                ", province='" + province + '\'' +
-                ", city='" + city + '\'' +
-                ", isDeleted=" + isDeleted +
-                ", createTime=" + createTime +
+                ", regionalList=" + regionalList +
                 '}';
     }
 }

+ 21 - 0
core/src/main/java/com/mooctest/crowd/domain/domainobject/RegionalManagerToRegional.java

@@ -0,0 +1,21 @@
+package com.mooctest.crowd.domain.domainobject;
+
+import lombok.Data;
+
+/**
+ * @author guochao
+ * @date 2019/7/9 14:16
+ */
+@Data
+public class RegionalManagerToRegional {
+    private String province;
+    private String city;
+
+    @Override
+    public String toString() {
+        return "Regional{" +
+                "province='" + province + '\'' +
+                ", city='" + city + '\'' +
+                '}';
+    }
+}

+ 2 - 2
core/src/main/java/com/mooctest/crowd/domain/model/RegionalManagerPO.java → core/src/main/java/com/mooctest/crowd/domain/model/RegionalManagerToRegionalPO.java

@@ -12,7 +12,7 @@ import java.sql.Timestamp;
 @Data
 @Entity
 @Table(name = "regional_manager_to_regional")
-public class RegionalManagerPO {
+public class RegionalManagerToRegionalPO {
 
     @Id
     @Column(name = "RMTP_ID")
@@ -23,7 +23,7 @@ public class RegionalManagerPO {
     private Long userId;
 
     @Column(name = "RMTP_R_CODE")
-    private Long regionalId;
+    private Long provinceCode;
 
     @Column(name = "RMTP_PROVINCE")
     private String province;

+ 9 - 13
core/src/main/java/com/mooctest/crowd/domain/repository/UserRepo.java

@@ -44,7 +44,7 @@ public class UserRepo implements IUserRepo {
     private EvaluationAgencyDao evaluationAgencyDao;
 
     @Autowired
-    private RegionalManagerDao regionalManagerDao;
+    private RegionalManagerToRegionalDao regionalManagerToRegionalDao;
 
     @Autowired
     private RegionalDao regionalDao;
@@ -372,21 +372,17 @@ public class UserRepo implements IUserRepo {
         }
 
         /*获取区域管理员信息*/
-        List<RegionalManagerPO> regionalManagerPOList = regionalManagerDao.findByUserIdAndIsDeleted(userPO.getId(), DeletedStatus.isNotDeleted);
-        if(regionalManagerPOList.size() > 0){
-            List<Regional> regionalList = new ArrayList<>();
+        List<RegionalManagerToRegionalPO> regionalManagerToRegionalPOList = regionalManagerToRegionalDao.findByUserIdAndIsDeleted(userPO.getId(), DeletedStatus.isNotDeleted);
+        if(regionalManagerToRegionalPOList.size() > 0){
+            List<RegionalManagerToRegional> regionalList = new ArrayList<>();
             RegionalManager regionalManager = new RegionalManager();
             regionalManager.setUserId(userPO.getId());
-            for(RegionalManagerPO regionalManagerPO : regionalManagerPOList){
-                if(regionalManagerPO != null){
-                    regionalManager.setId(regionalManagerPO.getId());
+            for(RegionalManagerToRegionalPO regionalManagerToRegionalPO : regionalManagerToRegionalPOList){
+                if(regionalManagerToRegionalPO != null){
+                    regionalManager.setId(regionalManagerToRegionalPO.getId());
                     /*获取区域管理员管理的区域信息*/
-                    Optional<RegionalPO> regionalPOOptional = regionalDao.findById(regionalManagerPO.getRegionalId());
-                    if(regionalPOOptional.isPresent()){
-                        RegionalPO regionalPO = regionalPOOptional.get();
-                        Regional regionalResult = Converter.convert(Regional.class, regionalPO);
-                        regionalList.add(regionalResult);
-                    }
+                    RegionalManagerToRegional regionalResult = Converter.convert(RegionalManagerToRegional.class, regionalManagerToRegionalPO);
+                    regionalList.add(regionalResult);
                 }
 
             }

+ 3 - 3
core/src/test/java/com/mooctest/crowd/domain/domainobject/CrowdTestProjectTest.java

@@ -29,8 +29,8 @@ public class CrowdTestProjectTest {
     private List<Role> roleList = new ArrayList<>();
     private Permission permission = new Permission();
     private List<Permission> permissionList = new ArrayList<>();
-    private Regional regional = new Regional();
-    private List<Regional> regionalList = new ArrayList<>();
+    private RegionalManagerToRegional regional = new RegionalManagerToRegional();
+    private List<RegionalManagerToRegional> regionalList = new ArrayList<>();
     private EvaluationAgencyAbility evaluationAgencyAbility = new EvaluationAgencyAbility();
     private List<EvaluationAgencyAbility> evaluationAgencyAbilityList = new ArrayList<>();
     private EvaluationAgencyResource evaluationAgencyResource = new EvaluationAgencyResource();
@@ -138,7 +138,7 @@ public class CrowdTestProjectTest {
         roleList.add(role);
         user.setRoleList(roleList);
 
-        regional.setId(1L);
+        regional.setProvince("江苏省");
 //        regional.set(user.getCity());
 //        regional.setProvince(user.getProvince());
         regionalList.add(regional);

+ 3 - 3
core/src/test/java/com/mooctest/crowd/domain/domainobject/UserTest.java

@@ -18,8 +18,8 @@ public class UserTest {
     private List<Role> roleList = new ArrayList<>();
     private Permission permission = new Permission();
     private List<Permission> permissionList = new ArrayList<>();
-    private Regional regional = new Regional();
-    private List<Regional> regionalList = new ArrayList<>();
+    private RegionalManagerToRegional regional = new RegionalManagerToRegional();
+    private List<RegionalManagerToRegional> regionalList = new ArrayList<>();
     private EvaluationAgencyAbility evaluationAgencyAbility = new EvaluationAgencyAbility();
     private List<EvaluationAgencyAbility> evaluationAgencyAbilityList = new ArrayList<>();
     private EvaluationAgencyResource evaluationAgencyResource = new EvaluationAgencyResource();
@@ -54,7 +54,7 @@ public class UserTest {
         roleList.add(role);
         user.setRoleList(roleList);
 
-        regional.setId(1L);
+        regional.setProvince("江苏省");
 //        regional.set(user.getCity());
 //        regional.setProvince(user.getProvince());
         regionalList.add(regional);

+ 7 - 7
core/src/test/java/com/mooctest/crowd/domain/repository/UserRepoTest.java

@@ -41,7 +41,7 @@ public class UserRepoTest {
     @Mock
     private EvaluationAgencyDao evaluationAgencyDao;
     @Mock
-    private RegionalManagerDao regionalManagerDao;
+    private RegionalManagerToRegionalDao regionalManagerToRegionalDao;
     @Mock
     private RegionalDao regionalDao;
     @Mock
@@ -61,13 +61,13 @@ public class UserRepoTest {
     private List<RoleToPermissionPO> expectRoleToPermissionPOList;
     private UserToRolePO expectUserToRolePO;
     private RoleToPermissionPO expectRoleToPermissionPO;
-    private RegionalManagerPO expectRegionalPOManagerPO;
+    private RegionalManagerToRegionalPO expectRegionalPOManagerPO;
     private EvaluationAgencyPO expectEvaluationAgencyPO;
     private RegionalPO expectRegionalPO;
     private EvaluationAgencyAbilityPO evaluationAgencyAbilityPO;
     private EvaluationAgencyResourcePO evaluationAgencyResourcePO;
     private PersonalAuthenticationPO personalAuthenticationPO;
-    private List<RegionalManagerPO> expectRegionalPOManagerList = new ArrayList<>();
+    private List<RegionalManagerToRegionalPO> expectRegionalPOManagerList = new ArrayList<>();
     private List<EvaluationAgencyPO> evaluationAgencyPOList = new ArrayList<>();
     private List<EvaluationAgencyAbilityPO> evaluationAgencyAbilityPOList = new ArrayList<>();
     private List<EvaluationAgencyResourcePO> evaluationAgencyResourcePOList = new ArrayList<>();
@@ -120,10 +120,10 @@ public class UserRepoTest {
         expectRegionalPO = new RegionalPO();
         expectRegionalPO.setId(1L);
 
-        expectRegionalPOManagerPO = new RegionalManagerPO();
+        expectRegionalPOManagerPO = new RegionalManagerToRegionalPO();
         expectRegionalPOManagerPO.setId(1L);
         expectRegionalPOManagerPO.setUserId(1L);
-        expectRegionalPOManagerPO.setRegionalId(1L);
+//        expectRegionalPOManagerPO.set(1L);
         expectRegionalPOManagerList.add(expectRegionalPOManagerPO);
 
         evaluationAgencyAbilityPO = new EvaluationAgencyAbilityPO();
@@ -156,7 +156,7 @@ public class UserRepoTest {
         when(evaluationAgencyDao.findByUserId(anyLong())).thenReturn(expectEvaluationAgencyPO);
         when(agencyAbilityDao.findByEvaluationAgencyIdAndIsDeleted(anyLong(), anyInt())).thenReturn(evaluationAgencyAbilityPOList);
         when(agencyResourceDao.findByEvaluationAgencyIdAndIsDeleted(anyLong(), anyInt())).thenReturn(evaluationAgencyResourcePOList);
-        when(regionalManagerDao.findByUserId(anyLong())).thenReturn(expectRegionalPOManagerList);
+        when(regionalManagerToRegionalDao.findByUserId(anyLong())).thenReturn(expectRegionalPOManagerList);
         when(regionalDao.findById(anyLong())).thenReturn(Optional.of(expectRegionalPO));
         //action
         User user = userRepo.getByID(1L);
@@ -182,7 +182,7 @@ public class UserRepoTest {
         when(permissionDao.findById(anyLong())).thenReturn(Optional.of(expectPermission));
         when(evaluationAgencyDao.findByUserId(anyLong())).thenReturn(expectEvaluationAgencyPO);
         when(agencyAbilityDao.findByEvaluationAgencyIdAndIsDeleted(anyLong(), anyInt())).thenReturn(evaluationAgencyAbilityPOList);
-        when(regionalManagerDao.findByUserId(anyLong())).thenReturn(expectRegionalPOManagerList);
+        when(regionalManagerToRegionalDao.findByUserId(anyLong())).thenReturn(expectRegionalPOManagerList);
         when(regionalDao.findById(anyLong())).thenReturn(Optional.of(expectRegionalPO));
         when(roleDao.findById(anyLong())).thenReturn(Optional.empty());
         //action

+ 2 - 2
site/src/main/java/com/mooctest/crowd/site/mediator/impl/WebMediatorImpl.java

@@ -50,7 +50,7 @@ public class WebMediatorImpl implements ViewMediator {
     private UserDao userDao;
 
     @Autowired
-    private RegionalManagerDao regionalManagerDao;
+    private RegionalManagerToRegionalDao regionalManagerToRegionalDao;
 
     @Autowired
     private EvaluationAgencyDao agencyDao;
@@ -291,7 +291,7 @@ public class WebMediatorImpl implements ViewMediator {
     @Override
     public List<RegionalManagerVO> renderRegionManagerList() {
         List<RegionalManagerVO> regionalManagerVOList = new ArrayList<>();
-        regionalManagerDao.findAll().forEach(regionalManagerPO -> {
+        regionalManagerToRegionalDao.findAll().forEach(regionalManagerPO -> {
             RegionalManagerVO regionalManagerVO = new RegionalManagerVO();
             regionalManagerVO.setId(regionalManagerPO.getUserId());
             regionalManagerVO.setName(userDao.findById(regionalManagerPO.getUserId()).get().getName());