Browse Source

测试跟进BUG修复与客户设置咨询师管理员创建、修改限制

anderx 7 years ago
parent
commit
617d57e9c6

+ 29 - 15
src/main/java/com/goafanti/admin/controller/AdminSuperviserApiController.java

@@ -24,8 +24,10 @@ import com.goafanti.common.constant.AFTConstants;
 import com.goafanti.common.constant.ErrorConstants;
 import com.goafanti.common.controller.CertifyApiController;
 import com.goafanti.common.dao.AdminMapper;
+import com.goafanti.common.dao.UserRoleMapper;
 import com.goafanti.common.model.Admin;
 import com.goafanti.common.model.AdminLocation;
+import com.goafanti.common.model.UserRole;
 import com.goafanti.common.utils.PasswordUtil;
 import com.goafanti.common.utils.StringUtils;
 import com.goafanti.core.shiro.token.TokenManager;
@@ -67,7 +69,13 @@ public class AdminSuperviserApiController extends CertifyApiController {
 	@RequestMapping(value = "/insertAdmin", method = RequestMethod.POST)
 	public Result insertAdmin(@RequestParam(value = "roles[]", required = false) String[] roleIds, String data) {
 		Result res = new Result();
-		JSONObject jo = (JSONObject) JSON.parse(data);		
+		JSONObject jo = (JSONObject) JSON.parse(data);
+		List<String> roles = new ArrayList<String>();
+		if (roleIds != null && roleIds.length > 0) {
+			for (String role : roleIds) {
+				roles.add(role);
+			}
+		}
 		if (roleIds==null||roleIds.length<=0) {
 			res.getError().add(buildError("","角色不能为空"));
 			return res;
@@ -88,6 +96,10 @@ public class AdminSuperviserApiController extends CertifyApiController {
 				res.getError().add(buildError(ErrorConstants.USER_ALREADY_EXIST, "当前用户已注册!"));
 				return res;
 			}
+			if (newAdminService.checkAdminRole(roles)) {
+				res.getError().add(buildError(ErrorConstants.PARAM_BEING_ERROR, "", "咨询师管理员"));				
+				return res;	
+			}
 			
 
 			Admin ad = new Admin();
@@ -101,12 +113,7 @@ public class AdminSuperviserApiController extends CertifyApiController {
 				ad.setPassword(AFTConstants.INITIALPASSWORD);
 			}
 			ad.setPassword(passwordUtil.getEncryptPwd(ad));
-			List<String> roles = new ArrayList<String>();
-			if (roleIds != null && roleIds.length > 0) {
-				for (String role : roleIds) {
-					roles.add(role);
-				}
-			}
+			
 			res.setData(newAdminService.insertNewAdmin(ad,roles));
 		}
 
@@ -120,6 +127,12 @@ public class AdminSuperviserApiController extends CertifyApiController {
 	public Result updateAdmin(@RequestParam(value = "roles[]", required = false) String[] roleIds, String data) {
 		Result res = new Result();
 		JSONObject jo = (JSONObject) JSON.parse(data);
+		List<String> roles = new ArrayList<String>();
+		if (roleIds != null && roleIds.length > 0) {
+			for (String role : roleIds) {
+				roles.add(role);
+			}
+		}
 		if (null != jo) {
 			Admin admin = jo.toJavaObject(Admin.class);
 
@@ -143,12 +156,16 @@ public class AdminSuperviserApiController extends CertifyApiController {
 				res.getError().add(buildError(ErrorConstants.USER_ALREADY_EXIST, "当前用户已注册!"));
 				return res;
 			}
-
 			Admin a = newAdminService.selectByPrimaryKey(admin.getId());
 			if (null == a) {	
 				res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "用户id"));				
 				return res;	
 			}	
+			
+			if (newAdminService.checkAdminRole(roles)) {
+				res.getError().add(buildError(ErrorConstants.PARAM_BEING_ERROR, "", "咨询师管理员"));				
+				return res;	
+			}
 			//*********用户编号判断**************
 			String sdepNo=adminMapper.selectUserNoBySuperiorId(admin.getSuperiorId());
 			int Count=adminMapper.selectCountBySuperiorId(admin.getSuperiorId());
@@ -188,16 +205,13 @@ public class AdminSuperviserApiController extends CertifyApiController {
 				return res;
 			}
 		
-			List<String> roles = new ArrayList<String>();
-			if (roleIds != null && roleIds.length > 0) {
-				for (String role : roleIds) {
-					roles.add(role);
-				}
-			}
+			
 			res.setData(newAdminService.updateByPrimaryKeySelective(ad, roles));
 		}
+		
+	
 		return res;
-	}
+}
 
 	/**
 	 * 重置管理员密码

+ 3 - 0
src/main/java/com/goafanti/admin/service/NewAdminService.java

@@ -6,6 +6,7 @@ import java.util.Map;
 import com.goafanti.admin.bo.AdminDetail;
 import com.goafanti.admin.bo.AdminListBo;
 import com.goafanti.common.model.Admin;
+import com.goafanti.common.model.UserRole;
 import com.goafanti.core.mybatis.page.Pagination;
 
 public interface NewAdminService {
@@ -66,5 +67,7 @@ public interface NewAdminService {
 	int deleteById(String id);
 
 	List<AdminListBo> selectAdminByOrg();
+
+	boolean checkAdminRole(List<String> roles);
 	
 }

+ 17 - 0
src/main/java/com/goafanti/admin/service/impl/NewAdminServiceImpl.java

@@ -17,6 +17,7 @@ import com.goafanti.common.dao.AdminLocationMapper;
 import com.goafanti.common.dao.AdminMapper;
 import com.goafanti.common.dao.UserRoleMapper;
 import com.goafanti.common.model.Admin;
+import com.goafanti.common.model.UserRole;
 import com.goafanti.common.utils.StringUtils;
 import com.goafanti.core.mybatis.BaseMybatisDao;
 import com.goafanti.core.mybatis.page.Pagination;
@@ -349,4 +350,20 @@ public class NewAdminServiceImpl extends BaseMybatisDao<AdminMapper> implements
 		return adminMapper.selectSubList(TokenManager.getAdminId());
 	}
 
+	@Override
+	public boolean checkAdminRole(List<String> roles) {
+		if (!roles.isEmpty()) {
+			List<UserRole> list=userRoleMapper. selectAdminRole(AFTConstants.CONSULTANT_MANAGER);
+			for (String s : roles) {
+				if (list.size()>0) {
+					if (list.get(0).getRid().equals(s)) {
+						return true;
+					}
+				}
+			}
+		}
+		return false;
+		
+	}
+
 }

+ 2 - 2
src/main/java/com/goafanti/common/constant/AFTConstants.java

@@ -39,9 +39,9 @@ public class AFTConstants {
 
 	public static final String	TECHPROJECT							= "科技项目申报管理";
 	
-	public static final String	DEFAULT_INITIATOR					= "管理员";
+	public static final String	DEFAULT_INITIATOR					= "超级管理员";
 	
-	public static final String	CONSULTANT_MANAGER					= "刘扶桑";
+	public static final String	CONSULTANT_MANAGER					= "咨询师管理员";
 
 	public static final int		KEYWORDLENTH						= 16;
 

+ 2 - 0
src/main/java/com/goafanti/common/dao/UserRoleMapper.java

@@ -23,4 +23,6 @@ public interface UserRoleMapper {
 	int insertBatch(Map<String, Object> params);
 
 	List<String> listAuditor();
+
+	List<UserRole> selectAdminRole(String roleName);
 }

+ 3 - 1
src/main/java/com/goafanti/common/mapper/AdminMapper.xml

@@ -618,7 +618,9 @@
 		
   </select>
   <select id="selectAdminName" parameterType="java.lang.String" resultMap="BaseResultMap">
-		select id, name from admin where name = #{name,jdbcType=VARCHAR}
+		select a.id, a.name from admin a left join user_role b on a.id=b.uid
+	left join `role` c on b.rid=c.id
+	where c.role_name  = #{name,jdbcType=VARCHAR}
   </select>
   
   

+ 6 - 0
src/main/java/com/goafanti/common/mapper/UserRoleMapper.xml

@@ -68,4 +68,10 @@
   <select id ="listAuditor"  resultType="String">
     select uid from user_role where rid = 3
   </select>
+  
+  <select id ="selectAdminRole"  resultType="com.goafanti.common.model.UserRole">
+    select a.uid,b.role_name,a.rid from user_role a 
+	left join role b on a.rid=b.id
+	where b.role_name=#{roleName,jdbcType=VARCHAR}
+  </select>
 </mapper>

+ 2 - 2
src/main/java/com/goafanti/customer/service/impl/CustomerServiceImpl.java

@@ -1258,8 +1258,8 @@ public class CustomerServiceImpl  extends BaseMybatisDao<UserMapper> implements
 
 	@Override
 	public int updateAgainProjectTask(String uid, String projectId,String aid) {
-		//List<LockingReleaseBo>  businessLockedList = userMapper.selectLockedProject(uid, TokenManager.getAdminId(), projectId, 1, UserLockReleaseStatus.LOCKED.getCode());
-		List<LockingReleaseBo>  businessLockedList = userMapper.selectLockedProject(uid, aid, projectId, 1, UserLockReleaseStatus.LOCKED.getCode());
+		List<LockingReleaseBo>  businessLockedList = userMapper.selectLockedProject(uid, TokenManager.getAdminId(), projectId, 1, UserLockReleaseStatus.LOCKED.getCode());
+//		List<LockingReleaseBo>  businessLockedList = userMapper.selectLockedProject(uid, aid, projectId, 1, UserLockReleaseStatus.LOCKED.getCode());
 		UserLockRelease u= new UserLockRelease();
 		if (businessLockedList.size()==1) {
 			for (LockingReleaseBo l : businessLockedList) {