Michael лет назад: 8
Родитель
Сommit
a49f18071e

+ 36 - 1
src/main/java/com/goafanti/admin/controller/AdminSuperviserApiController.java

@@ -9,6 +9,7 @@ import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 
 import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
@@ -25,6 +26,7 @@ import com.goafanti.common.bo.Result;
 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.model.Admin;
 import com.goafanti.common.model.AdminLocation;
 import com.goafanti.common.utils.PasswordUtil;
@@ -43,6 +45,8 @@ public class AdminSuperviserApiController extends CertifyApiController {
 	private AdminLocationService	adminLocationService;
 	@Resource
 	private UserService				userService;
+	@Autowired
+	private AdminMapper			adminMapper;
 	/**管理员列表*/
 	@RequestMapping(value = "/adminList", method = RequestMethod.GET)
 	public Result adminList(AdminListBo alb, String rid, String pageNo,
@@ -147,9 +151,40 @@ public class AdminSuperviserApiController extends CertifyApiController {
 			Admin a = newAdminService.selectByPrimaryKey(admin.getId());
 			if (null == a) {	
 				res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "用户id"));				
+				return res;	
+			}	
+			//*********用户编号判断**************
+			String sdepNo=adminMapper.selectUserNoBySuperiorId(admin.getSuperiorId());
+			int Count=adminMapper.selectCountBySuperiorId(admin.getSuperiorId());
+			if((Count+1)>99){
+				res.getError().add(buildError("","每层最多存在99个子类"));
 				return res;
-				
 			}
+			if(Count<10){
+				String dep=sdepNo+"0"+Count;
+				String sid=adminMapper.selectIdByUserNo(dep);
+				while(sid!=null){
+					Count=(Count+1)%100;				
+					if(Count>=10){
+						dep=sdepNo+Count;	
+					}else{
+						dep=sdepNo+"0"+Count;
+					}
+					sid=adminMapper.selectIdByUserNo(dep);				
+				}
+				admin.setUserNo(dep);
+			}
+			if(Count>=10){
+				String dep=sdepNo+Count;
+				String sid=adminMapper.selectIdByUserNo(dep);
+				while(sid!=null){
+					Count=(Count+1)%100;				
+					dep=sdepNo+Count;
+					sid=adminMapper.selectIdByUserNo(dep);				
+				}
+				admin.setUserNo(dep);
+			}
+			
 			Admin ad = new Admin();
 			BeanUtils.copyProperties(admin, ad);
 			res = disposeAdminLocationList(res, jo, ad);

+ 65 - 23
src/main/java/com/goafanti/admin/service/impl/NewAdminServiceImpl.java

@@ -86,33 +86,75 @@ public class NewAdminServiceImpl extends BaseMybatisDao<AdminMapper> implements
 			}
 			TokenManager.clearUserAuthByUserId(ad.getId());
 		}
