JSP+servlet+mybatis+layui服装库存管理系统

阿西吧、自从学会使用框架。再看以前写的。我真的是要死了、项目用的还不是maven、整理项目能给我搞死。更要命的是这个项目还是用eclipse写的、数据库还是SQL server。阿西吧

这个系统代码不完整、只是提供一种思路。
我觉得值得借鉴的地方:Ajax的使用、json的使用、layui的使用、mvc三层的思想、iframe的使用。

完整的授权操作看这里:一个用户对应几个角色、角色对应多个权限。实现一个用户拥有多个权限。
https://blog.csdn.net/weixin_43304253/article/details/121124431

逻辑删除:这里有详细的例子:https://blog.csdn.net/weixin_43304253/article/details/121167858
课程名称:企业项目实训Ⅰ
设计题目:服装库存管理系统

已知技术参数和设计要求:

1.问题描述(功能要求):
服装库存管理系统主要包括:
(1)注册登录:只有注册后正常登录用户才能使用该系统,若系统20分钟未操作将自动退出,重新登录。
(2)权限管理:用户注册后通过管理员授权,授权包括是否对模块(如用户管理、货号管理、入库管理、出库管理),具有增加、删除、修改和查找的权限;
(3)用户管理和货号管理
系统管理包括用户管理和货号管理,能进行增加、删除、修改和查找的操作。
(4)库存管理
库存管理包括入库单管理和出库单管理。入库单管理包括入库单基本信息管理和入库单明细管理,并能分别对入库单和入库单明细进行增加、删除、修改和查找的操作。出库单管理包括出库单基本信息管理和出库单明细管理,并能分别对出库单和出库单明细进行增加、删除、修改和查找的操作。
(5)辅助管理
辅助管理包括修改密码。

  1. 运行环境要求:
    (1)客户端:
    Windows操作系统
    IE浏览器
    (2)服务器:
    windows server 版操作系统
    Tomcat web 服务器
    My SQL 数据库服务器

  2. 技术要求:
    强调软件工程过程文档的规范化。
    需求分析规格说明书与用例规约
    系统数据库设计,时序图,类图,MVC架构
    采用JSP、Servlet、MyBatis技术,系统完整编码
    所有删除均采用逻辑删除

我就直接贴代码算了。反正你们也是白嫖、哈哈哈哈哈、里边的一些思想还是可以借鉴的
效果:
JSP+servlet+mybatis+layui服装库存管理系统_第1张图片
JSP+servlet+mybatis+layui服装库存管理系统_第2张图片
这个iframe界面默认是可以加载其页面的、可以做个好看的页面。登录进来后就没这样丑了。iframe标签中使用src=“默认的地址”
JSP+servlet+mybatis+layui服装库存管理系统_第3张图片
JSP+servlet+mybatis+layui服装库存管理系统_第4张图片
JSP+servlet+mybatis+layui服装库存管理系统_第5张图片

JSP+servlet+mybatis+layui服装库存管理系统_第6张图片
JSP+servlet+mybatis+layui服装库存管理系统_第7张图片

再次提示、代码不完整。但是已经给出一条完整的从前台都后端的路线。几乎所有的操作都差不多
引用的jar包
JSP+servlet+mybatis+layui服装库存管理系统_第8张图片
web.xml文件



  ManagerClass
  
    index.html
    index.htm
    index.jsp
    default.html
    default.htm
    default.jsp
    
    
  
   
  
  
  
  
  

mybatis.xml








	
        
		
			
		
    
	






























前台页面
login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>



	
		
		login
		
	
	
			
		

服装库存管理系统登录

用户名:

密  码:

register.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>






register








	

服装库存管理新用户注册

账号信息:

用户密码:

确认密码:

用户姓名:

电话号码:

家庭地址:

用户类型:

登录

进入系统的主界面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%@ page import="com.zheng.bean.User" %>



  
  
   服装系统管理
  


	

    <% User user = (User)session.getAttribute("user"); String name=""; if(user!=null){ name = user.getName(); } %>
  • 用户名:<%=name %>
  • 注销

后台的controller层

baseController

package com.zheng.Contraller;

import java.io.IOException;
import java.lang.reflect.Method;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class BaseServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doPost(req, resp);
	}
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		// 设置响应编码
		String methodStr = req.getParameter("method");
		// 获得当前对象子类的类类型
		Class clazz = this.getClass();// clazz代表UserController
		try {
			// 利用反射机制,取得此类中的方法
			Method method = clazz.getMethod(methodStr, HttpServletRequest.class, HttpServletResponse.class);
			// 执行此方法
			Object result = method.invoke(this, req, resp);
			// 4、集中处理返回值响应
			if (result != null) {
				// 转发重定向 返回字符
				String str = (String) result;
				if (str.startsWith("jump")) {
					req.getRequestDispatcher("login.jsp").forward(req, resp);
				} else {
					// 给前端返回json格式的数据
					resp.getWriter().println(str);
				}

			}
		} catch (Exception e) {
			e.printStackTrace();
		}

	}

}

UserController

