伙伴云客服论坛»论坛 S区 S客户管理 查看内容

0 评论

0 收藏

分享

Java项目:超市订单管理系统(java+SpringBoot+jsp+MyBatis+maven+mysql)


源码获取:博客首页 "资源" 里下载!

项目介绍

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

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.数据库:MySql 5.7版本;
6.是否Maven项目: 是
技术栈

1. 后端:springboot MyBatis
2. 前端:JSP+css+javascript
使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入胜利后请执行maven clean;maven install命令,配置tomcat,然后运行;
3. 将项目中application.yml配置文件中的数据库配置改为自己的配置;
4. 运行胜利后,访问http://localhost:8080/ 到登录页面
Java项目:超市订单管理系统(java+SpringBoot+jsp+MyBatis+maven+mysql)-1.png


Java项目:超市订单管理系统(java+SpringBoot+jsp+MyBatis+maven+mysql)-2.png


Java项目:超市订单管理系统(java+SpringBoot+jsp+MyBatis+maven+mysql)-3.png


Java项目:超市订单管理系统(java+SpringBoot+jsp+MyBatis+maven+mysql)-4.png


Java项目:超市订单管理系统(java+SpringBoot+jsp+MyBatis+maven+mysql)-5.png


Java项目:超市订单管理系统(java+SpringBoot+jsp+MyBatis+maven+mysql)-6.png


