{"id":13694378,"url":"https://github.com/zaiyunduan123/springboot-manage","last_synced_at":"2025-05-03T01:33:15.460Z","repository":{"id":37735080,"uuid":"131096720","full_name":"zaiyunduan123/springboot-manage","owner":"zaiyunduan123","description":"基于SpringBoot + Mybatis + Thymeleaf + Redis + MongoDB + MySQL开发的商品管理系统","archived":false,"fork":false,"pushed_at":"2022-07-28T05:46:48.000Z","size":12831,"stargazers_count":796,"open_issues_count":2,"forks_count":320,"subscribers_count":32,"default_branch":"master","last_synced_at":"2024-08-03T17:19:43.308Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zaiyunduan123.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-04-26T03:47:07.000Z","updated_at":"2024-07-29T05:56:02.000Z","dependencies_parsed_at":"2022-09-16T06:20:30.915Z","dependency_job_id":null,"html_url":"https://github.com/zaiyunduan123/springboot-manage","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zaiyunduan123%2Fspringboot-manage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zaiyunduan123%2Fspringboot-manage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zaiyunduan123%2Fspringboot-manage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zaiyunduan123%2Fspringboot-manage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zaiyunduan123","download_url":"https://codeload.github.com/zaiyunduan123/springboot-manage/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224346571,"owners_count":17296242,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-02T17:01:30.484Z","updated_at":"2024-11-12T20:32:18.909Z","avatar_url":"https://github.com/zaiyunduan123.png","language":"HTML","funding_links":[],"categories":["HTML","HTML (177)"],"sub_categories":[],"readme":"## 基于SpringBoot+Mybatis+Thymeleaf商品信息管理系统\n\n### 主要用到的技术：\n- 使用maven进行项目构建 \n- 使用Springboot+Mybatis搭建整个系统 \n- 使用Thymeleaf模板技术实现页面静态化\n- 使用框架Bootstrap、JQuery开发前端界面  \n- 使用MySQL和MongoDB分别存储数据和图片\n- 使用Redis缓存来提升数据库查询性能\n\n\n### 主要分为四个模块:\n\n\n- **用户管理模块** \n：用户登录、注册、密码找回（通过邮箱方式）、用户信息修改、密码修改\n\n- **仪表盘管理模块**\n：展示当前月收入及其环比（环比=（当前月收入 - 上个月收入）/ 上个月收入）、当前月订单数及其环比、网站访问量、当前月退单数及其环比、以条形图的形式(使用jquery插件）展示最近30天每天的收入和订单数\n\n- **商品管理模块**\n：商品增删改查、商品图片导入（存储在MongoDB）、导出商品报表、商品分类增删改查、库存查改，库存不足和积货提醒、商品回收和恢复。\n\n- **订单管理模块**\n：订单查询查看、订单退款管理（查看和审批）、发货管理、物流公司管理、快递跟踪（调用快递100接口）\n\n### 优化：\n1. 通过使用AOP的方式计算并打印各种方法的耗时日志，有利于后续的代码优化\n2. 通过拦截器实现反SQL注入，防止用户输入SQL敏感字符串\n\n### 问题：如何启动本系统？\n1. 将sql文件在MySQL运行生成表和数据，启动Redis服务， MongoDB选择性开启（不开启时会报错但不影响系统正常访问，用到上传照片功能需要启动MongoDB）\n2. 最后直接启动Application类后访问[http://localhost:8080/user/login](http://localhost:8080/user/login)就可以进入本系统！\n\n\n## 预览效果\n![首页](https://github.com/zaiyunduan123/jesper_shop/blob/master/src/main/resources/static/img/shop-image/board.png)\n\n![商品管理](https://github.com/zaiyunduan123/jesper_shop/blob/master/src/main/resources/static/img/shop-image/item.png)\n\n![商品修改](https://github.com/zaiyunduan123/jesper_shop/blob/master/src/main/resources/static/img/shop-image/edit.png)\n\n![订单管理](https://github.com/zaiyunduan123/jesper_shop/blob/master/src/main/resources/static/img/shop-image/order.png)\n\n![物流公司](https://github.com/zaiyunduan123/jesper_shop/blob/master/src/main/resources/static/img/shop-image/kuaidi.png)\n\n![查询](https://github.com/zaiyunduan123/jesper_shop/blob/master/src/main/resources/static/img/shop-image/search.png)\n\n\n## 附加-数据库设计\n```mysql\nDROP TABLE IF EXISTS `kuaidi100_delivery`;\nCREATE TABLE `kuaidi100_delivery` (\n  `id` int(11) NOT NULL AUTO_INCREMENT,\n  `delivery_name` varchar(255) NOT NULL,\n  `delivery_code` varchar(255) NOT NULL,\n  `delivery_sort` varchar(2) NOT NULL,\n  PRIMARY KEY (`id`)\n) ENGINE=InnoDB AUTO_INCREMENT=147 DEFAULT CHARSET=utf8;\n\n\nDROP TABLE IF EXISTS `tb_user`;\nCREATE TABLE `tb_user` (\n  `id` int(11) NOT NULL AUTO_INCREMENT,\n  `userName` varchar(45) NOT NULL,\n  `password` varchar(45) NOT NULL,\n  `realName` varchar(45) DEFAULT NULL,\n  `business` varchar(45) DEFAULT NULL,\n  `email` varchar(45) DEFAULT NULL,\n  `headPicture` varchar(45) DEFAULT NULL,\n  `addDate` date DEFAULT NULL,\n  `updateDate` date DEFAULT NULL,\n  `state` int(11) DEFAULT '0' COMMENT '1：正常\\n2：冻结\\n3：删除',\n  PRIMARY KEY (`id`),\n  UNIQUE KEY `name_UNIQUE` (`userName`)\n) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=utf8;\n\n\nDROP TABLE IF EXISTS `tb_category`;\nCREATE TABLE `tb_category` (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '类目ID',\n  `parent_id` bigint(20) DEFAULT NULL COMMENT '父类目ID=0时，代表的是一级的类目',\n  `name` varchar(50) DEFAULT NULL COMMENT '分类名称',\n  `status` int(1) DEFAULT '1' COMMENT '状态。可选值:1(正常),2(删除)',\n  `sort_order` int(4) DEFAULT NULL COMMENT '排列序号，表示同级类目的展现次序，如数值相等则按名称次序排列。取值范围:大于零的整数',\n  `is_parent` tinyint(1) DEFAULT '1' COMMENT '该类目是否为父类目，1为true，0为false',\n  `created` datetime DEFAULT NULL COMMENT '创建时间',\n  `updated` datetime DEFAULT NULL COMMENT '创建时间',\n  PRIMARY KEY (`id`),\n  KEY `parent_id` (`parent_id`,`status`) USING BTREE,\n  KEY `sort_order` (`sort_order`) USING BTREE\n) ENGINE=InnoDB AUTO_INCREMENT=563 DEFAULT CHARSET=utf8 COMMENT='内容分类';\n\n\nDROP TABLE IF EXISTS `tb_item`;\nCREATE TABLE `tb_item` (\n  `id` bigint(20) NOT NULL COMMENT '商品id，同时也是商品编号',\n  `title` varchar(100) NOT NULL COMMENT '商品标题',\n  `sell_point` varchar(500) DEFAULT NULL COMMENT '商品卖点',\n  `price` bigint(20) NOT NULL COMMENT '商品价格，单位为：分',\n  `num` int(10) NOT NULL COMMENT '库存数量',\n  `barcode` varchar(30) DEFAULT NULL COMMENT '商品条形码',\n  `image` varchar(500) DEFAULT NULL COMMENT '商品图片',\n  `cid` bigint(10) NOT NULL COMMENT '所属类目，叶子类目',\n  `status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '商品状态，1-正常，2-下架，3-删除',\n  `created` datetime NOT NULL COMMENT '创建时间',\n  `updated` datetime NOT NULL COMMENT '更新时间',\n  PRIMARY KEY (`id`),\n  KEY `cid` (`cid`),\n  KEY `status` (`status`),\n  KEY `updated` (`updated`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='商品表';\n\n\nDROP TABLE IF EXISTS `tb_order`;\nCREATE TABLE `tb_order` (\n  `order_id` varchar(50) COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '订单id',\n  `payment` varchar(50) COLLATE utf8_bin DEFAULT NULL COMMENT '实付金额。精确到2位小数;单位:元。如:200.07，表示:200元7分',\n  `payment_type` int(2) DEFAULT NULL COMMENT '支付类型，1、在线支付，2、货到付款',\n  `post_fee` varchar(50) COLLATE utf8_bin DEFAULT NULL COMMENT '邮费。精确到2位小数;单位:元。如:200.07，表示:200元7分',\n  `status` int(10) DEFAULT NULL COMMENT '状态：1、未付款，2、已付款，3、未发货，4、已发货，5、交易成功，6、交易关闭',\n  `create_time` datetime DEFAULT NULL COMMENT '订单创建时间',\n  `update_time` datetime DEFAULT NULL COMMENT '订单更新时间',\n  `payment_time` datetime DEFAULT NULL COMMENT '付款时间',\n  `consign_time` datetime DEFAULT NULL COMMENT '发货时间',\n  `end_time` datetime DEFAULT NULL COMMENT '交易完成时间',\n  `close_time` datetime DEFAULT NULL COMMENT '交易关闭时间',\n  `shipping_name` varchar(20) COLLATE utf8_bin DEFAULT NULL COMMENT '物流名称',\n  `shipping_code` varchar(20) COLLATE utf8_bin DEFAULT NULL COMMENT '物流单号',\n  `user_id` bigint(20) DEFAULT NULL COMMENT '用户id',\n  `buyer_message` varchar(100) COLLATE utf8_bin DEFAULT NULL COMMENT '买家留言',\n  `buyer_nick` varchar(50) COLLATE utf8_bin DEFAULT NULL COMMENT '买家昵称',\n  `buyer_rate` int(2) DEFAULT NULL COMMENT '买家是否已经评价',\n  `refundStatus` int(2) DEFAULT NULL,\n  `refundReason` varchar(255) COLLATE utf8_bin DEFAULT NULL,\n  `isRefund` int(2) DEFAULT NULL,\n  PRIMARY KEY (`order_id`),\n  KEY `create_time` (`create_time`) USING BTREE,\n  KEY `buyer_nick` (`buyer_nick`) USING BTREE,\n  KEY `status` (`status`) USING BTREE,\n  KEY `payment_type` (`payment_type`) USING BTREE\n) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;\n\n\nDROP TABLE IF EXISTS `tb_order_item`;\nCREATE TABLE `tb_order_item` (\n  `id` varchar(20) COLLATE utf8_bin NOT NULL,\n  `item_id` varchar(50) COLLATE utf8_bin NOT NULL COMMENT '商品id',\n  `order_id` varchar(50) COLLATE utf8_bin NOT NULL COMMENT '订单id',\n  `num` int(10) DEFAULT NULL COMMENT '商品购买数量',\n  `title` varchar(200) COLLATE utf8_bin DEFAULT NULL COMMENT '商品标题',\n  `price` bigint(50) DEFAULT NULL COMMENT '商品单价',\n  `total_fee` bigint(50) DEFAULT NULL COMMENT '商品总金额',\n  `pic_path` varchar(200) COLLATE utf8_bin DEFAULT NULL COMMENT '商品图片地址',\n  PRIMARY KEY (`id`),\n  KEY `item_id` (`item_id`) USING BTREE,\n  KEY `order_id` (`order_id`) USING BTREE\n) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;\n\n\nDROP TABLE IF EXISTS `tb_order_shipping`;\nCREATE TABLE `tb_order_shipping` (\n  `order_id` varchar(50) NOT NULL COMMENT '订单ID',\n  `receiver_name` varchar(20) DEFAULT NULL COMMENT '收货人全名',\n  `receiver_phone` varchar(20) DEFAULT NULL COMMENT '固定电话',\n  `receiver_mobile` varchar(30) DEFAULT NULL COMMENT '移动电话',\n  `receiver_state` varchar(10) DEFAULT NULL COMMENT '省份',\n  `receiver_city` varchar(10) DEFAULT NULL COMMENT '城市',\n  `receiver_district` varchar(20) DEFAULT NULL COMMENT '区/县',\n  `receiver_address` varchar(200) DEFAULT NULL COMMENT '收货地址，如：xx路xx号',\n  `receiver_zip` varchar(6) DEFAULT NULL COMMENT '邮政编码,如：310001',\n  `created` datetime DEFAULT NULL,\n  `updated` datetime DEFAULT NULL,\n  PRIMARY KEY (`order_id`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8;\n\n\nDROP TABLE IF EXISTS `tb_re_item`;\nCREATE TABLE `tb_re_item` (\n  `id` bigint(20) NOT NULL COMMENT '商品id，同时也是商品编号',\n  `title` varchar(100) NOT NULL COMMENT '商品标题',\n  `sell_point` varchar(500) DEFAULT NULL COMMENT '商品卖点',\n  `price` bigint(20) NOT NULL COMMENT '商品价格，单位为：分',\n  `num` int(10) NOT NULL COMMENT '库存数量',\n  `barcode` varchar(30) DEFAULT NULL COMMENT '商品条形码',\n  `image` varchar(500) DEFAULT NULL COMMENT '商品图片',\n  `cid` bigint(10) NOT NULL COMMENT '所属类目，叶子类目',\n  `status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '商品状态，1-正常，2-下架，3-删除',\n  `recovered` datetime NOT NULL COMMENT '回收时间',\n  PRIMARY KEY (`id`),\n  KEY `cid` (`cid`),\n  KEY `status` (`status`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='商品回收表';\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzaiyunduan123%2Fspringboot-manage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzaiyunduan123%2Fspringboot-manage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzaiyunduan123%2Fspringboot-manage/lists"}