订单管理系统 大学生数据库大作业/数据库实践MYSQL

订单管理系统从入门到入土

  1. 下载Maven,Nodejs

  2. 创建一个数据库sql_end,创建四个数据库表,并确保用户名为root用户密码为123456

  3. 再IDEA中加载Springboot依赖(可以直接新建一个任意名称的文件夹,项目导入spring的框架),启动spring项目

  4. 打开index.html

  5. 输入用户名和密码,点击注册,再点击登录

  6. 点击个人中心,点击修改用户信息,修改自己的余额

  7. 点击逛店铺,选择一个商城点击进入按钮

  8. 选择一个商品点击订单按钮

  9. 点击个人订单,查看订单信息

  10. 返回index.html

  11. 用户名和密码都输入admin

  12. 点击订单管理,选择刚刚下单的订单,点击未完成,点击确定

数据库

建立了用户表,订单表,商铺表,商品表

用户表user

username:用户名 char(20)

password:用户密码 char(20)

user_id:用户编号(int)(主键,非空,自动增加,与订单表的user_id建立外键约束)

usertel:用户电话 char(10)

address:用户地址 char(20)

money:用户余额

商品表shop

name:商铺名称(char)

shop_id:商铺编号(int)(主键,非空,自动增加,与订单表的shop_id建立外键约束)

price:价格(int)

inventory:库存(int)

store_id:商铺编号

订单表shoporder

order_id:商铺ID(int)

user_id:用户ID(int)

shop_id:订单ID (主键,非空,自动增加)

orderdate:订单日期(date)

status:订单状态 int (0表示未送达 1 表示已送达)

商铺表store

name:商铺名称 char(20)

address:商铺地址 char(20)

store_id:商铺编号 (int)(主键,非空,自动增加)

store_tel:商铺电话 char(20)

接口

用户

http://localhost:8080

注册

/usersign

接收两个参数 username(String) password(String)

无返回值

登录

/userlog

接收两个参数 username(String) password(String)

返回值:(String) False / userid

更改信息

/changeuser

接受五个参数 username usertel address money userid

无返回值

用户信息

/user

无接受参数

返回值: String

商品

部分商品

/shop

接受一个参数: store_id

返回值: ArrayList String(shopping)

全部商品

/allshop

无接受参数

返回值:ArrayList String shop

点店铺###已废弃

/shopupdate

接收两个参数: String userid shopid

返回值:String order

用下面那个

买商品

/buyshop

接收两个参数: String userid shopid

返回值:String order

本接口基本等同于点店铺

增加库存

/shopaddinventory

接收一个参数: name(商品名称)

返回值: YES

增加商品

/shopadd

接收四个参数 name price inventory store(商铺id)

返回值:YES

订单

展示订单#

/order

无接收参数

返回值: ArrList String Order

完成订单

/completeorder

接收一个参数: String orderid

返回值: String YES

用户订单

接收一个参数:userid

返回值:ArrayList String order

商铺

/store

无接受参数

范湖只:ArrayList String store

页面实现

登录界面

用户可以在用户名,密码输入框中输入数据,并点击登录按钮,前端通过axios框架将用户名和密码上传后端,后端连接数据库中用户表,将用户名和密码进行匹配,当查询到结果后,后端返回一个用户id,前端接收数据并跳转到对应的界面(请注意,前端页面会将用户id作为查询参数传给下一个界面),当查询不到结果,后端返回一个False,前端接收数据并通过alter进行提示,(请注意,当用户名为admin时会跳转到管理员界面,管理员界面不会传递用户id)

当用户点击注册按钮时,前端通过axios框架将用户名和密码上传后端,后端连接数据库中用户表,插入一条数据到用户表中

普通用户界面

逛店铺

在逛店铺界面中,当页面加载时(onload),前端通过axios框架请求后端数据,后端连接数据查询店铺表,并将查询到的数据进行封装,再传回前端,前端接收数据并通过appebdChild对商铺进行渲染

用户可以选择商城,当用户点击商城中的+进入按钮后,前端通过axios框架将商城id上传后端,后端连接数据查询店铺表和商品表,将商品表中store_id和商城id进行连接查询,并将商品信息进行封装,将数据返回前端,前端接收数据并通过appebdChild对商铺进行渲染