用户管理控制层:
  1. @RestController
  2. @RequestMapping("/user")
  3. public class UserController {
  4.     @Autowired
  5.     private UserService userService;
  6.     @Autowired
  7.     private RoleService roleService;
  8.     /**
  9.      * 登录
  10.      *
  11.      * @param username 用户名
  12.      * @param password 密码
  13.      * @param request
  14.      * @return
  15.      */
  16.     @SysLog("登陆操作")
  17.     @PostMapping("/login")
  18.     public Result login(String username, String password, HttpServletRequest request) {
  19.         try {
  20.             //获取当前登录主体对象
  21.             Subject subject = SecurityUtils.getSubject();
  22.             UsernamePasswordToken token = new UsernamePasswordToken(username, password);
  23.             subject.login(token);
  24.             LoginUserVO userDTO = (LoginUserVO) subject.getPrincipal();
  25.             request.getSession().setAttribute("username", userDTO.getUser());
  26.             return Result.success(true, "200", "登录胜利");
  27.         } catch (UnknownAccountException e) {
  28.             e.printStackTrace();
  29.             return Result.error(false, "400", "登录失败,用户名不存在");
  30.         }catch (IncorrectCredentialsException e) {
  31.             e.printStackTrace();
  32.             return Result.error(false, "400", "登录失败,密码错误");
  33.         }catch (AuthenticationException e) {
  34.             e.printStackTrace();
  35.             return Result.error(false, "400", "登录失败,账户禁用");
  36.         }
  37.     }
  38.     /**
  39.      * 得到登陆验证码
  40.      * @param response
  41.      * @param session
  42.      * @throws IOException
  43.      */
  44.     @RequestMapping("/getCode")
  45.     public void getCode(HttpServletResponse response, HttpSession session) throws IOException {
  46.         //定义图形验证码的长和宽
  47.         LineCaptcha lineCaptcha = CaptchaUtil.createLineCaptcha(116, 36,4,5);
  48.         session.setAttribute("code",lineCaptcha.getCode());
  49.         try {
  50.             ServletOutputStream outputStream = response.getOutputStream();
  51.             lineCaptcha.write(outputStream);
  52.             outputStream.close();
  53.         } catch (IOException e) {
  54.             e.printStackTrace();
  55.         }
  56.     }
  57.     /**
  58.      * 查询所有用户信息
  59.      *
  60.      * @param userVO
  61.      * @return
  62.      */
  63.     @SysLog("用户查询操作")
  64.     @RequestMapping("/userList")
  65.     public DataGridViewResult userList(UserVO userVO) {
  66.         //分页构造函数
  67.         IPage<User> page = new Page<>(userVO.getPage(), userVO.getLimit());
  68.         QueryWrapper<User> queryWrapper = new QueryWrapper<>();
  69.         queryWrapper.like(!StringUtils.isEmpty(userVO.getUsername()), "username", userVO.getUsername());
  70.         queryWrapper.like(!StringUtils.isEmpty(userVO.getUname()), "uname", userVO.getUname());
  71.         /**
  72.          * 翻页查询
  73.          * @param page         翻页对象
  74.          * @param queryWrapper 实体对象封装操作类
  75.          */
  76.         IPage<User> userIPage = userService.page(page, queryWrapper);
  77.         return new DataGridViewResult(userIPage.getTotal(), userIPage.getRecords());
  78.     }
  79.     /**
  80.      * 添加用户信息
  81.      *
  82.      * @param user
  83.      * @return
  84.      */
  85.     @SysLog("用户添加操作")
  86.     @PostMapping("/adduser")
  87.     public Result addRole(User user) {
  88.         user.setUcreatetime(new Date());
  89.         String salt = UUIDUtil.randomUUID();
  90.         user.setPassword(PasswordUtil.md5("000000", salt, 2));
  91.         user.setSalt(salt);
  92.         user.setType(1);
  93.         boolean bool = userService.save(user);
  94.         try {
  95.             if (bool) {
  96.                 return Result.success(true, "200", "添加胜利!");
  97.             }
  98.         } catch (Exception e) {
  99.             e.printStackTrace();
  100.         }
  101.         return Result.error(false, null, "添加失败!");
  102.     }
  103.     /**
  104.      * 校验用户名是否存在
  105.      *
  106.      * @param username
  107.      * @return
  108.      */
  109.     @RequestMapping("/checkUserName")
  110.     public String checkUserName(String username) {
  111.         Map<String, Object> map = new HashMap<>();
  112.         try {
  113.             QueryWrapper<User> queryWrapper = new QueryWrapper<>();
  114.             queryWrapper.eq("username", username);
  115.             User user = userService.getOne(queryWrapper);
  116.             if (user != null) {
  117.                 map.put("exist", true);
  118.                 map.put("message", "用户名已存在");
  119.             } else {
  120.                 map.put("exist", false);
  121.                 map.put("message", "用户名可以使用");
  122.             }
  123.         } catch (Exception e) {
  124.             e.printStackTrace();
  125.         }
  126.         return JSON.toJSONString(map);
  127.     }
  128.     /**
  129.      * 修改用户信息
  130.      *
  131.      * @param user
  132.      * @return
  133.      */
  134.     @SysLog("用户修改操作")
  135.     @PostMapping("/updateuser")
  136.     public Result updateUser(User user) {
  137.         boolean bool = userService.updateById(user);
  138.         try {
  139.             if (bool) {
  140.                 return Result.success(true, "200", "修改胜利!");
  141.             }
  142.         } catch (Exception e) {
  143.             e.printStackTrace();
  144.         }
  145.         return Result.error(false, null, "修改失败!");
  146.     }
  147.     /**
  148.      * 删除单条数据
  149.      *
  150.      * @param id
  151.      * @return
  152.      */
  153.     @SysLog("用户删除操作")
  154.     @RequestMapping("/deleteOne")
  155.     public Result deleteOne(int id) {
  156.         boolean bool = userService.removeById(id);
  157.         try {
  158.             if (bool) {
  159.                 return Result.success(true, "200", "删除胜利!");
  160.             }
  161.         } catch (Exception e) {
  162.             e.printStackTrace();
  163.         }
  164.         return Result.error(false, null, "删除失败!");
  165.     }
  166.     /**
  167.      * 重置密码
  168.      *
  169.      * @param id
  170.      * @return
  171.      */
  172.     @SysLog("用户修改操作")
  173.     @PostMapping("/resetPwd")
  174.     public Result resetPwd(int id) {
  175.         User user = new User();
  176.         String salt = UUIDUtil.randomUUID();
  177.         user.setUid(id);
  178.         user.setPassword(PasswordUtil.md5("000000", salt, 2));
  179.         user.setSalt(salt);
  180.         boolean bool = userService.updateById(user);
  181.         try {
  182.             if (bool) {
  183.                 return Result.success(true, "200", "重置胜利!");
  184.             }
  185.         } catch (Exception e) {
  186.             e.printStackTrace();
  187.         }
  188.         return Result.error(false, null, "重置失败!");
  189.     }
  190.     /**
  191.      * 根据id查询当前用户拥有的角色
  192.      *
  193.      * @param id
  194.      * @return
  195.      */
  196.     @RequestMapping("/initRoleByUserId")
  197.     public DataGridViewResult initRoleByUserId(int id) {
  198.         List<Map<String, Object>> mapList = null;
  199.         try {
  200.             //查询所有角色列表
  201.             mapList = roleService.listMaps();
  202.             //根据用户id查询用户拥有的角色
  203.             Set<Integer> roleIdList = userService.findRoleByUserId(id);
  204.             for (Map<String, Object> map : mapList) {
  205.                 //定义标志 默认不选中
  206.                 boolean flag = false;
  207.                 int roleId = (int) map.get("roleid");
  208.                 for (Integer rid : roleIdList) {
  209.                     if (rid == roleId) {
  210.                         flag = true;
  211.                         break;
  212.                     }
  213.                 }
  214.                 map.put("LAY_CHECKED", flag);
  215.             }
  216.         } catch (Exception e) {
  217.             e.printStackTrace();
  218.         }
  219.         return new DataGridViewResult(Long.valueOf(mapList.size()), mapList);
  220.     }
  221.     /**
  222.      * 为用户分配角色
  223.      *
  224.      * @param roleids
  225.      * @param userid
  226.      * @return
  227.      */
  228.     @SysLog("用户添加操作")
  229.     @RequestMapping("/saveUserRole")
  230.     public Result saveUserRole(String roleids, int userid) {
  231.         try {
  232.             if (userService.saveUserRole(userid, roleids)) {
  233.                 return Result.success(true, null, "分配胜利");
  234.             }
  235.         } catch (Exception e) {
  236.             e.printStackTrace();
  237.         }
  238.         return Result.error(false, null, "分配失败");
  239.     }
  240.     /**
  241.      * 修改密码
  242.      *
  243.      * @param newPassWord1
  244.      * @param newPassWord2
  245.      * @return
  246.      */
  247.     @RequestMapping("/updateUserPassWord")
  248.     public Result updateUserPassWord(String newPassWord1, String newPassWord2,HttpSession session) {
  249.         User sessionUser = (User) session.getAttribute("username");
  250.         if (newPassWord1.equals(newPassWord2)){
  251.             User user = new User();
  252.             String salt = UUIDUtil.randomUUID();
  253.             user.setUid(sessionUser.getUid());
  254.             user.setPassword(PasswordUtil.md5(newPassWord1, salt, 2));
  255.             user.setSalt(salt);
  256.             boolean bool = userService.updateById(user);
  257.             if (bool){
  258.                 return Result.success(true,null,"修改胜利");
  259.             }else {
  260.                 return Result.error(false,null,"修改失败!");
  261.             }
  262.         }else {
  263.             return Result.error(false,null,"修改失败,两次密码不一致!");
  264.         }
  265.     }
  266. }
