最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java實(shí)現(xiàn)茶葉售賣商城系統(tǒng)(java+SSM+JSP+EasyUi+mysql)

 更新時(shí)間:2021年12月10日 15:33:59   作者:qq_1334611189  
這篇文章主要介紹了基于SSM框架實(shí)現(xiàn)的一個(gè)茶葉售賣商城系統(tǒng),應(yīng)用到的技術(shù)有Jsp、SSM 、EasyUi,文中的示例代碼具有一定的學(xué)習(xí)價(jià)值,需要的朋友可以參考一下

前言

這是一個(gè)應(yīng)用SSM框架的項(xiàng)目,前端頁面整潔清晰。該系統(tǒng)有兩個(gè)角色,一個(gè)是普通用戶,另一個(gè)是管理員。

普通用戶具有注冊(cè)、登錄、查看商品、添加購物車、添加商品收藏、下訂單、商品評(píng)價(jià)、用戶地址管理等等功能。

管理員具有登錄、管理用戶信息、管理商品信息、管理商品活動(dòng)信息、管理訂單信息、管理用戶評(píng)論信息的等等功能。

應(yīng)用技術(shù):Jsp + SSM + EasyUi

運(yùn)行環(huán)境:eclipse/IDEA + MySQL5.7 + Tomcat8.5 + JDK1.8

實(shí)現(xiàn)效果

?

主要代碼

用戶管理控制層

@WebServlet("/frontstage_userServlet")
public class UserServlet extends HttpServlet {
	UserService service = new UserService();
 
	@Override
	protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		String action = req.getParameter("action");
 