package com.zheng.Contraller;

import java.util.List;

import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import com.alibaba.fastjson.JSON;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.zheng.bean.Moudler;
import com.zheng.bean.User;
import com.zheng.service.UserService;
import com.zheng.util.ResultMap;

@WebServlet("/user")
public class UserContrall extends BaseServlet {
	UserService us = new UserService();
	ResultMap rs = new ResultMap();

	// 注册
	public String register(HttpServletRequest req, HttpServletResponse resp) {
		try {

			String username = req.getParameter("username");
			String pwd = req.getParameter("pwd");
			String name = req.getParameter("name");
			String tel = req.getParameter("tel");
			String typeStr = req.getParameter("type");
			int type = Integer.valueOf(typeStr);
			String address = req.getParameter("address");
			User user = new User(username, pwd, name, tel, address, type);
			us.register(user);
			rs.setStatus(true);

		} catch (Exception e) {
			rs.setStatus(false);
			rs.setMessage(e.getMessage());
		}
		String jsonStr = JSON.toJSONString(rs);
		return jsonStr;

	}

	// 登录验证
	public String login(HttpServletRequest req, HttpServletResponse resp) {
		try {
			String name = req.getParameter("name");
			String pwd = req.getParameter("pwd");
			User user = us.login(name, pwd);
			// 设置session 响应时间
			HttpSession session = req.getSession();
			session.setMaxInactiveInterval(20 * 60);// 设置session的会话时间长短
			session.setAttribute("user", user);

			// 返回给前端响应的类型
			rs.setStatus(true);

		} catch (Exception e) {
			rs.setStatus(false);
			rs.setMessage(e.getMessage());

		}
		String jsonStr = JSON.toJSONString(rs);// 设置json格式
		return jsonStr;// 后台响应给前台的success

	}

	// 查询所有的客户信息
	public String selectAllUser(HttpServletRequest req, HttpServletResponse resp) {
		// 前端传来参数: page当前页码 limits每页显示多少条数据
		// sql: select * from user limit 0,5
		/*
		 * page limits sql第一个参数 1 5 0 2 5 5 3 5 10 (page-1)*5
		 */
		String pageStr = req.getParameter("page");
		String limitStr = req.getParameter("limit");
		int page = Integer.valueOf(pageStr);
		int limit = Integer.valueOf(limitStr);
		// 开启分页
		PageHelper.startPage(page, limit);
		List list = us.selectAllUser();
		// 将查询到的所有数据,进行分割处理
		PageInfo userList = new PageInfo(list);
		list = userList.getList();
		rs.setStatus(true);
		rs.setList(list);
		rs.setCount(userList.getTotal());
		String jsonStr = JSON.toJSONString(rs);
		return jsonStr;
	}
	/*
	 * 删除一条记录根据用户的用户名
	 */

	public String deleteUserByUsername(HttpServletRequest req, HttpServletResponse resp) {
		try {
			String username = req.getParameter("username");

			us.deleteUserByUsername(username);
			rs.setStatus(true);	

		} catch (Exception e) {
			rs.setStatus(false);
			rs.setMessage(e.getMessage());

		}
		String jsonStr = JSON.toJSONString(rs);// 设置json格式
		return jsonStr;// 后台响应给前台的success

	}

	/*
	 * 增加一条客户的记录
	 */
	public String insertUser(HttpServletRequest req, HttpServletResponse resp) {
		try {
			String userStr = req.getParameter("userStr");
			us.insertUser(userStr);
			rs.setStatus(true);

		} catch (Exception e) {
			rs.setStatus(false);
			rs.setMessage(e.getMessage());
		}
		String jsonStr = JSON.toJSONString(rs);
		return jsonStr;

	}

	/*
	 * 辅助管理修改密码
	 */

	public String updatepassword1(HttpServletRequest req, HttpServletResponse resp) {
		try {

			User user = (User) req.getSession().getAttribute("user");// 获得当前商家的用户名
			String user2 = user.getUsername();
			// 1、查询该密码是否和数据库里该用户密码是否一致
			String password1 = req.getParameter("prepassword");
			User user3 = us.login(user2, password1);
			if (user3 != null) {
				try {

					// 修改密码
					String password = req.getParameter("surepassword");
					us.updatepassword(user2, password);
					rs.setStatus(true);

				} catch (Exception e) {
					rs.setStatus(false);
					rs.setMessage(e.getMessage());

				}

			} else {
				rs.setStatus(false);
				rs.setMessage("输入密码有误");
			}

		} catch (Exception e) {
			rs.setStatus(false);
			rs.setMessage(e.getMessage());
		}
		String jsonStr = JSON.toJSONString(rs);
		return jsonStr;
	}