复制代码
供给商管理控制层:
  1. @RestController
  2. @RequestMapping("/provider")
  3. public class ProviderController {
  4.     @Autowired
  5.     private ProviderService providerService;
  6.     /**
  7.      * 供给商模糊查询
  8.      * @param
  9.      * @return
  10.      */
  11.     @SysLog("供给商查询操作")
  12.     @RequestMapping("/providerList")
  13.     public DataGridViewResult providerList(ProviderVO providerVO) {
  14.         //创建分页信息    参数1 当前页  参数2 每页显示条数
  15.         IPage<Provider> page = new Page<>(providerVO.getPage(), providerVO.getLimit());
  16.         QueryWrapper<Provider> queryWrapper = new QueryWrapper<>();
  17.         queryWrapper.like(!StringUtils.isEmpty(providerVO.getProvidername()),"providername", providerVO.getProvidername());
  18.         queryWrapper.like(!StringUtils.isEmpty(providerVO.getTelephone()),"telephone", providerVO.getTelephone());
  19.         IPage<Provider> providerIPage = providerService.page(page, queryWrapper);
  20.         /**
  21.          * logsIPage.getTotal() 总条数
  22.          * logsIPage.getRecords() 分页记录列表
  23.          */
  24.         return new DataGridViewResult(providerIPage.getTotal(),providerIPage.getRecords());
  25.     }
  26.     /**
  27.      * 供给商批量删除
  28.      * @param ids
  29.      * @return
  30.      */
  31.     @SysLog("供给商删除操作")
  32.     @RequestMapping("/deleteList")
  33.     public Result deleteList(String ids) {
  34.         //将字符串拆分成数组
  35.         String[] idsStr = ids.split(",");
  36.         List<String> list = Arrays.asList(idsStr);
  37.         boolean bool = providerService.removeByIds(list);
  38.         if(bool){
  39.             return Result.success(true,"200","删除胜利!");
  40.         }
  41.         return Result.error(false,null,"删除失败!");
  42.     }
  43.     /**
  44.      * 添加供给商信息
  45.      * @param provider
  46.      * @param session
  47.      * @return
  48.      */
  49.     @SysLog("供给商添加操作")
  50.     @PostMapping("/addprovider")
  51.     public Result addProvider(Provider provider, HttpSession session){
  52.         User user = (User) session.getAttribute("username");
  53.         provider.setOpername(user.getUname());
  54.         boolean bool = providerService.save(provider);
  55.         if(bool){
  56.             return Result.success(true,"200","添加胜利!");
  57.         }
  58.         return Result.error(false,null,"添加失败!");
  59.     }
  60.     /**
  61.      * 修改供给商信息
  62.      * @param provider
  63.      * @return
  64.      */
  65.     @SysLog("供给商修改操作")
  66.     @PostMapping("/updateprovider")
  67.     public Result updateProvider(Provider provider){
  68.         boolean bool = providerService.updateById(provider);
  69.         if(bool){
  70.             return Result.success(true,"200","修改胜利!");
  71.         }
  72.         return Result.error(false,null,"修改失败!");
  73.     }
  74.     /**
  75.      * 删除单条数据
  76.      * @param id
  77.      * @return
  78.      */
  79.     @SysLog("供给商删除操作")
  80.     @RequestMapping("/deleteOne")
  81.     public Result deleteOne(int id) {
  82.         boolean bool = providerService.removeById(id);
  83.         if(bool){
  84.             return Result.success(true,"200","删除胜利!");
  85.         }
  86.         return Result.error(false,null,"删除失败!");
  87.     }
  88.     /**
  89.      *
  90.      * 加载下拉框
  91.      * @return
  92.      */
  93.     @RequestMapping("/loadAllProvider")
  94.     public DataGridViewResult loadAllProvider(){
  95.         QueryWrapper<Provider> queryWrapper = new QueryWrapper<>();
  96.         List<Provider> list = providerService.list(queryWrapper);
  97.         return new DataGridViewResult(list);
  98.     }
  99. }
