汽車平臺|基于Springboot實現(xiàn)汽車銷售平臺
?
作者主頁:
作者簡介:Java領域優(yōu)質(zhì)創(chuàng)作者、CSDN博客專家 、掘金特邀作者、多年架構師設計經(jīng)驗、騰訊課堂常駐講師
主要內(nèi)容:Java項目、畢業(yè)設計、簡歷模板、學習資料、面試題庫、技術互助
收藏點贊不迷路? 關注作者有好處
文末獲取源碼?
項目編號:
一,環(huán)境介紹
語言環(huán)境:Java:? jdk1.8
數(shù)據(jù)庫:Mysql: mysql5.7
應用服務器:Tomcat:? tomcat8.5.31
開發(fā)工具:IDEA或eclipse
二,項目簡介
汽車銷售管理信息系統(tǒng)是根據(jù)用戶訂單和市場預測,從而進行商品(汽車)采購后完成商品編碼進而完成車輛入庫,進行商品報價,錄入客戶信息,根據(jù)訂單生成銷售單,按照要求把商品(汽車)送至客戶處。通過這些功能分析和客戶要求對汽車銷售管理信息系統(tǒng)進行需求分析、系統(tǒng)結構設計、系統(tǒng)功能結構設計以及數(shù)據(jù)庫設計,并基于Idea2022這一編程平臺和MySQL數(shù)據(jù)庫開發(fā)工具,進行系統(tǒng)編程開發(fā)和數(shù)據(jù)庫的設計,最終實現(xiàn)汽車銷售管理信息的計算機化管理(開發(fā)汽車銷售管理信息系統(tǒng))。汽車銷售管理信息系統(tǒng)通過對各個實體進行編碼,使各個實體在業(yè)務流過程中的信息更加準確,全面,安全。通過對歷史數(shù)據(jù)的分析對比完成市場分析的功能。以及通過對不同顧客類別的研究,來制定不同的營銷策略。
本項目存在兩個個角色:用戶和管理員,用戶對應使用的是前臺管理系統(tǒng),而管理員對應使用后臺管理系統(tǒng)。前臺管理系統(tǒng)包括顧客個人信息管理、汽車展示、個人訂單管理模塊,購物車管理、汽車購物支付模塊、汽車評論模塊等,后臺管理系統(tǒng)包括汽車評論管理模塊、用戶管理模塊、汽車信息、種類管理模塊、、數(shù)據(jù)可視化和公告管理模塊、所有訂單信息管理模塊等。其主要功能模塊圖如圖1-1所示:

圖3-1功能模塊圖
前臺管理系統(tǒng)
用戶對象:
(1)用戶可以針對個人信息內(nèi)容進行修改,但是不能進行刪除。
(2)用戶可以瀏覽前臺系統(tǒng)頁面上的汽車產(chǎn)品并加入購物車,還可以對該產(chǎn)品進行數(shù)量上的添加或者刪除,然后進行購物車下單,進行支付,支付成功即購買成功。
(3)用戶可以進行汽車評論功能,查看汽車具體信息,評論和收藏汽車。
(4)顧客可以查看自己的所有汽車訂單信息,還可以查看評論的訂單詳情。

圖3-2前臺管理系統(tǒng)功能模塊圖
后臺管理系統(tǒng):
管理員對象:
(1)管理員可以對自己的個人信息進行修改操作,不能進行刪除,因為一個系統(tǒng)只會有一個管理員,如若刪除是不符合事實的。
(2)管理員可以對該系統(tǒng)內(nèi)所有用戶的個人信息進行增加、修改操作,并且還可以對用戶進行備注描述,方便查詢特殊指定人群。
(3)管理員可以對汽車分類、汽車信息類型和類目進行管理,并且進行增刪查改操作。
(4)管理員可以查看所有汽車訂單和銷售統(tǒng)計分析進行查看。
(5)公告管理:管理員可以通過預覽模式進行修改、刪除首頁公告的展示。
(6)評論收藏:可以刪除和回復評論。