		switch (action) {
		case "login":
			login(req, resp);
			break;
		case "checkUserNameRepeat":
			checkUserNameRepeat(req, resp);
			break;
		case "register":
			register(req, resp);
			break;
		case "logout":
			logout(req, resp);
			break;
		case "checkOldPassword":
			checkOldPassword(req, resp);
			break;
		case "modifyPassword":
			modifyPassword(req, resp);
			break;
		}
	}
 
	public void login(HttpServletRequest req, HttpServletResponse resp) throws IOException {
		//設(shè)置請(qǐng)求編碼格式:
		req.setCharacterEncoding("utf-8");
		//設(shè)置響應(yīng)編碼格式			
		resp.setContentType("text/html;charset=utf-8");
		String userName = req.getParameter("userName");
		String password = req.getParameter("password");
		String captcha = req.getParameter("captcha");
		if (captcha != null) {
			captcha = captcha.toUpperCase();
		}
 
		// 先進(jìn)行驗(yàn)證碼驗(yàn)證
		String checkcode = (String) req.getSession().getAttribute("checkcode_session");
 
		try {
			// 將用戶輸入的驗(yàn)證碼和 系統(tǒng)驗(yàn)證對(duì)比
			if (checkcode.equals(captcha)) {
				User user = service.getUserByNameAndPassword(userName, password);
				if (user != null) {
					HttpSession session = req.getSession();
					session.setAttribute("user", user);
					JSONResult ok = JSONResult.ok();
					resp.getWriter().println(JsonUtil.javaObjectToJson(ok));
				} else {
					// 將錯(cuò)誤信息封裝在結(jié)果集中
					JSONResult result = JSONResult.errorMsg("用戶名或密碼錯(cuò)誤,請(qǐng)重試");
					// 以json的形式返回給前端
					resp.getWriter().println(JsonUtil.javaObjectToJson(result));
				}
			} else {
				// 將錯(cuò)誤信息封裝在結(jié)果集中
				JSONResult result = JSONResult.errorMsg("驗(yàn)證碼輸入錯(cuò)誤,請(qǐng)重試");
				// 以json的形式返回給前端
				resp.getWriter().println(JsonUtil.javaObjectToJson(result));
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
 
	/**
	 * 用戶名重名檢測(cè)
	 * 
	 * @param req
	 * @param resp
	 */
	public void checkUserNameRepeat(HttpServletRequest req, HttpServletResponse resp) {
		String userName = req.getParameter("userName");
 
		if (userName != null) {
			int d = service.checkUserNameRepeat(userName);
			try {
				if (d > 0) {
					JSONResult error = JSONResult.errorMsg("");
					resp.getWriter().println(JsonUtil.javaObjectToJson(error));
				} else {
					JSONResult ok = JSONResult.ok();
					resp.getWriter().println(JsonUtil.javaObjectToJson(ok));
				}
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	}
 
	/**
	 * 用戶注冊(cè)
	 * 
	 * @param req
	 * @param resp
	 * @throws IOException 
	 */
	public void register(HttpServletRequest req, HttpServletResponse resp) throws IOException {
		//設(shè)置請(qǐng)求編碼格式:
		req.setCharacterEncoding("utf-8");
		//設(shè)置響應(yīng)編碼格式			
		resp.setContentType("text/html;charset=utf-8");
		User user = new User();
		user.setUserName(req.getParameter("userName"));
		user.setPassword(req.getParameter("password"));
		user.setEmail(req.getParameter("email"));
		user.setPhone(req.getParameter("phoneNum"));
		user.setRole("ordinaryUser");
		int d = service.addUser(user);
		try {
			if (d > 0) {
				JSONResult ok = JSONResult.ok();
				resp.getWriter().println(JsonUtil.javaObjectToJson(ok));
			} else {
				JSONResult error = JSONResult.errorMsg("注冊(cè)失敗");
				resp.getWriter().println(JsonUtil.javaObjectToJson(error));
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
 
	/**
	 * 退出登錄
	 */
	public void logout(HttpServletRequest req, HttpServletResponse resp) {
		req.getSession().removeAttribute("user");
		try {
			resp.sendRedirect("index.jsp");
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
 
	/**
	 * 檢查舊密碼是否正確 ,在修改密碼操作時(shí)使用
	 * @throws IOException 
	 */
	public void checkOldPassword(HttpServletRequest req, HttpServletResponse resp) throws IOException {
		//設(shè)置請(qǐng)求編碼格式:
		req.setCharacterEncoding("utf-8");
		//設(shè)置響應(yīng)編碼格式			
		resp.setContentType("text/html;charset=utf-8");
		User user = (User) req.getSession().getAttribute("user");		
		String oldPassword = service.getPasswordById(user.getId());
		System.out.println("舊密碼:"+oldPassword);
		String password = req.getParameter("password");
		System.out.println("舊密碼驗(yàn)證:"+password);
		try {
			if (!oldPassword.equals(password)) {
				JSONResult errorMsg = JSONResult.errorMsg("原始密碼錯(cuò)誤,請(qǐng)重新輸入");
				resp.getWriter().println(JsonUtil.javaObjectToJson(errorMsg));
			} else {
				JSONResult ok = JSONResult.ok();
				resp.getWriter().println(JsonUtil.javaObjectToJson(ok));
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
 
	}
 
	/**
	 * 修改密碼
	 * @throws IOException 
	 */
	public void modifyPassword(HttpServletRequest req, HttpServletResponse resp) throws IOException {
		//設(shè)置請(qǐng)求編碼格式:
		req.setCharacterEncoding("utf-8");
		//設(shè)置響應(yīng)編碼格式			
		resp.setContentType("text/html;charset=utf-8");
 
		String password = req.getParameter("newPassword");
		System.out.println("新密碼:"+password);
		User user = (User) req.getSession().getAttribute("user");
		int id = user.getId();
		System.out.println("舊密碼id"+id);
		int d = service.updatePasswordById(id, password);
		try {
			if (d > 0) {
				JSONResult ok = JSONResult.ok();
				resp.getWriter().println(JsonUtil.javaObjectToJson(ok));
			} else {
			  JSONResult errorMsg = JSONResult.errorMsg("修改失敗,請(qǐng)重試");
			  resp.getWriter().println(JsonUtil.javaObjectToJson(errorMsg));
			}
 
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
 
}

商品管理服務(wù)類

@WebServlet("/frontstage_goodsServlet")
public class GoodsServlet extends HttpServlet{
	GoodsService service = new GoodsService();
	
	
	@Override
	protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		String action = req.getParameter("action");
		switch(action) {
			case "findAllGoods":findAllGoods(req,resp);break;
			case "findGoodsById":findGoodsById(req,resp);break;
			case "findGoodsByType":findGoodsByType(req,resp);break;
		}
	}
	
	
	/**
	 * 獲取所有商品列表
	 * @param req
	 * @param resp
	 */
	public void findAllGoods(HttpServletRequest req, HttpServletResponse resp) {
		Map<String, List<Goods>> allGoods = service.getAllGoods();
		
		try {
			req.setAttribute("allGoods", allGoods);
			req.getRequestDispatcher("/main.jsp").forward(req, resp);
			return;
		} catch (ServletException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	/**
	 *根據(jù)類型獲得商品列表 
	 * @param req
	 * @param resp
	 */
	public void findGoodsByType(HttpServletRequest req, HttpServletResponse resp) {
		String type = req.getParameter("type");
		String currentPage = req.getParameter("currentPage");
		
		PageBean pageBean = null;
		
		// 如果當(dāng)前第幾頁currentPage 值為null,說明第一次跳轉(zhuǎn)到此頁面或者是要跳轉(zhuǎn)到首頁,則設(shè)定該值currentPage默認(rèn)為1
		if(currentPage == null) {
			pageBean = service.getGoodsByType(type, 4, 1);
		}else {
			
			pageBean = service.getGoodsByType(type, 4, Integer.parseInt(currentPage));
		}
		
		try {
			req.setAttribute("pageBean", pageBean);
			req.setAttribute("type", type);
			
			req.getRequestDispatcher("/product.jsp").forward(req, resp);
 
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	
	/**
	 * 獲取商品的詳細(xì)信息
	 * @param req
	 * @param resp
	 */
	public void findGoodsById(HttpServletRequest req, HttpServletResponse resp) {
		int id =Integer.parseInt(req.getParameter("id"));
		
		Goods goodsInfo = service.getGoodsInfoById(id);
		
		try {
			req.setAttribute("pro", goodsInfo);
			req.getRequestDispatcher("/productInfo_user.jsp").forward(req, resp);
 
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

訂單控制層

@WebServlet("/backstage_ordersServlet")
public class OrdersServlet extends HttpServlet{
	
	OrdersService service = new OrdersService();
	
	@Override
	protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		String action = req.getParameter("action");
		System.out.println(action);
		switch(action) {
			case "getOrdersList":getOrdersList(req,resp);break;
			case "getOrdersListByName":getOrdersListByName(req,resp);break;
			case "deleteOrders":deleteOrders(req,resp);break;
			case "deleteAllOrders":deleteAllOrders(req,resp);break;
			case "toOrdersUpdatePage":toOrdersUpdatePage(req,resp);break;
			case "updateOrders":updateOrders(req,resp);break;
			case "fastbuy":sendOrder(req,resp);break;
		}
	}
 
	/* 
	 * 刪除全部訂單 
	 */
	private void deleteAllOrders(HttpServletRequest req, HttpServletResponse resp) throws IOException {
		//設(shè)置請(qǐng)求編碼格式:
				req.setCharacterEncoding("utf-8");
				//設(shè)置響應(yīng)編碼格式			
				resp.setContentType("text/html;charset=utf-8");
		// TODO 自動(dòng)生成的方法存根
		int d = service.deleteAllOrders();
		try {
			if(d>0) {
				JSONResult ok = JSONResult.ok();
				resp.getWriter().println(JsonUtil.javaObjectToJson(ok));
			}else {
				JSONResult errorMsg = JSONResult.errorMsg("刪除失敗,請(qǐng)重試");
				resp.getWriter().println(JsonUtil.javaObjectToJson(errorMsg));
			}			
			
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
 
	/**
	 * 提交訂單
	 * @throws IOException 
	 */
	public void sendOrder(HttpServletRequest req, HttpServletResponse resp) throws IOException {
		//設(shè)置請(qǐng)求編碼格式:
				req.setCharacterEncoding("utf-8");
				//設(shè)置響應(yīng)編碼格式			
				resp.setContentType("text/html;charset=utf-8");
			SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//設(shè)置日期格式
			User user =(User) req.getSession().getAttribute("user");
			Orders order = new Orders();
			order.setNumber(order.getRandomString(10));
			order.setTime(df.format(new Date()));
			order.setName(req.getParameter("recipients"));
			order.setAddress(req.getParameter("address"));
			order.setPhone(req.getParameter("phone"));
			order.setAddress_label(req.getParameter("addressLabel"));
			order.setSex(req.getParameter("sex"));
			order.setUser(user.getUserName());
			order.setGoods_id(Integer.parseInt(req.getParameter("id")));
			order.setGoods_num(Integer.parseInt(req.getParameter("num")));
			order.setGoods_status(1);
			int d = service.addOrder(order);
				try {
					if(d>0) {
						JSONResult ok = JSONResult.ok();
						resp.getWriter().println(JsonUtil.javaObjectToJson(ok));
					}else {
						JSONResult error = JSONResult.errorMsg("訂單提交失敗!");
						resp.getWriter().println(JsonUtil.javaObjectToJson(error));
					}
				} catch (Exception e) {
					e.printStackTrace();
				}	
		
	}
 
	
	/**
	 * 向前端頁面返回訂單數(shù)據(jù)列表
	 */
	public void getOrdersList(HttpServletRequest req,HttpServletResponse resp) {
		List<Orders> allOrders = service.getAllOrders();
		req.setAttribute("ordersList",allOrders);
		try {
			req.getRequestDispatcher("/backstage/tgls/ordersManage/orders_list.jsp").forward(req, resp);
		} catch (ServletException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}	
	}
	
	
	/**
	 * 根據(jù)訂單名查詢商品(注意!類別沒改)
	 * @param req
	 * @param resp
	 * @throws IOException 
	 */
	public void getOrdersListByName(HttpServletRequest req,HttpServletResponse resp) throws IOException {
		//設(shè)置請(qǐng)求編碼格式:
				req.setCharacterEncoding("utf-8");
				//設(shè)置響應(yīng)編碼格式			
				resp.setContentType("text/html;charset=utf-8");
		String name = req.getParameter("OrdersUser");
		//String type = req.getParameter("type");
		
		Map<String,String> parmas = new HashMap<>();
		parmas.put("name", name);
		//parmas.put("type", type);
		
		List<Orders> list = service.getOrdersByName(parmas);
	
		try {
			if(list != null) {
				JSONResult ok = JSONResult.ok(list);
				resp.getWriter().println(JsonUtil.javaObjectToJson(ok));
			}else {
				JSONResult errorMsg = JSONResult.errorMsg("未獲取到任何數(shù)據(jù),請(qǐng)重試");
				resp.getWriter().println(JsonUtil.javaObjectToJson(errorMsg));
			}			
			
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	
	/**
	 * 修改訂單時(shí),獲取此訂單的全部數(shù)據(jù),并返回至修改頁面
	 */
	public void toOrdersUpdatePage(HttpServletRequest req,HttpServletResponse resp) {
		int id = Integer.parseInt(req.getParameter("id"));
		Orders orders = service.getOrdersInfoById(id);
		req.setAttribute("orders", orders);
		try {
			req.getRequestDispatcher("/backstage/tgls/ordersManage/orders_update.jsp").forward(req, resp);
		} catch (ServletException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}	
		
	}
	
	/**
	 *  修改訂單
	 * @throws IOException 
	 */
	
	public void updateOrders(HttpServletRequest req,HttpServletResponse resp) throws IOException {
		//設(shè)置請(qǐng)求編碼格式:
		req.setCharacterEncoding("utf-8");
		//設(shè)置響應(yīng)編碼格式			
		resp.setContentType("text/html;charset=utf-8");
		Orders orders = new Orders();
		orders.setId(Integer.parseInt(req.getParameter("id")));
		orders.setNumber(req.getParameter("number"));
		orders.setUser(req.getParameter("user"));
		orders.setTime(req.getParameter("time"));
		orders.setName(req.getParameter("name"));
		orders.setSex(req.getParameter("sex"));
		orders.setAddress(req.getParameter("address"));
		orders.setPhone(req.getParameter("phone"));
		orders.setAddress_label(req.getParameter("address_label"));
		orders.setGoods_id(Integer.parseInt(req.getParameter("goods_id")));
		orders.setGoods_num(Integer.parseInt(req.getParameter("goods_num")));
		orders.setGoods_status(Integer.parseInt(req.getParameter("goods_status")));
		
		System.out.println(orders);
		int d = service.updateOrdersById(orders);
		System.out.println(d);
		try {
			if(d>0) {
				
				JSONResult ok = JSONResult.ok();
				resp.getWriter().println(JsonUtil.javaObjectToJson(ok));
			}else {
				JSONResult errorMsg = JSONResult.errorMsg("修改失敗,請(qǐng)重試");
				resp.getWriter().println(JsonUtil.javaObjectToJson(errorMsg));
			}		
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	
 
	/**
	 * 刪除訂單
	 * @throws UnsupportedEncodingException 
	 */
	public void deleteOrders(HttpServletRequest req,HttpServletResponse resp) throws UnsupportedEncodingException {
		//設(shè)置請(qǐng)求編碼格式:
		req.setCharacterEncoding("utf-8");
		//設(shè)置響應(yīng)編碼格式			
		resp.setContentType("text/html;charset=utf-8");
		int id = Integer.parseInt(req.getParameter("id"));
		
		int d = service.deleteOrdersById(id);
		try {
			if(d>0) {
				JSONResult ok = JSONResult.ok();
				resp.getWriter().println(JsonUtil.javaObjectToJson(ok));
			}else {
				JSONResult errorMsg = JSONResult.errorMsg("刪除失敗,請(qǐng)重試");
				resp.getWriter().println(JsonUtil.javaObjectToJson(errorMsg));
			}			
			
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

到此這篇關(guān)于Java實(shí)現(xiàn)茶葉售賣商城系統(tǒng)(java+SSM+JSP+EasyUi+mysql)的文章就介紹到這了,更多相關(guān)Java 茶葉售賣商城系統(tǒng)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringCloud Finchley Gateway 緩存請(qǐng)求Body和Form表單的實(shí)現(xiàn)

    SpringCloud Finchley Gateway 緩存請(qǐng)求Body和Form表單的實(shí)現(xiàn)

    在接入Spring-Cloud-Gateway時(shí),可能有需求進(jìn)行緩存Json-Body數(shù)據(jù)或者Form-Urlencoded數(shù)據(jù)的情況。這篇文章主要介紹了SpringCloud Finchley Gateway 緩存請(qǐng)求Body和Form表單的實(shí)現(xiàn),感興趣的小伙伴們可以參考一下
    2019-01-01
  • 通過Java實(shí)現(xiàn)設(shè)置Word文檔頁邊距的方法詳解

    通過Java實(shí)現(xiàn)設(shè)置Word文檔頁邊距的方法詳解

    頁邊距是指頁面的邊線到文字的距離。通常可在頁邊距內(nèi)部的可打印區(qū)域中插入文字和圖形等。今天這篇文章將為您展示如何通過編程方式,設(shè)置Word?文檔頁邊距,感興趣的可以了解一下
    2023-02-02
  • Java反轉(zhuǎn)數(shù)組輸出實(shí)例代碼

    Java反轉(zhuǎn)數(shù)組輸出實(shí)例代碼

    這篇文章主要給大家介紹了關(guān)于Java反轉(zhuǎn)數(shù)組輸出以及利用Java實(shí)現(xiàn)字符串逆序輸出的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • SpringBoot熱部署配置方法詳解

    SpringBoot熱部署配置方法詳解

    在實(shí)際開發(fā)中,每次修改代碼就需要重啟項(xiàng)目,重新部署,對(duì)于一個(gè)后端開發(fā)者來說,重啟確實(shí)很難受。在java開發(fā)領(lǐng)域,熱部署一直是一個(gè)難以解決的問題,目前java虛擬機(jī)只能實(shí)現(xiàn)方法體的熱部署,對(duì)于整個(gè)類的結(jié)構(gòu)修改,仍然需要重啟項(xiàng)目
    2022-11-11
  • java 設(shè)計(jì)模型之單例模式詳解

    java 設(shè)計(jì)模型之單例模式詳解

    本文主要介紹了java 單例模式,單例對(duì)象(Singleton)是一種常用的設(shè)計(jì)模式。在Java應(yīng)用中,單例對(duì)象能保證在一個(gè)JVM中,該對(duì)象只有一個(gè)實(shí)例存在,希望能幫助有需要的同學(xué)
    2016-07-07
  • mybatis中嵌套查詢的使用解讀

    mybatis中嵌套查詢的使用解讀

    這篇文章主要介紹了mybatis中嵌套查詢的使用解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Spring?Boot指定外部配置文件簡單示例

    Spring?Boot指定外部配置文件簡單示例

    Spring Boot可以讓你將配置外部化,這樣你就可以在不同的環(huán)境中使用相同的應(yīng)用程序代碼,這篇文章主要給大家介紹了關(guān)于Spring?Boot指定外部配置文件的相關(guān)資料,需要的朋友可以參考下
    2024-01-01
  • SpringBoot中Mybatis + Druid 數(shù)據(jù)訪問的詳細(xì)過程

    SpringBoot中Mybatis + Druid 數(shù)據(jù)訪問的詳細(xì)過程

    Spring Boot 底層都是采用 SpringData 的方式進(jìn)行統(tǒng)一處理各種數(shù)據(jù)庫,SpringData也是Spring中與SpringBoot、SpringCloud 等齊名的知名項(xiàng)目,下面看下SpringBoot Mybatis Druid數(shù)據(jù)訪問的詳細(xì)過程,感興趣的朋友一起看看吧
    2021-11-11
  • Java 中Json中既有對(duì)象又有數(shù)組的參數(shù)如何轉(zhuǎn)化成對(duì)象(推薦)

    Java 中Json中既有對(duì)象又有數(shù)組的參數(shù)如何轉(zhuǎn)化成對(duì)象(推薦)

    Gson庫是一個(gè)功能強(qiáng)大、易于使用的Java序列化/反序列化庫,它提供了豐富的API來支持Java對(duì)象和JSON之間的轉(zhuǎn)換,這篇文章主要介紹了Java 中Json中既有對(duì)象又有數(shù)組的參數(shù)如何轉(zhuǎn)化成對(duì)象,需要的朋友可以參考下
    2024-07-07
  • Java并發(fā)編程:volatile關(guān)鍵字詳細(xì)解析

    Java并發(fā)編程:volatile關(guān)鍵字詳細(xì)解析

    這篇文章主要介紹了Java并發(fā)編程:volatile關(guān)鍵字詳細(xì)解析,對(duì)學(xué)習(xí)volatile關(guān)鍵字有一定的認(rèn)識(shí),有需要的可以了解一下。
    2016-11-11

最新評(píng)論

遂川县| 宜君县| 宣化县| 镇宁| 泸定县| 博客| 大方县| 玉溪市| 天柱县| 通江县| 商丘市| 通辽市| 弥勒县| 依安县| 怀柔区| 大埔县| 武鸣县| 商河县| 贵南县| 巴中市| 任丘市| 望谟县| 宁夏| 太湖县| 咸阳市| 扎兰屯市| 格尔木市| 德州市| 垫江县| 社会| 偏关县| 侯马市| 四平市| 靖江市| 绥滨县| 南昌县| 郴州市| 海盐县| 昌图县| 莎车县| 平果县|