复制代码
商品管理控制层:
  1. @RestController
  2. @RequestMapping("/goods")
  3. public class GoodsController {
  4.     @Autowired
  5.     private GoodsService goodsService;
  6.     @Autowired
  7.     private ProviderService providerService;
  8.     @Autowired
  9.     private CategoryService categoryService;
  10.     /**
  11.      * 商品模糊查询
  12.      *
  13.      * @param
  14.      * @return
  15.      */
  16.     @SysLog("商品查询操作")
  17.     @RequestMapping("/goodsList")
  18.     public DataGridViewResult goodsList(GoodsVO goodsVO) {
  19.         //创建分页信息    参数1 当前页  参数2 每页显示条数
  20.         IPage<Goods> page = new Page<>(goodsVO.getPage(), goodsVO.getLimit());
  21.         QueryWrapper<Goods> queryWrapper = new QueryWrapper<>();
  22.         queryWrapper.eq(goodsVO.getProviderid() != null && goodsVO.getProviderid() != 0, "providerid", goodsVO.getProviderid());
  23.         queryWrapper.like(!StringUtils.isEmpty(goodsVO.getGname()), "gname", goodsVO.getGname());
  24.         IPage<Goods> goodsIPage = goodsService.page(page, queryWrapper);
  25.         List<Goods> records = goodsIPage.getRecords();
  26.         for (Goods goods : records) {
  27.             Provider provider = providerService.getById(goods.getProviderid());
  28.             if (null != provider) {
  29.                 goods.setProvidername(provider.getProvidername());
  30.             }
  31.         }
  32.         return new DataGridViewResult(goodsIPage.getTotal(), records);
  33.     }
  34.     /**
  35.      * 添加商品信息
  36.      *
  37.      * @param goods
  38.      * @return
  39.      */
  40.     @SysLog("商品添加操作")
  41.     @PostMapping("/addgoods")
  42.     public Result addGoods(Goods goods) {
  43.         String id = RandomStringUtils.randomAlphanumeric(8);
  44.         if (goods.getGoodsimg()!=null&&goods.getGoodsimg().endsWith("_temp")){
  45.             String newName = AppFileUtils.renameFile(goods.getGoodsimg());
  46.             goods.setGoodsimg(newName);
  47.         }
  48.         goods.setGnumbering(id);
  49.         boolean bool = goodsService.save(goods);
  50.         if (bool) {
  51.             return Result.success(true, "200", "添加胜利!");
  52.         }
  53.         return Result.error(false, null, "添加失败!");
  54.     }
  55.     /**
  56.      * 修改商品信息
  57.      *
  58.      * @param goods
  59.      * @return
  60.      */
  61.     @SysLog("商品修改操作")
  62.     @PostMapping("/updategoods")
  63.     public Result updateGoods(Goods goods) {
  64.         //商品图片不是默认图片
  65.         if (!(goods.getGoodsimg()!=null&&goods.getGoodsimg().equals(Constast.DEFAULT_IMG))){
  66.             if (goods.getGoodsimg().endsWith("_temp")){
  67.                 String newName = AppFileUtils.renameFile(goods.getGoodsimg());
  68.                 goods.setGoodsimg(newName);
  69.                 //删除原先的图片
  70.                 String oldPath = goodsService.getById(goods.getGid()).getGoodsimg();
  71.                 AppFileUtils.removeFileByPath(oldPath);
  72.             }
  73.         }
  74.         boolean bool = goodsService.updateById(goods);
  75.         if (bool) {
  76.             return Result.success(true, "200", "修改胜利!");
  77.         }
  78.         return Result.error(false, null, "修改失败!");
  79.     }
  80.     /**
  81.      * 删除单条数据
  82.      *
  83.      * @param id
  84.      * @return
  85.      */
  86.     @SysLog("商品删除操作")
  87.     @RequestMapping("/deleteOne")
  88.     public Result deleteOne(int id) {
  89.         boolean bool = goodsService.removeById(id);
  90.         if (bool) {
  91.             return Result.success(true, "200", "删除胜利!");
  92.         }
  93.         return Result.error(false, null, "删除失败!");
  94.     }
  95.     /**
  96.      * 根据id查询当前商品拥有的类别
  97.      *
  98.      * @param id
  99.      * @return
  100.      */
  101.     @RequestMapping("/initGoodsByCategoryId")
  102.     public DataGridViewResult initGoodsByCategoryId(int id) {
  103.         List<Map<String, Object>> mapList = null;
  104.         try {
  105.             //查询所有类别列表
  106.             mapList = categoryService.listMaps();
  107.             //根据商品id查询商品拥有的类别
  108.             Set<Integer> cateIdList = categoryService.findGoodsByCategoryId(id);
  109.             for (Map<String, Object> map : mapList) {
  110.                 //定义标志 默认不选中
  111.                 boolean flag = false;
  112.                 int cateId = (int) map.get("cateid");
  113.                 for (Integer cid : cateIdList) {
  114.                     if (cid == cateId) {
  115.                         flag = true;
  116.                         break;
  117.                     }
  118.                 }
  119.                 map.put("LAY_CHECKED", flag);
  120.             }
  121.         } catch (Exception e) {
  122.             e.printStackTrace();
  123.         }
  124.         return new DataGridViewResult(Long.valueOf(mapList.size()), mapList);
  125.     }
  126.     /**
  127.      * 根据商品id加载商品信息
  128.      * @param goodsid
  129.      * @return
  130.      */
  131.     @GetMapping("/loadGoodsById")
  132.     public DataGridViewResult loadGoodsById(int goodsid) {
  133.         QueryWrapper<Goods> goodsQueryWrapper = new QueryWrapper<>();
  134.         goodsQueryWrapper.eq(goodsid != 0, "gid", goodsid);
  135.         Goods goods = goodsService.getById(goodsid);
  136.         return new DataGridViewResult(goods);
  137.     }
  138.     /**
  139.      * 为商品分配类别
  140.      *
  141.      * @param categoryids
  142.      * @param goodsid
  143.      * @return
  144.      */
  145.     @SysLog("类别添加操作")
  146.     @RequestMapping("/saveGoodsCategory")
  147.     public Result saveGoodsCategory(String categoryids, int goodsid) {
  148.         try {
  149.             if (goodsService.saveGoodsCategory(goodsid, categoryids)) {
  150.                 return Result.success(true, null, "分配胜利");
  151.             }
  152.         } catch (Exception e) {
  153.             e.printStackTrace();
  154.         }
  155.         return Result.error(false, null, "分配失败");
  156.     }
  157.     /**
  158.      * 加载下拉框
  159.      *
  160.      * @return
  161.      */
  162.     @RequestMapping("/loadAllGoods")
  163.     public DataGridViewResult loadAllGoods() {
  164.         QueryWrapper<Goods> queryWrapper = new QueryWrapper<>();
  165.         List<Goods> list = goodsService.list(queryWrapper);
  166.         return new DataGridViewResult(list);
  167.     }
  168.     /**
  169.      * 根据供给商查商品下拉框
  170.      *
  171.      * @param providerid
  172.      * @return
  173.      */
  174.     @RequestMapping("/loadGoodsByProvidreId")
  175.     public DataGridViewResult loadGoodsByProvidreId(Integer providerid) {
  176.         QueryWrapper<Goods> goodsQueryWrapper = new QueryWrapper<>();
  177.         goodsQueryWrapper.eq(providerid != null, "providerid", providerid);
  178.         List<Goods> list = goodsService.list(goodsQueryWrapper);
  179.         for (Goods goods : list) {
  180.             Provider provider = providerService.getById(goods.getProviderid());
  181.             if (null != provider) {
  182.                 goods.setProvidername(provider.getProvidername());
  183.             }
  184.         }
  185.         return new DataGridViewResult(list);
  186.     }
  187. }
复制代码

源码获取:博客首页 "资源" 里下载!


回复

举报 使用道具

相关帖子
全部回复
暂无回帖,快来参与回复吧
本版积分规则 高级模式
B Color Image Link Quote Code Smilies

心如不暖之夏
注册会员
主题 15
回复 21
粉丝 0
|网站地图
快速回复 返回顶部 返回列表