并在商城中的商品列表中购买物品,点击订单按钮,会弹出config确认框,点击确认后会通过axios将用户id和商品id传递到后端,在后端,根据用户id,商品id查询用户余额商品价格,当用户余额大于商品价格时,会将数据库中的商品库存-1用户的余额减少商品的价格,并且在订单表中添加一组新的数据。

个人订单

在个人订单界面中,用户可以查看订单的状态,当页面加载时(onload),前端通过axios将用户id传递到后端,后端将连接数据库,查询订单表并通过用户id进行信息过滤,仅传输和用户id相同的订单

再次查询订单表,通过用户id和订单表中的user_id对应,并调用商品表,将商品表中的信息通过Mao进行映射

最后将订单信息进行封装,前端接收数据,并通过appebdChild的方法对数据进行渲染

个人中心

在个人中心界面中,用户可以查询自己的信息,页面加载时(onload),前端通过axios将用户id传递到后端,后端将连接数据库,查询用户表并通过用户id进行信息过滤,并将信息进行封装并返回给前端,前端通过appebdChild对数据进行渲染

当用户点击修改用户信息按钮时,会弹出一个模态框,用户可以输入全部/部分信息,当用户在输入框中输入信息,并点击提交按钮时,前端会收集输入框中的数据,没有填写的信息会通过用户原本的数据进行填充,并将数据上传后端,后端连接用户表,并通过用户id进行信息选择,并且将上传的数据进行更新

管理员界面

店铺管理

在店铺管理界面中,管理员可以点击添加店铺按钮,在弹出的模态框中,填写数据(请注意商品名称需要和商铺名称对应),当填写无误后点击提交按钮将数据通过axios方法上传到后端,后端连接数据库中的订单表,并将数据插入到订单表中。

商铺名称 商铺ID
数码城 2
文具超市 3
零食商店 4

订单管理

在订单管理界面中,管理员可以点击订单状态中的未完成按钮,在弹出的config中点击是否确认,当点击确认后数据通过axios方法上传到后端,后端连接数据库中的订单表,并将订单的状态更新为1(其中0代表未送达1表示已送达)。

用户管理

在个人中心界面中,管理员可以查询所有用户的信息,页面加载时(onload),前端通过axios将连接后端,后端将连接数据库,查询用户表,并将用户信息全部返回,前端接收数据,并通过appebdChild的方法对数据进行渲染

当用户点击修改用户信息按钮时,会弹出一个模态框,管理可以输入全部/部分信息(请注意,用户id项是必填项,且不能是没有出现过的用户),当管理员在输入框中输入信息,并点击提交按钮时,前端会收集输入框中的数据,没有填写的信息会通过用户原本的数据进行填充,并将数据上传后端,后端连接用户表,并通过用户id进行信息选择,并且将上传的数据进行更新

本次项目通过原生html+axios+springboot+mysql实现,本来最开始想用vue来整的,但是最开始没想能写这么多,而且vue也好久没写了,甚至springboot也是刚看几节课.......

上次传的C语言大作业好像也是这个题目来着,这次不用在局限在终端实现了(虽然自己这次做的也很菜.......)这次的项目做了整整两天,期间报了非常多的bug,也学到了很多东西,而且做的时候也感觉挺兴奋的

一些没有做的:功能单调,用户头像,权限控制,token,网络协议控制,一些基本的判断(商品库存不能为负等),git版本控制(最近突然连不上github了),页面应该用vue进行设计,点击按钮时,会弹出多次,(感觉和事件冒泡有点关系),有些问题可以解决,但是快期末了就先不考虑了那么多了

反省到的:一个人做确实好累,代码没有考虑封装,导致代码重复性非常的高,这也是我感觉到累的主要原因,前端页面做的好丑,springboot会的太少了,通过@RequestBody传递参数,并用Map接收值的时候,如果参数只有一个那么会提示用不了Map(postman可以,后面单参数我传了个没用的参数防止报错),没用promise,感觉有点回调地狱了

