Browse Source

Merge branch 'master' of https://git.coding.net/aft/AFT.git

anderx 8 years ago
parent
commit
9fa99798df

+ 23 - 54
src/main/java/com/goafanti/app/controller/AppApiController.java

@@ -1,78 +1,47 @@
 package com.goafanti.app.controller;
 
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 
-import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 
-import com.goafanti.achievement.service.AchievementService;
-import com.goafanti.activity.service.ActivityService;
-import com.goafanti.banners.enums.BannersType;
-import com.goafanti.banners.service.BannersService;
 import com.goafanti.common.bo.Result;
 import com.goafanti.common.constant.ErrorConstants;
 import com.goafanti.common.controller.BaseApiController;
-import com.goafanti.demand.service.DemandService;
-import com.goafanti.news.enums.NewsType;
-import com.goafanti.news.service.NewsService;
+import com.goafanti.common.model.User;
+import com.goafanti.core.shiro.token.TokenManager;
+import com.goafanti.user.service.UserService;
 
 @RestController
-@RequestMapping(path = "/api/open/app", method = RequestMethod.GET)
+@RequestMapping(path = "/api/user/app", method = RequestMethod.GET)
 public class AppApiController extends BaseApiController {
-	@Resource
-	private BannersService		bannersService;
-	@Resource
-	private ActivityService		activityService;
-	@Resource
-	private NewsService			newsService;
-	@Resource
-	private AchievementService	achievementService;
-	@Resource
-	private DemandService		demandService;
-	@RequestMapping(value = "/index", method = RequestMethod.GET)
-	public Result index(HttpServletRequest request) {
-		Map<String, Object> result = new HashMap<>();
-		String domainName = request.getServerName();
-		result.put("banners", bannersService.findPortalBanners(BannersType.APP.getKey()));
-		result.put("activities", activityService.findPortalList(0, 3, null));
-		result.put("policies", newsService.findNewsList(0, NewsType.GJZC.getCode(), 3, domainName, true));
-		result.put("news", newsService.findNewsList(0, NewsType.JTDT.getCode(), 5, domainName, true));
-		return res().data(result);
-	}
-
-	/**
-	 * 科技成果详情
-	 */
-	@RequestMapping(value = "/achievementDetail", method = RequestMethod.GET)
-	public Result achievementDetail(String id) {
+	@Autowired
+	private UserService userServiceImpl;
+	
+	@RequestMapping(value = "/uploadImg",method = RequestMethod.POST)
+	public Result uploadAvatar(HttpServletRequest req){
 		Result res = new Result();
-		if (StringUtils.isBlank(id)) {
-			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到成果ID", "成果ID"));
-			return res;
+		String headPortraitUrl = handleFile(res, "/avatar/", false, req, "");
+		if(TokenManager.getToken() instanceof User){
+			User u = (User)TokenManager.getToken();
+			u.setHeadPortraitUrl(headPortraitUrl);
+			userServiceImpl.updateByPrimaryKeySelective(u);
 		}
-		res.setData(achievementService.selectAchievementDetail(id));
+		res.setData(headPortraitUrl);
 		return res;
 	}
 
-	/**
-	 * 科技需求详情
-	 */
-	@RequestMapping(value = "/demandDetail", method = RequestMethod.GET)
-	public Result demandDetail(String id) {
+	@RequestMapping(value = "/updateUser",method = RequestMethod.POST)
+	public Result updateUser(User u){
 		Result res = new Result();
-		if (StringUtils.isBlank(id)) {
-			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到需求ID", "需求ID"));
-			return res;
+		if(null != u){
+			u.setId(TokenManager.getUserId());
+			userServiceImpl.updateByPrimaryKeySelective(u);
+		}else{
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR));
 		}
-		res.setData(demandService.selectDemandDetail(id));
 		return res;
 	}
-	
-
 }

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

@@ -103,4 +103,10 @@ public interface OrganizationManagementMapper {
 	int updateByNumber(OrganizationListOut olo);
 	
 	int selectCountBySuperId(String superId);
+	
+	String selectIdByName(String name);
+	
+	String selectNameById(String id);
+	
+	String selectDepNoById(String id);
 }

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

@@ -62,4 +62,6 @@ public interface PermissionMapper {
 	String selectAutNoByNamei(String name);
 	
 	String selectIdByName(String name);
+	
+	int selectCountByid(String id);
 }

+ 12 - 0
src/main/java/com/goafanti/common/dao/RoleMapper.java

@@ -28,4 +28,16 @@ public interface RoleMapper {
 	int deleteByPrimaryKeys(List<String> records);
 
 	List<RolePermissionBo> findRolePermissionsExceptAreaManager();
+	
+	List<Role> findRoles();
+	
+	List<RolePermissionBo> selectRolePList(String id);
+	
+	int selectCountByRoleId(List<String> records);
+	
+	String selectIdByName(String roleName);
+	
+	String selectNameById(String id);
+	
+	String selectIdByNamei(Role role);
 }

+ 21 - 0
src/main/java/com/goafanti/common/mapper/OrganizationManagementMapper.xml

@@ -541,4 +541,25 @@
 		where
 		super_id=#{superId,jdbcType=VARCHAR}
   	</select>
+  	<select id="selectIdByName" parameterType="java.lang.String" resultType="java.lang.String">
+  		select
+  		id
+  		from department_management 		
+  		where
+  		name=#{name,jdbcType=VARCHAR} 		
+  	</select>
+  	<select id="selectNameById" parameterType="java.lang.String" resultType="java.lang.String">
+  		select
+  		name
+  		from department_management 		
+  		where
+  		id=#{id,jdbcType=VARCHAR} 		
+  	</select>
+  	<select id="selectDepNoById" resultType="String">
+		select
+		dep_no as depNo
+		from department_management
+		where
+		id=#{id,jdbcType=VARCHAR}
+	</select>
 </mapper>

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

@@ -258,6 +258,7 @@
 		from permission
 		where
 		super_id=#{superId,jdbcType=VARCHAR}
+		order by aut_no
   </select>
   <select id="selectAutNoByNamei" resultType="java.lang.String">
 		select
@@ -273,4 +274,11 @@
 		where
 		name=#{name,jdbcType=VARCHAR}
   </select>
+  <select id="selectCountByid" parameterType="java.lang.String" resultType="java.lang.Integer" >
+  		select
+  		count(0)
+  		from role_permission
+  		where
+  		pid=#{id,jdbcType=VARCHAR} 
+  </select>
 </mapper>

+ 68 - 3
src/main/java/com/goafanti/common/mapper/RoleMapper.xml

@@ -7,7 +7,7 @@
     <result column="role_type" jdbcType="INTEGER" property="roleType" />
   </resultMap>
   <sql id="Base_Column_List">
-    id, role_name, role_type
+    id, role_name, role_type ,creater,create_time as createTime
   </sql>
   <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
     select 
@@ -20,8 +20,9 @@
     where id = #{id,jdbcType=VARCHAR}
   </delete>
   <insert id="insert" parameterType="com.goafanti.common.model.Role">
-    insert into role (id, role_name)
-    values (#{id,jdbcType=VARCHAR}, #{roleName,jdbcType=VARCHAR})
+    insert into role (id, role_name,creater,create_time)
+    values (#{id,jdbcType=VARCHAR}, #{roleName,jdbcType=VARCHAR},
+    		#{creater,jdbcType=VARCHAR},#{createTime,jdbcType=VARCHAR})
     ON DUPLICATE KEY UPDATE
 	role_name = values(role_name)
   </insert>
@@ -103,4 +104,68 @@
 	  #{item,jdbcType=VARCHAR}  
     </foreach>
   </delete>
+ <!-- ******************************************************************** --> 
+  <select id="selectRoleList" resultType="com.goafanti.permission.bo.RoleBo">
+    select id,role_name as roleName,role_type as roleType,creater,create_time as createTime
+    from role 
+    where role_type <![CDATA[ < ]]> 999999
+    <if test="roleName !=null">
+		AND role_name=#{roleName,jdbcType=VARCHAR}
+	</if>
+	<if test="page_sql != null">
+    		${page_sql}
+	</if>
+  </select>
+  <select id="selectRoleCount" resultType="java.lang.Integer">
+  	select
+		count(0)
+		from role
+		where
+		1=1
+		<if test="roleName !=null">
+		AND role_name=#{roleName,jdbcType=VARCHAR}
+		</if>
+  </select>
+  
+  <select id="selectRolePList" resultType="com.goafanti.permission.bo.RolePermissionBo">
+  	select tr.id as rid, tr.role_name as rname, tr.role_type,tp.id as pid,tp.name as pname,tp.url
+    from role tr
+    left join role_permission trp on trp.rid=tr.id
+    left join permission tp on tp.id=trp.pid
+    where
+    tr.id=#{id,jdbcType=VARCHAR}
+  </select>
+  <select id="selectCountByRoleId" parameterType="java.lang.String" resultType="java.lang.Integer">
+  	select 
+  	count(0) 
+  	from user_role 
+   	where 
+   	rid in 
+    <foreach item="item" index="index" collection="list" open="(" separator="," close=")">  
+	  #{item,jdbcType=VARCHAR}  
+    </foreach>  
+  </select>
+  <select id="selectIdByName" parameterType="java.lang.String" resultType="java.lang.String">
+  	select
+  	id
+  	from role
+  	where
+  	role_name=#{roleName,jdbcType=VARCHAR}
+  </select>
+  <select id="selectNameById" parameterType="java.lang.String" resultType="java.lang.String">
+  	select
+  	role_name as roleName
+  	from role
+  	where
+  	id=#{id,jdbcType=VARCHAR}
+  </select>
+  <select id="selectIdByNamei" parameterType="com.goafanti.common.model.Role" resultType="java.lang.String">
+  	select
+  	id
+  	from role
+  	where
+  	role_name=#{roleName,jdbcType=VARCHAR}
+  	and
+  	id!=#{id,jdbcType=VARCHAR}
+  </select>
 </mapper>

+ 28 - 1
src/main/java/com/goafanti/common/model/Role.java

@@ -1,6 +1,7 @@
 package com.goafanti.common.model;
 
 import java.io.Serializable;
+import java.util.Date;
 
 public class Role extends BaseModel implements Serializable{
     /**
@@ -13,8 +14,34 @@ public class Role extends BaseModel implements Serializable{
 
     private Integer roleType;
 
+    /**
+     * 创建人
+     */
+    private String creater;
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+
+	public String getCreater() {
+		return creater;
+	}
+
+	public void setCreater(String creater) {
+		this.creater = creater;
+	}
+
+
+
+	public Date getCreateTime() {
+		return createTime;
+	}
+
+	public void setCreateTime(Date createTime) {
+		this.createTime = createTime;
+	}
 
-    public String getRoleName() {
+	public String getRoleName() {
         return roleName;
     }
 

+ 3 - 3
src/main/java/com/goafanti/organization/controller/OrganizationManagementController.java

@@ -91,9 +91,9 @@ public class OrganizationManagementController extends BaseApiController{
 			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "id"));
 			return res;
 		}
-		OrganizationListOut olo=organizationManagementMapper.selectAllById(id);
-		String superId=olo.getName();
-		int subordinate=organizationManagementMapper.selectCountBySuperId(superId);
+		/*OrganizationListOut olo=organizationManagementMapper.selectAllById(id);
+		String superId=olo.getName();*/
+		int subordinate=organizationManagementMapper.selectCountBySuperId(id);
 		if(subordinate>0){
 			res.getError().add(buildError("","存在下级组织不能删除"));
 			return res;

+ 18 - 10
src/main/java/com/goafanti/organization/service/impl/OrganizationServiceImpl.java

@@ -28,8 +28,13 @@ public class OrganizationServiceImpl extends BaseMybatisDao<OrganizationManageme
 		/*olo.setCreateId(TokenManager.getAdminId());*/
 		Map<String,Object> params =disposeParams(olo);
 		@SuppressWarnings("unchecked")
-		Pagination<OrganizationListOut> list=(Pagination<OrganizationListOut>)findPage("selectOrganizationList","selectOrganizationCount",params,pageNo,pageSize);
-		return list;
+		Pagination<OrganizationListOut> p=(Pagination<OrganizationListOut>)findPage("selectOrganizationList","selectOrganizationCount",params,pageNo,pageSize);
+		@SuppressWarnings("unchecked")
+		List<OrganizationListOut> list=(List<OrganizationListOut>) p.getList();
+		for(OrganizationListOut i:list){
+			i.setSuperId(organizationManagementMapper.selectNameById(i.getSuperId()));
+		}
+		return p;
 	}
 	private Map<String,Object> disposeParams(OrganizationListOut olo){
 		Map<String,Object> params = new HashMap<String, Object>();		
@@ -42,7 +47,7 @@ public class OrganizationServiceImpl extends BaseMybatisDao<OrganizationManageme
 		if(StringUtils.isNotBlank(olo.getType())) params.put("type", olo.getType());
 		if(StringUtils.isNotBlank(olo.getManagerId())) params.put("managerId", olo.getManagerId());
 		if(StringUtils.isNotBlank(olo.getDepNo())) params.put("depNo", olo.getDepNo());
-		if(StringUtils.isNotBlank(olo.getSuperId())) params.put("superId", olo.getSuperId());
+		if(StringUtils.isNotBlank(olo.getSuperId())) params.put("superId", organizationManagementMapper.selectIdByName(olo.getSuperId()));
 		if(StringUtils.isNotBlank(olo.getRemarks())) params.put("remarks", olo.getRemarks());
 		if(StringUtils.isNotBlank(olo.getStatus())) params.put("status", olo.getStatus());
 		return params;
@@ -97,6 +102,7 @@ public class OrganizationServiceImpl extends BaseMybatisDao<OrganizationManageme
 			}
 			om.setDepNo(dep);
 		}
+		superId=organizationManagementMapper.selectIdByName(superId);
 		om.setSuperId(superId);
 		om.setRemarks(remarks);
 		om.setStatus("0");
@@ -111,6 +117,7 @@ public class OrganizationServiceImpl extends BaseMybatisDao<OrganizationManageme
 	@Override
 	public OrganizationListOut selectAllById(String id) {
 		OrganizationListOut olo=organizationManagementMapper.selectAllById(id);
+		olo.setSuperId(organizationManagementMapper.selectNameById(olo.getSuperId()));
 		return olo;
 	}
 	@Override
@@ -127,8 +134,8 @@ public class OrganizationServiceImpl extends BaseMybatisDao<OrganizationManageme
 		om.setType(type);
 		om.setUpdateTime(now);
 		om.setManagerId(managerId);
-		om.setSuperId(superId);
 		String sdepNo=organizationManagementMapper.selectDepNoByName(superId);
+		superId=organizationManagementMapper.selectIdByName(superId);
 		int Count=organizationManagementMapper.selectDepNoCount(superId);
 		if(Count<10){
 			String dep=sdepNo+"0"+Count;
@@ -154,15 +161,16 @@ public class OrganizationServiceImpl extends BaseMybatisDao<OrganizationManageme
 			}
 			om.setDepNo(dep);
 		}
+		om.setSuperId(superId);
 		om.setStatus(status);
 		om.setRemarks(remarks);
 		om.setId(id);
 		organizationManagementMapper.updateByPrimaryKeySelective(om);
 		//*******下级编号修改
 		int n=0;
-		List<OrganizationListOut> Nos =organizationManagementMapper.selectIDNBySuperId(name);
+		List<OrganizationListOut> Nos =organizationManagementMapper.selectIDNBySuperId(id);
 		for(OrganizationListOut i:Nos){			
-			sdepNo=organizationManagementMapper.selectDepNoByName(i.getSuperId());
+			sdepNo=organizationManagementMapper.selectDepNoById(i.getSuperId());
 			if(n<10){
 				String dep=sdepNo+"0"+n;			
 				if(n>=10){
@@ -182,10 +190,10 @@ public class OrganizationServiceImpl extends BaseMybatisDao<OrganizationManageme
 			
 			//*******下下级编号修改
 			int m=0;
-			List<OrganizationListOut> Noss =organizationManagementMapper.selectIDNBySuperId(i.getName());
+			List<OrganizationListOut> Noss =organizationManagementMapper.selectIDNBySuperId(i.getId());
 			System.out.println("noss="+Noss);
 			for(OrganizationListOut o:Noss){			
-				sdepNo=organizationManagementMapper.selectDepNoByName(o.getSuperId());
+				sdepNo=organizationManagementMapper.selectDepNoById(o.getSuperId());
 				if(m<10){
 					String dep=sdepNo+"0"+m;			
 					if(m>=10){
@@ -205,9 +213,9 @@ public class OrganizationServiceImpl extends BaseMybatisDao<OrganizationManageme
 				
 				//*******下下级编号修改
 				int z=0;
-				List<OrganizationListOut> Nosss =organizationManagementMapper.selectIDNBySuperId(o.getName());
+				List<OrganizationListOut> Nosss =organizationManagementMapper.selectIDNBySuperId(o.getId());
 				for(OrganizationListOut p:Nosss){			
-					sdepNo=organizationManagementMapper.selectDepNoByName(p.getSuperId());
+					sdepNo=organizationManagementMapper.selectDepNoById(p.getSuperId());
 					if(z<10){
 						String dep=sdepNo+"0"+z;			
 						if(z>=10){

+ 68 - 0
src/main/java/com/goafanti/permission/bo/RoleBo.java

@@ -1,6 +1,7 @@
 package com.goafanti.permission.bo;
 
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 import com.goafanti.common.model.Permission;
@@ -10,6 +11,73 @@ public class RoleBo extends Role {
 	private static final long	serialVersionUID	= 1L;
 
 	List<Permission>			permissions			= new ArrayList<>();
+	
+	/**
+     * 创建人
+     */
+    private String creater;
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+    
+    private String roleName;
+
+    private Integer roleType;
+    
+    private String id;
+    
+    private String createTimez;
+
+	public String getCreateTimez() {
+		return createTimez;
+	}
+
+	public void setCreateTimez(String createTimez) {
+		this.createTimez = createTimez;
+	}
+
+	public String getRoleName() {
+		return roleName;
+	}
+
+	public void setRoleName(String roleName) {
+		this.roleName = roleName;
+	}
+
+	public Integer getRoleType() {
+		return roleType;
+	}
+
+	public void setRoleType(Integer roleType) {
+		this.roleType = roleType;
+	}
+
+	public String getId() {
+		return id;
+	}
+
+	public void setId(String id) {
+		this.id = id;
+	}
+
+	public String getCreater() {
+		return creater;
+	}
+
+	public void setCreater(String creater) {
+		this.creater = creater;
+	}
+
+	
+
+	public Date getCreateTime() {
+		return createTime;
+	}
+
+	public void setCreateTime(Date createTime) {
+		this.createTime = createTime;
+	}
 
 	public List<Permission> getPermissions() {
 		return permissions;

+ 23 - 0
src/main/java/com/goafanti/permission/bo/RolePermissionBo.java

@@ -32,7 +32,30 @@ public class RolePermissionBo {
      * 权限接口地址
      */
     private String url;
+    /**
+     * 创建人
+     */
+    private String creater;
+    /**
+     * 创建时间
+     */
+    private String createTime;
+
+	public String getCreater() {
+		return creater;
+	}
 
+	public void setCreater(String creater) {
+		this.creater = creater;
+	}
+
+	public String getCreateTime() {
+		return createTime;
+	}
+
+	public void setCreateTime(String createTime) {
+		this.createTime = createTime;
+	}
 	public String getRname() {
 		return rname;
 	}

+ 18 - 3
src/main/java/com/goafanti/permission/controller/NewPermissionApiController.java

@@ -83,13 +83,18 @@ public class NewPermissionApiController extends BaseApiController {
 			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);
+		/*Permission permission=permissionMapper.selectAllById(id);
+		String superId=permission.getSuperId();*/
+		int subordinate=permissionMapper.selectCountBySuperId(id);
 		if(subordinate>0){
 			res.getError().add(buildError("","存在下级权限不能删除"));
 			return res;
 		}
+		int role_permission=permissionMapper.selectCountByid(id);
+		if(role_permission>0){
+			res.getError().add(buildError("","权限被分配不能删除"));
+			return res;
+		}
 		res.setData(permissionService.deleteById(id));
 		return res;
 	}
@@ -129,6 +134,16 @@ public class NewPermissionApiController extends BaseApiController {
 			res.getError().add(buildError("","权限层级超限"));
 			return res;
 		}
+		int subordinate=permissionMapper.selectCountBySuperId(record.getId());
+		if(subordinate>0){
+			String autNo=permissionMapper.selectAutNoByNamei(record.getSuperId());
+			if(autNo.length()>=5){
+				res.getError().add(buildError("","权限层级超限"));
+				return res;
+			}
+			
+		}
+		
 		res.setData(permissionService.updateById(record));
 		return res;
 	}

+ 130 - 0
src/main/java/com/goafanti/permission/controller/NewRoleApiController.java

@@ -0,0 +1,130 @@
+package com.goafanti.permission.controller;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.goafanti.common.bo.Result;
+import com.goafanti.common.controller.BaseApiController;
+import com.goafanti.common.dao.RoleMapper;
+import com.goafanti.common.model.Role;
+import com.goafanti.permission.bo.RoleBo;
+import com.goafanti.permission.service.NewRoleService;
+
+@RestController
+@RequestMapping("api/admin")
+public class NewRoleApiController extends BaseApiController{
+	@Resource
+	private NewRoleService newRoleService;
+	@Autowired
+	RoleMapper				roleMapper;
+	
+	@RequestMapping(value = "/roles", method = RequestMethod.POST)
+	public Result roles(RoleBo role, Integer pageNo,
+			Integer pageSize) {
+		Result res = new Result();
+		res.setData(newRoleService.findRoles(role,pageNo,pageSize));
+		return res;
+	}
+	
+	@RequestMapping(value = "/role/rolePermission", method = RequestMethod.POST)
+	public Result rolePermission(String id){
+		Result res = new Result();
+		res.setData(newRoleService.selectRolePList(id));
+		return res;
+	}
+	@RequestMapping(value = "/role", method = RequestMethod.POST)
+	public Result insertRole(String data) {
+		Result res = new Result();
+		JSONObject jo = (JSONObject) JSON.parse(data);
+		if (jo != null) {
+			JSONArray permissions = jo.getJSONArray("permissions");
+			List<String> permisionIds = new ArrayList<>();
+			for (int idx = 0; idx < permissions.size(); idx++) {
+				String pid = permissions.getString(idx);
+					permisionIds.add(pid);
+			}
+			Role records = jo.toJavaObject(Role.class);
+			String newName=roleMapper.selectNameById(records.getId());
+			if(newName==null){
+				String newid=roleMapper.selectIdByName(records.getRoleName());
+				if(newid!=null){
+					res.getError().add(buildError("","角色已存在"));
+					return res;
+				}
+			}else{
+				String newid=roleMapper.selectIdByNamei(records);
+				if(newid!=null){
+					res.getError().add(buildError("","角色已存在,请更换名称"));
+					return res;
+				}
+			}
+			res.setData(newRoleService.insert(records, permisionIds));
+		} else {
+			res.getError().add(buildError("", "参数格式不正确"));
+		}
+		return res;
+	}
+
+	@RequestMapping(value = "/role/delete", method = RequestMethod.POST)
+	public Result deleteRole(String data) {
+		Result res = new Result();
+		JSONArray ja = (JSONArray) JSON.parse(data);
+		
+		if (ja != null && !ja.isEmpty()) {
+			List<String> records = new ArrayList<>();
+			for (int idx = 0; idx < ja.size(); idx++) {
+				String rid = ja.getString(idx);
+				if (rid != "1") {
+					records.add(rid);
+				}
+			}
+			int zz=roleMapper.selectCountByRoleId(records);
+			if(zz>0){
+				res.getError().add(buildError("","角色被分配不能删除"));
+				return res;
+			}
+			res.setData(newRoleService.deleteByPrimaryKeys(records));
+		} else {
+			res.getError().add(buildError("", "参数格式不正确"));
+		}
+		return res;
+	}
+
+	@RequestMapping(value = "/role/bindpermission", method = RequestMethod.POST)
+	public Result bindPermission(String rid, String pid) {
+		Result res = new Result();
+		res.setData(newRoleService.bindPermission(rid, pid));
+		return res;
+	}
+
+	@RequestMapping(value = "/role/binduser", method = RequestMethod.POST)
+	public Result bindUser(String rid, String uid) {
+		Result res = new Result();
+		res.setData(newRoleService.bindUser(rid, uid));
+		return res;
+	}
+
+	@RequestMapping(value = "/role/unbindpermission", method = RequestMethod.POST)
+	public Result unbindPermission(String rid, String pid) {
+		Result res = new Result();
+		res.setData(newRoleService.bindPermission(rid, pid));
+		return res;
+	}
+
+	@RequestMapping(value = "/role/unbinduser", method = RequestMethod.POST)
+	public Result unbindUser(String rid, String uid) {
+		Result res = new Result();
+		res.setData(newRoleService.bindUser(rid, uid));
+		return res;
+	}
+}

+ 35 - 0
src/main/java/com/goafanti/permission/service/NewRoleService.java

@@ -0,0 +1,35 @@
+package com.goafanti.permission.service;
+
+
+
+import java.util.List;
+import java.util.Set;
+
+import com.goafanti.common.model.Role;
+import com.goafanti.core.mybatis.page.Pagination;
+import com.goafanti.permission.bo.RoleBo;
+import com.goafanti.permission.bo.RolePermissionBo;
+
+public interface NewRoleService {
+	Pagination<RoleBo>findRoles(RoleBo role, Integer pageNo,
+			Integer pageSize);
+	
+	int insert(List<Role> records);
+
+	// 根据用户ID查询角色(role),放入到Authorization里。
+	Set<String> findRoleByUserId(String userId);
+
+	int deleteByPrimaryKeys(List<String> records);
+
+	int bindPermission(String roleId, String permissionId);
+
+	int unbindPermission(String roleId, String permissionId);
+
+	int bindUser(String roleId, String userId);
+
+	int unbindUser(String roleId, String userId);
+
+	int insert(Role record, List<String> permissions);
+	
+	List<RolePermissionBo> selectRolePList(String id);
+}

+ 139 - 0
src/main/java/com/goafanti/permission/service/impl/NewRoleServiceImpl.java

@@ -0,0 +1,139 @@
+package com.goafanti.permission.service.impl;
+
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.goafanti.common.dao.RoleMapper;
+import com.goafanti.common.dao.RolePermissionMapper;
+import com.goafanti.common.dao.UserMapper;
+import com.goafanti.common.dao.UserRoleMapper;
+import com.goafanti.common.model.Role;
+import com.goafanti.common.model.RolePermission;
+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;
+import com.goafanti.core.shiro.token.TokenManager;
+import com.goafanti.permission.bo.RoleBo;
+import com.goafanti.permission.bo.RolePermissionBo;
+import com.goafanti.permission.service.NewRoleService;
+@Service
+public class NewRoleServiceImpl extends BaseMybatisDao<RoleMapper> implements NewRoleService {
+	@Autowired
+	RoleMapper				roleMapper;
+	@Autowired
+	UserMapper				userMapper;
+	@Autowired
+	UserRoleMapper			userRoleMapper;
+	@Autowired
+	RolePermissionMapper	rolePermissionMapper;
+	@Override
+	public Pagination<RoleBo> findRoles(RoleBo role, Integer pageNo, Integer pageSize) {
+		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+		Map<String,Object> params =disposeParams(role);
+		@SuppressWarnings("unchecked")
+		Pagination<RoleBo> p=(Pagination<RoleBo>)findPage("selectRoleList","selectRoleCount",params,pageNo,pageSize);		
+		@SuppressWarnings("unchecked")
+		List<RoleBo> list=(List<RoleBo>) p.getList();
+		for(RoleBo i:list){
+			if(i.getCreateTime()!=null){
+				i.setCreateTimez(sdf.format(i.getCreateTime()));
+			}
+			
+		}
+		return p;
+	}
+	private Map<String,Object> disposeParams(RoleBo role){
+		Map<String,Object> params = new HashMap<String, Object>();			
+		if(StringUtils.isNotBlank(role.getRoleName())) params.put("roleName", role.getRoleName());		
+		return params;
+		
+	}
+	
+	@Override
+	public Set<String> findRoleByUserId(String userId) {
+		return roleMapper.findRoleByUserId(userId);
+	}
+
+	
+
+	@Override
+	public int insert(List<Role> records) {
+		return roleMapper.insertBatch(records);
+	}
+
+	@Override
+	public int deleteByPrimaryKeys(List<String> records) {
+		rolePermissionMapper.deleteByRoleId(records);
+		userRoleMapper.deleteByRoleId(records);
+		List<String> data= userRoleMapper.findUserIdByRoleIds(records);
+		TokenManager.clearUserAuthByUserId(data.toArray(new String[]{}));
+		return roleMapper.deleteByPrimaryKeys(records);
+	}
+
+
+	@Override
+	public int bindPermission(String rid, String pid) {
+		TokenManager.clearUserAuthByUserId((String[]) userRoleMapper.findUserIdByRoleId(rid).toArray());
+		return rolePermissionMapper.insert(new RolePermission(rid, pid));
+	}
+
+	@Override
+	public int bindUser(String rid, String uid) {
+		TokenManager.clearUserAuthByUserId(new String[] { uid });
+		return userRoleMapper.insert(new UserRole(uid, rid));
+	}
+
+	@Override
+	public int unbindPermission(String roleId, String permissionId) {
+		Map<String, Object> params = new HashMap<>();
+		params.put("rid", roleId);
+		params.put("pid", permissionId);
+		TokenManager.clearUserAuthByUserId((String[]) userRoleMapper.findUserIdByRoleId(roleId).toArray());
+		return rolePermissionMapper.deleteByPrimaryKey(params);
+	}
+
+	@Override
+	public int unbindUser(String roleId, String userId) {
+		Map<String, Object> params = new HashMap<>();
+		params.put("rid", roleId);
+		params.put("uid", userId);
+		TokenManager.clearUserAuthByUserId(new String[] { userId });
+		return userRoleMapper.deleteByUserRole(params);
+	}
+
+	@Override
+	public int insert(Role record, List<String> permissions) {
+		Date now = new Date();
+		if (record.getId() != null) {
+			List<RolePermission> rps = new ArrayList<>();
+			rolePermissionMapper.deleteByRid(record.getId());
+			for (String pid : permissions) {
+				rps.add(new RolePermission(record.getId(), pid));
+			}
+			if (!rps.isEmpty()) {
+				rolePermissionMapper.insertBatch(rps);
+			}
+			List<String> ids = userRoleMapper.findUserIdByRoleId(record.getId());
+			TokenManager.clearUserAuthByUserId(ids.toArray(new String[ids.size()]));
+		}
+		record.getId();
+		record.setCreater("管理员");		
+		record.setCreateTime(now);
+		return roleMapper.insert(record);
+	}
+	@Override
+	public List<RolePermissionBo> selectRolePList(String id) {
+		List<RolePermissionBo> list=roleMapper.selectRolePList(id);
+		return list;
+	}
+	
+}

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

@@ -206,7 +206,7 @@ public class PermissionServiceImpl extends BaseMybatisDao<PermissionMapper> impl
 		permissionMapper.updateById(record);
 		//*******下级编号修改
 		int n=0;
-		List<Permission> Nos =permissionMapper.selectIDNBySuperId(record.getName());
+		List<Permission> Nos =permissionMapper.selectIDNBySuperId(record.getId());
 		for(Permission i:Nos){			
 			autNo=permissionMapper.selectAutNoByName(i.getSuperId());
 			if(n<10){
@@ -228,7 +228,7 @@ public class PermissionServiceImpl extends BaseMybatisDao<PermissionMapper> impl
 			
 			//*******下下级编号修改
 			int m=0;
-			List<Permission> Noss =permissionMapper.selectIDNBySuperId(i.getName());
+			List<Permission> Noss =permissionMapper.selectIDNBySuperId(i.getId());
 			for(Permission o:Noss){			
 				autNo=permissionMapper.selectAutNoByName(o.getSuperId());
 				if(m<10){
@@ -249,7 +249,7 @@ public class PermissionServiceImpl extends BaseMybatisDao<PermissionMapper> impl
 				m++;
 				//*******下下级编号修改
 				int z=0;
-				List<Permission> Nosss =permissionMapper.selectIDNBySuperId(o.getName());
+				List<Permission> Nosss =permissionMapper.selectIDNBySuperId(o.getId());
 				for(Permission p:Nosss){			
 					autNo=permissionMapper.selectAutNoByName(p.getSuperId());
 					if(z<10){