百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

基于JAVA SpringBoot和HTML校园二手商城系统设计,附源码

toyiye 2024-06-06 22:11 12 浏览 0 评论

随着网络技术的飞跃,人类的社会生活和现代信息技术呈现出不断融合的趋势,生活中的日常账单支付、网上购物、网上学习和娱乐等。二手交易平台应运而生,其主要目的是充分交换人们闲置的产品。你可以在交易平台上发布二手商品,然后有需求的人联系购买。它既经济又环保,可以开发出人人都不会浪费的好品质。

二手交易系统是一种电子商务。综合目前国内二手交易市场来看,其交易对象多为住宅、汽车等相对昂贵的商品。参与者大多是有一定工作经验和经济实力的人,而在大学校园,学生群体中也存在着大量的闲置产品,这些产品的价值相对较低,但市场潜力不容忽视,由于学生对二手交易的需求,现有校园也有一些二手交易渠道,但大多通过跳蚤市场或社交媒体发布二手商品信息,自发性强;对于交易双方而言,没有可靠的担保,选择范围有限。随着网络技术的飞跃,人类的社会生活和现代信息技术呈现出不断融合的趋势,生活中的日常账单支付、网上购物、网上学习和娱乐等。





功能介绍:

前台

注册登录、轮播图展示;

商品展示(热销商品、新品上线、分类选择商品等);

用户个人中心(修改个人信息、查看订单等);

多种支付方式(支付宝、微信、银行卡等虚拟支付);

后台

会员管理、订单管理、编辑商品、编辑分类、轮播图配置、热销商品管理、新品上线管理、为你推荐管理。




技术介绍:

Java语言,SpringBoot框架,maven依赖管理,mysql数据库,HTML页面,bootstrap框架。



部分代码展示

@Controller
public class GoodsController {

    @Resource
    private NewBeeMallGoodsService newBeeMallGoodsService;
    @Resource
    private NewBeeMallCategoryService newBeeMallCategoryService;

    @GetMapping({"/search", "/search.html"})
    public String searchPage(@RequestParam Map<String, Object> params, HttpServletRequest request) {
        if (StringUtils.isEmpty(params.get("page"))) {
            params.put("page", 1);
        }
        params.put("limit", Constants.GOODS_SEARCH_PAGE_LIMIT);
        //封装分类数据
        if (params.containsKey("goodsCategoryId") && !StringUtils.isEmpty(params.get("goodsCategoryId") + "")) {
            Long categoryId = Long.valueOf(params.get("goodsCategoryId") + "");
            SearchPageCategoryVO searchPageCategoryVO = newBeeMallCategoryService.getCategoriesForSearch(categoryId);
            if (searchPageCategoryVO != null) {
                request.setAttribute("goodsCategoryId", categoryId);
                request.setAttribute("searchPageCategoryVO", searchPageCategoryVO);
            }
        }
        //封装参数供前端回显
        if (params.containsKey("orderBy") && !StringUtils.isEmpty(params.get("orderBy") + "")) {
            request.setAttribute("orderBy", params.get("orderBy") + "");
        }
        String keyword = "";
        //对keyword做过滤 去掉空格
        if (params.containsKey("keyword") && !StringUtils.isEmpty((params.get("keyword") + "").trim())) {
            keyword = params.get("keyword") + "";
        }
        request.setAttribute("keyword", keyword);
        params.put("keyword", keyword);
        //搜索上架状态下的商品
        params.put("goodsSellStatus", Constants.SELL_STATUS_UP);
        //封装商品数据
        PageQueryUtil pageUtil = new PageQueryUtil(params);
        request.setAttribute("pageResult", newBeeMallGoodsService.searchNewBeeMallGoods(pageUtil));
        return "mall/search";
    }

    @GetMapping("/goods/detail/{goodsId}")
    public String detailPage(@PathVariable("goodsId") Long goodsId, HttpServletRequest request) {
        if (goodsId < 1) {
            return "error/error_5xx";
        }
        NewBeeMallGoods goods = newBeeMallGoodsService.getNewBeeMallGoodsById(goodsId);
        if (goods == null) {
            NewBeeMallException.fail(ServiceResultEnum.GOODS_NOT_EXIST.getResult());
        }
        if (Constants.SELL_STATUS_UP != goods.getGoodsSellStatus()) {
            NewBeeMallException.fail(ServiceResultEnum.GOODS_PUT_DOWN.getResult());
        }
        NewBeeMallGoodsDetailVO goodsDetailVO = new NewBeeMallGoodsDetailVO();
        BeanUtil.copyProperties(goods, goodsDetailVO);
        goodsDetailVO.setGoodsCarouselList(goods.getGoodsCarousel().split(","));
        request.setAttribute("goodsDetail", goodsDetailVO);
        return "mall/detail";
    }

}
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head th:replace="mall/header::head-fragment('商城-订单列表','my-orders')">
</head>
<body>
<header th:replace="mall/header::header-fragment"></header>
<!-- nav -->
<nav th:replace="mall/header::nav-fragment"></nav>

