Java实战之超市收银管理系统的实现

目录
  • 一、项目简述
  • 二、项目运行
  • 三、效果图
  • 四、核心代码
    • 品类信息控制层
    • 用户信息控制层
    • 商品信息控制层

一、项目简述

本系统主要实现的功能有:收银、报表、用户管理、商品管理、销售管理、进货退货管理、仓库管 理等等功能。

二、项目运行

环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)

项目技术: Spring+ SpringMVC + MyBatis + ThymeLeaf + JavaScript + JQuery + Ajax + maven等等

三、效果图

四、核心代码

品类信息控制层

/**
 * <p>
 *  前端控制器
 * </p>
 *
 */
@RestController
@RequestMapping("/category")
public class CategoryController {

    @Autowired
    private CategoryService categoryService;

    /**
     * 类别模糊查询
     * @param
     * @return
     */
    @SysLog("类别查询操作")
    @RequestMapping("/categoryList")
    public DataGridViewResult categoryList(CategoryVO categoryVO) {

        //创建分页信息    参数1 当前页  参数2 每页显示条数
        IPage<Category> page = new Page<>(categoryVO.getPage(), categoryVO.getLimit());
        QueryWrapper<Category> queryWrapper = new QueryWrapper<>();
        queryWrapper.like(!StringUtils.isEmpty(categoryVO.getCatename()),"catename", categoryVO.getCatename());
        IPage<Category> categoryIPage = categoryService.page(page, queryWrapper);
        /**
         * logsIPage.getTotal() 总条数
         * logsIPage.getRecords() 分页记录列表
         */
        return new DataGridViewResult(categoryIPage.getTotal(),categoryIPage.getRecords());

    }

    /**
     * 类别批量删除
     * @param ids
     * @return
     */
    @SysLog("类别删除操作")
    @RequestMapping("/deleteList")
    public Result deleteList(String ids) {
        //将字符串拆分成数组
        String[] idsStr = ids.split(",");
        List<String> list = Arrays.asList(idsStr);
        boolean bool = categoryService.removeByIds(list);
        if(bool){
            return Result.success(true,"200","删除成功!");
        }
        return Result.error(false,null,"删除失败!");
    }

    /**
     * 添加类别信息
     * @param category
     * @return
     */
    @SysLog("类别添加操作")
    @PostMapping("/addcategory")
    public Result addCategory(Category category){
        boolean bool = categoryService.save(category);
        if(bool){
            return Result.success(true,"200","添加成功!");
        }
        return Result.error(false,null,"添加失败!");
    }

    /**
     * 修改类别信息
     * @param category
     * @return
     */
    @SysLog("类别修改操作")
    @PostMapping("/updatecategory")
    public Result updateCategory(Category category){

        boolean bool = categoryService.updateById(category);
        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 = categoryService.removeById(id);
        if(bool){
            return Result.success(true,"200","删除成功!");
        }
        return Result.error(false,null,"删除失败!");
    }
}

用户信息控制层

/**
 * <p>
 *  前端控制器
 * </p>
 *
 */
@RestController
@RequestMapping("/customer")
public class CustomerController {

    @Autowired
    private CustomerService customerService;

    /**
     * 客户模糊查询
     * @param
     * @return
     */
    @SysLog("客户查询操作")
    @RequestMapping("/customerList")
    public DataGridViewResult customerList(CustomerVO customerVO) {

        //创建分页信息    参数1 当前页  参数2 每页显示条数
        IPage<Customer> page = new Page<>(customerVO.getPage(), customerVO.getLimit());
        QueryWrapper<Customer> queryWrapper = new QueryWrapper<>();
        queryWrapper.like(!StringUtils.isEmpty(customerVO.getCustvip()),"custvip", customerVO.getCustvip());
        IPage<Customer> customerIPage = customerService.page(page, queryWrapper);
        /**
         * logsIPage.getTotal() 总条数
         * logsIPage.getRecords() 分页记录列表
         */
        return new DataGridViewResult(customerIPage.getTotal(),customerIPage.getRecords());

    }

    /**
     * 客户批量删除
     * @param ids
     * @return
     */
    @SysLog("客户删除操作")
    @RequestMapping("/deleteList")
    public Result deleteList(String ids) {
        //将字符串拆分成数组
        String[] idsStr = ids.split(",");
        List<String> list = Arrays.asList(idsStr);
        boolean bool = customerService.removeByIds(list);
        if(bool){
            return Result.success(true,"200","删除成功!");
        }
        return Result.error(false,null,"删除失败!");
    }

    /**
     * 添加客户信息
     * @param customer
     * @return
     */
    @SysLog("客户添加操作")
    @PostMapping("/addcustomer")
    public Result addCustomer(Customer customer){
        String id = RandomStringUtils.randomAlphanumeric(10);

        customer.setCustvip(id);
        boolean bool = customerService.save(customer);
        if(bool){
            return Result.success(true,"200","添加成功!");
        }
        return Result.error(false,null,"添加失败!");
    }