-		String sdepNo=adminMapper.selectUserNoBySuperiorId(ad.getSuperiorId());
-		int Count=adminMapper.selectCountBySuperiorId(ad.getSuperiorId());
-		if(Count<10){
-			String dep=sdepNo+"0"+Count;
-			String sid=adminMapper.selectIdByUserNo(dep);
-			while(sid!=null){
-				Count=Count+1;				
-				if(Count>=10){
-					dep=sdepNo+Count;	
+			
+		int count=adminMapper.updateByPrimaryKeySelective(ad);
+		//*******下第一级管理员用户修改
+		String autNo;
+		int n=0;
+		List<Admin> Nos =adminMapper.selectIDNBySuperiorId(ad.getId());
+		for(Admin i:Nos){			
+			autNo=adminMapper.selectUserNoById(i.getSuperiorId());
+			if(n<10){
+				String aut=autNo+"0"+n;			
+				if(n>=10){
+					aut=autNo+n;	
 				}else{
-					dep=sdepNo+"0"+Count;
+					aut=autNo+"0"+n;
+				}	
+				i.setUserNo(aut);
+			}
+			if(n>=10){
+				String aut=autNo+n;			
+				aut=autNo+n;	
+				i.setUserNo(aut);
+			}
+			adminMapper.updateByUserNo(i);
+			n++;
+			//*******下第二级管理员用户修改
+			int m=0;
+			List<Admin> Noss =adminMapper.selectIDNBySuperiorId(i.getId());
+			for(Admin o:Noss){			
+				autNo=adminMapper.selectUserNoById(o.getSuperiorId());
+				if(m<10){
+					String aut=autNo+"0"+m;			
+					if(m>=10){
+						aut=autNo+m;	
+					}else{
+						aut=autNo+"0"+m;
+					}	
+					o.setUserNo(aut);
+				}
+				if(m>=10){
+					String aut=autNo+m;			
+					aut=autNo+m;	
+					o.setUserNo(aut);
+				}
+				adminMapper.updateByUserNo(o);
+				m++;
+				//*******下第三级管理员用户修改
+				int z=0;
+				List<Admin> Nosss =adminMapper.selectIDNBySuperiorId(o.getId());
+				for(Admin p:Nosss){			
+					autNo=adminMapper.selectUserNoById(p.getSuperiorId());
+					if(z<10){
+						String aut=autNo+"0"+z;			
+						if(z>=10){
+							aut=autNo+z;	
+						}else{
+							aut=autNo+"0"+z;
+						}	
+						p.setUserNo(aut);
+					}
+					if(z>=10){
+						String aut=autNo+z;			
+						aut=autNo+z;	
+						p.setUserNo(aut);
+					}
+					adminMapper.updateByUserNo(p);
+					z++;
 				}
-				sid=adminMapper.selectIdByUserNo(dep);				
 			}
-			ad.setUserNo(dep);
 		}
-		if(Count>=10){
-			String dep=sdepNo+Count;
-			String sid=adminMapper.selectIdByUserNo(dep);
-			while(sid!=null){
-				Count=Count+1;				
-				dep=sdepNo+Count;
-				sid=adminMapper.selectIdByUserNo(dep);				
-			}
-			ad.setUserNo(dep);
-		}	
-		int count=adminMapper.updateByPrimaryKeySelective(ad);
 		return count;
 	}
 

+ 6 - 0
src/main/java/com/goafanti/common/dao/AdminMapper.java

@@ -83,5 +83,11 @@ public interface AdminMapper {
 	int deleteById(String id);
 
 	Pagination<AppAdminListBo> consultantList();
+	
+	List<Admin> selectIDNBySuperiorId(String superiorId);
+	
+	String selectUserNoById(String superiorId);
+	
+	int updateByUserNo(Admin record);
 
 }

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

@@ -543,5 +543,27 @@
   	delete from admin
     where id = #{id,jdbcType=VARCHAR}
   </delete>
-
+  
+  <select id="selectIDNBySuperiorId" parameterType="java.lang.String" resultType="com.goafanti.common.model.Admin">
+	select id, mobile, name, 
+	    password, email, create_time as createTime, 
+	    province, position, 
+	    superior_id as superiorId,department_id as departmentId,
+	    status,user_no as userNo,duty,district,head_portrait_url as headPortraitUrl
+	from admin
+	where
+	superior_id=#{superiorId,jdbcType=VARCHAR}
+  </select>
+  <select id="selectUserNoById" resultType="java.lang.String">
+	select user_no as userNo
+	from admin
+	where
+	id=#{superiorId,jdbcType=VARCHAR}  
+  </select>
+  <update id="updateByUserNo" parameterType="com.goafanti.common.model.Admin">
+	update admin
+	set user_no = #{userNo,jdbcType=VARCHAR}
+	where
+	id=#{id,jdbcType=VARCHAR}  
+  </update>
 </mapper>