<!-- personal -->
<div id="personal">
    <div class="self-info center">

        <!-- sidebar -->
        <div th:replace="mall/personal-sidebar::sidebar-fragment"></div>

        <div class="intro fr">
            <div class="uc-box uc-main-box">
                <div class="uc-content-box order-list-box">
                    <div class="box-hd">
                        <h1 class="title">我的订单
                            <small>请谨防钓鱼链接或诈骗电话,<a href="##">了解更多></a>
                            </small>
                        </h1>
                    </div>
                    <div class="box-bd">
                        <div id="J_orderList">
                            <ul class="order-list">
                                <th:block th:if="${#lists.isEmpty(orderPageResult.list)}">
                                    <img style="margin-top: 16px;"
                                         th:src="@{/mall/image/null-content.png}">
                                    <small><a th:href="@{/index}">    去购物></a>
                                    </small>
                                </th:block>
                                <th:block th:unless="${#lists.isEmpty(orderPageResult.list)}">
                                    <th:block th:each="order : ${orderPageResult.list}">

                                        <li class="uc-order-item uc-order-item-list">
                                            <div class="order-detail">
                                                <div class="order-summary">
                                                    <th:block th:if="${order.orderStatus<0}">
                                                        <div class="order-status-closed">
                                                    </th:block>
                                                    <th:block th:if="${order.orderStatus==0}">
                                                        <div class="order-status-need-pay">
                                                    </th:block>
                                                    <th:block th:if="${order.orderStatus>0}">
                                                        <div class="order-status-success">
                                                    </th:block>
                                                    <th:block th:text="${' '+order.orderStatusString}"></th:block>
                                                </div>
                                            </div>
                                            <table class="order-detail-table">
                                                <thead>
                                                <tr>
                                                    <th class="col-main"><p class="caption-info"
                                                                            th:text="${#dates.format(order.createTime, 'yyyy-MM-dd HH:mm:ss')}">
                                                        02月07日<span
                                                            class="sep">|</span>订单号:<a
                                                            href="##"
                                                            th:text="${order.orderNo}">201908121807</a><span
                                                            class="sep">|</span>在线支付</p></th>
                                                    <th class="col-sub"><p class="caption-price">应付金额:<span
                                                            class="num"
                                                            th:text="${order.totalPrice+'.00'}">1299.00</span>元
                                                    </p></th>
                                                </tr>
                                                </thead>
                                                <tbody>
                                                <tr>
                                                    <td class="order-items">
                                                        <ul class="goods-list">
                                                            <th:block
                                                                    th:each="item : ${order.newBeeMallOrderItemVOS}">
                                                                <li>
                                                                    <div class="figure figure-thumb">
                                                                        <a target="_blank"
                                                                           th:href="@{'/goods/detail/'+${item.goodsId}}">
                                                                            <img th:src="@{${item.goodsCoverImg}}"
                                                                                 width="80" height="80" alt="">
                                                                        </a>
                                                                    </div>
                                                                    <p class="name"><a target="_blank"
                                                                                       th:href="@{'/goods/detail/'+${item.goodsId}}"
                                                                                       th:text="${item.goodsName}">newbee</a>
                                                                    </p>
                                                                    <p class="price"
                                                                       th:text="${item.sellingPrice+'元 x '+item.goodsCount}">
                                                                        13元 × 1</p></li>
                                                            </th:block>
                                                        </ul>
                                                    </td>
                                                    <td class="order-actions"><a class="btn btn-small btn-line-gray"
                                                                                 th:href="@{${'/orders/'+order.orderNo}}">订单详情</a>
                                                    </td>
                                                </tr>
                                                </tbody>
                                            </table>
                        </div>
                        </li>
                        </th:block>
                        </th:block>
                        </ul>
                    </div>
                    <th:block th:unless="${#lists.isEmpty(orderPageResult.list)}">
                        <div id="J_orderListPages">
                            <div class="newbee-pagenavi">
                                <th:block th:if="${orderPageResult.currPage-2 >=1}"><a
                                        class="numbers"
                                        th:href="@{'/orders?page=' + ${orderPageResult.currPage-2}}"
                                        th:text="${orderPageResult.currPage -2}">1</a>
                                </th:block>
                                <th:block th:if="${orderPageResult.currPage-1 >=1}"><a
                                        class="numbers"
                                        th:href="@{'/orders?page=' + ${orderPageResult.currPage-1}}"
                                        th:text="${orderPageResult.currPage -1}">1</a>
                                </th:block>
                                <a href="##" class="numbers current" th:text="${orderPageResult.currPage}">1</a>
                                <th:block th:if="${orderPageResult.currPage+1<=orderPageResult.totalPage}"><a
                                        class="numbers"
                                        th:href="@{'/orders?page=' + ${orderPageResult.currPage+1}}"
                                        th:text="${orderPageResult.currPage +1}">1</a></th:block>
                                <th:block th:if="${orderPageResult.currPage+2<=orderPageResult.totalPage}"><a
                                        class="numbers"
                                        th:href="@{'/orders?page=' + ${orderPageResult.currPage+2}}"
                                        th:text="${orderPageResult.currPage +2}">1</a></th:block>
                            </div>
                        </div>
                    </th:block>
                </div>
            </div>
        </div>
    </div>
    <div class="clear"></div>
