目錄
一、前言介紹:
網絡社會的快速發(fā)展從根本上改變了以往傳統(tǒng)的管理方式。自上個世紀以來,中國政府、企業(yè)和事業(yè)單位開始設想通過互聯(lián)網實現管理信息和現代系統(tǒng)的維護。實現無紙化辦公,過去有各種原因,如網絡普及率低、用戶不習慣和不可接受、與互聯(lián)網有關的法律法規(guī)和制度不完善等,阻礙了互聯(lián)網的發(fā)展速度。進入21世紀后,中國經濟迅速發(fā)展。此前對機構管理的限制和各種問題已逐一得到解決。國內各大機構和企業(yè)都加入了現代信息管理模式。過去,與體育用品銷售相關的信息管理部門表示,員工將進行人工統(tǒng)計和記錄。這種方法時效性低,也很不方便。隨著科學的進步和我們技術的不斷成熟,計算機的功能非常強大和完善。
本系統(tǒng)以java為核心開發(fā)技術,結合SpringBoot VUE框架實現了一個知世體育用品銷售管理系統(tǒng)。知世體育用品銷售管理系統(tǒng)的主要使用者分為管理員、用戶;主要包括首頁模塊、個人中心模塊、用戶管理以及體育用品商家管理和體育用品商品管理、知世體育用品商品類型管理、訂單信息管理、系統(tǒng)輪播圖管理、體育用品新聞資訊管理等功能。通過這些功能模塊的設計,基本上實現了整個體育用品銷售商品服務管理的過程。具體在系統(tǒng)設計上采用了B/S的結構。
二、系統(tǒng)設計:
2.1 系統(tǒng)功能設計:
系統(tǒng)架構圖屬于系統(tǒng)設計的早期階段。系統(tǒng)架構圖只是這一階段的必要產品。系統(tǒng)的總體架構決定了整個系統(tǒng)的模式和層次,是系統(tǒng)的基礎。知世體育用品銷售管理系統(tǒng)的整體結構設計如圖所示
2.2 登錄模塊設計:
登錄模塊主要滿足了管理員以及其他用戶的權限登錄,登錄模塊順序圖如圖所示
三、數據設計:
3.1 數據庫設計
數據庫是計算機信息系統(tǒng)的基礎。目前,電腦系統(tǒng)的關鍵與核心部分就是數據庫。數據庫開發(fā)的優(yōu)劣對整個系統(tǒng)的質量和速度有著直接影響。
3.2 數據庫設計原則
數據庫概念結構設計采用的是:實體-關系(E-R)模型的方法來進行設計。 e-R模型方法的組成部分是:實體、屬性以及連接。 E-r模型用E-r圖進行表示、目的是提醒用戶工作環(huán)境中所涉及事物以及對象實體屬性是對實體特征具體描述。 數據庫表設計在系統(tǒng)設計中起著決定性關鍵作用、表設計和實體對象一一對應、 看下我們?yōu)檫@些關鍵實體設計一個實體關系圖吧。
3.3 數據ER圖設計:
數據模型中的實體,也稱為實例,對應于可以與現實世界中的其他對象區(qū)分開來的“事件”或“事物”。 例如,公司的每一個員工,車的每一個零件或者房子里的每一件商品。
商品信息管理實體圖如圖所示
用戶管理實體圖如圖所示
3.4 主要庫表設計:
管理員表示保存網上商品銷售的用戶信息表,其中表結構如所示。
訂單表是保存網上商品銷售的訂單信息表,其中id為主鍵,表結構如所示。
類別表是保存網上商品銷售的類別信息表,其中id為主鍵,表結構如所示。
表4-3 category類別表
商品表是保存網上商品銷售的商品信息表,其中id為主鍵,表結構如所示。
會員表是保存網上商品銷售的會員信息表,其中id為主鍵,表結構如所示。
公告表是網上商品的公告信息表,其中id為主鍵,表結構如所示。
購物車表是保存網上商品銷售的購物車信息表,其中id為主鍵,表結構如所示。
訂單表是保存網上商品銷售的訂單信息表,其中id為主鍵,表結構如圖所示。
四、功能截圖:
4.1 登錄:
項目啟動后、管理員通過填寫用戶名、密碼等信息進行登錄驗證,輸入完成后選擇角色登錄驗證賬號密碼無誤后、即可進入知世體育用品銷售管理系統(tǒng)首頁,如圖所示。
4.2 注冊:
體育用品銷售商品系統(tǒng)系統(tǒng),頁面設計主要是在首頁頭部引入common以及jquery等公共的js和css樣式布局文件,通過recommend index-pv2 DIV樣式設計頭部幾個菜單欄的顯示。用戶點擊其中一個div觸發(fā)點擊時間、頁面就加載框架的布局、調用提前寫好的.index-pv1 .animation-box:hover CSS文件等來渲染整個前端頁面、用戶登錄注冊,在用戶注冊頁面通過填寫賬號、密碼、姓名、手機、等信息用戶注冊,注冊是用戶輸入input注冊框之后點擊確定事件(onsubmit)按鈕、提交的時候綁定函數、書寫函數(獲取用戶輸入的數據<獲取數據時需要在指定位置定義一個id>)、然后對form表單的數據進行判斷、進行數據合法(form表單提交)、若數據非法(給出錯誤提示信息彈窗button,不讓表單提交)
4.3 前臺首頁:
用戶登錄進入知世體育用品銷售管理系統(tǒng)可以查看首頁模塊、個人中心模塊、訂單信息管理、我的收藏管理等內容進行詳細操作。
4.4 管理員端:
管理員登錄進入知世體育用品銷售管理系統(tǒng)后、可以查看首頁模塊、個人中心模塊、用戶管理、體育用品商家模塊、體育用品商品類型管理、體育用品商品信息管理、體育用品訂單信息管理模塊以及體育用品銷售商品新聞資訊以及輪播圖內容模塊進行詳細的操作處理。
體育用品銷售商品信息管理,用戶點擊商品信息管理頁面中可以對索引、商品名稱、商品類型、圖片、價格、購買數量、商品重量、生產日期等內容進行進行詳情,修改或刪除等操作,在商品信息管理頁面用戶點擊列表、觸發(fā)列表后臺列表重新操作、代用后臺ShangpingController業(yè)務處理類進行處理、調用page分頁查詢方法、page頁面方法重寫了Service調用后臺數據庫執(zhí)行SQL語句查詢、將查詢的結果返回給Controller–page方法、設計返回值接收數據庫查詢的集合數據、最后返回前端Shangping頁面進行數據渲染實現、從而前端進行顯示。
訂單信息管理,用戶點擊訂單信息管理頁面中可以對、索引、訂單編號、商品名稱、商品類型、價格、總價格、購買日期、用戶名、購買數量、姓名、手機、是否支付等內容進行進行詳情,修改或刪除等操作。
五、代碼實現:
/** * 訂單 * 后端接口 * @author * @email * @date 2022-03-27 17:11:41 */@RestController@requestMapping("/orders")public class OrdersController { @Autowired private OrdersService ordersService;/** * 列表 */ @RequestMapping("/lists") public R list( OrdersEntity orders){ EntityWrapper<OrdersEntity> ew = new EntityWrapper<OrdersEntity>(); ew.allEq(MPUtil.allEQMapPre( orders, "orders")); return R.ok().put("data", ordersService.selectListView(ew)); } /** * 查詢 */ @RequestMapping("/query") public R query(OrdersEntity orders){ EntityWrapper< OrdersEntity> ew = new EntityWrapper< OrdersEntity>(); ew.allEq(MPUtil.allEQMapPre( orders, "orders")); OrdersView ordersView = ordersService.selectView(ew); return R.ok("查詢訂單成功").put("data", ordersView); } /** * 后端列表 */ @RequestMapping("/page") public R page(@RequestParam Map<String, Object> params,OrdersEntity orders, HttpServletRequest request){ if(!request.getSession().getAttribute("role").toString().equals("管理員")) { orders.setUserid((Long)request.getSession().getAttribute("userId")); } EntityWrapper<OrdersEntity> ew = new EntityWrapper<OrdersEntity>(); PageUtils page = ordersService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, orders), params), params)); return R.ok().put("data", page); } /** * 前端列表 */ @RequestMapping("/list") public R list(@RequestParam Map<String, Object> params,OrdersEntity orders, HttpServletRequest request){ EntityWrapper<OrdersEntity> ew = new EntityWrapper<OrdersEntity>(); PageUtils page = ordersService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, orders), params), params)); return R.ok().put("data", page); } /** * 后端詳情 */ @RequestMapping("/info/{id}") public R info(@PathVariable("id") Long id){ OrdersEntity orders = ordersService.selectById(id); return R.ok().put("data", orders); } /** * 前端詳情 */ @RequestMapping("/detail/{id}") public R detail(@PathVariable("id") Long id){ OrdersEntity orders = ordersService.selectById(id); return R.ok().put("data", orders); } /** * 修改 */ @RequestMapping("/update") public R update(@RequestBody OrdersEntity orders, HttpServletRequest request){ //ValidatorUtils.validateEntity(orders); ordersService.updateById(orders);//全部更新 return R.ok(); } /** * 刪除 */ @RequestMapping("/delete") public R delete(@RequestBody Long[] ids){ ordersService.deleteBatchIds(Arrays.asList(ids)); return R.ok(); } /** * 后端保存 */ @RequestMapping("/save") public R save(@RequestBody OrdersEntity orders, HttpServletRequest request){ orders.setId(new Date().getTime() new Double(Math.floor(Math.random()*1000)).longValue()); //ValidatorUtils.validateEntity(orders); orders.setUserid((Long)request.getSession().getAttribute("userId")); ordersService.insert(orders); return R.ok(); } /** * 前端保存 */ @RequestMapping("/add") public R add(@RequestBody OrdersEntity orders, HttpServletRequest request){ orders.setId(new Date().getTime() new Double(Math.floor(Math.random()*1000)).longValue()); //ValidatorUtils.validateEntity(orders); ordersService.insert(orders); return R.ok(); } /** * 提醒接口 */ @RequestMapping("/remind/{columnName}/{type}") public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, @PathVariable("type") String type,@RequestParam Map<String, Object> map) { map.put("column", columnName); map.put("type", type); if(type.equals("2")) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar c = Calendar.getInstance(); Date remindStartDate = null; Date remindEndDate = null; if(map.get("remindstart")!=null) { Integer remindStart = Integer.parseInt(map.get("remindstart").toString()); c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart); remindStartDate = c.getTime(); map.put("remindstart", sdf.format(remindStartDate)); } if(map.get("remindend")!=null) { Integer remindEnd = Integer.parseInt(map.get("remindend").toString()); c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindEnd); remindEndDate = c.getTime(); map.put("remindend", sdf.format(remindEndDate)); } } Wrapper<OrdersEntity> wrapper = new EntityWrapper<OrdersEntity>(); if(map.get("remindstart")!=null) { wrapper.ge(columnName, map.get("remindstart")); } if(map.get("remindend")!=null) { wrapper.le(columnName, map.get("remindend")); } if(!request.getSession().getAttribute("role").toString().equals("管理員")) { wrapper.eq("userid", (Long)request.getSession().getAttribute("userId")); } int count = ordersService.selectCount(wrapper); return R.ok().put("count", count); }}
六、論文參考:
4.3.2添加信息模塊順序圖
1、商品信息管理實體圖如圖4-3所示:
2、用戶管理實體圖如圖4-4所示:
七、項目總結:
體育用品銷售商品系統(tǒng)系統(tǒng)的實現、,主要是對自己在大學這幾年時間所學計算機相關內容的一個整體測試,對于系統(tǒng),主要是通過現在現在互聯(lián)網的體育用品銷售商品系統(tǒng)系統(tǒng)的實現,管理員根據實際問題管理,并且可以根據需求進行數據信息的增加修改刪除等操作,完美的解決了當下體育用品銷售商品系統(tǒng)中所遇到的問題。經過一個學期的畢業(yè)設計的實現完成已接近尾聲,到目前為止,當我回想起整個學期的系統(tǒng)開發(fā)日,收獲頗豐。畢業(yè)設計的主要任務是建立一個基于java實現的體育用品銷售商品的信息系統(tǒng),主要使用springboot和Mysql數據庫的開發(fā)工具,對系統(tǒng)的每個功能模塊進行相對應的操作,最后,系統(tǒng)調試結果表明系統(tǒng)大部分可以滿足功能要求。
版權聲明:本文內容由互聯(lián)網用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發(fā)現本站有涉嫌抄襲侵權/違法違規(guī)的內容, 請發(fā)送郵件至 舉報,一經查實,本站將立刻刪除。