Browse Source

权限管理删除功能

Michael 8 years ago
parent
commit
b971df71ca

+ 8 - 0
src/main/java/com/goafanti/common/dao/PermissionMapper.java

@@ -35,4 +35,12 @@ public interface PermissionMapper {
 	String selectIdByAutNo(String autNo);
 	
 	String selectAutNoByName(String name);
+	
+	Permission selectSuperIdById(String id);
+	
+	int deleteById(String id);
+	
+	Permission selectAllById(String id);
+	
+	int selectCountBySuperId(String superId);
 }

+ 27 - 1
src/main/java/com/goafanti/common/mapper/PermissionMapper.xml

@@ -142,11 +142,37 @@
   		where
   		aut_no=#{autNo,jdbcType=VARCHAR}
   </select>
-  <select id="selectAutNoByName" resultType="String">
+  <select id="selectAutNoByName" resultType="java.lang.String">
 		select
 		aut_No as AutNo
 		from permission
 		where
 		name=#{name,jdbcType=VARCHAR}
   </select>
+  <select id="selectSuperIdById" parameterType="java.lang.String" resultType="com.goafanti.common.model.Permission">
+  		select
+		name as createId
+		from permission
+		where
+		id=#{id,jdbcType=VARCHAR} 
+  </select>
+  <delete id="deleteById" parameterType="java.lang.String">
+	    delete from permission
+	    where id = #{id,jdbcType=VARCHAR}
+  </delete>
+  <select id="selectAllById" parameterType="java.lang.String" resultType="com.goafanti.common.model.Permission">
+  		select 
+    	<include refid="Base_Column_List" />
+    	from permission
+    	where
+    	id=#{id,jdbcType=VARCHAR}
+    	order by name
+  </select>
+  <select id="selectCountBySuperId" parameterType="String" resultType="java.lang.Integer">
+  		select
+		count(0)
+		from permission
+		where
+		super_id=#{superId,jdbcType=VARCHAR}
+  </select>
 </mapper>

+ 43 - 0
src/main/java/com/goafanti/permission/controller/NewPermissionApiController.java

@@ -8,6 +8,7 @@ import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 
 import com.goafanti.common.bo.Result;
+import com.goafanti.common.constant.ErrorConstants;
 import com.goafanti.common.controller.BaseApiController;
 import com.goafanti.common.dao.PermissionMapper;
 import com.goafanti.common.model.Permission;
@@ -45,4 +46,46 @@ public class NewPermissionApiController extends BaseApiController {
 		res.setData(permissionService.insertn(record));
 		return res;
 	}
+	/**新增上级名称自动生成 **/
+	@RequestMapping(value = "/selectSuperIdById" , method = RequestMethod.POST)
+	public Permission selectSuperIdById(String id ){
+		return permissionService.selectSuperIdById(id);
+	}
+	
+	/**权限管理新增 **/
+	@RequestMapping(value = "/addPermission" , method = RequestMethod.POST)
+	public Result addPermission(Permission record ){
+		Result res = new Result();
+		if(StringUtils.isBlank(record.getName())|| StringUtils.isBlank(record.getUrl())
+				|| StringUtils.isBlank(record.getSuperId())){
+			res.getError().add(buildError("","名称、路径、上级不能为空"));
+			return res;
+		}
+		String aut=permissionMapper.selectAutNoByName(record.getName());
+		if(aut!=null){
+			res.getError().add(buildError("","权限已存在"));
+			return res;
+		}
+		res.setData(permissionService.insertSubordinate(record));
+		return res;
+	}
+	
+	/**删除列表信息**/
+	@RequestMapping(value = "/deleteById" , method = RequestMethod.POST)
+	public Result deleteById(String id){
+		Result res = new Result();
+		if(StringUtils.isBlank(id)){
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "id"));
+			return res;
+		}
+		Permission permission=permissionMapper.selectAllById(id);
+		String superId=permission.getName();
+		int subordinate=permissionMapper.selectCountBySuperId(superId);
+		if(subordinate>0){
+			res.getError().add(buildError("","存在下级权限不能删除"));
+			return res;
+		}
+		res.setData(permissionService.deleteById(id));
+		return res;
+	}
 }

+ 6 - 0
src/main/java/com/goafanti/permission/service/PermissionService.java

@@ -17,5 +17,11 @@ public interface PermissionService {
 	int insert(List<Permission> records);
 	
 	int insertn(Permission record);
+	
+	Permission selectSuperIdById(String id);
+	
+	int insertSubordinate(Permission record);
+	
+	int deleteById(String id);
 
 }

+ 59 - 0
src/main/java/com/goafanti/permission/service/impl/PermissionServiceImpl.java

@@ -95,4 +95,63 @@ public class PermissionServiceImpl extends BaseMybatisDao<PermissionMapper> impl
 		return 1;
 	}
 
+	@Override
+	public Permission selectSuperIdById(String id) {
+		return permissionMapper.selectSuperIdById(id);
+	}
+
+	@Override
+	public int insertSubordinate(Permission record) {
+		String id = UUID.randomUUID().toString();
+		Date now = new Date();
+		record.setId(id);
+		record.setUrl(record.getUrl());
+		record.setName(record.getName());
+		String createId=permissionMapper.selectAdminNameById(TokenManager.getAdminId());
+		record.setCreateId(createId);
+		record.setCreateTime(now);
+		record.setUpdateTime(now);
+		record.setDeletedSign("0");
+		String autNo=permissionMapper.selectAutNoByName(record.getSuperId());
+		int Count=permissionMapper.selectAutNoCount(record.getSuperId());
+		if(Count<10){
+			String aut=autNo+"0"+Count;
+			String sid=permissionMapper.selectIdByAutNo(aut);
+			while(sid!=null){
+				Count=Count+1;				
+				if(Count>=10){
+					aut=autNo+Count;	
+				}else{
+					aut=autNo+"0"+Count;
+				}
+				sid=permissionMapper.selectIdByAutNo(aut);			
+			}
+			record.setAutNo(aut);
+		}
+		if(Count>=10){
+			String aut=autNo+Count;
+			String sid=permissionMapper.selectIdByAutNo(aut);
+			while(sid!=null){
+				Count=Count+1;				
+				aut=autNo+Count;
+				sid=permissionMapper.selectIdByAutNo(aut);				
+			}
+			record.setAutNo(aut);
+		}
+		record.setHierarchies("0");//0下层
+		record.setStatus("0");//0正常 1解除
+		record.setShowOrder("0");//正常
+		record.setSuperId(record.getSuperId());//上级名称	
+		permissionMapper.insertn(record);
+		return 1;
+	}
+
+	@Override
+	public int deleteById(String id) {
+		permissionMapper.deleteById(id);
+		return 1;
+	}
+	
+	
+
 }