学习到的,学习到了如何设置springboot的注解,学习到了如何使用postman等等。

项目结构

订单管理系统 大学生数据库大作业/数据库实践MYSQL_第1张图片

store

CREATE TABLE `store` (
  `name` char(20) DEFAULT NULL,
  `adddress` char(20) DEFAULT NULL,
  `store_id` int NOT NULL AUTO_INCREMENT,
  `store_tel` char(20) DEFAULT NULL,
  PRIMARY KEY (`store_id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

shop

CREATE TABLE `shop` (
  `name` char(20) DEFAULT NULL,
  `shop_id` int NOT NULL AUTO_INCREMENT,
  `price` int DEFAULT NULL,
  `inventory` int DEFAULT NULL,
  `store_id` int DEFAULT NULL,
  `info` char(20) DEFAULT NULL,
  PRIMARY KEY (`shop_id`)
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

shoporder

CREATE TABLE `shoporder` (
  `order_id` int NOT NULL AUTO_INCREMENT,
  `user_id` int DEFAULT NULL,
  `shop_id` int DEFAULT NULL,
  `orderdate` date DEFAULT NULL,
  `status` int DEFAULT NULL,
  PRIMARY KEY (`order_id`),
  KEY `fk_uid` (`user_id`),
  KEY `fk_sid` (`shop_id`),
  CONSTRAINT `fk_sid` FOREIGN KEY (`shop_id`) REFERENCES `shop` (`shop_id`),
  CONSTRAINT `fk_uid` FOREIGN KEY (`user_id`) REFERENCES `user` (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=39 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

user

CREATE TABLE `user` (
  `username` char(20) NOT NULL,
  `password` char(20) NOT NULL,
  `user_id` int NOT NULL AUTO_INCREMENT,
  `usertel` char(10) DEFAULT NULL,
  `address` char(20) DEFAULT NULL,
  `money` int DEFAULT NULL,
  PRIMARY KEY (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

userController :

package com.gouzi666.spring.demos.web;

import org.springframework.web.bind.annotation.*;

import java.sql.*;
import java.util.ArrayList;
import java.util.Map;

@RestController
public class userController {

    @RequestMapping("/usersign")
    @CrossOrigin
    public String usersign(@RequestBody Map user) throws SQLException {
        System.out.println(user);
        Connection connection  = DriverManager.getConnection("jdbc:mysql:///sql_end","root","123456");
        PreparedStatement preparedStatement = connection.prepareStatement("insert into user values(?,?,null,?,?,0)");
        preparedStatement.setString(1,user.get("username"));
        preparedStatement.setString(2,user.get("password"));
        preparedStatement.setString(3,user.get("tel"));
        preparedStatement.setString(4,user.get("address"));
        int i = preparedStatement.executeUpdate();
        preparedStatement.close();
        connection.close();
        if (i>0) {
            System.out.println("yes");
        } else{
            System.out.println("no");
        }
        return "YES";
    }
    @RequestMapping("/userlog")
    @CrossOrigin
    public String userlog(@RequestBody Map user) throws SQLException {
        Connection connection  = DriverManager.getConnection("jdbc:mysql:///sql_end","root","123456");
        PreparedStatement preparedStatement = connection.prepareStatement("select * from user where username = ? and password = ?");
        preparedStatement.setString(1,user.get("username"));
        preparedStatement.setString(2,user.get("password"));
        ResultSet resultSet = preparedStatement.executeQuery();
        if (resultSet.next()){
            int id = resultSet.getInt("user_id");
            preparedStatement.close();
            connection.close();
            return String.valueOf(id);
        }
        else{
            preparedStatement.close();
            connection.close();
            return "False";
        }
    }
    @PostMapping("/changeuser")
    @CrossOrigin
    public void changeuser(@RequestBody Map user) throws SQLException{
        System.out.println(user);
        Connection connection  = DriverManager.getConnection("jdbc:mysql:///sql_end","root","123456");
        String sql = "update user set username = ? , usertel = ? , address = ? where user_id = ?";
        PreparedStatement preparedStatement = connection.prepareStatement(sql);
        preparedStatement.setString(1,user.get("username"));
        preparedStatement.setString(2,user.get("usertel"));
        preparedStatement.setString(3,user.get("address"));

        String ud = user.get("userid");
        int userid = Integer.parseInt(ud);

        preparedStatement.setInt(4,userid);
        int i = preparedStatement.executeUpdate();
        if (i > 0){
            System.out.println("YES");
        } else{
            System.out.println("NO");
        }
        preparedStatement.close();
        connection.close();
    }

    @RequestMapping("/user")
    @CrossOrigin
    public String user() throws SQLException {
        Connection connection  = DriverManager.getConnection("jdbc:mysql:///sql_end","root","123456");
        PreparedStatement preparedStatement = connection.prepareStatement("select * from user");
        ResultSet resultSet = preparedStatement.executeQuery();
        ArrayList users = new ArrayList<>();
        while(resultSet.next()){
            String username = resultSet.getString("username");
            String address = resultSet.getString("address");
            int userid = resultSet.getInt("user_id");
            String usertel = resultSet.getString("usertel");
            int monery = resultSet.getInt("money");
            PreparedStatement preparedStatementnum = connection.prepareStatement("select count(*) as num from shoporder where user_id = ?");
            preparedStatementnum.setInt(1,userid);
            ResultSet resultSet1 = preparedStatementnum.executeQuery();
            int num = 0;
            if (resultSet1.next()){
                num = resultSet1.getInt("num");
            }
            resultSet1.close();
            preparedStatementnum.close();
            User cur = new User(username,address,userid,usertel,num,monery);
            users.add(cur);
        }
        return users.toString();
    }
}
class User{
    String username;
    String password;
    String address;
    int userid;
    String usertel;
    int monery;
    int num;

    public User(String username, String address, int userid, String usertel, int num,int monery) {
        this.username = username;
        this.address = address;
        this.userid = userid;
        this.usertel = usertel;
        this.num = num;
        this.monery = monery;
    }

    @Override
    public String toString() {
        return "{" + "\"username\": \"" + username +"\""+ ','+"\"num\": \"" + num +"\""+ ',' +"\"monery\": \"" + monery +"\""+ ',' + "\"address\" :\"" + address + "\",\"userid\":\""
                + userid + "\",\"usertel\":\"" + usertel +"\"" +'}';
        }
}

orderController :

package com.gouzi666.spring.demos.web;

//import com.sun.org.apache.xpath.internal.operations.Or;
//import com.sun.org.apache.xpath.internal.operations.Or;
import org.springframework.web.bind.annotation.*;

import java.sql.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

@RestController
public class orderController {

    @RequestMapping("/order")
    @CrossOrigin
    public String order(@RequestBody @RequestParam Map order) throws Exception {

        Connection connection = DriverManager.getConnection("jdbc:mysql:///sql_end", "root", "123456");
        String sql="select * from shoporder";
        PreparedStatement preparedStatementorder = connection.prepareStatement(sql);
        ResultSet resultSetorder = preparedStatementorder.executeQuery();
        sql = "select * from shop";
        PreparedStatement preparedStatementshop = connection.prepareStatement(sql);
        ResultSet resultSetshop = preparedStatementshop.executeQuery();
        sql = "select * from user";
        PreparedStatement preparedStatementuser = connection.prepareStatement(sql);
        ResultSet resultSetuser = preparedStatementuser.executeQuery();
        Map shop = new HashMap<>(),user = new HashMap<>();
        while (resultSetshop.next()){
            String name = resultSetshop.getString("name");
            int id = resultSetshop.getInt("shop_id");
            shop.put(id,name);
        }
        while (resultSetuser.next()){
            String name = resultSetuser.getString("username");
            int id = resultSetuser.getInt("user_id");
//            System.out.println(name+"\t"+id);
            user.put(id,name);
        }
        ArrayList orders = new ArrayList<>();
        while (resultSetorder.next()){
            int order_id = resultSetorder.getInt("order_id");
            int user_id = resultSetorder.getInt("user_id");
            int shop_id = resultSetorder.getInt("shop_id");
            Date orderdate = resultSetorder.getDate("orderdate");
            Order o = new Order(user.get(user_id),shop.get(shop_id),orderdate,resultSetorder.getInt("status"),resultSetorder.getInt("order_id"));
            orders.add(o);
        }
        return orders.toString();
    }
    @PostMapping("/completeorder")
    @CrossOrigin
    public String completeorder(@RequestBody Map order) throws SQLException {
        Connection connection = DriverManager.getConnection("jdbc:mysql:///sql_end", "root", "123456");
        String sql="update shoporder set status = 1 where order_id = ?";
        PreparedStatement preparedStatement = connection.prepareStatement(sql);
        String shop_id = order.get("orderid");
        int sd = Integer.parseInt(shop_id);
        preparedStatement.setInt(1,sd);
        int i = preparedStatement.executeUpdate();
//        ResultSet resultSet = (ResultSet) i;
        return "YES";
    }
    @PostMapping("/deleteorder")
    @CrossOrigin
    public String deleteorder(@RequestBody Map order) throws SQLException {
        System.out.println(order);
        Connection connection = DriverManager.getConnection("jdbc:mysql:///sql_end", "root", "123456");
        String sql="delete from shoporder where order_id = ?";
        PreparedStatement preparedStatement = connection.prepareStatement(sql);
        String shop_id = order.get("orderid");
        int sd = Integer.parseInt(shop_id);
        preparedStatement.setInt(1,sd);
        int i = preparedStatement.executeUpdate();
//        ResultSet resultSet = (ResultSet) i;
        return "YES";
    }
    @RequestMapping("/userorder")
    @CrossOrigin
    public String userorder(@RequestBody Map order) throws SQLException {
        System.out.println(order);
        Connection connection = DriverManager.getConnection("jdbc:mysql:///sql_end", "root", "123456");
        String sql="select * from shoporder where user_id = ?";

        PreparedStatement preparedStatementuser = connection.prepareStatement(sql);
        String ud = order.get("userid");
        int userid = Integer.parseInt(ud);
        preparedStatementuser.setInt(1,userid);
        ResultSet resultSet = preparedStatementuser.executeQuery();//获取用户订单

        sql = "select * from shop";

        PreparedStatement preparedStatementshop = connection.prepareStatement(sql);
        ResultSet resultSet1 = preparedStatementshop.executeQuery();
        Map shop = new HashMap<>();
        while (resultSet1.next()){
            shop.put(resultSet1.getInt("shop_id"),resultSet1.getString("name"));
        }
        ArrayList s = new ArrayList<>();
        while (resultSet.next()){
            Order o = new Order("二狗",shop.get(resultSet.getInt("shop_id")),resultSet.getDate("orderdate"),resultSet.getInt("status"),resultSet.getInt("order_id"));
            s.add(o);
        }
        return s.toString();
    }

    public class Order{
        String username;
        String shopname;

        Date date;
        int status;
        int orderid;

        public Order(String username, String shopname, Date date,int status,int orderid) {
            this.username = username;
            this.shopname = shopname;
            this.date = date;
            this.status = status;
            this.orderid = orderid;
        }

        @Override
        public String toString() {
            return "{" + "\"username\": \"" + username +"\""+ ','+"\"orderid\": \"" + orderid +"\""+ ','+"\"status\": \"" + status +"\""+ ',' + "\"shopname\" :\"" + shopname + "\",\"date\":\""
                    + date + "\""+'}';
            }
    }
}

shopController :

package com.gouzi666.spring.demos.web;

import com.fasterxml.jackson.databind.util.JSONPObject;
import org.springframework.web.bind.annotation.*;

import java.sql.*;
import java.text.DateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Map;

@RestController

public class shopController {
    class shopping{
        private String name;
        private int shop_id;
        private int price;
        private int inventory;

        private String info;
        @Override
        public String toString() {
            return "{" + "\"name\": \"" + name +"\""+ ','+"\"info\": \"" + info +"\""+ ',' + "\"shop_id\" :\"" + shop_id + "\",\"price\":\""
                    + price + "\",\"inventory\":\"" + inventory +"\"" +'}';
        }

        public shopping(String name, int shop_id, int price, int inventory,String info) {
            this.name = name;
            this.shop_id = shop_id;
            this.price = price;
            this.inventory = inventory;
            this.info = info;
        }
    }
    //JSON

    @PostMapping ("/shop")
    @CrossOrigin
    public String shop(@RequestBody String store) throws SQLException {
        System.out.println(store);
        int storeid=0;
        int flag = 0;
        for (int i = 0;i=1&&store.charAt(i)=='\"'){
                flag++;
                continue;
            }
            if (flag==3){
                break;
            }
            if (flag>=1){
                storeid = storeid * 10 + (store.charAt(i)-'0');
            }
        }
        System.out.println(storeid);
        Connection connection = DriverManager.getConnection("jdbc:mysql:///sql_end", "root", "123456");
        String sql="select * from shop where store_id = ?";
        PreparedStatement preparedStatement = connection.prepareStatement(sql);
//        String sp = shop.get("storeid");
//        int storeid = Integer.parseInt(store.get("storeid"));
        preparedStatement.setInt(1,storeid);
        ResultSet resultSet = preparedStatement.executeQuery();
//        JSON
        ArrayList arr = new ArrayList<>();
        while (resultSet.next()){
            String name = resultSet.getString("name");
            int id = resultSet.getInt("shop_id");
            int price = resultSet.getInt("price");
            int inventory = resultSet.getInt("inventory");
            String info  = resultSet.getString("info");
            shopping s = new shopping(name,id,price,inventory,info);
            arr.add(s);
        }
        resultSet.close();
        preparedStatement.close();
        connection.close();
        System.out.println(arr.toString());
        return arr.toString();
//        return "STRING";
    }
    @PostMapping("/changeshop")
    @CrossOrigin
    public String changeshop(@RequestBody Map shop) throws SQLException {
        System.out.println(shop);
        Connection connection = DriverManager.getConnection("jdbc:mysql:///sql_end", "root", "123456");
        String sql="update shop set name = ? , price = ? , inventory = ? , info = ? where shop_id = ?";
        PreparedStatement preparedStatement = connection.prepareStatement(sql);
        preparedStatement.setString(1,shop.get("name"));
        int price =  Integer.parseInt(shop.get("price"));

        preparedStatement.setInt(2,price);
        int inventory = Integer.parseInt(shop.get("inventory"));

        preparedStatement.setInt(3,inventory);
        preparedStatement.setString(4,shop.get("info"));

        int shopid = Integer.parseInt(shop.get("shopid"));

        System.out.println(shopid);
        preparedStatement.setInt(5,shopid);
        int i = preparedStatement.executeUpdate();
        if (i>1){
            return "YES\n";
        }
        else{
            return "NO\n";
        }

/*
*   `name` char(20) DEFAULT NULL,
  `shop_id` int NOT NULL AUTO_INCREMENT,
  `price` int DEFAULT NULL,
  `inventory` int DEFAULT NULL,
  `store_id` int DEFAULT NULL,
  `info` char(20) DEFAULT NULL,*/
    }

    @RequestMapping ("/allshop")
    @CrossOrigin
    public String allshop() throws SQLException {
        Connection connection = DriverManager.getConnection("jdbc:mysql:///sql_end", "root", "123456");
        String sql="select * from shop";
        PreparedStatement preparedStatement = connection.prepareStatement(sql);
        ResultSet resultSet = preparedStatement.executeQuery();
        ArrayList arr = new ArrayList<>();
        while (resultSet.next()){
            String name = resultSet.getString("name");
            int id = resultSet.getInt("shop_id");
            int price = resultSet.getInt("price");
            int inventory = resultSet.getInt("inventory");
            String info = resultSet.getString("info");
            shopping s = new shopping(name,id,price,inventory,info);
            arr.add(s);
        }
        resultSet.close();
        preparedStatement.close();
        connection.close();
        System.out.println(arr.toString());
        return arr.toString();
//        return "STRING";
    }

//    @RequestMapping("/shopupdate")
//    @CrossOrigin
//    public String shopupdate(@RequestBody @RequestParam Map shop) throws SQLException {
//        System.out.println(shop);
//        Connection connection = DriverManager.getConnection("jdbc:mysql:///sql_end", "root", "123456");
//        String sql="update shop set inventory = inventory - 1 where shop_id = ?";
//        PreparedStatement preparedStatement = connection.prepareStatement(sql);
//        String s = shop.get("shopid");
//        int shopid = Integer.parseInt(s);
//        preparedStatement.setInt(1,shopid);
//        int resultSet = preparedStatement.executeUpdate();
//        preparedStatement.close();
//
//
        connection = DriverManager.getConnection("jdbc:mysql:///sql_end", "root", "123456");
//        sql="insert into shoporder values(null,?,?,?)";
//        PreparedStatement preparedStatementorder = connection.prepareStatement(sql);
//        String ud = shop.get("userid");
//        int userid = Integer.parseInt(ud);
//        java.util.Date utildate = new java.util.Date();
//        java.sql.Date sqldate = new java.sql.Date(utildate.getTime());
//        preparedStatementorder.setInt(1,userid);
//        preparedStatementorder.setInt((2),shopid);
//        preparedStatementorder.setDate((3),sqldate);
//
//        preparedStatementorder.executeUpdate();
//
//        preparedStatementorder.close();
//        connection.close();
//        return "Hello";
//    }

    @RequestMapping("/buyshop")
    @CrossOrigin
    public String buyshop (@RequestBody Map shop) throws SQLException{
        System.out.println(shop);
        String ud = shop.get("userid"),sd = shop.get("shopid");
        int umoney = usermoney(Integer.parseInt(ud)),smoney = shopmoney(Integer.parseInt(sd));
        if (umoney shop) throws SQLException{
        System.out.println(shop);

        Connection connection = DriverManager.getConnection("jdbc:mysql:///sql_end", "root", "123456");
        String sql="update shop set inventory = inventory + 1 where name = ?";
        PreparedStatement preparedStatement = connection.prepareStatement(sql);
        preparedStatement.setString(1,shop.get("name"));
        int i = preparedStatement.executeUpdate();
        preparedStatement.close();
        connection.close();
        return "YES";
    }
@PostMapping("/shopadd")
@CrossOrigin
    public String shopadd(@RequestBody Map shop) throws SQLException {
    System.out.println(shop);
        Connection connection = DriverManager.getConnection("jdbc:mysql:///sql_end", "root", "123456");
        String sql="insert into shop values(?,null,?,?,?,?)";
        PreparedStatement preparedStatement = connection.prepareStatement(sql);
        preparedStatement.setString(1,shop.get("name"));
        int price = Integer.parseInt(shop.get("price"));
        int inventory = Integer.parseInt(shop.get("inventory"));
        int storeid = Integer.parseInt(shop.get("store"));
        String info  = shop.get("info");
        preparedStatement.setInt(2,price);
        preparedStatement.setInt(3,inventory);
        preparedStatement.setInt(4,storeid);
        preparedStatement.setString(5,info);
    int i = preparedStatement.executeUpdate();
    return "YES";
}
    public int usermoney(int userid) throws SQLException {
        Connection connection = DriverManager.getConnection("jdbc:mysql:///sql_end", "root", "123456");
        String sql="select * from user where user_id = ?";
        PreparedStatement preparedStatement = connection.prepareStatement(sql);
        preparedStatement.setInt(1,userid);
        ResultSet resultSet = preparedStatement.executeQuery();
        int cur = 0;
        while(resultSet.next()){
            cur = resultSet.getInt("money");
        }
        preparedStatement.close();
        connection.close();
        return cur;
    }
    public void descusermonery(int userid,int money) throws SQLException {
        System.out.println(userid+"\t"+money);
        Connection connection = DriverManager.getConnection("jdbc:mysql:///sql_end", "root", "123456");
        String sql="update user set money = money - ? where user_id = ?";
        PreparedStatement preparedStatement = connection.prepareStatement(sql);
        preparedStatement.setInt(1,money);
        preparedStatement.setInt(2,userid);
        int i = preparedStatement.executeUpdate();
//        int rel = i;
        preparedStatement.close();
        connection.close();
    }
    public int shopmoney(int shopid) throws SQLException {
        Connection connection = DriverManager.getConnection("jdbc:mysql:///sql_end", "root", "123456");
        String sql="select * from shop where shop_id = ?";
        PreparedStatement preparedStatement = connection.prepareStatement(sql);
        preparedStatement.setInt(1,shopid);
        ResultSet resultSet = preparedStatement.executeQuery();
        int cur = 0;
        while(resultSet.next()){
            cur = resultSet.getInt("price");
        }
        return cur;
    }
}

stroeController 

package com.gouzi666.spring.demos.web;

import org.springframework.web.bind.annotation.*;

import java.sql.*;
import java.util.ArrayList;
import java.util.Map;

@RestController
@CrossOrigin
public class stroeController {
    @RequestMapping("/store")
    public String store() throws SQLException {
        Connection connection = DriverManager.getConnection("jdbc:mysql:///sql_end", "root", "123456");
        String sql="select * from store";
        PreparedStatement preparedStatementorder = connection.prepareStatement(sql);
        ResultSet resultSet = preparedStatementorder.executeQuery();
        ArrayList s = new ArrayList<>();
        while(resultSet.next()){
            String name = resultSet.getString("name");
            String address = resultSet.getString("adddress");
            String tel = resultSet.getString("store_tel");
            int store_id = resultSet.getInt("store_id");
            Stroe cur = new Stroe(name,address,tel,store_id);
            s.add(cur);
        }
        return s.toString();
    }
    @PostMapping("/addstore")
    public String addstore(@RequestBody Map store) throws SQLException {

        Connection connection = DriverManager.getConnection("jdbc:mysql:///sql_end", "root", "123456");
        String sql="insert into store values(?,?,null, ?)";
//        name address store_tel

        PreparedStatement preparedStatement = connection.prepareStatement(sql);
        preparedStatement.setString(1,store.get("name"));
        preparedStatement.setString(2,store.get("address"));
        preparedStatement.setString(3,store.get("store_tel"));
        int i = preparedStatement.executeUpdate();
        preparedStatement.close();
        connection.close();
        return "YES";
    }
}
class Stroe{
    public String name;
    public String address;
    public String tel;

    public int store_id;

    public Stroe(String name, String address, String tel,int id) {
        this.name = name;
        this.address = address;
        this.tel = tel;
        this.store_id = id;
    }

    @Override
    public String toString() {
        return "{" + "\"name\": \"" + name +"\""+ ',' + "\"address\" :\"" + address + "\",\"tel\":\""
                + tel + "\",\"store_id\":\"" + store_id +"\"" +'}';
//        return "{" + "\"name\": \"" + name +"\""+ ',' + "\"address\" :\"" + address + "\",\"tel\":\""
//                + tel + "\""+'}';
    }
}

index.html





    
    
    
    
    用户登录
    
    



    

订单管理系统





main.index





    
    
    用户界面
    

    



    

山东原神大学 订单管理系统

  • 逛店铺
  • 个人订单
  • 个人中心

欢迎下单

  • 商城名称
    商城地址
    商城联系方式
    操作

user-order.html





    
    
    个人订单
    

    



    

山东原神大学 订单管理系统

  • 逛店铺
  • 个人订单
  • 个人中心

店铺管理

  • 商品名称
    下单日期
    物流状态

admin.html





    
    
    用户界面
    

    



    

山东原神大学 订单管理系统

商品管理

  • 商品名称
    商品单价
    库存
    商品信息
    操作

admin-user.html





    
    
    用户管理
    

    



    

山东原神大学 订单管理系统

用户管理

  • 用户名
    用户电话
    用户地址
    用户订单数

admin-order.html





    
    
    订单管理
    

    



    

山东原神大学 订单管理系统

店铺管理

  • 用户名
    商品名
    下单日期
    订单状态

admin-add.html





    
    
    用户界面
    

    



    

山东原神大学 订单管理系统

商品修改

  • 商品名称
    商品单价
    库存
    商品信息

你可能感兴趣的:(数据库,课程设计)