圖3-3后臺管理系統(tǒng)功能模塊圖
三,系統(tǒng)展示
5.1 登錄注冊
首頁界面實現(xiàn)如圖5-1所示,登錄界面實現(xiàn)如圖5-2所示,注冊界面如圖5-3所示,未登錄可以正常查看管理系統(tǒng)首頁、公告信息內(nèi)容和產(chǎn)品內(nèi)容,但是無法進行購買產(chǎn)品和預約q項目訂單和查看購物車、訂單詳情等。需要購物或者預約項目必須登錄用戶賬號或者用戶注冊一個新的賬號。用戶如果已經(jīng)有賬號,可以勾選選擇我這一欄,方便用戶下次直接登錄不需要每次要用系統(tǒng)前登錄,這樣就能更加方便簡潔靈活使用該系統(tǒng)。

圖5-1 首頁界面
?

圖5-2 登錄界面

圖5-3 注冊界面
5.2 購物車管理
用戶想要購買產(chǎn)品的時候,進入產(chǎn)品頁面,選購自己想要的物品,將它加入購物車,進入到購物車頁面的時候,用戶根據(jù)自己想要購買的數(shù)量進行數(shù)量改變,確認購買后,用戶點擊購買,會自動跳轉(zhuǎn)到支付頁面,用戶支付成功后頁面會自動跳轉(zhuǎn)到訂單詳情頁面,供用戶方便快速查看自己的訂單。汽車產(chǎn)品展示界面如圖5-4所示,購物車界面如圖5-5所示,沙箱支付界面如圖5-6所示,訂單展示界面如圖5-7所示。

圖5-4 汽車產(chǎn)品展示界面
?

?圖5-5 購物車界面
?圖5-6 沙箱支付界面

圖5-7 訂單展示界面?

圖5-9 評論留言詳情界面

?圖5-10 個人信息管理界面

?圖5-11 汽車銷量榜界面
?后臺管理

汽車 產(chǎn)品

