文末獲取源碼
開發語言:Java
使用框架: boot
前端技術:、Vue.js 、css3
開發工具:IDEA//、 Code
數據庫:MySQL 5.7/8.0
數據庫管理工具:/
JDK版本:Java jdk8
Maven:-maven 3.8.1-bin
目錄
一、前言介紹
本系統前端部分基于MVVM模式進行開發,采用B/S模式外賣系統開發,后端部分基于Java的框架進行開發。
前端部分:前端框架采用了比較流行的漸進式框架Vue.js。使用Vue-和Vuex實現動態路由和全局狀態管理,Ajax實現前后端通信, UI組件庫使頁面快速成型,項目前端通過柵格布局實現響應式,可適應PC端、平板端、手機端等不同屏幕大小尺寸的完美布局展示。
本系統地描繪了整個校園外賣配送系統的設計與實現,主要實現的功能有以下幾點:首頁、站點管理(輪播圖、公告欄)用戶管理(管理員、普通用戶、配送員、賣家)內容管理(交流中心、論壇分類、外賣資訊、資訊分類)商城管理(商城、商家列表、訂單列表)更多管理(發布任務、領取任務、完成任務)等功能,其具有簡單的接口,方便的應用,強大的互動,完全基于互聯網的特點。
二、系統功能
本心理咨詢系統主要包括四大功能模塊,即管理員、普通用戶、配送員、賣家功能模塊。
(1)前臺用戶:首頁、交流中心、公告欄、外賣資訊、商品列表、登錄注冊、我的(我的賬戶、我的收藏、我的地址、我的購物車、我的訂單、退出)。
(2)用戶后臺:發布任務、任務中、完成任務。
(3)管理員模塊:系統中的核心用戶是管理員外賣系統開發,管理員登錄后,通過管理員來管理后臺系統。主要功能有:站點管理(輪播圖、公告欄)用戶管理(管理員、普通用戶、配送員、賣家)內容管理(交流中心、論壇分類、外賣資訊、資訊分類)商城管理(商城、商家列表、訂單列表)更多管理(發布任務、領取任務、完成任務)。
(4)配送員:發布任務、領取任務、完成任務。
(5)賣家:商城、訂單列表
三、系統前臺模塊 3.1系統首頁頁面
3.2外賣資訊頁面
3.3商品列表頁面
3.4商品詳情頁面
3.5我的訂單頁面
四、管理員功能模塊 4.1站點管理模塊
4.2用戶管理模塊
4.3內容管理模塊
4.4商城管理模塊
4.5更多管理模塊
五、賣家功能模塊 5.1商城模塊
5.2訂單列表頁面
六、配送員功能模塊 6.1任務領取頁面
七、部分核心代碼 7.1訂單信息管理的邏輯代碼
@PostMapping("/add")
@Transactional
public Map add(HttpServletRequest request) throws IOException {
service.insert(service.readBody(request.getReader()));
return success(1);
}
@Transactional
public Map addMap(Map map){
service.insert(map);
return success(1);
}
public Map readBody(BufferedReader reader){
BufferedReader br = null;
StringBuilder sb = new StringBuilder("");
try{
br = reader;
String str;
while ((str = br.readLine()) != null){
sb.append(str);
}
br.close();
String json = sb.toString();
return JSONObject.parseObject(json, Map.class);
}catch (IOException e){
e.printStackTrace();
}finally{
if (null != br){
try{
br.close();
}catch (IOException e){
e.printStackTrace();
}
}
}
return null;
}
public void insert(Map body){
StringBuffer sql = new StringBuffer("INSERT INTO ");
sql.append("`").append(table).append("`").append(" (");
for (Map.Entry entry:body.entrySet()){
sql.append("`"+humpToLine(entry.getKey())+"`").append(",");
}
sql.deleteCharAt(sql.length()-1);
sql.append(") VALUES (");
for (Map.Entry entry:body.entrySet()){
Object value = entry.getValue();
if (value instanceof String){
sql.append("'").append(entry.getValue()).append("'").append(",");
}else {
sql.append(entry.getValue()).append(",");
}
}
sql.deleteCharAt(sql.length() - 1);
sql.append(")");
log.info("[{}] - 插入操作:{}",table,sql);
Query query = runCountSql(sql.toString());
query.executeUpdate();
}
7.2用戶管理的邏輯代碼
@RestController
@RequestMapping("auth")
public class AuthController extends BaseController {
/**
* 服務對象
*/
@Autowired
public AuthController(AuthService service) {
setService(service);
}
}
7.3訂單信息管理的邏輯代碼
@RequestMapping(value = {"/avg_group", "/avg"})
public Map avg(HttpServletRequest request) {
Query count = service.avg(service.readQuery(request), service.readConfig(request));
return success(count.getResultList());
}
7.4商品信息關鍵代碼
public Map success(Object o) {
Map map = new HashMap<>();
if (o == null) {
map.put("result", null);
return map;
}
if (o instanceof List) {
if (((List) o).size() == 1) {
o = ((List) o).get(0);
map.put("result", o);
}else {
String jsonString = JSONObject.toJSONString(o);
JSONArray objects service.covertArray(JSONObject.parseArray(jsonString));
map.put("result", objects);
}
} else if (o instanceof Integer || o instanceof String) {
map.put("result", o);
} else {
String jsonString = JSONObject.toJSONString(o);
JSONObject jsonObject = JSONObject.parseObject(jsonString);
JSONObject j = service.covertObject(jsonObject);
map.put("result", j);
}
return map;
}
7.5外賣資訊關鍵代碼
@RequestMapping("/get_obj")
public Map obj(HttpServletRequest request) {
List resultList = service.selectBaseList(service.select(service.readQuery(request), service.readConfig(request)));
if (resultList.size() > 0) {
JSONObject jsonObject = new JSONObject();
jsonObject.put("obj",resultList.get(0));
return success(jsonObject);
} else {
return success(null);
}
}
免責聲明:部分文章信息來源于網絡以及網友投稿,本站只負責對文章進行整理、排版、編輯,出于傳遞更多信息之目的,并不意味著贊同其觀點或證實其內容的真實性,如本站文章和轉稿涉及版權等問題,請作者在及時聯系本站,我們會盡快為您處理。