	/*
	 * 修改客户信息
	 */
	public String updateUser(HttpServletRequest req, HttpServletResponse resp) {
		try {
			String userStr = req.getParameter("userStr");// 得到json格式的字符串
			String username = req.getParameter("username");
			User user = (User) req.getSession().getAttribute("user");// 获得当前商家的用户名
			String user2 = user.getUsername();
			if (user2.equals(username)) {
				us.updateUser(userStr);
				rs.setStatus(true);
			} else {
				rs.setStatus(false);
				rs.setMessage("无权限修改!!!");

			}

		} catch (Exception e) {
			rs.setStatus(false);
			rs.setMessage(e.getMessage());
		}
		String jsonStr = JSON.toJSONString(rs);
		return jsonStr;

	}

	/*
	 * 注销用户信息,结束一个会会话
	 */
	public String logout(HttpServletRequest req, HttpServletResponse resp) {
		HttpSession session = req.getSession();
		session.invalidate();// 清空session
		return "jump:login";

	}

}


///*
// * 修改用户密码updatepassword
// */
//
//public String updatepassword(HttpServletRequest req, HttpServletResponse resp) {
//	try {
//
//		// 修改当前用户,通过查询user集合
//		String username = req.getParameter("username");
//		User user = (User) req.getSession().getAttribute("user");// 获得当前商家的用户名
//		String user2 = user.getUsername();
//		if (user2.equals(username)) { // 当前登录的商家和要修改的商家信息一致
//
//			// 1、查询该密码是否和数据库里该用户密码是否一致
//			String password1 = req.getParameter("prepassword");
//
//			User user3 = us.login(username, password1);
//
//			if (user3 != null) {
//				try {
//
//					// 修改密码
//					String password = req.getParameter("surepassword");
//					if (password != "") {
//						us.updatepassword(username, password);
//						rs.setStatus(true);
//					} else {
//						rs.setStatus(false);
//						rs.setMessage("输入的密码不能 为空");
//					}
//
//				} catch (Exception e) {
//					rs.setStatus(false);
//					rs.setMessage(e.getMessage());
//
//				}
//
//			} else {
//				rs.setStatus(false);
//				rs.setMessage("输入密码有误");
//			}
//
//		} else {
//			rs.setStatus(false);
//			rs.setMessage("无权限修改!!!");
//
//		}
//
//	} catch (Exception e) {
//		rs.setStatus(false);
//		rs.setMessage(e.getMessage());
//	}
//	String jsonStr = JSON.toJSONString(rs);
//	return jsonStr;
//
//}

LogController

package com.zheng.Contraller;

import java.util.List;

import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import com.alibaba.fastjson.JSON;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.zheng.bean.Log;
import com.zheng.bean.User;
import com.zheng.service.LogService;
import com.zheng.util.ResultMap;

@WebServlet("/log")
public class LogContrall extends BaseServlet{
	
	
	ResultMap rs = new ResultMap();
	LogService logService=new LogService();
	
	
	/**
	 * 查询当前的ddid  getDdid
	 */
	public String getDdid(HttpServletRequest req, HttpServletResponse resp) {
		try {

			String ddid = req.getParameter("ddid");
			
			//将当前账单的wwid放入session
			HttpSession session = req.getSession();
			session.setAttribute("countddid", ddid);
			rs.setStatus(true);

		} catch (Exception e) {
			rs.setStatus(false);
			rs.setMessage(e.getMessage());

		}
		String jsonStr = JSON.toJSONString(rs);// 设置json格式
		return jsonStr;// 后台响应给前台的success

	}
	
	
	/**
	 * 查询当前账单的wwid    getWwid
	 */
	
	public String getWwid(HttpServletRequest req, HttpServletResponse resp) {
		try {

			String wwid = req.getParameter("wwid");
			//将当前账单的wwid放入session
			HttpSession session = req.getSession();
			session.setAttribute("countwwid", wwid);
			rs.setStatus(true);

		} catch (Exception e) {
			rs.setStatus(false);
			rs.setMessage(e.getMessage());

		}
		String jsonStr = JSON.toJSONString(rs);// 设置json格式
		return jsonStr;// 后台响应给前台的success

	}
	
	
	/**
	 * 改变账单的可插入状态changeStatus
	 */
	public String changeStatus(HttpServletRequest req, HttpServletResponse resp) {
		try {

			String wwid = req.getParameter("wwid");
			logService.changeStatus(wwid);

			rs.setStatus(true);

		} catch (Exception e) {
			rs.setStatus(false);
			rs.setMessage(e.getMessage());

		}
		String jsonStr = JSON.toJSONString(rs);// 设置json格式
		return jsonStr;// 后台响应给前台的success

	}
	
	/**
	 * 删除入库账单信息
	 */
	public String deleteWcount(HttpServletRequest req, HttpServletResponse resp) {
		try {

			String wwid = req.getParameter("wwid");
			logService.deleteWcount(wwid);

			rs.setStatus(true);

		} catch (Exception e) {
			rs.setStatus(false);
			rs.setMessage(e.getMessage());

		}
		String jsonStr = JSON.toJSONString(rs);// 设置json格式
		return jsonStr;// 后台响应给前台的success

	}
	
