Browse Source

权限管理编辑接口OK

Michael 8 years ago
parent
commit
3410682059

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

@@ -45,4 +45,10 @@ public interface PermissionMapper {
 	int selectCountBySuperId(String superId);
 	
 	List<Permission> selectName(String name);
+	
+	int updateById(Permission record);
+	
+	List<Permission> selectIDNBySuperId(String superId);
+	
+	int updateByNumber(Permission record);
 }

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

@@ -181,5 +181,60 @@
 		from permission
 		where
 		name  like concat('%',#{name,jdbcType=VARCHAR},'%')
-	</select>
+  </select>
+  <update id="updateById"  parameterType="com.goafanti.common.model.Permission">
+  	update permission
+    <set>
+      <if test="url != null">
+        url = #{url,jdbcType=VARCHAR},
+      </if>
+      <if test="name != null">
+        name = #{name,jdbcType=VARCHAR},
+      </if>
+      <if test="createId != null">
+        create_id = #{createId,jdbcType=VARCHAR},
+      </if>
+      <if test="createTime != null">
+        create_time = #{createTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="updateTime != null">
+        update_time = #{updateTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="deletedSign != null">
+        deleted_sign = #{deletedSign,jdbcType=VARCHAR},
+      </if>
+      <if test="autNo != null">
+        aut_no = #{autNo,jdbcType=VARCHAR},
+      </if>
+      <if test="hierarchies != null">
+        hierarchies = #{hierarchies,jdbcType=VARCHAR},
+      </if>
+      <if test="status != null">
+        status = #{status,jdbcType=VARCHAR},
+      </if>
+      <if test="showOrder != null">
+        show_order = #{showOrder,jdbcType=VARCHAR},
+      </if>
+      <if test="superId != null">
+        super_id = #{superId,jdbcType=VARCHAR},
+      </if>
+    </set>
+    where id = #{id,jdbcType=VARCHAR} 		
+  </update>
+  <select id="selectIDNBySuperId" parameterType="java.lang.String" resultType="com.goafanti.common.model.Permission">
+  		select
+  		<include refid="Base_Column_List" />
+  		from permission 		
+  		where
+  		super_id=#{superId,jdbcType=VARCHAR}
+  		order by aut_no
+  </select>
+  <update id="updateByNumber" parameterType="com.goafanti.common.model.Permission">
+  		update permission
+	    <set>
+	    	aut_no = #{autNo,jdbcType=VARCHAR}
+	    </set>
+	    where
+	    id=#{id,jdbcType=VARCHAR}
+  	</update>
 </mapper>

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

@@ -104,4 +104,17 @@ public class NewPermissionApiController extends BaseApiController {
 		res.setData(permissionService.selectName(name));
 		return res;
 	}
+	
+	/**修改信息**/
+	@RequestMapping(value = "/updateById" , method = RequestMethod.POST)
+	public Result updateById(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;
+		}
+		res.setData(permissionService.updateById(record));
+		return res;
+	}
 }

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

@@ -27,5 +27,7 @@ public interface PermissionService {
 	Permission selectAllById(String id);
 	
 	List<Permission> selectName(String name);
+	
+	int updateById(Permission record);
 
 }

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

@@ -162,6 +162,114 @@ public class PermissionServiceImpl extends BaseMybatisDao<PermissionMapper> impl
 	public List<Permission> selectName(String name) {
 		return permissionMapper.selectName(name);
 	}
+
+	@Override
+	public int updateById(Permission record) {
+		Date now=new Date();
+		record.setUpdateTime(now);
+		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);
+		}
+		if(record.getSuperId().equals("最高级")){
+			record.setHierarchies("1");
+		}else{
+			record.setHierarchies("0");
+		}
+			
+		permissionMapper.updateById(record);
+		//*******下级编号修改
+		int n=0;
+		List<Permission> Nos =permissionMapper.selectIDNBySuperId(record.getName());
+		for(Permission i:Nos){			
+			autNo=permissionMapper.selectAutNoByName(i.getSuperId());
+			if(n<10){
+				String aut=autNo+"0"+n;			
+				if(n>=10){
+					aut=autNo+n;	
+				}else{
+					aut=autNo+"0"+n;
+				}	
+				i.setAutNo(aut);
+			}
+			if(n>=10){
+				String aut=autNo+n;			
+				aut=autNo+n;	
+				i.setAutNo(aut);
+			}
+			permissionMapper.updateByNumber(i);
+			n++;
+			
+			//*******下下级编号修改
+			int m=0;
+			List<Permission> Noss =permissionMapper.selectIDNBySuperId(i.getName());
+			for(Permission o:Noss){			
+				autNo=permissionMapper.selectAutNoByName(o.getSuperId());
+				if(m<10){
+					String aut=autNo+"0"+m;			
+					if(m>=10){
+						aut=autNo+m;	
+					}else{
+						aut=autNo+"0"+m;
+					}	
+					o.setAutNo(aut);
+				}
+				if(m>=10){
+					String aut=autNo+m;			
+					aut=autNo+m;	
+					o.setAutNo(aut);
+				}
+				permissionMapper.updateByNumber(o);
+				m++;
+				//*******下下级编号修改
+				int z=0;
+				List<Permission> Nosss =permissionMapper.selectIDNBySuperId(o.getName());
+				for(Permission p:Nosss){			
+					autNo=permissionMapper.selectAutNoByName(p.getSuperId());
+					if(z<10){
+						String aut=autNo+"0"+z;			
+						if(z>=10){
+							aut=autNo+z;	
+						}else{
+							aut=autNo+"0"+z;
+						}	
+						p.setAutNo(aut);
+					}
+					if(z>=10){
+						String aut=autNo+z;			
+						aut=autNo+z;	
+						p.setAutNo(aut);
+					}
+					permissionMapper.updateByNumber(p);
+					z++;
+				}
+			}
+			
+		}
+		return 1;
+	}