四,核心代碼展示
package com.app.controller;import java.io.File;import java.util.List;import java.util.UUID;import javax.annotation.Resource;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpSession;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.multipart.MultipartFile;import org.springframework.web.servlet.ModelAndView;import com.app.entity.Members;import com.app.service.MembersService;import com.app.service.MorderService;import com.app.utils.MainUtils;public class MembersController {
MembersService membersService;
public String membersAdd() { return "members/add";
}
public String addemps() { return "members/addemps";
}
public String profile(HttpSession session, Model model,Integer id) { int userid = Integer
.parseInt(session.getAttribute("userid").toString()); if(id!=null) userid=id;
model.addAttribute("edituser", membersService.getMembersById(userid)); return "members/profile";
}
public String charge(HttpSession session, Model model,Integer id) { int userid = Integer
.parseInt(session.getAttribute("userid").toString()); if(id!=null) userid=id;
model.addAttribute("edituser", membersService.getMembersById(userid)); return "members/charge";
}
public String password(HttpSession session, Model model,Integer id) { int userid = Integer
.parseInt(session.getAttribute("userid").toString()); if(id!=null) userid=id;
model.addAttribute("edituser", membersService.getMembersById(userid)); return "members/password";
}
public String pas(String grade,HttpSession session, Model model,Integer id) { int userid = id; Members m =membersService.getMembersById(userid);
m.setGrade(grade);session.setAttribute("logined", m);
membersService.update(m); return "redirect:customer";
}
public String avatar(HttpSession session, Model model,Integer id) { int userid = Integer
.parseInt(session.getAttribute("userid").toString()); if(id!=null) userid=id;
model.addAttribute("edituser", membersService.getMembersById(userid)); return "members/avatar";
}
public String update(Integer id, Integer sex, String address,String maincontent, String email,
String qq,String tel, Model model) { Members editUser = membersService.getMembersById(id);
editUser.setSex(sex.toString());
editUser.setAddress(address);
editUser.setMaincontent(maincontent);
editUser.setEmail(email);
editUser.setTel(tel);
editUser.setQq(qq);
membersService.update(editUser);
model.addAttribute("inpost", true);
model.addAttribute("id", editUser.getId());
model.addAttribute("message", "資料信息更新成功!"); return "members/profile";
}
public String update2(Integer id, String thumb, Model model) { Members editUser = membersService.getMembersById(id);
editUser.setThumb(thumb);
membersService.update(editUser);
model.addAttribute("id", editUser.getId());
model.addAttribute("inpost", true);
model.addAttribute("message", "頭像上傳成功!"); return "members/avatar";
}
public String update1(Integer id, String password, String password2,
Model model) { Members editUser = membersService.getMembersById(id); if (!password.equals(password2)) {
model.addAttribute("state", 0);
model.addAttribute("message", "失?。簝纱屋斎朊艽a不一致!");
} else {
editUser.setPassword(password);
membersService.update(editUser);
model.addAttribute("state", 1);
model.addAttribute("id", editUser.getId());
model.addAttribute("message", "密碼重置成功!");
} return "members/password";
}
public String membersSave(String username,
String password,
String sex,
String birthday,
String address,
String email,
String qq,
String tel,
String money,
String thumb,
String grade,
String type,
String created,
String updated,
String status,
String jf,
String age,
String maincontent,
String description,
Model model)
{
Members modelX = new Members();
modelX.setUsername(username);
modelX.setPassword(password);
modelX.setSex(sex);
modelX.setBirthday(birthday);
modelX.setAddress(address);
modelX.setEmail(email);
modelX.setQq(qq);
modelX.setTel(tel);
modelX.setMoney("999999");
modelX.setGrade(grade);
modelX.setType("1");
modelX.setCreated(MainUtils.getTime());
modelX.setUpdated(updated);
modelX.setStatus(status);
modelX.setJf(jf);
modelX.setAge(age);
modelX.setMaincontent(maincontent);
modelX.setDescription(description);
membersService.insert(modelX);
model.addAttribute("inpost", true);
model.addAttribute("message", "新增客戶成功!"); return "members/add";
}
public String membersDelete(int id) {
membersService.delete(id); return "redirect:customer";
}
public String membersDelete1(int id) {
membersService.delete(id); return "redirect:emps";
}
public ModelAndView customer() {
List<Members> membersList = membersService.getMembersByType(1);
System.out.println(membersList.size()); ModelAndView mav = new ModelAndView("members/customer");
mav.addObject("list", membersList); return mav;
}
MorderService morderService;
public ModelAndView orders() {
List<Members> membersList = membersService.getMembersByType(1);
for (Members members : membersList) {
members.setLs(morderService.getMorderByUid(members.getId()));
}
System.out.println(membersList.size()); ModelAndView mav = new ModelAndView("members/orders");
mav.addObject("list", membersList); return mav;
}
}
package com.app.controller;import java.util.List;import javax.annotation.Resource;import javax.servlet.http.HttpSession;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.ResponseBody;import org.springframework.web.bind.annotation.RestController;import com.app.entity.Members;import com.app.entity.Setting;import com.app.service.MembersService;import com.app.service.SettingService;import com.app.utils.MainUtils;public class ManageController {
MembersService ms;
public String index(HttpSession session) { if (session.getAttribute("userid") != null) return "index"; else
return "login";
}
public String mobile(HttpSession session) {
return "mobile";
}
public String code(String tel,HttpSession session) {
List<Members> list = ms.getMembersByTel(tel); if(list.size()==0){ return "0";
}else{ String code =String.valueOf((Math.random()*9+1)*100000);
code = code.substring(0, 6); Members m = list.get(0);
m.setGrade(code.toString());
ms.update(m); return code.toString();
}
}
public String quit(HttpSession session) {
session.setAttribute("logined", null);
session.setAttribute("userid", null);
session.setAttribute("username", null);
session.setAttribute("usertype", null); return "redirect:index";
}
SettingService settingService;
public String login(String username, String password, HttpSession session,
Model model) {
System.out.println("Username:" + username);
System.out.println("Password:" + password); Members entity = new Members();
entity.setUsername(username);
entity.setPassword(password);
List<Members> list = ms.login(entity); if (list.size() > 0) { Members loginUser = list.get(0);
Setting modelX = settingService.getSettingById(1); int count = Integer.parseInt(modelX.getCount());
modelX.setCount((count+1)+"");
settingService.update(modelX);
session.setAttribute("logined", loginUser);
session.setAttribute("userid", loginUser.getId());
session.setAttribute("username", loginUser.getUsername());
session.setAttribute("usertype", loginUser.getType());
session.setAttribute("avatar", loginUser.getThumb());
model.addAttribute("state", 1);
model.addAttribute("message", "登錄成功!正在跳轉(zhuǎn)");
} else {
model.addAttribute("state", 0);
model.addAttribute("message", "登錄失敗,請檢查您的賬號密碼!");
} return "login";
}
MembersService membersService;
public String hy(String grade,HttpSession session, Model model,Integer id) { int userid = id; Members m =membersService.getMembersById(userid);
m.setGrade(grade);session.setAttribute("logined", m);
membersService.update(m); return "index";
}
public String mobilelogin(String username, String password, HttpSession session,
Model model) {
System.out.println("Username:" + username);
System.out.println("Password:" + password); Members entity = new Members();
entity.setTel(username);
entity.setGrade(password);
List<Members> list = ms.login2(entity); if (list.size() > 0) { Members loginUser = list.get(0);
Setting modelX = settingService.getSettingById(1); int count = Integer.parseInt(modelX.getCount());
modelX.setCount((count+1)+"");
settingService.update(modelX);
session.setAttribute("logined", loginUser);
session.setAttribute("userid", loginUser.getId());
session.setAttribute("username", loginUser.getUsername());
session.setAttribute("usertype", loginUser.getType());
session.setAttribute("avatar", loginUser.getThumb());
model.addAttribute("state", 1);
model.addAttribute("message", "登錄成功!正在跳轉(zhuǎn)");
} else {
model.addAttribute("state", 0);
model.addAttribute("message", "登錄失敗,請檢查您的賬號密碼!");
} return "mobile";
}
}
package com.app.controller;import java.io.File;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.LinkedList;import java.util.List;import java.util.UUID;import javax.annotation.Resource;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpSession;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.multipart.MultipartFile;import org.springframework.web.servlet.ModelAndView;import com.app.entity.*;import com.app.service.*;public class MorderController {
MorderService morderService;
public String morderAdd() { return "admin/morder/add";
}
public String morderSave(String order_id, String price, String total,
String uid, String pid, String cuid, String num, String content,
String step, String updated, String created, String status,
String buyer, String pname, String type, String saler,
String shopid, String shopname, String ordersn, String y, String m,
String d, Model model) { Morder modelX = new Morder();
modelX.setOrder_id(order_id);
modelX.setPrice(price);
modelX.setTotal(total);
modelX.setUid(uid);
modelX.setPid(pid);
modelX.setCuid(cuid);
modelX.setNum(num);
modelX.setContent(content);
modelX.setStep(step);
modelX.setUpdated(updated);
modelX.setCreated(created);
modelX.setStatus(status);
modelX.setBuyer(buyer);
modelX.setPname(pname);
modelX.setType(type);
modelX.setSaler(saler);
modelX.setShopid(shopid);
modelX.setShopname(shopname);
modelX.setOrdersn(ordersn);
modelX.setY(y);
modelX.setM(m);
modelX.setD(d);
morderService.insert(modelX);
model.addAttribute("inpost", true);
model.addAttribute("message", "Success!"); return "admin/morder/add";
}
public String morderDelete(int id) {
morderService.delete(id); return "redirect:list";
}
ProductsService productsService;
MembersService membersService;
public ModelAndView morderList() {
List<Morder> morderList = morderService.getAllMorder();
List<Morder> morderList1 = new ArrayList<Morder>(); for (Morder morder : morderList) {
morder.setMe(membersService.getMembersById(Integer.parseInt(morder.getUid())));
}
System.out.println(morderList.size()); ModelAndView mav = new ModelAndView("morder/list");
mav.addObject("list", morderList); return mav;
}
public ModelAndView sj(String order) {
List<Members> list = membersService.getMembersByType(1); for (Members members : list) {
List<Morder> morderList = morderService.getMorderByUid(members.getId());
int money =0; for (Morder morder : morderList) { if(morder.getShopid().equals(members.getId()+"")){
money+=Integer.parseInt(morder.getTotal());
}
}
members.setJf(morderList.size()+"");
members.setMoney(money+"");
}
List<Morder> morderList = morderService.getAllMorder();
System.out.println(morderList.size()); ModelAndView mav = new ModelAndView("morder/sj"); if(order!=null&&order.equals("jf"))
{
Collections.sort(list,new Comparator<Members>() { public int compare(Members o1, Members o2) { return Integer.parseInt(o2.getJf())-Integer.parseInt(o1.getJf());
}
});
}
if(order!=null&&order.equals("money"))
{
Collections.sort(list,new Comparator<Members>() { public int compare(Members o1, Members o2) { return Integer.parseInt(o2.getMoney())-Integer.parseInt(o1.getMoney());
}
});
}
mav.addObject("list", list); return mav;
}
public ModelAndView report(String order,Integer y,Integer m,Integer d) {
List<Products> list = productsService.getAllProducts();
for (Products products : list) {
List<Morder> os = morderService.getMorderByPid(products.getId());
List<Morder> os1 = new LinkedList<Morder>(); int price=0; for (Morder morder : os) {
price+=Integer.parseInt(morder.getTotal()); if(y!=null){ if(!y.toString().equals(morder.getY())) continue;
} if(m!=null){ if(!m.toString().equals(morder.getM())) continue;
} if(d!=null){ if(!d.toString().equals(morder.getD())) continue;
}
os1.add(morder);
}
products.setPrice(price+"");
products.setList(os1);
} if(order!=null&&order.equals("jf"))
{
Collections.sort(list,new Comparator<Products>() { public int compare(Products o1, Products o2) { return o2.getList().size()-o1.getList().size();
}
});
}
if(order!=null&&order.equals("money"))
{
Collections.sort(list,new Comparator<Products>() { public int compare(Products o1, Products o2) { return Integer.parseInt(o2.getPrice())-Integer.parseInt(o1.getPrice());
}
});
}
ModelAndView mav = new ModelAndView("morder/report");
mav.addObject("list", list); return mav;
}
InviceService inviceService;
public ModelAndView ts() {
List<Invice> inviceList = inviceService.getAllInvice(); // System.out.println(inviceList.size());
for (Invice invice : inviceList) {
invice.setM(membersService.getMembersById(Integer.parseInt(invice
.getUid())));
invice.setP(productsService.getProductsById(Integer.parseInt(invice
.getMid())));
invice.setM1(membersService.getMembersById(Integer.parseInt(invice
.getType())));
} ModelAndView mav = new ModelAndView("morder/ts");
mav.addObject("list", inviceList); return mav;
}
public ModelAndView tslist() {
List<Invice> inviceList = inviceService.getAllInvice(); // System.out.println(inviceList.size());
for (Invice invice : inviceList) {
invice.setM(membersService.getMembersById(Integer.parseInt(invice
.getUid())));
invice.setP(productsService.getProductsById(Integer.parseInt(invice
.getMid())));
invice.setM1(membersService.getMembersById(Integer.parseInt(invice
.getType())));
} ModelAndView mav = new ModelAndView("morder/tslist");
mav.addObject("list", inviceList); return mav;
}
public ModelAndView my(HttpSession session) { int uid = Integer.parseInt(session.getAttribute("userid").toString());
List<Morder> morderList = morderService.getMorderByUid(uid); for (Morder morder : morderList) {
morder.setMe(membersService.getMembersById(Integer.parseInt(morder.getUid())));
}
System.out.println(morderList.size()); ModelAndView mav = new ModelAndView("morder/my");
mav.addObject("list", morderList); return mav;
}
public String state(String ret, String status, int id, Model model) { Invice modelX = inviceService.getInviceById(id);
modelX.setStatus(status);
inviceService.update(modelX);
model.addAttribute("inpost", true);
model.addAttribute("model", modelX);
model.addAttribute("message", "Success"); return "morder/"+ret;
}
public String state(Model model, HttpSession session, Integer id,
String ret, int step) { Morder modelX = morderService.getMorderById(id);
modelX.setStep(step + "");
morderService.update(modelX); if(step==4){ Members mem = membersService.getMembersById(Integer.parseInt(modelX.getShopid())); Integer um = Integer.parseInt(mem.getMoney()); Integer mm = Integer.parseInt(modelX.getTotal()); Integer left = um+mm;
morderService.update(modelX);
mem.setMoney(left.toString());
membersService.update(mem);
model.addAttribute("message", "操作成功:資金已打入賣家賬號");
}else{
model.addAttribute("message", "操作成功");
} return "morder/" + ret;
}
public String state2(Model model, HttpSession session, Integer id,String ordersn,
String ret, int step) { Morder modelX = morderService.getMorderById(id); Products ps = productsService.getProductsById(Integer.parseInt(modelX.getPid()));
/*if(Integer.parseInt(ps.getStore())<Integer.parseInt(modelX.getNum())){
model.addAttribute("message", "對不起 庫存告急");
}else{*/
Members mem = membersService.getMembersById(Integer.parseInt(session.getAttribute("userid").toString())); Integer um = Integer.parseInt(mem.getMoney()); Integer mm = Integer.parseInt(modelX.getTotal()); Integer left = um-mm;
if(left<0){
model.addAttribute("message", "余額不足,請聯(lián)系管理員充值");
}else{
modelX.setStep(step + "");
modelX.setOrdersn(ordersn);
mem.setMoney(left.toString());
membersService.update(mem);
morderService.update(modelX);
model.addAttribute("message", "支付成功,您的資金將在確認收貨后打入賣家賬號");
} //}
return "morder/" + ret;
}
public String pay(String id, Model model) { Morder morder = morderService.getMorderById(Integer.parseInt(id));
model.addAttribute("model", morder); return "admin/morder/pay";
}
public String pj(String id, Model model) { Morder morder = morderService.getMorderById(Integer.parseInt(id));
model.addAttribute("model", morder); return "morder/pj";
}
public String wl(String id, Model model) { Morder morder = morderService.getMorderById(Integer.parseInt(id));
model.addAttribute("model", morder); return "morder/wl";
}
public String fq(String id, Model model) { Morder morder = morderService.getMorderById(Integer.parseInt(id));
model.addAttribute("model", morder); return "morder/fq";
}
public String morderEdit(String id, Model model) { Morder morder = morderService.getMorderById(Integer.parseInt(id));
model.addAttribute("model", morder); return "admin/morder/edit";
}
public String morderUpdate( String content, String status, int id, Model model) { Morder modelX = morderService.getMorderById(id);
modelX.setContent(content);
modelX.setStatus(status);
morderService.update(modelX);
model.addAttribute("inpost", true);
model.addAttribute("model", modelX);
model.addAttribute("message", "評價成功"); return "morder/pj";
}
public String update2(String express, int id, Model model) { Morder modelX = morderService.getMorderById(id);
modelX.setExpress(express);
morderService.update(modelX);
model.addAttribute("inpost", true);
model.addAttribute("model", modelX);
model.addAttribute("message", "物流更新成功"); return "morder/wl";
}
}
五,項目總結
(1)用戶信息表(members):該表是用戶信息的主要存儲表,其中存儲的信息包括用戶名,加密后的登錄密碼、用戶角色、電話、性別、生日、用戶描述和頭像路徑。
表4-1 用戶信息表:t_user
字段名
數(shù)據(jù)類型
主鍵
自動增長
默認值
說明
id
int
是
是
自增Id
username
varchar(30)
用戶名
password
varchar(20)
登錄密碼
role
varchar(20)
角色
phone
varchar(15)
電話
sex
varchar(15)
性別
birthday
datetime
生日
description
varvhar(255)
用戶描述
headImgPath
varchar(255)
頭像路徑
4.3.3后臺菜單權限表
表名(中文)
表名(英文)
admin_menu_auth
admin_menu_auth
序號
字段名
類型
長度
NULL
說明
1
id
smallint
20
主鍵id
2
controller
varchar
50
controller名稱
3
action
varchar
50
action名稱
4
name
varchar
50
菜單名稱
5
classname
varchar
50
菜單元素的class樣式
6
status
tinyint
狀態(tài)
7
sort
int
11
排序
8
type
tinyint
類型
9
parent_id
smallint
父ID
4.3.4后臺角色表
表名(中文)
表名(英文)
admin_role
admin_role
序號
字段名
類型
長度
NULL
說明
1
id
int
11
主鍵id
2
name
varchar
50
角色名稱
3
deleted
tinyint
是否已刪除
后臺用戶表
表名(中文)
表名(英文)
admin_user
admin_user
序號
字段名
類型
長度
NULL
說明
1
id
int
11
主鍵id
2
username
varchar
128
用戶名
3
password
varchar
128
用戶密碼
4
name
varchar
128
用戶姓名
5
salt
varchar
128
鹽值
6
phone
varchar
128
手機
7
varchar
128
郵箱
8
status
tinyint
狀態(tài)
9
create_time
bigint
20
創(chuàng)建時間
10
is_super
tinyint
是否超級管理員
11
consumer
varchar
200
使用者
12
remark
varchar
500
備注
13
dept
varchar
200
部門名稱
4.3.5后臺用戶角色關聯(lián)表
表名(中文)
表名(英文)
admin_user_role
admin_user_role
序號
字段名
類型
長度
NULL
說明
1
id
int
11
主鍵id
2
user_id
int
11
關聯(lián)用戶id
3
role_id
int
11
關聯(lián)角色id
4.3.6后臺角色菜單關聯(lián)表
表名(中文)
表名(英文)
admin_role_menu
admin_role_menu
序號
字段名
類型
長度
NULL
說明
1
role_id
int
11
角色id 組合主鍵
2
menu_id
int
11
菜單id 組合主鍵
(5)訂單表(t_order):該表是汽車產(chǎn)品的訂單信息存儲表,其中存儲的信息包含訂單編碼、訂單所屬用戶Id、訂單總數(shù)量、訂單總價格、訂單創(chuàng)建時間和訂單狀態(tài)。
表4-5 訂單表:t_order
字段名
數(shù)據(jù)類型
主鍵
自動增長
默認值
說明
id
int
是
是
自增Id
code
varchar(255)
訂單編碼
userId
int
訂單所屬用戶Id
totalCount
int
訂單總數(shù)量
totalPrice
decimal(11,2)
訂單總價格
createDate
datetime
訂單創(chuàng)建時間
status
int
訂單狀態(tài)
(6)訂單詳情表(t_order_details):該表是訂單詳情信息的存儲表,存儲的信息包括訂單Id,汽車產(chǎn)品的名稱和圖片路徑、數(shù)量和小計。
表4-6 訂單詳情表:t_order_details
字段名
數(shù)據(jù)類型
主鍵
自動增長
默認值
說明
id
int
是
是
自增Id
orderId
int
訂單Id
productName
varchar(255)
產(chǎn)品名稱
productPhotoPath
varchar(255)
產(chǎn)品圖片路徑
count
int
數(shù)量
price
decimal(11,2)
小計
(7)公共信息表(t_index_content):該表是首頁公告信息的存儲表,存儲的信息包括公告內(nèi)容類型和具體的內(nèi)容。
表4-7 公告信息表:t_index_content
字段名
數(shù)據(jù)類型
主鍵
自動增長
默認值
說明
id
int
是
是
自增Id
contentType
varchar(255)
內(nèi)容類型
content
varchar(255)
具體內(nèi)容