	/**
	 * 
	 * @param req
	 * @param resp
	 * @return   查询所有的入库单
	 */
	public String selectAllTWcount(HttpServletRequest req, HttpServletResponse resp) {
		// 前端传来参数: page当前页码 limits每页显示多少条数据
		// sql: select * from user limit 0,5
		/*
		 * page limits sql第一个参数 1 5 0 2 5 5 3 5 10 (page-1)*5
		 */
		String pageStr = req.getParameter("page");
		String limitStr = req.getParameter("limit");
		int page = Integer.valueOf(pageStr);
		int limit = Integer.valueOf(limitStr);
		// 开启分页
		PageHelper.startPage(page, limit);
		List list = logService.selectAllTWcount();
		// 将查询到的所有数据,进行分割处理
		PageInfo logList = new PageInfo(list);
		list = logList.getList();
		rs.setStatus(true);
		rs.setList(list);
		rs.setCount(logList.getTotal());
		String jsonStr = JSON.toJSONString(rs);
		return jsonStr;
	}
	
	//查询一条账单对应的多条记录selectOneWLog
	public String selectOneWLog(HttpServletRequest req, HttpServletResponse resp) {
		// 前端传来参数: page当前页码 limits每页显示多少条数据
		// sql: select * from user limit 0,5
		/*
		 * page limits sql第一个参数 1 5 0 2 5 5 3 5 10 (page-1)*5
		 */
		String pageStr = req.getParameter("page");
		String limitStr = req.getParameter("limit");
		int page = Integer.valueOf(pageStr);
		int limit = Integer.valueOf(limitStr);
		// 开启分页
		PageHelper.startPage(page, limit);
		String wwid = (String) req.getSession().getAttribute("countwwid");
		System.out.print(wwid);
		List list = logService.selectOneWLog(wwid);
		// 将查询到的所有数据,进行分割处理
		PageInfo logList = new PageInfo(list);
		list = logList.getList();
		rs.setStatus(true);
		rs.setList(list);
		rs.setCount(logList.getTotal());
		String jsonStr = JSON.toJSONString(rs);
		return jsonStr;
	}
	
	
	/**
	 * 根据一条出库账单查询数据  selectOneDLog
	 */
	
	public String selectOneDLog(HttpServletRequest req, HttpServletResponse resp) {
		// 前端传来参数: page当前页码 limits每页显示多少条数据
		// sql: select * from user limit 0,5
		/*
		 * page limits sql第一个参数 1 5 0 2 5 5 3 5 10 (page-1)*5
		 */
		String pageStr = req.getParameter("page");
		String limitStr = req.getParameter("limit");
		int page = Integer.valueOf(pageStr);
		int limit = Integer.valueOf(limitStr);
		// 开启分页
		PageHelper.startPage(page, limit);
		String ddid = (String) req.getSession().getAttribute("countddid");
		List list = logService.selectOneDLog(ddid);
		// 将查询到的所有数据,进行分割处理
		PageInfo logList = new PageInfo(list);
		list = logList.getList();
		rs.setStatus(true);
		rs.setList(list);
		rs.setCount(logList.getTotal());
		String jsonStr = JSON.toJSONString(rs);
		return jsonStr;
	}


	/*
	 * 查询所有的入库记录
	 * 
	 */
		public String selectAllWLog(HttpServletRequest req, HttpServletResponse resp) {
			// 前端传来参数: page当前页码 limits每页显示多少条数据
			// sql: select * from user limit 0,5
			/*
			 * page limits sql第一个参数 1 5 0 2 5 5 3 5 10 (page-1)*5
			 */
			String pageStr = req.getParameter("page");
			String limitStr = req.getParameter("limit");
			int page = Integer.valueOf(pageStr);
			int limit = Integer.valueOf(limitStr);
			// 开启分页
			PageHelper.startPage(page, limit);
			List list = logService.selectAllWLog();
			// 将查询到的所有数据,进行分割处理
			PageInfo logList = new PageInfo(list);
			list = logList.getList();
			rs.setStatus(true);
			rs.setList(list);
			rs.setCount(logList.getTotal());
			String jsonStr = JSON.toJSONString(rs);
			return jsonStr;
		}
		
		
		/*
		 * 删除一条入库历史记录
		 * 
		 * 
		 */
		public String deleteWarehousing(HttpServletRequest req, HttpServletResponse resp) {
			try {

				String wid = req.getParameter("wid");
				logService.deleteWarehousing(wid);

				rs.setStatus(true);

			} catch (Exception e) {
				rs.setStatus(false);
				rs.setMessage(e.getMessage());

			}
			String jsonStr = JSON.toJSONString(rs);// 设置json格式
			return jsonStr;// 后台响应给前台的success

		}
		
		
		
		
		/*
		 * 查询所有的出库记录
		 * 
		 */
		public String selectAllDLog(HttpServletRequest req, HttpServletResponse resp) {
			// 前端传来参数: page当前页码 limits每页显示多少条数据
			// sql: select * from user limit 0,5
			/*
			 * page limits sql第一个参数 1 5 0 2 5 5 3 5 10 (page-1)*5
			 */
			String pageStr = req.getParameter("page");
			String limitStr = req.getParameter("limit");
			int page = Integer.valueOf(pageStr);
			int limit = Integer.valueOf(limitStr);
			// 开启分页
			PageHelper.startPage(page, limit);
			List list = logService.selectAllDLog();
			// 将查询到的所有数据,进行分割处理
			PageInfo logList = new PageInfo(list);
			list = logList.getList();
			rs.setStatus(true);
			rs.setList(list);
			rs.setCount(logList.getTotal());
			String jsonStr = JSON.toJSONString(rs);
			return jsonStr;
		}
		
