基于 java springboot+mybatis二手物品网站系统设计和实现
🍅 作者主頁:Java李楊勇?
🍅 簡介:Java領域優質創作者🏆、Java李楊勇公號作者? ?簡歷模板、學習資料、面試題庫、技術互助【關注我,都給你】
🍅 歡迎點贊 👍 收藏 ?留言 📝? ?
🍅 ?文末獲取源碼聯系方式?📝? ?
項目背景:
隨著互聯網的爆炸式發展,自中國加入WTO以來,電子商務在中國也得到了迅速的發展,現在互聯網上的各種電子商務網站都在迅速增長。開發一個適合自己的二手商品交易網站,希望能為您提供便捷的服務。作為一個網購愛好者,我很同情他們。我穿的衣服,我用的工具,我用的書,生活用品和各種商品都會在一段時間后被淘汰。一些用戶干脆把它們扔掉,這不僅是一種浪費,也污染了環境。還有一些用戶想要出售自己的產品,但卻很難找到買家,最終只能將產品賣給高端商品。因此,這種材料不能得到充分利用。為了解決這種資源的浪費,所以才開發了這個商品交易信息網站,借助互聯網的低交易成本。為廣大學生提供一個成本低廉、快捷高效的二手物品購買平臺。
主要技術設計:spring、 springmvc、? springboot、? mybatis 、 jquery 、 md5 、bootstarp.js? tomcat、富文本編譯器、攔截器等
主要功能設計:登錄、注冊、二手商品瀏覽、分類設置、模糊查找、輪播圖、熱銷商品、購物車、訂單、訂單流程控制、用戶管理、修改密碼等
用戶分類查看二手物品信息 管理員可以在后臺進行設置、用戶可以登錄個注冊賬號
用戶登錄模塊主要代碼設計:
<!DOCTYPE html> <html lang="en" xmlns:th="http://www.thymeleaf.org"> <head><meta charset="UTF-8"><title>OnlineMall-登錄</title><link rel="stylesheet" th:href="@{mall/css/common.css}"><link rel="stylesheet" th:href="@{mall/styles/login.css}"><link rel="stylesheet" th:href="@{mall/styles/header.css}"><link rel="stylesheet" th:href="@{/admin/plugins/sweetalert/sweetalert.css}"/> </head> <body style="background-image: url("11.jpg")"> <div class="form center"><div class="login"><div class="login_center"><div class="login_top"><div class="left fl">用戶登錄</div><div class="right fr"><a href="register.html" target="_self">立即注冊</a></div><div class="clear"></div><div class="under-line center"></div></div><form id="loginForm" onsubmit="return false;" action="##"><div class="login_main center"><div class="login-info">手機號: <input class="login-info-input" type="text" name="loginName"id="loginName"placeholder="請輸入你的手機號"/></div><div class="login-info">密 碼: <input class="login-info-input"id="password"type="password"name="password"placeholder="請輸入你的密碼"/></div><div class="login-info">驗證碼: <input class="login-info-input verify-code" type="text" name="verifyCode"placeholder="請輸入驗證碼" id="verifyCode"/><img alt="單擊圖片刷新!" style="top: 14px;position: relative;" th:src="@{/common/mall/kaptcha}"onclick="this.src='/common/mall/kaptcha?d='+new Date()*1"></div></div><div class="login_submit"><input class="submit" type="submit" onclick="login()" value="立即登錄"></div></form></div></div> </div> </body> <!-- jQuery --> <script th:src="@{/admin/plugins/jquery/jquery.min.js}"></script> <script th:src="@{/admin/dist/js/public.js}"></script> <script th:src="@{/admin/plugins/sweetalert/sweetalert.min.js}"></script> <script type="text/javascript">function login() {var loginName = $("#loginName").val();if (!validPhoneNumber(loginName)) {swal('請輸入正確的登錄名(即手機號)', {icon: "error",});return false;}var password = $("#password").val();if (!validPassword(password)) {swal('請輸入正確的密碼格式(6-20位字符和數字組合)', {icon: "error",});return false;}var verifyCode = $("#verifyCode").val();if (!validLength(verifyCode, 7)) {swal('請輸入正確的驗證碼', {icon: "error",});return false;}//驗證var params = $("#loginForm").serialize();var url = '/login';$.ajax({type: 'POST',//方法類型url: url,data: params,success: function (result) {if (result.resultCode == 200) {window.location.href = '/index';} else {swal(result.message, {icon: "error",});};},error: function () {swal("操作失敗", {icon: "error",});}});} </script> </html>一些熱門和推薦的二手商品信息、可以再后臺進行配置這些
用戶登錄模塊和注冊:
通過手機號和密碼以及驗證碼進行登錄注冊操作
我的購物車:
我的訂單流程以及收獲地址信息等
個人信息查看和修改
后臺管理:
后臺管理員主要對前端客戶端一些用戶的管理、商品的管理、輪播圖管理、商品分類管理以及訂單信息和訂單流程管理
輪播圖配置
商品分類以及排序等操作
商品管理和上下架等具體操作
package ltd.newbee.mall.controller.admin;import ltd.newbee.mall.common.ServiceResultEnum; import ltd.newbee.mall.controller.vo.NewBeeMallOrderItemVO; import ltd.newbee.mall.entity.NewBeeMallOrder; import ltd.newbee.mall.service.NewBeeMallOrderService; import ltd.newbee.mall.util.PageQueryUtil; import ltd.newbee.mall.util.Result; import ltd.newbee.mall.util.ResultGenerator; import org.springframework.stereotype.Controller; import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*;import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.util.List; import java.util.Map; import java.util.Objects;@Controller @RequestMapping("/admin") public class NewBeeMallOrderController {@Resourceprivate NewBeeMallOrderService newBeeMallOrderService;@GetMapping("/orders")public String ordersPage(HttpServletRequest request) {request.setAttribute("path", "orders");return "admin/newbee_mall_order";}/*** 列表*/@RequestMapping(value = "/orders/list", method = RequestMethod.GET)@ResponseBodypublic Result list(@RequestParam Map<String, Object> params) {if (StringUtils.isEmpty(params.get("page")) || StringUtils.isEmpty(params.get("limit"))) {return ResultGenerator.genFailResult("參數異常!");}PageQueryUtil pageUtil = new PageQueryUtil(params);return ResultGenerator.genSuccessResult(newBeeMallOrderService.getNewBeeMallOrdersPage(pageUtil));}/*** 修改*/@RequestMapping(value = "/orders/update", method = RequestMethod.POST)@ResponseBodypublic Result update(@RequestBody NewBeeMallOrder newBeeMallOrder) {if (Objects.isNull(newBeeMallOrder.getTotalPrice())|| Objects.isNull(newBeeMallOrder.getOrderId())|| newBeeMallOrder.getOrderId() < 1|| newBeeMallOrder.getTotalPrice() < 1|| StringUtils.isEmpty(newBeeMallOrder.getUserAddress())) {return ResultGenerator.genFailResult("參數異常!");}String result = newBeeMallOrderService.updateOrderInfo(newBeeMallOrder);if (ServiceResultEnum.SUCCESS.getResult().equals(result)) {return ResultGenerator.genSuccessResult();} else {return ResultGenerator.genFailResult(result);}}/*** 詳情*/@GetMapping("/order-items/{id}")@ResponseBodypublic Result info(@PathVariable("id") Long id) {List<NewBeeMallOrderItemVO> orderItems = newBeeMallOrderService.getOrderItems(id);if (!CollectionUtils.isEmpty(orderItems)) {return ResultGenerator.genSuccessResult(orderItems);}return ResultGenerator.genFailResult(ServiceResultEnum.DATA_NOT_EXIST.getResult());}/*** 配貨*/@RequestMapping(value = "/orders/checkDone", method = RequestMethod.POST)@ResponseBodypublic Result checkDone(@RequestBody Long[] ids) {if (ids.length < 1) {return ResultGenerator.genFailResult("參數異常!");}String result = newBeeMallOrderService.checkDone(ids);if (ServiceResultEnum.SUCCESS.getResult().equals(result)) {return ResultGenerator.genSuccessResult();} else {return ResultGenerator.genFailResult(result);}}/*** 出庫*/@RequestMapping(value = "/orders/checkOut", method = RequestMethod.POST)@ResponseBodypublic Result checkOut(@RequestBody Long[] ids) {if (ids.length < 1) {return ResultGenerator.genFailResult("參數異常!");}String result = newBeeMallOrderService.checkOut(ids);if (ServiceResultEnum.SUCCESS.getResult().equals(result)) {return ResultGenerator.genSuccessResult();} else {return ResultGenerator.genFailResult(result);}}/*** 關閉訂單*/@RequestMapping(value = "/orders/close", method = RequestMethod.POST)@ResponseBodypublic Result closeOrder(@RequestBody Long[] ids) {if (ids.length < 1) {return ResultGenerator.genFailResult("參數異常!");}String result = newBeeMallOrderService.closeOrder(ids);if (ServiceResultEnum.SUCCESS.getResult().equals(result)) {return ResultGenerator.genSuccessResult();} else {return ResultGenerator.genFailResult(result);}}}后臺商品信息的維護
商品訂單的處理和流程控制
修改密碼:
數據庫主要表設計:
用戶表:
CREATE TABLE `NewTable` ( `user_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '用戶主鍵id' , `nick_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '用戶昵稱' , `login_name` varchar(11) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '登陸名稱(默認為手機號)' , `password_md5` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT 'MD5加密后的密碼' , `introduce_sign` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '個性簽名' , `address` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '收貨地址' , `is_deleted` tinyint(4) NOT NULL DEFAULT 0 COMMENT '注銷標識字段(0-正常 1-已注銷)' , `locked_flag` tinyint(4) NOT NULL DEFAULT 0 COMMENT '鎖定標識字段(0-未鎖定 1-已鎖定)' , `create_time` datetime NULL DEFAULT NULL COMMENT '注冊時間' , PRIMARY KEY (`user_id`) )商品信息表:
CREATE TABLE `NewTable` ( `goods_id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '商品表主鍵id' , `goods_name` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '商品名' , `goods_intro` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '商品簡介' , `goods_category_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '關聯分類id' , `goods_cover_img` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '/admin/dist/img/no-img.png' COMMENT '商品主圖' , `goods_carousel` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '/admin/dist/img/no-img.png' COMMENT '商品輪播圖' , `goods_detail_content` text CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '商品詳情' , `original_price` int(11) NOT NULL DEFAULT 1 COMMENT '商品價格' , `selling_price` int(11) NOT NULL DEFAULT 1 COMMENT '商品實際售價' , `stock_num` int(11) NOT NULL DEFAULT 0 COMMENT '商品庫存數量' , `tag` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '商品標簽' , `goods_sell_status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '商品上架狀態 0-下架 1-上架' , `create_user` int(11) NOT NULL DEFAULT 0 COMMENT '添加者主鍵id' , `create_time` datetime NULL DEFAULT NULL COMMENT '商品添加時間' , `update_user` int(11) NOT NULL DEFAULT 0 COMMENT '修改者主鍵id' , `update_time` datetime NULL DEFAULT NULL COMMENT '商品修改時間' , PRIMARY KEY (`goods_id`) )訂單表設計:
CREATE TABLE `NewTable` ( `order_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '訂單表主鍵id' , `order_no` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '訂單號' , `user_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '用戶主鍵id' , `total_price` int(11) NOT NULL DEFAULT 1 COMMENT '訂單總價' , `pay_status` bigint(20) NOT NULL DEFAULT 0 COMMENT '支付狀態:0.未支付,1.支付成功,-1:支付失敗' , `pay_type` bigint(20) NOT NULL DEFAULT 0 COMMENT '0.無 1.支付寶支付 2.微信支付' , `pay_time` datetime NULL DEFAULT NULL COMMENT '支付時間' , `order_status` bigint(20) NOT NULL DEFAULT 0 COMMENT '訂單狀態:0.待支付 1.已支付 2.配貨完成 3:出庫成功 4.交易成功 -1.手動關閉 -2.超時關閉 -3.商家關閉' , `extra_info` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '訂單body' , `user_name` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '收貨人姓名' , `user_phone` varchar(11) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '收貨人手機號' , `user_address` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '收貨人收貨地址' , `is_deleted` tinyint(4) NOT NULL DEFAULT 0 COMMENT '刪除標識字段(0-未刪除 1-已刪除)' , `create_time` datetime NULL DEFAULT NULL COMMENT '創建時間' , `update_time` datetime NULL DEFAULT NULL COMMENT '最新修改時間' , PRIMARY KEY (`order_id`) )相關系統設計實現推薦:
基于java springboot+mybatis電影售票網站管理系統前臺+后臺設計和實現
基于java ssm springboot+mybatis酒莊內部管理系統設計和實現
基于JAVA springboot+mybatis智慧生活分享平臺設計和實現
查看更多博主首頁更多實戰項目 >>>
?
好了,今天就到這兒吧,小伙伴們點贊、收藏、評論,一鍵三連走起呀,下期見~~
獲取源碼:
總體來說這個項目功能相對還是比較簡單優秀的、適合初學者作為課程設計和畢業設計參考?
查看下方微信公眾號獲取聯系方式~
精彩系列推薦
Java畢設項目精品實戰案例《100套》
HTML5大作業實戰案例《100套》
總結
以上是生活随笔為你收集整理的基于 java springboot+mybatis二手物品网站系统设计和实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于JavaWeb SSM mybati
- 下一篇: 《零基础》MySQL 排序(十八)