</div>
</div>

<div th:replace="mall/footer::footer-fragment"></div>

<!-- jQuery -->
<script th:src="@{/admin/plugins/jquery/jquery.min.js}"></script>
<script th:src="@{/mall/js/search.js}" type="text/javascript"></script>

</body>
</html>

获取源码请关注后私信“20230804”

相关推荐

为何越来越多的编程语言使用JSON(为什么编程)

JSON是JavascriptObjectNotation的缩写,意思是Javascript对象表示法,是一种易于人类阅读和对编程友好的文本数据传递方法,是JavaScript语言规范定义的一个子...

何时在数据库中使用 JSON(数据库用json格式存储)

在本文中,您将了解何时应考虑将JSON数据类型添加到表中以及何时应避免使用它们。每天?分享?最新?软件?开发?,Devops,敏捷?,测试?以及?项目?管理?最新?,最热门?的?文章?,每天?花?...

MySQL 从零开始:05 数据类型(mysql数据类型有哪些,并举例)

前面的讲解中已经接触到了表的创建,表的创建是对字段的声明,比如:上述语句声明了字段的名称、类型、所占空间、默认值和是否可以为空等信息。其中的int、varchar、char和decimal都...

JSON对象花样进阶(json格式对象)

一、引言在现代Web开发中,JSON(JavaScriptObjectNotation)已经成为数据交换的标准格式。无论是从前端向后端发送数据,还是从后端接收数据,JSON都是不可或缺的一部分。...

深入理解 JSON 和 Form-data(json和formdata提交区别)

在讨论现代网络开发与API设计的语境下,理解客户端和服务器间如何有效且可靠地交换数据变得尤为关键。这里,特别值得关注的是两种主流数据格式:...

JSON 语法(json 语法 priority)

JSON语法是JavaScript语法的子集。JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组JS...

JSON语法详解(json的语法规则)

JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔大括号保存对象中括号保存数组注意:json的key是字符串,且必须是双引号,不能是单引号...

MySQL JSON数据类型操作(mysql的json)

概述mysql自5.7.8版本开始,就支持了json结构的数据存储和查询,这表明了mysql也在不断的学习和增加nosql数据库的有点。但mysql毕竟是关系型数据库,在处理json这种非结构化的数据...

JSON的数据模式(json数据格式示例)

像XML模式一样,JSON数据格式也有Schema,这是一个基于JSON格式的规范。JSON模式也以JSON格式编写。它用于验证JSON数据。JSON模式示例以下代码显示了基本的JSON模式。{"...

前端学习——JSON格式详解(后端json格式)

JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptProgrammingLa...

什么是 JSON:详解 JSON 及其优势(什么叫json)

现在程序员还有谁不知道JSON吗?无论对于前端还是后端,JSON都是一种常见的数据格式。那么JSON到底是什么呢?JSON的定义...

PostgreSQL JSON 类型:处理结构化数据

PostgreSQL提供JSON类型,以存储结构化数据。JSON是一种开放的数据格式,可用于存储各种类型的值。什么是JSON类型?JSON类型表示JSON(JavaScriptO...

JavaScript:JSON、三种包装类(javascript 包)

JOSN:我们希望可以将一个对象在不同的语言中进行传递,以达到通信的目的,最佳方式就是将一个对象转换为字符串的形式JSON(JavaScriptObjectNotation)-JS的对象表示法...

Python数据分析 只要1分钟 教你玩转JSON 全程干货

Json简介:Json,全名JavaScriptObjectNotation,JSON(JavaScriptObjectNotation(记号、标记))是一种轻量级的数据交换格式。它基于J...

比较一下JSON与XML两种数据格式?(json和xml哪个好)

JSON(JavaScriptObjectNotation)和XML(eXtensibleMarkupLanguage)是在日常开发中比较常用的两种数据格式,它们主要的作用就是用来进行数据的传...

取消回复欢迎 发表评论:

请填写验证码