		/*
		 * 删除一条出库历史记录
		 * 
		 * 
		 */
		public String deleteDelivery(HttpServletRequest req, HttpServletResponse resp) {
			try {

				String did = req.getParameter("did");
				logService.deleteDelivery(did);

				rs.setStatus(true);

			} catch (Exception e) {
				rs.setStatus(false);
				rs.setMessage(e.getMessage());

			}
			String jsonStr = JSON.toJSONString(rs);// 设置json格式
			return jsonStr;// 后台响应给前台的success

		}
		
		
		/**
		 * 
		 * 修改出库账单状态changeStatusD
		 */
		public String changeStatusD(HttpServletRequest req, HttpServletResponse resp) {
			try {

				String ddid = req.getParameter("ddid");
				logService.changeStatusD(ddid);

				rs.setStatus(true);

			} catch (Exception e) {
				rs.setStatus(false);
				rs.setMessage(e.getMessage());

			}
			String jsonStr = JSON.toJSONString(rs);// 设置json格式
			return jsonStr;// 后台响应给前台的success

		}
		
		
		/**
		 * 删除一条出库单deleteDcount
		 * 
		 */
		public String deleteDcount(HttpServletRequest req, HttpServletResponse resp) {
			try {

				String ddid = req.getParameter("ddid");
				logService.deleteDcount(ddid);

				rs.setStatus(true);

			} catch (Exception e) {
				rs.setStatus(false);
				rs.setMessage(e.getMessage());

			}
			String jsonStr = JSON.toJSONString(rs);// 设置json格式
			return jsonStr;// 后台响应给前台的success

		}
		
		
		/**
		 * 
		 * 修改出库单状态changeStatus
		 */
		
		
		/**
		 * 查询所有的出库单号selectAllTDcount
		 */
		public String selectAllTDcount(HttpServletRequest req, HttpServletResponse resp) {
			// 前端传来参数: page当前页码 limits每页显示多少条数据
			// sql: select * from user limit 0,5
			/*
			 * page limits sql第一个参数 1 5 0 2 5 5 3 5 10 (page-1)*5
			 */
			String pageStr = req.getParameter("page");
			String limitStr = req.getParameter("limit");
			int page = Integer.valueOf(pageStr);
			int limit = Integer.valueOf(limitStr);
			// 开启分页
			PageHelper.startPage(page, limit);
			List list = logService.selectAllTDcount();
			// 将查询到的所有数据,进行分割处理
			PageInfo logList = new PageInfo(list);
			list = logList.getList();
			rs.setStatus(true);
			rs.setList(list);
			rs.setCount(logList.getTotal());
			String jsonStr = JSON.toJSONString(rs);
			return jsonStr;
		}
	

}

ShopController

package com.zheng.Contraller;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.alibaba.fastjson.JSON;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.zheng.bean.Shop;
import com.zheng.bean.Type;
import com.zheng.bean.User;
import com.zheng.service.ShopService;

import com.zheng.util.ResultMap;

@WebServlet("/shop")
public class ShopContrall extends BaseServlet {
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;	
	ShopService shopservice=new ShopService();
	ResultMap rs=new ResultMap();	
	
	
	//增加新的商品信息
	public String insertShopByUsername(HttpServletRequest req,HttpServletResponse resp) {
		try {
			String shopStr=req.getParameter("shopStr");
			User user=(User) req.getSession().getAttribute("user");//获得当前商家的用户名
			System.out.print(user.getUsername());
			shopservice.insertShopByUsername(shopStr,user.getUsername());
			rs.setStatus(true);
		}catch(Exception e) {
			rs.setStatus(false);
			rs.setMessage(e.getMessage());
		}
		
		String jsonstr=JSON.toJSONString(rs);
		return jsonstr;
	}
	
	
	
	//出库
	public String updateDelivery(HttpServletRequest req, HttpServletResponse resp) {
		
		try {	
			String shopStr=req.getParameter("shopStr");//获得表单提交的json格式的字符串
			String sid=req.getParameter("sid");		
			User user=(User) req.getSession().getAttribute("user");//获得当前商家的用户名
			shopservice.updateDelivery(shopStr,sid,user.getUsername());
			rs.setStatus(true);
			
		}catch(Exception e) {
			rs.setMessage(e.getMessage());
			rs.setStatus(false);
		}
		
		String jsonstr=JSON.toJSONString(rs);
		return jsonstr;
	}
	
