@Override
	public synchronized ResultMessage delGoodsClass(long id) {
		if(!this.goodsClassCanDel(id)) return ResultMessage.delete_failure;
		
		ArrayList<GoodsClassPO> child = new ArrayList<GoodsClassPO>();
		gcIter = goodsClassList.iterator();
		GoodsClassPO gc;
		GoodsClassPO thisPO = null;
		while(gcIter.hasNext()) {
			gc = gcIter.next();
			if(gc.fatherGoodsClassNum == id)
				child.add(gc);
			if(gc.Num == id) {
				thisPO = gc;
				gcIter.remove();
			}
		}
		if(thisPO == null) return ResultMessage.delete_failure;
		if(child.size() == 0) {
			gIter = goodsList.iterator();
			while(gIter.hasNext()) {
				if(gIter.next().getGoodsClassNum() == id)
					gIter.remove();
			}
		}
		else {
			Iterator<GoodsClassPO> childIter = child.iterator();
			while(childIter.hasNext()) {
				delGoodsClass(childIter.next().Num);
				childIter.remove();
			}
		}
		
		
		
		return ResultMessage.delete_success;
		
	}