基于javaweb的超市订单管理(java+ssm+jsp+jquery+mysql)

基于javaweb的超市订单管理(java+ssm+jsp+jquery+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

20220519000320

20220519000321

20220519000322

20220519000324

20220519000325

20220519000326

基于javaweb+SSM的超市订单管理(java+SSM+JSP+jQuery+mysql)

ssm超市订单管理系统

项目介绍

该超市订单管理毕业设计基于jdk8版本开发,在部署时需要使用jdk8以上的版本。使用了目前流行的框架组合spring+springMVC+mybatis的框架技术, 实现了供应商管理对供应商实现增删改查、订单管理对超市订单实现增删改查、用户管理等功能,适用于小型超市的使用,通过学习该超市订单管理,对于SSM框架的组合能够有更深层次的理解。

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 5.是否Maven项目: 是;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目 6.数据库:MySql 5.7版本;

技术栈

  1. 后端:Spring SpringMVC MyBatis 2. 前端:JSP+jQuery

使用说明

  1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 将项目中applicationContext.xml配置文件中的数据库配置改为自己的配置;

  2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;

若为maven项目,导入成功后请执行maven clean;maven install命令,配置tomcat,然后运行;

  1. 运行成功后,访问http://localhost:8080/supermarket/login.htm到登录页面

用户管理控制层:

@RestController

@RequestMapping(“/user”)

public class UserController {

@Autowired

private UserService userService;

@Autowired

private RoleService roleService;

/**

  • 登录

  • @param username 用户名

  • @param password 密码

  • @param request

  • @return

*/

@SysLog(“登陆操作”)

@PostMapping(“/login”)

public Result login(String username, String password, HttpServletRequest request) {

try {

//获取当前登录主体对象

Subject subject = SecurityUtils.getSubject();

UsernamePasswordToken token = new UsernamePasswordToken(username, password);

subject.login(token);

LoginUserVO userDTO = (LoginUserVO) subject.getPrincipal();

request.getSession().setAttribute(“username”, userDTO.getUser());

return Result.success(true, “200”, “登录成功”);

} catch (UnknownAccountException e) {

e.printStackTrace();

return Result.error(false, “400”, “登录失败,用户名不存在”);

}catch (IncorrectCredentialsException e) {

e.printStackTrace();

return Result.error(false, “400”, “登录失败,密码错误”);

}catch (AuthenticationException e) {

e.printStackTrace();

return Result.error(false, “400”, “登录失败,账户禁用”);

/**

  • 得到登陆验证码

  • @param response

  • @param session

  • @throws IOException

*/

@RequestMapping(“/getCode”)

public void getCode(HttpServletResponse response, HttpSession session) throws IOException {

//定义图形验证码的长和宽

LineCaptcha lineCaptcha = CaptchaUtil.createLineCaptcha(116, 36,4,5);

session.setAttribute(“code”,lineCaptcha.getCode());

try {

ServletOutputStream outputStream = response.getOutputStream();

lineCaptcha.write(outputStream);

outputStream.close();

} catch (IOException e) {

e.printStackTrace();

/**

  • 查询所有用户信息

  • @param userVO

  • @return

*/

@SysLog(“用户查询操作”)

@RequestMapping(“/userList”)

public DataGridViewResult userList(UserVO userVO) {

//分页构造函数

IPage page = new Page<>(userVO.getPage(), userVO.getLimit());

QueryWrapper queryWrapper = new QueryWrapper<>();

queryWrapper.like(!StringUtils.isEmpty(userVO.getUsername()), “username”, userVO.getUsername());

queryWrapper.like(!StringUtils.isEmpty(userVO.getUname()), “uname”, userVO.getUname());

/**

  • 翻页查询

  • @param page 翻页对象

  • @param queryWrapper 实体对象封装操作类

*/

IPage userIPage = userService.page(page, queryWrapper);

return new DataGridViewResult(userIPage.getTotal(), userIPage.getRecords());

/**

  • 添加用户信息

  • @param user

  • @return

*/

@SysLog(“用户添加操作”)

@PostMapping(“/adduser”)

public Result addRole(User user) {

user.setUcreatetime(new Date());

String salt = UUIDUtil.randomUUID();

user.setPassword(PasswordUtil.md5(“000000”, salt, 2));

user.setSalt(salt);

user.setType(1);

boolean bool = userService.save(user);

try {

if (bool) {

return Result.success(true, “200”, “添加成功!”);

} catch (Exception e) {

e.printStackTrace();

return Result.error(false, null, “添加失败!”);

/**

  • 校验用户名是否存在

  • @param username

  • @return

*/

@RequestMapping(“/checkUserName”)

public String checkUserName(String username) {

Map<String, Object> map = new HashMap<>();

try {

QueryWrapper queryWrapper = new QueryWrapper<>();

queryWrapper.eq(“username”, username);

User user = userService.getOne(queryWrapper);

if (user != null) {

map.put(“exist”, true);

map.put(“message”, “用户名已存在”);

} else {

map.put(“exist”, false);

map.put(“message”, “用户名可以使用”);

} catch (Exception e) {

e.printStackTrace();

return JSON.toJSONString(map);

/**

  • 修改用户信息

  • @param user

  • @return

*/

@SysLog(“用户修改操作”)

@PostMapping(“/updateuser”)

public Result updateUser(User user) {

boolean bool = userService.updateById(user);

try {

if (bool) {

return Result.success(true, “200”, “修改成功!”);

} catch (Exception e) {

e.printStackTrace();

return Result.error(false, null, “修改失败!”);

/**

  • 删除单条数据

  • @param id

  • @return

*/

@SysLog(“用户删除操作”)

@RequestMapping(“/deleteOne”)

public Result deleteOne(int id) {

boolean bool = userService.removeById(id);

try {

if (bool) {

return Result.success(true, “200”, “删除成功!”);

} catch (Exception e) {

e.printStackTrace();

return Result.error(false, null, “删除失败!”);

/**

  • 重置密码

  • @param id

  • @return

*/

@SysLog(“用户修改操作”)

@PostMapping(“/resetPwd”)

public Result resetPwd(int id) {

User user = new User();

String salt = UUIDUtil.randomUUID();

user.setUid(id);

user.setPassword(PasswordUtil.md5(“000000”, salt, 2));

user.setSalt(salt);

boolean bool = userService.updateById(user);

try {

if (bool) {

return Result.success(true, “200”, “重置成功!”);

} catch (Exception e) {

e.printStackTrace();

return Result.error(false, null, “重置失败!”);

/**

  • 根据id查询当前用户拥有的角色

  • @param id

  • @return

*/

@RequestMapping(“/initRoleByUserId”)

public DataGridViewResult initRoleByUserId(int id) {

List<Map<String, Object>> mapList = null;

try {

//查询所有角色列表

mapList = roleService.listMaps();

//根据用户id查询用户拥有的角色

Set roleIdList = userService.findRoleByUserId(id);

for (Map<String, Object> map : mapList) {

//定义标记 默认不选中

boolean flag = false;

int roleId = (int) map.get(“roleid”);

for (Integer rid : roleIdList) {

if (rid == roleId) {

flag = true;

break;

map.put(“LAY_CHECKED”, flag);

} catch (Exception e) {

e.printStackTrace();

return new DataGridViewResult(Long.valueOf(mapList.size()), mapList);

/**

  • 为用户分配角色

  • @param roleids

  • @param userid

  • @return

*/

@SysLog(“用户添加操作”)

@RequestMapping(“/saveUserRole”)

public Result saveUserRole(String roleids, int userid) {

try {

if (userService.saveUserRole(userid, roleids)) {

return Result.success(true, null, “分配成功”);

} catch (Exception e) {

e.printStackTrace();

return Result.error(false, null, “分配失败”);

/**

  • 修改密码

  • @param newPassWord1

  • @param newPassWord2

  • @return

*/

@RequestMapping(“/updateUserPassWord”)

public Result updateUserPassWord(String newPassWord1, String newPassWord2,HttpSession session) {

User sessionUser = (User) session.getAttribute(“username”);

if (newPassWord1.equals(newPassWord2)){

User user = new User();

String salt = UUIDUtil.randomUUID();

user.setUid(sessionUser.getUid());

user.setPassword(PasswordUtil.md5(newPassWord1, salt, 2));

user.setSalt(salt);

boolean bool = userService.updateById(user);

if (bool){

return Result.success(true,null,“修改成功”);

}else {

return Result.error(false,null,“修改失败!”);

}else {

return Result.error(false,null,“修改失败,两次密码不一致!”);

供应商管理控制层:

@RestController

@RequestMapping(“/provider”)

public class ProviderController {

@Autowired

private ProviderService providerService;

/**

  • 供应商模糊查询

  • @param

  • @return

*/

@SysLog(“供应商查询操作”)

@RequestMapping(“/providerList”)

public DataGridViewResult providerList(ProviderVO providerVO) {

//创建分页信息 参数1 当前页 参数2 每页显示条数

IPage page = new Page<>(providerVO.getPage(), providerVO.getLimit());

QueryWrapper queryWrapper = new QueryWrapper<>();

queryWrapper.like(!StringUtils.isEmpty(providerVO.getProvidername()),“providername”, providerVO.getProvidername());

queryWrapper.like(!StringUtils.isEmpty(providerVO.getTelephone()),“telephone”, providerVO.getTelephone());

IPage providerIPage = providerService.page(page, queryWrapper);

/**

  • logsIPage.getTotal() 总条数

  • logsIPage.getRecords() 分页记录列表

*/

return new DataGridViewResult(providerIPage.getTotal(),providerIPage.getRecords());

/**

  • 供应商批量删除

  • @param ids

  • @return

*/

@SysLog(“供应商删除操作”)

@RequestMapping(“/deleteList”)

public Result deleteList(String ids) {

//将字符串拆分成数组

String[] idsStr = ids.split(“,”);

List list = Arrays.asList(idsStr);

boolean bool = providerService.removeByIds(list);

if(bool){

return Result.success(true,“200”,“删除成功!”);

return Result.error(false,null,“删除失败!”);

/**

  • 添加供应商信息

  • @param provider

  • @param session

  • @return

*/

@SysLog(“供应商添加操作”)

@PostMapping(“/addprovider”)

public Result addProvider(Provider provider, HttpSession session){

User user = (User) session.getAttribute(“username”);

provider.setOpername(user.getUname());

boolean bool = providerService.save(provider);

if(bool){

return Result.success(true,“200”,“添加成功!”);

return Result.error(false,null,“添加失败!”);

/**

  • 修改供应商信息

  • @param provider

  • @return

*/

@SysLog(“供应商修改操作”)

@PostMapping(“/updateprovider”)

public Result updateProvider(Provider provider){

boolean bool = providerService.updateById(provider);

if(bool){

return Result.success(true,“200”,“修改成功!”);

return Result.error(false,null,“修改失败!”);

/**

  • 删除单条数据

  • @param id

  • @return

*/

@SysLog(“供应商删除操作”)

@RequestMapping(“/deleteOne”)

public Result deleteOne(int id) {

boolean bool = providerService.removeById(id);

if(bool){

return Result.success(true,“200”,“删除成功!”);

return Result.error(false,null,“删除失败!”);

/**

  • 加载下拉框

  • @return

*/

@RequestMapping(“/loadAllProvider”)

public DataGridViewResult loadAllProvider(){

QueryWrapper queryWrapper = new QueryWrapper<>();

List list = providerService.list(queryWrapper);

return new DataGridViewResult(list);

商品管理控制层:

@RestController

@RequestMapping(“/goods”)

public class GoodsController {

@Autowired

private GoodsService goodsService;

@Autowired

private ProviderService providerService;

@Autowired

private CategoryService categoryService;

/**

  • 商品模糊查询

  • @param

  • @return

*/

@SysLog(“商品查询操作”)

@RequestMapping(“/goodsList”)

public DataGridViewResult goodsList(GoodsVO goodsVO) {

//创建分页信息 参数1 当前页 参数2 每页显示条数

IPage page = new Page<>(goodsVO.getPage(), goodsVO.getLimit());

QueryWrapper queryWrapper = new QueryWrapper<>();

queryWrapper.eq(goodsVO.getProviderid() != null && goodsVO.getProviderid() != 0, “providerid”, goodsVO.getProviderid());

queryWrapper.like(!StringUtils.isEmpty(goodsVO.getGname()), “gname”, goodsVO.getGname());

IPage goodsIPage = goodsService.page(page, queryWrapper);

List records = goodsIPage.getRecords();

for (Goods goods : records) {

Provider provider = providerService.getById(goods.getProviderid());

if (null != provider) {

goods.setProvidername(provider.getProvidername());

return new DataGridViewResult(goodsIPage.getTotal(), records);

/**

  • 添加商品信息

  • @param goods

  • @return

*/

@SysLog(“商品添加操作”)

@PostMapping(“/addgoods”)

public Result addGoods(Goods goods) {

String id = RandomStringUtils.randomAlphanumeric(8);

if (goods.getGoodsimg()!=null&&goods.getGoodsimg().endsWith(“_temp”)){

String newName = AppFileUtils.renameFile(goods.getGoodsimg());

goods.setGoodsimg(newName);

goods.setGnumbering(id);

boolean bool = goodsService.save(goods);

if (bool) {

return Result.success(true, “200”, “添加成功!”);

return Result.error(false, null, “添加失败!”);

/**

  • 修改商品信息

  • @param goods

  • @return

*/

@SysLog(“商品修改操作”)

@PostMapping(“/updategoods”)

public Result updateGoods(Goods goods) {

//商品图片不是默认图片

if (!(goods.getGoodsimg()!=null&&goods.getGoodsimg().equals(Constast.DEFAULT_IMG))){

if (goods.getGoodsimg().endsWith(“_temp”)){

String newName = AppFileUtils.renameFile(goods.getGoodsimg());

goods.setGoodsimg(newName);

//删除原先的图片

String oldPath = goodsService.getById(goods.getGid()).getGoodsimg();

AppFileUtils.removeFileByPath(oldPath);

boolean bool = goodsService.updateById(goods);

if (bool) {

return Result.success(true, “200”, “修改成功!”);

return Result.error(false, null, “修改失败!”);

/**

  • 删除单条数据

  • @param id

  • @return

*/

@SysLog(“商品删除操作”)

@RequestMapping(“/deleteOne”)

public Result deleteOne(int id) {

boolean bool = goodsService.removeById(id);

if (bool) {

return Result.success(true, “200”, “删除成功!”);

return Result.error(false, null, “删除失败!”);

/**

  • 根据id查询当前商品拥有的类别

  • @param id

  • @return

*/

@RequestMapping(“/initGoodsByCategoryId”)

public DataGridViewResult initGoodsByCategoryId(int id) {

List<Map<String, Object>> mapList = null;

try {

//查询所有类别列表

mapList = categoryService.listMaps();

//根据商品id查询商品拥有的类别

Set cateIdList = categoryService.findGoodsByCategoryId(id);

for (Map<String, Object> map : mapList) {

//定义标记 默认不选中

boolean flag = false;

int cateId = (int) map.get(“cateid”);

for (Integer cid : cateIdList) {

if (cid == cateId) {

flag = true;

break;

map.put(“LAY_CHECKED”, flag);

} catch (Exception e) {

e.printStackTrace();

return new DataGridViewResult(Long.valueOf(mapList.size()), mapList);

/**

  • 根据商品id加载商品信息

  • @param goodsid

  • @return

*/

@GetMapping(“/loadGoodsById”)

public DataGridViewResult loadGoodsById(int goodsid) {

QueryWrapper goodsQueryWrapper = new QueryWrapper<>();

goodsQueryWrapper.eq(goodsid != 0, “gid”, goodsid);

Goods goods = goodsService.getById(goodsid);

return new DataGridViewResult(goods);

/**

  • 为商品分配类别

  • @param categoryids

  • @param goodsid

  • @return

*/

@SysLog(“类别添加操作”)

@RequestMapping(“/saveGoodsCategory”)

public Result saveGoodsCategory(String categoryids, int goodsid) {

try {

if (goodsService.saveGoodsCategory(goodsid, categoryids)) {

return Result.success(true, null, “分配成功”);

} catch (Exception e) {

e.printStackTrace();

return Result.error(false, null, “分配失败”);

/**

  • 加载下拉框

  • @return

*/

@RequestMapping(“/loadAllGoods”)

public DataGridViewResult loadAllGoods() {

QueryWrapper queryWrapper = new QueryWrapper<>();

List list = goodsService.list(queryWrapper);

return new DataGridViewResult(list);

/**

  • 根据供应商查商品下拉框

  • @param providerid

  • @return

*/

@RequestMapping(“/loadGoodsByProvidreId”)

public DataGridViewResult loadGoodsByProvidreId(Integer providerid) {

QueryWrapper goodsQueryWrapper = new QueryWrapper<>();

goodsQueryWrapper.eq(providerid != null, “providerid”, providerid);

List list = goodsService.list(goodsQueryWrapper);

for (Goods goods : list) {

Provider provider = providerService.getById(goods.getProviderid());

if (null != provider) {

goods.setProvidername(provider.getProvidername());

return new DataGridViewResult(list);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值