	/*
	 * 入库
	 */
	public String updateWarehousing(HttpServletRequest req, HttpServletResponse resp) {
		
		try {	
			String shopStr=req.getParameter("shopStr");//获得表单提交的json格式的字符串
			String sid=req.getParameter("sid");	
			String tname=req.getParameter("tname");
			User user=(User) req.getSession().getAttribute("user");//获得当前商家的用户名
			shopservice.updateWarehousing(shopStr, sid,tname, user.getUsername());
			rs.setStatus(true);
			
		}catch(Exception e) {
			rs.setMessage(e.getMessage());
			rs.setStatus(false);
		}
		
		String jsonstr=JSON.toJSONString(rs);
		return jsonstr;
	}
	
	
	
	// 查询所有的客户信息
		public String selectAllShop(HttpServletRequest req, HttpServletResponse resp) {
			
			try {
				
				String pageStr = req.getParameter("page");
				String limitStr = req.getParameter("limit");
				int page = Integer.valueOf(pageStr);
				int limit = Integer.valueOf(limitStr);
				// 开启分页
				PageHelper.startPage(page, limit);
				List list = shopservice.selectAllShop();
				// 将查询到的所有数据,进行分割处理
				 PageInfo typeList = new PageInfo(list);
				 list = typeList.getList();
				 rs.setCount(typeList.getTotal());
				rs.setList(list);
				rs.setStatus(true);
	
			
			}catch(Exception e) {
				rs.setStatus(false);
				rs.setMessage(e.getMessage());
				
			}
			String jsonStr = JSON.toJSONString(rs);
			return jsonStr;
		}

}

Service层
UserService

package com.zheng.service;

import java.util.List;
import java.util.UUID;

import org.apache.ibatis.session.SqlSession;

import com.alibaba.fastjson.JSON;
import com.zheng.bean.Type;
import com.zheng.bean.User;
import com.zheng.dao.RoleDao;
import com.zheng.dao.UserDao;
import com.zheng.util.MybatisUtil;

public class UserService {
	MybatisUtil mybatisUtil = new MybatisUtil();
	SqlSession sqlSession = mybatisUtil.getConnect();// 获得sqlSession对象,用来操作数据库
	UserDao ud = sqlSession.getMapper(UserDao.class);// 获得User对象、通过反射机制操作
	// 登录查询

	public User login(String username, String password) {
		User user = new User(username, password);// 向实体类构造方法注入数据
		user = ud.login(user);
		if (user == null) {
			throw new RuntimeException("用户名或者密码错误!!!");
		}
		return user;

	}

	// 查询所有用户信息
	public List selectAllUser() {
		List list = ud.selectAllUser();
		return list;

	}

	/*
	 * 修改密码
	 */

	public int updatepassword(String username, String password) {
		// Type type = JSON.parseObject(typeStr, Type.class);//json格式转化为字符串的形式

		User user = new User(username, password);
		int num = ud.updatePassword(user);
		if (num == 0) {
			throw new RuntimeException("修改失败");
		} else {
			sqlSession.commit();// 提交事务
		}
		return num;
	}

	// 删除用户信心通过用户名
	public int deleteUserByUsername(String username) {
		int num = ud.deleteUserByUsername(username);
		if (num == 0) { // num代表修改数据库受影响的行数,0:代表删除失败
			throw new RuntimeException("此用户不存在,请联系管理员");
		} else {
			sqlSession.commit();// 提交事务
		}
		return num;
	}

	/*
	 * 注册
	 */
	public int register(User user) {

		// 插入用户表
		int num = ud.insertUser(user);
		if (num == 0) {
			throw new RuntimeException("此用户已经在,请联系管理员");
		}

		// 插入用户角色表
		String urid = UUID.randomUUID().toString();// 随机生成用户和角色id
		user.setUrid(urid);
		// 判断注册的是用户还是商家
		int type1 = user.getType();// 从注册提交的对象取得类型

		if (type1 == 2) {// 普通用户
			user.setRid("R003");

			RoleDao rd = sqlSession.getMapper(RoleDao.class);// 获得Role对象、通过反射机制操作
			num = rd.insertUserRole(user);

			if (num == 0) {
				throw new RuntimeException("注册失败,请联系管理员");
			}

		} else if (type1 == 1) {// 商家注册
			user.setRid("R002");

			RoleDao rd = sqlSession.getMapper(RoleDao.class);// 获得Role对象、通过反射机制操作
			num = rd.insertUserRole(user);

			if (num == 0) {
				throw new RuntimeException("注册失败,请联系管理员");
			}
		}

		sqlSession.commit();// 提交事务

		return num;

	}

