一、摘要
1.1 項目介紹
基于JAVA+Vue+SpringBoot+MySQL的固始鵝塊銷售系統(tǒng),包含了鵝塊類型模塊、固始鵝塊模塊、鵝塊訂單模塊、評論管理模塊,還包含系統(tǒng)自帶的用戶管理、部門管理、角色管理、菜單管理、日志管理、數(shù)據(jù)字典管理、文件管理、圖表展示等基礎模塊,固始鵝塊銷售系統(tǒng)基于角色的訪問控制,給鵝塊銷售管理員、消費者使用,可將權限精確到按鈕級別,您可以自定義角色并分配權限,系統(tǒng)適合設計精確的權限約束需求。
1.2 項目錄屏
二、功能模塊
固始鵝塊是深受當?shù)厝嗣裣矏鄣牡胤矫朗?,近些年來逐漸走向全國。隨著社會的不斷發(fā)展,人們的生活習慣和消費方式都在不斷改變,而目前固始鵝塊的銷售方式大多還是農(nóng)貿(mào)市場銷售、土特產(chǎn)銷售店鋪、大中型超市或餐飲門店等零售方式。傳統(tǒng)固始鵝塊銷售模式的時間、地點都相對固定,占用資金量大,需要店鋪租金、裝修費用、硬件設施、人員、倉庫等各種資金支出。網(wǎng)絡技術的發(fā)展為固始鵝塊銷售模式的革新帶來了新的機遇,結合現(xiàn)代網(wǎng)絡技術,改變傳統(tǒng)的面對面的銷售方式,開發(fā)出基于B/S架構的固始鵝塊銷售系統(tǒng)。
固始鵝塊銷售系統(tǒng)的功能性需求主要包含數(shù)據(jù)中心模塊、鵝塊類型模塊、固始鵝塊模塊、鵝塊訂單模塊、評論管理模塊這五大模塊,是基于瀏覽器運行的web管理后端,其中各個模塊詳細說明如下。
2.1 數(shù)據(jù)中心模塊
數(shù)據(jù)中心模塊包含了固始鵝塊銷售的系統(tǒng)基礎配置,如登錄用戶的管理、鵝塊運營公司組織架構的管理、用戶菜單權限的管理、系統(tǒng)日志的管理、公用文件云盤的管理。
其中登錄用戶管理模塊,由二手平臺管理員負責運維工作,管理員可以對登錄用戶進行增加、刪除、修改、查詢操作。
組織架構,指的是固始鵝塊銷售運營公司的組織架構,該模塊適用于管理這些組織架構的部門層級和員工的部門歸屬情況。
用戶菜單權限管理模塊,用于管理不同權限的用戶,擁有哪些具體的菜單權限。
系統(tǒng)日志的管理,用于維護用戶登入系統(tǒng)的記錄,方便定位追蹤用戶的操作情況。
公用云盤管理模塊,用于統(tǒng)一化維護固始鵝塊銷售系統(tǒng)中的圖片,如店員的人臉照片、鵝塊照片等等。
2.2 鵝塊類型模塊
鵝塊類型模塊用于對固始鵝塊的類型數(shù)據(jù)進行管理,其中包括會類型名稱、類型狀態(tài)、排序值、備注、創(chuàng)建時間、創(chuàng)建人、更新時間、更新人等,管理員可以通過此模塊對固始鵝塊類型數(shù)據(jù)進行添加、編輯更新、刪除、查詢操作,消費者可以查詢固始鵝塊類型的數(shù)據(jù)。
2.3 固始鵝塊模塊
固始鵝塊模塊用于對固始鵝塊的數(shù)據(jù)進行管理,其中包括商品名稱、商品類型、銷售價、圖片、供應商、備注、創(chuàng)建時間、創(chuàng)建人等,管理員可以通過此模塊對固始鵝塊數(shù)據(jù)進行添加、編輯更新、刪除、查詢操作,消費者可以查詢固始鵝塊的數(shù)據(jù)。
2.4 鵝塊訂單模塊
鵝塊訂單模塊用于對固始鵝塊的訂單數(shù)據(jù)進行管理,其中包括商品ID、商品名稱、商品圖片、下單人、商品單價、數(shù)量、小計、付款狀態(tài)等,消費者可以選擇固始鵝塊數(shù)據(jù)進行下單、加購操作,管理員可以查詢消費者的下單數(shù)據(jù)。
2.5 評論管理模塊
固始鵝塊交易過程中難免會有一些咨詢和糾紛,所以固始鵝塊銷售系統(tǒng)專門設計了留言板模塊,用于解決相關糾紛,消費者可以在留言板中留言,或對已留言的信息進行回復,其中包括咨詢內容、咨詢人、咨詢時間、回復內容、回復人、回復時間、備注、創(chuàng)建時間等。
三、系統(tǒng)設計
3.1 用例設計
3.2 數(shù)據(jù)庫設計
3.2.1 鵝塊類型表
3.2.2 鵝塊表
3.2.3 鵝塊訂單表
3.2.4 鵝塊評論表
四、系統(tǒng)展示
五、核心代碼
5.1 查詢鵝塊
@RequestMapping(value = "/getSellPage", method = RequestMethod.GET)
@ApiOperation(value = "查詢商品")
public Result<IPage<Product>> getSellPage(@ModelAttribute Product product,@ModelAttribute PageVo page){
QueryWrapper<Product> qw = new QueryWrapper<>();
User currUser = securityUtil.getCurrUser();
QueryWrapper<SupermarketBill> billQw = new QueryWrapper<>();
billQw.eq("user_id",currUser.getId());
billQw.eq("status","未付款");
List<SupermarketBill> billList = iSupermarketBillService.list(billQw);
if(!ZwzNullUtils.isNull(product.getTitle())) {
qw.like("title",product.getTitle());
}
if(!ZwzNullUtils.isNull(product.getType())) {
qw.eq("type",product.getType());
}
IPage<Product> data = iProductService.page(PageUtil.initMpPage(page),qw);
for (Product vo : data.getRecords()) {
vo.setNumber(BigDecimal.ZERO);
}
for (Product vo : data.getRecords()) {
for (SupermarketBill bill : billList) {
if(Objects.equals(vo.getId(),bill.getProductId())) {
vo.setNumber(vo.getNumber().add(bill.getNumber()));
}
}
}
return new ResultUtil<IPage<Product>>().setData(data);
}
5.2 查詢鵝塊類型
@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查詢商品類型")
public Result<IPage<ProductType>> getByPage(@ModelAttribute ProductType productType ,@ModelAttribute PageVo page){
QueryWrapper<ProductType> qw = new QueryWrapper<>();
if(!ZwzNullUtils.isNull(productType.getTitle())) {
qw.like("title",productType.getTitle());
}
if(!ZwzNullUtils.isNull(productType.getStatus())) {
qw.eq("status",productType.getStatus());
}
IPage<ProductType> data = iProductTypeService.page(PageUtil.initMpPage(page),qw);
return new ResultUtil<IPage<ProductType>>().setData(data);
}
5.3 鵝塊下單
@RequestMapping(value = "/addOne", method = RequestMethod.GET)
@ApiOperation(value = "下單")
public Result<Object> addOne(@RequestParam String id){
Product p = iProductService.getById(id);
if(p == null) {
return ResultUtil.error("商品不存在");
}
User currUser = securityUtil.getCurrUser();
/**
* 判斷是否下單
*/
QueryWrapper<SupermarketBill> billQw = new QueryWrapper<>();
billQw.eq("product_id",id);
billQw.eq("user_id",currUser.getId());
billQw.eq("status","未付款");
billQw.last("limit 1");
SupermarketBill bill = iSupermarketBillService.getOne(billQw);
if(bill != null) {
bill.setNumber(bill.getNumber().add(BigDecimal.ONE));
bill.setSum(bill.getPrice().multiply(bill.getNumber()));
iSupermarketBillService.saveOrUpdate(bill);
return ResultUtil.success();
}
/**
* 下單
*/
SupermarketBill b = new SupermarketBill();
b.setProductId(p.getId());
b.setProductName(p.getTitle());
b.setProductImage(p.getImage());
b.setUserId(currUser.getId());
b.setUserName(currUser.getNickname());
b.setPrice(p.getPrice());
b.setNumber(BigDecimal.ONE);
b.setSum(p.getPrice());
b.setStatus("未付款");
iSupermarketBillService.saveOrUpdate(b);
return ResultUtil.success();
}
5.4 撤銷鵝塊下單
@RequestMapping(value = "/cancelOne", method = RequestMethod.GET)
@ApiOperation(value = "撤銷下單")
public Result<Object> cancelOne(@RequestParam String id) {
Product p = iProductService.getById(id);
if (p == null) {
return ResultUtil.error("商品不存在");
}
User currUser = securityUtil.getCurrUser();
QueryWrapper<SupermarketBill> billQw = new QueryWrapper<>();
billQw.eq("product_id",id);
billQw.eq("user_id",currUser.getId());
billQw.eq("status","未付款");
billQw.last("limit 1");
SupermarketBill bill = iSupermarketBillService.getOne(billQw);
if(bill != null && bill.getNumber().compareTo(BigDecimal.ONE) > 0) {
bill.setNumber(bill.getNumber().subtract(BigDecimal.ONE));
bill.setSum(bill.getPrice().multiply(bill.getNumber()));
iSupermarketBillService.saveOrUpdate(bill);
}
return ResultUtil.success();
}
5.5 新增留言
@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增留言")
public Result<Message> insert(Message message){
User currUser = securityUtil.getCurrUser();
message.setUserId(currUser.getId());
message.setUserName(currUser.getNickname());
message.setTime(DateUtil.now());
message.setReplyContent("");
message.setReplyName("");
message.setReplyId("");
message.setReplyTime("");
iMessageService.saveOrUpdate(message);
return new ResultUtil<Message>().setData(message);
}
五、免責說明
- 本項目僅供個人學習使用,商用授權請聯(lián)系博主,否則后果自負。
- 博主擁有本軟件構建后的應用系統(tǒng)全部內容所有權及獨立的知識產(chǎn)權,擁有最終解釋權。
- 如有問題,歡迎在倉庫 Issue 留言,看到后會第一時間回復,相關意見會酌情考慮,但沒有一定被采納的承諾或保證。
下載本系統(tǒng)代碼或使用本系統(tǒng)的用戶,必須同意以下內容,否則請勿下載!文章來源:http://www.zghlxwxcb.cn/news/detail-813063.html
- 出于自愿而使用/開發(fā)本軟件,了解使用本軟件的風險,且同意自己承擔使用本軟件的風險。
- 利用本軟件構建的網(wǎng)站的任何信息內容以及導致的任何版權糾紛和法律爭議及后果和博主無關,博主對此不承擔任何責任。
- 在任何情況下,對于因使用或無法使用本軟件而導致的任何難以合理預估的損失(包括但不僅限于商業(yè)利潤損失、業(yè)務中斷與業(yè)務信息丟失),博主概不承擔任何責任。
- 必須了解使用本軟件的風險,博主不承諾提供一對一的技術支持、使用擔保,也不承擔任何因本軟件而產(chǎn)生的難以預料的問題的相關責任。
文章來源地址http://www.zghlxwxcb.cn/news/detail-813063.html
到了這里,關于基于JAVA的固始鵝塊銷售系統(tǒng) 開源項目的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!