目錄
一、前言介紹:
網(wǎng)絡(luò)社會的快速發(fā)展從根本上改變了以往傳統(tǒng)的管理方式。自上個世紀(jì)以來,中國政府、企業(yè)和事業(yè)單位開始設(shè)想通過互聯(lián)網(wǎng)實現(xiàn)管理信息和現(xiàn)代系統(tǒng)的維護。實現(xiàn)無紙化辦公,過去有各種原因,如網(wǎng)絡(luò)普及率低、用戶不習(xí)慣和不可接受、與互聯(lián)網(wǎng)有關(guān)的法律法規(guī)和制度不完善等,阻礙了互聯(lián)網(wǎng)的發(fā)展速度。進入21世紀(jì)后,中國經(jīng)濟迅速發(fā)展。此前對機構(gòu)管理的限制和各種問題已逐一得到解決。國內(nèi)各大機構(gòu)和企業(yè)都加入了現(xiàn)代信息管理模式。過去,與體育用品銷售相關(guān)的信息管理部門表示,員工將進行人工統(tǒng)計和記錄。這種方法時效性低,也很不方便。隨著科學(xué)的進步和我們技術(shù)的不斷成熟,計算機的功能非常強大和完善。
本系統(tǒng)以java為核心開發(fā)技術(shù),結(jié)合SpringBoot VUE框架實現(xiàn)了一個知世體育用品銷售管理系統(tǒng)。知世體育用品銷售管理系統(tǒng)的主要使用者分為管理員、用戶;主要包括首頁模塊、個人中心模塊、用戶管理以及體育用品商家管理和體育用品商品管理、知世體育用品商品類型管理、訂單信息管理、系統(tǒng)輪播圖管理、體育用品新聞資訊管理等功能。通過這些功能模塊的設(shè)計,基本上實現(xiàn)了整個體育用品銷售商品服務(wù)管理的過程。具體在系統(tǒng)設(shè)計上采用了B/S的結(jié)構(gòu)。
二、系統(tǒng)設(shè)計:
2.1 系統(tǒng)功能設(shè)計:
系統(tǒng)架構(gòu)圖屬于系統(tǒng)設(shè)計的早期階段。系統(tǒng)架構(gòu)圖只是這一階段的必要產(chǎn)品。系統(tǒng)的總體架構(gòu)決定了整個系統(tǒng)的模式和層次,是系統(tǒng)的基礎(chǔ)。知世體育用品銷售管理系統(tǒng)的整體結(jié)構(gòu)設(shè)計如圖所示
2.2 登錄模塊設(shè)計:
登錄模塊主要滿足了管理員以及其他用戶的權(quán)限登錄,登錄模塊順序圖如圖所示
三、數(shù)據(jù)設(shè)計:
3.1 數(shù)據(jù)庫設(shè)計
數(shù)據(jù)庫是計算機信息系統(tǒng)的基礎(chǔ)。目前,電腦系統(tǒng)的關(guān)鍵與核心部分就是數(shù)據(jù)庫。數(shù)據(jù)庫開發(fā)的優(yōu)劣對整個系統(tǒng)的質(zhì)量和速度有著直接影響。
3.2 數(shù)據(jù)庫設(shè)計原則
數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計采用的是:實體-關(guān)系(E-R)模型的方法來進行設(shè)計。 e-R模型方法的組成部分是:實體、屬性以及連接。 E-r模型用E-r圖進行表示、目的是提醒用戶工作環(huán)境中所涉及事物以及對象實體屬性是對實體特征具體描述。 數(shù)據(jù)庫表設(shè)計在系統(tǒng)設(shè)計中起著決定性關(guān)鍵作用、表設(shè)計和實體對象一一對應(yīng)、 看下我們?yōu)檫@些關(guān)鍵實體設(shè)計一個實體關(guān)系圖吧。
3.3 數(shù)據(jù)ER圖設(shè)計:
數(shù)據(jù)模型中的實體,也稱為實例,對應(yīng)于可以與現(xiàn)實世界中的其他對象區(qū)分開來的“事件”或“事物”。 例如,公司的每一個員工,車的每一個零件或者房子里的每一件商品。
商品信息管理實體圖如圖所示
用戶管理實體圖如圖所示
3.4 主要庫表設(shè)計:
管理員表示保存網(wǎng)上商品銷售的用戶信息表,其中表結(jié)構(gòu)如所示。
訂單表是保存網(wǎng)上商品銷售的訂單信息表,其中id為主鍵,表結(jié)構(gòu)如所示。
類別表是保存網(wǎng)上商品銷售的類別信息表,其中id為主鍵,表結(jié)構(gòu)如所示。
表4-3 category類別表
商品表是保存網(wǎng)上商品銷售的商品信息表,其中id為主鍵,表結(jié)構(gòu)如所示。
會員表是保存網(wǎng)上商品銷售的會員信息表,其中id為主鍵,表結(jié)構(gòu)如所示。
公告表是網(wǎng)上商品的公告信息表,其中id為主鍵,表結(jié)構(gòu)如所示。
購物車表是保存網(wǎng)上商品銷售的購物車信息表,其中id為主鍵,表結(jié)構(gòu)如所示。
訂單表是保存網(wǎng)上商品銷售的訂單信息表,其中id為主鍵,表結(jié)構(gòu)如圖所示。
四、功能截圖:
4.1 登錄:
項目啟動后、管理員通過填寫用戶名、密碼等信息進行登錄驗證,輸入完成后選擇角色登錄驗證賬號密碼無誤后、即可進入知世體育用品銷售管理系統(tǒng)首頁,如圖所示。
4.2 注冊:
體育用品銷售商品系統(tǒng)系統(tǒng),頁面設(shè)計主要是在首頁頭部引入common以及jquery等公共的js和css樣式布局文件,通過recommend index-pv2 DIV樣式設(shè)計頭部幾個菜單欄的顯示。用戶點擊其中一個div觸發(fā)點擊時間、頁面就加載框架的布局、調(diào)用提前寫好的.index-pv1 .animation-box:hover CSS文件等來渲染整個前端頁面、用戶登錄注冊,在用戶注冊頁面通過填寫賬號、密碼、姓名、手機、等信息用戶注冊,注冊是用戶輸入input注冊框之后點擊確定事件(onsubmit)按鈕、提交的時候綁定函數(shù)、書寫函數(shù)(獲取用戶輸入的數(shù)據(jù)<獲取數(shù)據(jù)時需要在指定位置定義一個id>)、然后對form表單的數(shù)據(jù)進行判斷、進行數(shù)據(jù)合法(form表單提交)、若數(shù)據(jù)非法(給出錯誤提示信息彈窗button,不讓表單提交)
4.3 前臺首頁:
用戶登錄進入知世體育用品銷售管理系統(tǒng)可以查看首頁模塊、個人中心模塊、訂單信息管理、我的收藏管理等內(nèi)容進行詳細(xì)操作。
4.4 管理員端:
管理員登錄進入知世體育用品銷售管理系統(tǒng)后、可以查看首頁模塊、個人中心模塊、用戶管理、體育用品商家模塊、體育用品商品類型管理、體育用品商品信息管理、體育用品訂單信息管理模塊以及體育用品銷售商品新聞資訊以及輪播圖內(nèi)容模塊進行詳細(xì)的操作處理。
體育用品銷售商品信息管理,用戶點擊商品信息管理頁面中可以對索引、商品名稱、商品類型、圖片、價格、購買數(shù)量、商品重量、生產(chǎn)日期等內(nèi)容進行進行詳情,修改或刪除等操作,在商品信息管理頁面用戶點擊列表、觸發(fā)列表后臺列表重新操作、代用后臺ShangpingController業(yè)務(wù)處理類進行處理、調(diào)用page分頁查詢方法、page頁面方法重寫了Service調(diào)用后臺數(shù)據(jù)庫執(zhí)行SQL語句查詢、將查詢的結(jié)果返回給Controller–page方法、設(shè)計返回值接收數(shù)據(jù)庫查詢的集合數(shù)據(jù)、最后返回前端Shangping頁面進行數(shù)據(jù)渲染實現(xiàn)、從而前端進行顯示。
訂單信息管理,用戶點擊訂單信息管理頁面中可以對、索引、訂單編號、商品名稱、商品類型、價格、總價格、購買日期、用戶名、購買數(shù)量、姓名、手機、是否支付等內(nèi)容進行進行詳情,修改或刪除等操作。
五、代碼實現(xiàn):
/** * 訂單 * 后端接口 * @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所示:
七、項目總結(jié):
體育用品銷售商品系統(tǒng)系統(tǒng)的實現(xiàn)、,主要是對自己在大學(xué)這幾年時間所學(xué)計算機相關(guān)內(nèi)容的一個整體測試,對于系統(tǒng),主要是通過現(xiàn)在現(xiàn)在互聯(lián)網(wǎng)的體育用品銷售商品系統(tǒng)系統(tǒng)的實現(xiàn),管理員根據(jù)實際問題管理,并且可以根據(jù)需求進行數(shù)據(jù)信息的增加修改刪除等操作,完美的解決了當(dāng)下體育用品銷售商品系統(tǒng)中所遇到的問題。經(jīng)過一個學(xué)期的畢業(yè)設(shè)計的實現(xiàn)完成已接近尾聲,到目前為止,當(dāng)我回想起整個學(xué)期的系統(tǒng)開發(fā)日,收獲頗豐。畢業(yè)設(shè)計的主要任務(wù)是建立一個基于java實現(xiàn)的體育用品銷售商品的信息系統(tǒng),主要使用springboot和Mysql數(shù)據(jù)庫的開發(fā)工具,對系統(tǒng)的每個功能模塊進行相對應(yīng)的操作,最后,系統(tǒng)調(diào)試結(jié)果表明系統(tǒng)大部分可以滿足功能要求。
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 舉報,一經(jīng)查實,本站將立刻刪除。