	/*
	 * 增加客户记录
	 */
	public int insertUser(String userStr) {
		User user = JSON.parseObject(userStr, User.class);// json格式转化为字符串的形式
		// 插入用户角色表
		String urid = UUID.randomUUID().toString();// 随机生成用户和角色id
		user.setUrid(urid);
		int num = -1;
		// 判断注册的是用户还是商家
		int type1 = user.getType();

		if (type1 == 2) {// 普通用户
			user.setRid("R003");

			RoleDao rd = sqlSession.getMapper(RoleDao.class);// 获得Role对象、通过反射机制操作
			num = rd.insertUserRole(user);

			if (num == 0) {
				throw new RuntimeException("注册失败,请联系管理员");
			}

		} else if (type1 == 0) {// 管理员
			user.setRid("R001");

			RoleDao rd = sqlSession.getMapper(RoleDao.class);// 获得Role对象、通过反射机制操作
			num = rd.insertUserRole(user);

			if (num == 0) {
				throw new RuntimeException("注册失败,请联系管理员");
			}
		} else if (type1 == 1) {// 商家
			user.setRid("R002");

			RoleDao rd = sqlSession.getMapper(RoleDao.class);// 获得Role对象、通过反射机制操作
			num = rd.insertUserRole(user);

			if (num == 0) {
				throw new RuntimeException("注册失败,请联系管理员");
			}

		}

		num = ud.insertUser(user);
		if (num == 0) {
			throw new RuntimeException("此用户已经在,请联系管理员");
		} else {
			sqlSession.commit();// 提交事务
		}
		return num;

	}

	/*
	 * 修改客户信息
	 */

	public int updateUser(String userStr) {
		User user = JSON.parseObject(userStr, User.class);// json格式转化为字符串的形式
		int num = ud.updateUser(user);
		if (num == 0) {
			throw new RuntimeException("用户不存在");
		} else {
			sqlSession.commit();// 提交事务
		}
		return num;

	}

}

LogService

package com.zheng.service;

import java.util.List;

import org.apache.ibatis.session.SqlSession;

import com.alibaba.fastjson.JSON;
import com.zheng.bean.Log;
import com.zheng.bean.Type;
import com.zheng.bean.User;
import com.zheng.dao.LogDao;

import com.zheng.util.MybatisUtil;

public class LogService {

	/**
	 * 改变入库账单的可插入状态changeStatus
	 */
	public int changeStatus(String wwid) {
		// Type type = JSON.parseObject(typeStr, Type.class);//json格式转化为字符串的形式
		MybatisUtil mybatisUtil = new MybatisUtil();
		SqlSession sqlSession = mybatisUtil.getConnect();
		LogDao logDao = sqlSession.getMapper(LogDao.class);
		Log log = new Log();
		log.setStatus(1);// 设置提交的状态
		log.setWwid(wwid);
		int num = logDao.changeStatus(log);
		if (num == 0) {
			throw new RuntimeException("商品种类不存在");
		} else {
			sqlSession.commit();// 提交事务
		}
		return num;
	}

	/**
	 * 删除入库账单信息deleteWcount
	 */

	public int deleteWcount(String wwid) {
		MybatisUtil mybatisUtil = new MybatisUtil();
		SqlSession sqlSession = mybatisUtil.getConnect();
		LogDao logDao = sqlSession.getMapper(LogDao.class);
		int num = logDao.deleteWcount(wwid);
		if (num == 0) {
			throw new RuntimeException("此条账单信息不存在");
		}

		// 删除出库账单包含的商品详情
		num = logDao.deleteWdetail(wwid);
		if (num == 0) {
			throw new RuntimeException("此条账单信息不存在");
		}
		sqlSession.commit();// 提交事务

		return num;
	}

	/**
	 * 查询入库单号
	 * 
	 * @return
	 */

	public List selectAllTWcount() {
		MybatisUtil mybatisUtil = new MybatisUtil();
		SqlSession sqlSession = mybatisUtil.getConnect();// 获得sqlSession对象,用来操作数据库
		LogDao logDao = sqlSession.getMapper(LogDao.class);

		List list = logDao.selectAllTWcount();

		if (list == null || list.size() == 0) {
			throw new RuntimeException("入库商品不存在AA");
		}

		return list;

	}

	/**
	 * 
	 * 查询出库单包含的多条记录selectOneDLog
	 */

	public List selectOneDLog(String ddid) {
		MybatisUtil mybatisUtil = new MybatisUtil();
		SqlSession sqlSession = mybatisUtil.getConnect();// 获得sqlSession对象,用来操作数据库
		LogDao logDao = sqlSession.getMapper(LogDao.class);

		List list = logDao.selectOneDLog(ddid);
		System.out.print(list.size());

		if (list == null || list.size() == 0) {
			throw new RuntimeException("入库商品不存在aaa");
		}

		return list;

	}

	/**
	 * 
	 * 查询一条账单对应的详细信息selectOneWLog
	 * 
	 * @return
	 */

	public List selectOneWLog(String wwid) {
		MybatisUtil mybatisUtil = new MybatisUtil();
		SqlSession sqlSession = mybatisUtil.getConnect();// 获得sqlSession对象,用来操作数据库
		LogDao logDao = sqlSession.getMapper(LogDao.class);

		List list = logDao.selectOneWLog(wwid);

		if (list == null || list.size() == 0) {
			throw new RuntimeException("入库商品不存在");
		}

		return list;

	}