    /**
     * 修改客户信息
     * @param customer
     * @return
     */
    @SysLog("客户修改操作")
    @PostMapping("/updatecustomer")
    public Result updateCustomer(Customer customer){

        boolean bool = customerService.updateById(customer);
        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 = customerService.removeById(id);
        if(bool){
            return Result.success(true,"200","删除成功!");
        }
        return Result.error(false,null,"删除失败!");
    }

    /**
     *
     * 加载下拉框
     * @return
     */
    @RequestMapping("/loadAllCustomer")
    public DataGridViewResult loadAllCustomer(){
        QueryWrapper<Customer> queryWrapper = new QueryWrapper<>();
        List<Customer> list = customerService.list(queryWrapper);
        return new DataGridViewResult(list);

    }

}

商品信息控制层

/**
 * <p>
 * 前端控制器
 * </p>
 *
 */
@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<Goods> page = new Page<>(goodsVO.getPage(), goodsVO.getLimit());
        QueryWrapper<Goods> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq(goodsVO.getProviderid() != null && goodsVO.getProviderid() != 0, "providerid", goodsVO.getProviderid());
        queryWrapper.like(!StringUtils.isEmpty(goodsVO.getGname()), "gname", goodsVO.getGname());
        IPage<Goods> goodsIPage = goodsService.page(page, queryWrapper);
        List<Goods> 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<Integer> 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<Goods> 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<Goods> queryWrapper = new QueryWrapper<>();
        List<Goods> list = goodsService.list(queryWrapper);
        return new DataGridViewResult(list);

    }

    /**
     * 根据供应商查商品下拉框
     *
     * @param providerid
     * @return
     */
    @RequestMapping("/loadGoodsByProvidreId")
    public DataGridViewResult loadGoodsByProvidreId(Integer providerid) {
        QueryWrapper<Goods> goodsQueryWrapper = new QueryWrapper<>();
        goodsQueryWrapper.eq(providerid != null, "providerid", providerid);
        List<Goods> 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);

    }
}

以上就是Java实战之超市收银管理系统的实现的详细内容,更多关于Java收银系统的资料请关注我们其它相关文章!

(0)

