?全網(wǎng)粉絲20W+,csdn特邀作者、博客專家、CSDN新星計(jì)劃導(dǎo)師、java領(lǐng)域優(yōu)質(zhì)創(chuàng)作者,博客之星、掘金/華為云/阿里云/InfoQ等平臺(tái)優(yōu)質(zhì)作者、專注于Java技術(shù)領(lǐng)域和畢業(yè)項(xiàng)目實(shí)戰(zhàn)?
??文末獲取項(xiàng)目下載方式??
一、項(xiàng)目背景介紹:
基于SSH的便利店系統(tǒng)是為了滿足顧客、店長和管理者的不同需求而設(shè)計(jì)的。顧客可以通過系統(tǒng)查詢商品價(jià)格,以及按照商品名、類名和價(jià)格進(jìn)行搜索。店長可以對顧客挑選的商品進(jìn)行合計(jì)金額,查看天氣情況,實(shí)時(shí)監(jiān)控售賣情況和商品排行榜,進(jìn)行訂貨和查詢商品信息,同時(shí)還可以通過盤點(diǎn)功能對商品數(shù)量進(jìn)行修改。管理者可以查看各家便利店的售賣情況并進(jìn)行排名,確認(rèn)店長的訂貨和商品數(shù)量修改請求,并對商品進(jìn)行修改,包括上新商品和修改價(jià)格。這個(gè)系統(tǒng)的設(shè)計(jì)旨在提高便利店運(yùn)營的效率和管理的便利性。
二、項(xiàng)目技術(shù)簡介:
- JAVA:Java是一門面向?qū)ο缶幊陶Z言,不僅吸收了C++語言的各種優(yōu)點(diǎn),還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強(qiáng)大和簡單易用兩個(gè)特征。Java語言作為靜態(tài)面向?qū)ο缶幊陶Z言的代表,極好地實(shí)現(xiàn)了面向?qū)ο罄碚摚试S程序員以優(yōu)雅的思維方式進(jìn)行復(fù)雜的編程。
- Spring:Spring框架是一個(gè)開放源代碼的J2EE應(yīng)用程序框架,由Rod Johnson發(fā)起,是針對bean的生命周期進(jìn)行管理的輕量級(jí)容器(lightweight container)。 Spring解決了開發(fā)者在J2EE開發(fā)中遇到的許多常見的問題,提供了功能強(qiáng)大IOC、AOP及Web MVC等功能。Spring可以單獨(dú)應(yīng)用于構(gòu)筑應(yīng)用程序,也可以和Struts、Webwork、Tapestry等眾多Web框架組合使用,并且可以與 Swing等桌面應(yīng)用程序AP組合。因此, Spring不僅僅能應(yīng)用于J2EE應(yīng)用程序之中,也可以應(yīng)用于桌面應(yīng)用程序以及小應(yīng)用程序之中。Spring框架主要由七部分組成,分別是 Spring Core、 Spring AOP、 Spring ORM、 Spring DAO、Spring Context、 Spring Web和 Spring Web MVC。
- Jsp:JSP(全稱JavaServer Pages)是由Sun Microsystems公司主導(dǎo)創(chuàng)建的一種動(dòng)態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。JSP部署于網(wǎng)絡(luò)服務(wù)器上,可以響應(yīng)客戶端發(fā)送的請求,并根據(jù)請求內(nèi)容動(dòng)態(tài)地生成HTML、XML或其他格式文檔的Web網(wǎng)頁,然后返回給請求者。JSP技術(shù)以Java語言作為腳本語言,為用戶的HTTP請求提供服務(wù),并能與服務(wù)器上的其它Java程序共同處理復(fù)雜的業(yè)務(wù)需求。
JSP將Java代碼和特定變動(dòng)內(nèi)容嵌入到靜態(tài)的頁面中,實(shí)現(xiàn)以靜態(tài)頁面為模板,動(dòng)態(tài)生成其中的部分內(nèi)容。JSP引入了被稱為“JSP動(dòng)作”的XML標(biāo)簽,用來調(diào)用內(nèi)建功能。另外,可以創(chuàng)建JSP標(biāo)簽庫,然后像使用標(biāo)準(zhǔn)HTML或XML標(biāo)簽一樣使用它們。標(biāo)簽庫能增強(qiáng)功能和服務(wù)器性能,而且不受跨平臺(tái)問題的限制。JSP文件在運(yùn)行時(shí)會(huì)被其編譯器轉(zhuǎn)換成更原始的Servlet代碼。JSP編譯器可以把JSP文件編譯成用Java代碼寫的Servlet,然后再由Java編譯器來編譯成能快速執(zhí)行的二進(jìn)制機(jī)器碼,也可以直接編譯成二進(jìn)制碼。 - Html:HTML的全稱為超文本標(biāo)記語言,是一種標(biāo)記語言。它包括一系列標(biāo)簽.通過這些標(biāo)簽可以將網(wǎng)絡(luò)上的文檔格式統(tǒng)一,使分散的Internet資源連接為一個(gè)邏輯整體。HTML文本是由HTML命令組成的描述性文本,HTML命令可以說明文字,圖形、動(dòng)畫、聲音、表格、鏈接等。
超文本是一種組織信息的方式,它通過超級(jí)鏈接方法將文本中的文字、圖表與其他信息媒體相關(guān)聯(lián)。這些相互關(guān)聯(lián)的信息媒體可能在同一文本中,也可能是其他文件,或是地理位置相距遙遠(yuǎn)的某臺(tái)計(jì)算機(jī)上的文件。這種組織信息方式將分布在不同位置的信息資源用隨機(jī)方式進(jìn)行連接,為人們查找,檢索信息提供方便。
三、系統(tǒng)功能模塊介紹:
四、數(shù)據(jù)庫設(shè)計(jì):
1:car(car)
字段名 | 類型 | 默認(rèn)值 | 列注釋 |
---|---|---|---|
id | int | NULL | |
shopId | int | NULL | |
createTime | datetime | NULL | |
carGoods | int | NULL | |
price | decimal | NULL |
2:car_goods(car_goods)
字段名 | 類型 | 默認(rèn)值 | 列注釋 |
---|---|---|---|
id | int | NULL | |
carId | int | NULL | |
goodsId | varchar | NULL | |
createTime | datetime | NULL |
3:code(code)
字段名 | 類型 | 默認(rèn)值 | 列注釋 |
---|---|---|---|
id | bigint | NULL | 邀請碼 |
creat_date | datetime | NULL | 創(chuàng)建日期 |
create_admin_id | int | NULL | 創(chuàng)建者id |
state | varchar | NULL | 是否在回收站 |
rule | varchar | NULL |
4:goods(goods)
字段名 | 類型 | 默認(rèn)值 | 列注釋 |
---|---|---|---|
id | int | NULL | |
shopId | int | NULL | |
type | varchar | NULL | |
name | varchar | NULL | |
pPrice | decimal | NULL | |
sPrice | decimal | NULL | |
stock | varchar | NULL | |
createDate | datetime | NULL | |
picUrl | varchar | NULL |
5:reserve(reserve)
字段名 | 類型 | 默認(rèn)值 | 列注釋 |
---|---|---|---|
id | int | NULL | |
shopId | int | NULL | |
goodsId | varchar | NULL | |
applyState | varchar | NULL | 狀態(tài) |
applyPerson | varchar | NULL | 申請人 |
auditorPerson | varchar | NULL | 審核人 |
auditorDate | datetime | NULL | 審核時(shí)間 |
createTime | datetime | NULL | 申請時(shí)間 |
type | varchar | NULL | 類型 |
info | varchar | NULL | 數(shù)據(jù) |
數(shù)據(jù) | |||
6:shop(shop)
字段名 | 類型 | 默認(rèn)值 | 列注釋 |
---|---|---|---|
id | int | NULL | |
name | varchar | NULL | |
staff_id | int | NULL | |
create_time | datetime | NULL |
7:staff(staff)
字段名 | 類型 | 默認(rèn)值 | 列注釋 |
---|---|---|---|
id | bigint | NULL | |
username | varchar | NULL | |
sex | varchar | NULL | |
age | int | NULL | |
phone | varchar | NULL | |
address | varchar | NULL | |
account | varchar | NULL | |
password | varchar | NULL | |
createdate | datetime | NULL | |
updatedate | datetime | NULL | |
state | varchar | NULL | |
dep | varchar | NULL |
五、功能模塊:
-
顧客模塊:查詢商品價(jià)格(按名字、按類名、按價(jià)格查詢)
-
后臺(tái)管理登錄:
-
請求確認(rèn)功能: 對店長的訂貨以及商品數(shù)量的修改進(jìn)行確認(rèn):
-
查看各家便利店售賣情況(總金額,并進(jìn)行排名):
-
商品的修改功能: 上新商品、對原來商品價(jià)格進(jìn)行修改:
-
查看今日以及未來幾天天氣:
-
查詢功能:對商品進(jìn)行查詢:包括價(jià)格、數(shù)量、以及訂貨預(yù)計(jì)數(shù)量:
-
訂貨功能:對所需商品進(jìn)行訂貨,訂貨成功后需要管理者進(jìn)行確認(rèn),確認(rèn)成功后商品的庫存才能增加:
-
查看今日實(shí)時(shí)售賣情況:總金額、支付筆數(shù):
六、代碼示例:
@PostMapping("/login")
public ReturnMsg manageLogin(@RequestBody Map<String, String> param) {
if (StrUtil.isEmpty(param.get("username")) || StrUtil.isEmpty(param.get("password"))) {
return ReturnMsg.error("用戶名或密碼錯(cuò)誤!");
}
ManageDTO manageDTO = new ManageDTO();
manageDTO.setUserName(param.get("username"));
manageDTO.setPassWord(param.get("password"));
QueryWrapper<ManageDTO> manageDTOQueryWrapper = new QueryWrapper<>(manageDTO);
manageDTOQueryWrapper.last("limit 1");
ManageDTO adminDTOS = manageService.getOne(manageDTOQueryWrapper);
if (adminDTOS == null) return ReturnMsg.error("用戶名或密碼錯(cuò)誤!");
Map<String, Object> map = new HashMap<>();
map.put("avatar", StrUtil.isNotBlank(adminDTOS.getPhotoImg()) ? adminDTOS.getPhotoImg() : "https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif");
map.put("introduction", adminDTOS.getName() + ",你好!");
map.put("name", adminDTOS.getName());
map.put("roles", Arrays.asList("admin"));
map.put("type", adminDTOS.getStatus());
Map<String, String> returnMap = new HashMap<>();
String uuid = UUID.randomUUID().toString();
returnMap.put("token", uuid);
userInfoMap.put(uuid, JSON.toJSONString(map));
return ReturnMsg.ok(returnMap);
}
七、項(xiàng)目總結(jié):
開發(fā)基于SSH的便利店系統(tǒng)是作為畢設(shè)作品進(jìn)行設(shè)計(jì)的,這個(gè)畢設(shè)作品是我在校進(jìn)行知識(shí)學(xué)習(xí)的一個(gè)畢業(yè)考核項(xiàng)目,也是檢驗(yàn)我通過網(wǎng)絡(luò)工具,圖書工具等學(xué)習(xí)工具進(jìn)行自學(xué)的能力水平,讓我在根據(jù)程序開發(fā)的需求分析初步完成程序功能之外,還接觸了程序的測試過程,了解程序測試的具體的過程,以及遇到問題怎么去尋找相應(yīng)的解決辦法等等,畢業(yè)作品的制作以及設(shè)計(jì)才是學(xué)校對我真正的考驗(yàn)。
在程序軟件沒能進(jìn)行開發(fā)之前,我去了學(xué)校的圖書館借了有關(guān)數(shù)據(jù)庫操作的書籍,在查看了sqlserver和mysql兩種數(shù)據(jù)庫的相關(guān)知識(shí)之后,我最后選擇了我比較熟悉的mysql數(shù)據(jù)庫。在編程語言的抉擇上,由于自己之前接觸過Java程序的開發(fā),所以為了讓我盡快在短時(shí)間內(nèi)完成程序制作,我確定用Java編程語言進(jìn)行程序編程。另外我從百度上下載了很多的有關(guān)信息增加,信息刪除等操作的源代碼,并通過不斷調(diào)試以及完成配套的數(shù)據(jù)庫的設(shè)計(jì),開始完成程序的各個(gè)部分的功能。每當(dāng)我粗心大意,致使我深陷程序開發(fā)困擾不能自拔之時(shí),值得慶幸的是,我就會(huì)得到老師,還有我的寢室同學(xué)的耐心指導(dǎo)。
歷經(jīng)長達(dá)幾個(gè)月的畢業(yè)作品制作,我憑借自己的知識(shí)技能,還有大家的指導(dǎo)幫助,能夠在學(xué)校規(guī)定的時(shí)間段之內(nèi)提交畢業(yè)作品。雖然已經(jīng)算是完成了畢業(yè)作品,但是付出了這么多心血,還是想把這個(gè)作品做得更加完美一點(diǎn)。針對我的畢業(yè)作品學(xué)生信息管理系統(tǒng),我覺得還有很多方面需要完善,第一就是界面上需要細(xì)微調(diào)整,比如色彩搭配有點(diǎn)違背廣眾的審美,需要細(xì)微調(diào)整,還有系統(tǒng)里面的字體大小也需要調(diào)大一點(diǎn),太小的字體看起來有些費(fèi)眼。然后在程序的功能上因?yàn)樽约旱娜腴T開發(fā)水平的影響,所以目前只能做到這個(gè)境界,這個(gè)系統(tǒng)相比其他類似系統(tǒng)來說功能很簡單,邏輯結(jié)構(gòu)設(shè)計(jì)得也比較合理。
自己一個(gè)人完成程序的開發(fā),我不僅親自體驗(yàn)了程序的開發(fā)流程,體驗(yàn)到了程序開發(fā)的各種不易。這種體驗(yàn)也還加深了我對知識(shí)的尊重。學(xué)海無涯,知識(shí)不是大學(xué)短短四年就能學(xué)完的,在大學(xué)學(xué)到的知識(shí)在最終經(jīng)歷檢驗(yàn)時(shí),才會(huì)深深地明白自己的知識(shí)積累原來還很淺薄。所以今后不管身在何處,自己的學(xué)習(xí)心態(tài)一定要時(shí)刻體現(xiàn)出來,要深刻明白知識(shí)學(xué)到手里就是自己的。同時(shí),自己也不必過多抱怨學(xué)到的知識(shí)沒有用處,相信學(xué)到的知識(shí)總會(huì)有派上用處的那天。不要等到需要用時(shí)再去學(xué)習(xí)知識(shí),那樣就會(huì)導(dǎo)致自己錯(cuò)失很多本該屬于自己的機(jī)遇。
八、源碼獲?。?/h4>
大家點(diǎn)贊、收藏、關(guān)注、評論啦 、查看????????????獲取項(xiàng)目下載鏈接,博主聯(lián)系方式????????????文章來源:http://www.zghlxwxcb.cn/news/detail-475564.html
鏈接點(diǎn)擊直達(dá):下載鏈接文章來源地址http://www.zghlxwxcb.cn/news/detail-475564.html
到了這里,關(guān)于基于SSM的便利店系統(tǒng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!