	/*
	 * 查询所有入库表商品
	 */
	public List selectAllWLog() {
		MybatisUtil mybatisUtil = new MybatisUtil();
		SqlSession sqlSession = mybatisUtil.getConnect();// 获得sqlSession对象,用来操作数据库
		LogDao logDao = sqlSession.getMapper(LogDao.class);

		List list = logDao.selectAllWLog();

		if (list == null || list.size() == 0) {
			throw new RuntimeException("入库商品不存在");
		}

		return list;

	}

	/*
	 * 删除入库商品信息
	 * 
	 */

	public int deleteWarehousing(String wid) {
		MybatisUtil mybatisUtil = new MybatisUtil();
		SqlSession sqlSession = mybatisUtil.getConnect();
		LogDao logDao = sqlSession.getMapper(LogDao.class);

		int num = logDao.deleteWarehousing(wid);
		if (num == 0) {
			throw new RuntimeException("此条记录不存在,请联系管理员");
		}
		sqlSession.commit();// 提交事务

		return num;
	}

	/*
	 * 查询所有出库表商品
	 */
	public List selectAllDLog() {
		MybatisUtil mybatisUtil = new MybatisUtil();
		SqlSession sqlSession = mybatisUtil.getConnect();// 获得sqlSession对象,用来操作数据库
		LogDao logDao = sqlSession.getMapper(LogDao.class);

		List list = logDao.selectAllDLog();

		if (list == null || list.size() == 0) {
			throw new RuntimeException("入库商品不存在");
		}

		return list;

	}

	/**
	 * 修改出库账单插入状态changeStatusD
	 */
	public int changeStatusD(String ddid) {
		// Type type = JSON.parseObject(typeStr, Type.class);//json格式转化为字符串的形式
		MybatisUtil mybatisUtil = new MybatisUtil();
		SqlSession sqlSession = mybatisUtil.getConnect();
		LogDao logDao = sqlSession.getMapper(LogDao.class);

		Log log = new Log();
		log.setStatus(1);// 设置提交的状态
		log.setDdid(ddid);
		int num = logDao.changeStatusD(log);
		if (num == 0) {
			throw new RuntimeException("商品种类不存在");
		} else {
			sqlSession.commit();// 提交事务
		}
		return num;
	}

	/**
	 * 删除一条出库账单数据deleteDcount
	 * 
	 */

	public int deleteDcount(String ddid) {
		MybatisUtil mybatisUtil = new MybatisUtil();
		SqlSession sqlSession = mybatisUtil.getConnect();
		LogDao logDao = sqlSession.getMapper(LogDao.class);
		int num = logDao.deleteDcount(ddid);
		if (num == 0) {
			throw new RuntimeException("此条账单信息不存在");
		} 
		num=logDao.deleteDDetail(ddid);
				if (num == 0) {
					throw new RuntimeException("此条账单信息不存在");
				} 
			sqlSession.commit();// 提交事务
		
		return num;
	}

	/**
	 * 查询所有的出库单详情selectAllTDcount
	 * 
	 * 
	 */
	public List selectAllTDcount() {
		MybatisUtil mybatisUtil = new MybatisUtil();
		SqlSession sqlSession = mybatisUtil.getConnect();// 获得sqlSession对象,用来操作数据库
		LogDao logDao = sqlSession.getMapper(LogDao.class);

		List list = logDao.selectAllTDcount();

		if (list == null || list.size() == 0) {
			throw new RuntimeException("入库商品不存在");
		}

		return list;

	}

	/*
	 * 删除出库商品信息
	 * 
	 */

	public int deleteDelivery(String did) {
		MybatisUtil mybatisUtil = new MybatisUtil();
		SqlSession sqlSession = mybatisUtil.getConnect();
		LogDao logDao = sqlSession.getMapper(LogDao.class);
		int num = logDao.deleteDelivery(did);
		if (num == 0) {
			throw new RuntimeException("此条记录不存在,请联系管理员");
		} else {
			sqlSession.commit();// 提交事务
		}
		return num;
	}

}


Dao层

package com.zheng.dao;


import java.util.List;

import com.zheng.bean.Shop;
import com.zheng.bean.Type;
import com.zheng.bean.User;


public interface UserDao {
	
	//增加商品种类
	public int insertUserShop(Shop type);

	
      //登录查询
	public User login(User user);
	//修改商品种类信息
	public int updatePassword(User user);
	
	//查询用户信息
	public List selectAllUser();
	
	//删除用户根据用户名
	public int deleteUserByUsername(String username);
	
	//增加用户信息addUser
	public int insertUser(User user);
	
	//修改用户信息
	public int updateUser(User user);

}

mapper








	
	


	
	

	
	
	
		delete from usermanager where username = #{username}
	
	
	
	   insert into usermanager value (#{username},#{password},#{name},#{tel},#{address},#{type})
	
	
	
	
		update usermanager set 
			password = #{password}
			where
				username = #{username}
	
	
	
	
	
		update usermanager set 
			name = #{name},tel = #{tel},address = #{address}, type = #{type}
			where
				username = #{username}
	
	
	
	
	
	
		insert into user_shop (usid,username,sid) value (#{usid},#{username},#{sid})
	
	
	
	


你可能感兴趣的:(排序算法,java,算法)