相关推荐

  • Java基于字符界面的简易收银台

    用Java实现简易收银台,供大家参考,具体内容如下 简易收银台的实现并不难,主要实现这几个类: 商品类 Goods (将商品根据编号,名称,价格存放) 商品中心类 GoodsCenter (存放商品,可以添加商品,下架商品,修改商品信息,判断商品是否存在或者货架已满,打印商品等功能) 订单类 Order (处理订单,主要实现买单功能,下单,计算总价) 功能实现 初始化界面 商品上架 修改商品信息 下架商品 返回并进入买单功能  选择商品及数量进行买单 取消订单 查看订单 返回并退出 功能分析 代

  • java实现肯德基收银系统

    参考肯德基官网的信息模拟肯德基快餐店的收银系统,合理使用C++或Java或Python结合设计模式(2种以上)至少实现系统的以下功能: 1.正常餐品结算和找零. 2.基本套餐结算和找零. 3.使用优惠券购买餐品结算和找零. 4.可在一定时间段参与店内活动(自行设计或参考官网信息). 5.模拟打印小票的功能(写到文件中). 小票信息保存 class print{ String s=""; //存订单信息 } 食物工厂 interface FoodFactory{ public Hambu

  • Java毕业设计实战之工作管理系统的实现

    前台用户和后台管理员两种角色: 前台用户功能有:发布兼职.发布帖子.查看公告.个人中心.投诉等. 后台管理员功能有:用户管理.兼职管理.帖子管理.聊天管理.广告管理.投诉管理.收藏管理.系统管理等. 运行环境:jdk1.8.tomcat7.0\8.5.Eclipse.Mysql5.x. 后台角色管理控制器: /** * 后台角色管理控制器 * @author yy * */ @RequestMapping("/admin/role") @Controller public class

  • Java实战员工绩效管理系统的实现流程

    基于SSM+Mysql+Maven+HTML实现的员工绩效管理系统.该系统只有后台页面,后台前端框架使用的是layui官网推荐后台界面. 角色分为管理员和员工 管理员功能有:员工管理.职位管理.部门管理.岗位管理.工资管理.工龄管理.考勤管理.工资项管理等. 员工功能有:考勤管理.工资管理.个人信息. 运行环境:jdk1.8.tomcat7.0\8.5.maven3.5\3.6.eclipse.mysql5.x. 后台员工管理控制器代码: /** * 后台员工管理控制器 * @author Ad

  • java Gui实现肯德基点餐收银系统

    大家应该都去麦当劳或肯德基吃过快餐,参考肯德基官网的信息模拟肯德基快餐店的收银系统,简单的java Gui模拟的肯德基收银系统. 1.系统介绍 同学们应该都去麦当劳或肯德基吃过快餐吧?请同学们参考肯德基官网的信息模拟肯德基快餐店的收银系统,合理使用C++/python/Java,结合设计模式(2种以上)至少实现系统的以下功能: 1.正常餐品结算和找零. 2.基本套餐结算和找零. 3.使用优惠劵购买餐品结算和找零. 4.可在一定时间段参与店内活动(自行设计或参考官网信息). 5.模拟打印小票的功能

  • Java毕业设计实战之学生管理系统的实现

    一.项目简述 本系统功能包括: 学生管理,教师管理,课程管理,成绩管理,系统管理等等. 二.项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持). 项目技术: Springboot + Maven + mybatis+ Vue 等等组成,B/S模式 + Maven管理等等. 学生管理控制层: @Controller @Reques

  • Java实战之超市收银管理系统的实现

    目录 一.项目简述 二.项目运行 三.效果图 四.核心代码 品类信息控制层 用户信息控制层 商品信息控制层 一.项目简述 本系统主要实现的功能有:收银.报表.用户管理.商品管理.销售管理.进货退货管理.仓库管 理等等功能. 二.项目运行 环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持) 项目技术: Spring+ SpringMVC + MyBatis + ThymeLeaf

  • Java 实战项目之精美物流管理系统的实现流程

    一.项目简述 本系统功能包括: 数据统计.收件录入.发件录入.到件录入.派件录入.问题件录入.退件录入.留仓录入.装车录入.发车录入.到车录入.卸车录入.运单录入.运单编辑.运单查询.数据导入.签收录入.签收查询.快件跟踪.自定义跟踪.问题件跟踪.预付款管理.财务报表明细.现金账单.月结账单.代收货款.业务员提成.订单分配.订单查询.物品名维护.入库.出库.库存.物料.角色管理.用户管理.系统设置.员工维护.客户维护.网点维护.报价维护.其他维护.收发记录.到件预报. 二.项目运行 环境配置:

  • C#超市收银系统设计

    本文实例为大家分享了C#超市收银系统设计的具体代码,供大家参考,具体内容如下 1.登录界面 代码如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Linq; using System.Text; using System.

  • Java 实战项目之CRM客户管理系统的实现流程

    一.项目简述 功能包括: 用户管理,系统管理,客户管理,客户服务,客户关怀, 销售机会,统计管理等等. 二.项目运行 环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持) 项目技术: JSP +Spring + SpringMVC + MyBatis + html+ css + JavaScript + JQuery + Ajax + layui+ maven等等. 员工操作: /

  • Java 实战项目之精品养老院管理系统的实现流程

    一.项目简述 本系统功能包括:通知公告,老人管理,护工管理,问答管理等等功能. 二.项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持). 项目技术: Springboot + Maven + mybatis+ Vue 等等组成,B/S模式 + Maven管理等等. 系统控制器(登录.注销.修改.新增登)业务: /** * 系统控

  • Java实战项目之校园跑腿管理系统的实现

    前端使用的是vue+elementui,这款系统只适合学习巩固SpringBoot+VUE,后面还要在这上面加校园公告.校园零食等功能,后期代码我也会持续更新上去.系统分为管理员和学生.学生是管理员后台添加的两种角色. 运行环境: 后端 jdk1.8.maven3.5/3.6 mysql5.7 idea/eclipse 前端 idea vue-cli node.js 搭建vue环境 webpack3.6.0指定版本 管理员控制层: @Controller @RequestMapping(valu

  • C#实现简单超市收银系统

    本文实例为大家分享了C#实现简单超市收银系统的具体代码,供大家参考,具体内容如下 今天使用一直学习的抽象类等做了个简单的超市收银系统,不难,不过里面的逻辑要理清楚. 首先我们要知道我们要实现的功能. 超市一般有仓库,有收银台,有各种各样的商品,每一个商品都有Name,Price,Count等属性.我们可以写一个抽象父类,这样我们才能将每件商品属性设置一样.新建一个ProduckFather类作为商品的父类 并将属性和构造函数写好,每次新建商品时写好参数就会方便很多 abstract class

  • Java实战之实现OA办公管理系统

    目录 介绍 效果图 核心代码 用户管理控制层 部门管理控制层 角色管理控制层 会议室管理控制层 介绍 环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持) 项目技术: JSP +Spring + SpringMVC + MyBatis + html+ css + JavaScript + JQuery + Ajax + layui+ maven等等 效果图 核心代码 用户管理控制层 /

  • Java 实战项目之学生信息管理系统的实现流程

    一.项目简述 功能包括: 用户的登录注册,学生信息管理,教师信息管理,班级信 息管理,采用mvcx项目架构,覆盖增删改查,包括学生, 教币班级的信息导出上传导入等等功能. 二.项目运行 环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持) 项目技术: JSP +Spring + SpringMVC + MyBatis + html+ css + JavaScript + JQuer

随机推荐