SpringMVC+Vue实现前后端分离的宠物管理系统
文末獲取源碼?
開發語言:Java
開發工具:IDEA /Eclipse
數據庫:MYSQL5.7
應用服務:Tomcat7/Tomcat8
使用框架ssm+vue
JDK版本:jdk1.8
本系統地描繪了整個網上寵物管理系統的設計與實現,主要實現的功能有以下幾點:管理員;首頁、個人中心、寵物分類管理、商品分類管理、寵物用品管理、寵物商店管理、寵物領養管理、用戶管理、寵物寄存管理、用戶領養管理、寵物掛失管理、論壇管理、管理員管理、系統管理、訂單管理,前臺首頁;首頁、寵物用品、寵物商店、寵物領養、寵物掛失、論壇信息、寵物資訊、個人中心、后臺管理、購物車、客服,用戶;首頁、個人中心、寵物寄存管理、用戶領養管理、寵物掛失管理、我的收藏管理、訂單管理等功能,其具有簡單的接口,方便的應用,強大的互動,完全基于互聯網的特點。
系統設計
系統概要設計
本寵物管理系統選擇B/S結構(Browser/Server,瀏覽器/服務器結構)和基于Web服務兩種模式。適合在互聯網上進行操作,只要用戶能連網,任何時間、任何地點都可以進行系統的操作使用。系統工作原理圖如圖
?
系統結構設計
整個系統是由多個功能模塊組合而成的,要將所有的功能模塊都一一列舉出來,然后進行逐個的功能設計,使得每一個模塊都有相對應的功能設計,然后進行系統整體的設計。
本寵物管理系統結構圖如圖
系統實現
前臺首頁功能模塊
寵物管理系統,在系統首頁可以查看首頁、寵物用品、寵物商店、寵物領養、寵物掛失、論壇信息、寵物資訊、個人中心、后臺管理、購物車、客服等內容,如圖
登錄、用戶注冊,在用戶注冊頁面可以查看用戶名、密碼、姓名、手機等詳細內容進行登錄、用戶注冊,如圖?
?
寵物用品,在寵物用品頁面通過填寫商品名稱、分類、圖片、規格、品牌、保質期、生產日期、價格等信息進行立即購買,如圖1,2,3所示。在我的訂單頁面通過填寫訂單編號、商品、價格、數量、總價、地址等信息進行提交操作,如圖?
?
?
?寵物商店
?寵物領養
?寵物掛失
?論壇信息
?寵物資訊
管理員功能模塊?
管理員登錄,通過填寫注冊時輸入的用戶名、密碼、角色進行登錄,如圖
管理員登錄進入寵物管理系統可以查看首頁、個人中心、寵物分類管理、商品分類管理、寵物用品管理、寵物商店管理、寵物領養管理、用戶管理、寵物寄存管理、用戶領養管理、寵物掛失管理、論壇管理、管理員管理、系統管理、訂單管理等信息
?寵物分類管理,在寵物分類管理頁面中可以通過填寫分類等內容進行修改,如圖1所示。還可以根據需要對商品分類管理進行添加,修改或刪除等詳細操作,如圖2所示
如圖1
?如圖2
寵物用品管理,在寵物用品管理頁面中可以查看商品名稱、分類、圖片、規格、品牌、保質期、生產日期、價格等信息,并可根據需要對已有寵物用品管理進行修改或刪除等操作,如圖
?
寵物商店管理,在寵物商店管理頁面中可以查看商店編號、商店名稱、圖片、經營范圍、聯系人、聯系電話、商店地址等信息,并可根據需要對已有寵物商店管理進行修改或刪除等詳細操作,如圖?
?
寵物領養管理,在寵物領養管理頁面中可以查看寵物名稱、分類、圖片、種類、年齡、性別、性情、寵物狀態、疫苗情況、領養費用等內容,并且根據需要對已有寵物領養管理進行添加,修改或刪除等詳細操作,如圖
?
寵物寄存管理,在寵物寄存管理頁面中可以查看寄存標題、寵物名稱、分類、圖片、性別、年齡、商店編號、商店名稱、聯系電話、寄存日期、備注、用戶名、手機、審核回復、審核狀態、審核等內容,并且根據需要對已有寵物寄存管理進行添加,修改或刪除等詳細操作,如圖
輪播圖;該頁面為輪播圖管理界面。管理員可以在此頁面進行首頁輪播圖的管理,通過新建操作可在輪播圖中加入新的圖片,還可以對以上傳的圖片進行修改操作,以及圖片的刪除操作,如圖
?
訂單管理,在訂單管理頁面中可以查看訂單編號、商品名稱、商品圖片、購買數量、價格/積分、折扣價格、總價格/總積分、折扣總價格、支付類型、狀態、地址等內容,并且根據需要對已有訂單管理進行添加,修改或刪除等詳細操作,如圖?
?用戶功能模塊
用戶登錄進入寵物管理系統可以查看首頁、個人中心、寵物寄存管理、用戶領養管理、寵物掛失管理、我的收藏管理、訂單管理等內容
個人信息,在個人信息頁面中通過填寫用戶名、密碼、姓名、性別、頭像、手機等信息進行修改,如圖
寵物寄存管理,在寵物寄存管理頁面中可以查看寄存標題、寵物名稱、分類、圖片、性別、年齡、商店編號、商店名稱、聯系電話、寄存日期、備注、用戶名、手機
審核回復、審核狀態等信息內容,并且根據需要對已有寵物寄存管理進行查看或刪除等其他詳細操作,如圖?
寵物掛失管理,在寵物掛失管理頁面中通過填寫掛失標題、分類、寵物名稱、圖片、城市、遺失地點、遺失時間、發布日期、用戶名、手機等內容進行添加、詳情、修改,如圖
?
訂單管理,在訂單管理頁面中可以查看訂單編號、商品名稱、商品圖片、購買數量、價格/積分、折扣價格、總價格/總積分、折扣總價格、支付類型、狀態、地址等內容,并且根據需要對已有訂單管理進行查看、詳情等詳細操作,如圖
?
部分核心代碼:??
package com.controller;import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.Calendar; import java.util.Map; import java.util.HashMap; import java.util.Iterator; import java.util.Date; import java.util.List; import javax.servlet.http.HttpServletRequest;import com.utils.ValidatorUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.Wrapper; import com.annotation.IgnoreAuth;import com.entity.DiscusschongwulingyangEntity; import com.entity.view.DiscusschongwulingyangView;import com.service.DiscusschongwulingyangService; import com.service.TokenService; import com.utils.PageUtils; import com.utils.R; import com.utils.MPUtil; import com.utils.CommonUtil;/*** 寵物領養評論表* 后端接口* @author * @email * @date 2021-01-16 09:02:06*/ @RestController @RequestMapping("/discusschongwulingyang") public class DiscusschongwulingyangController {@Autowiredprivate DiscusschongwulingyangService discusschongwulingyangService;/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,DiscusschongwulingyangEntity discusschongwulingyang, HttpServletRequest request){EntityWrapper<DiscusschongwulingyangEntity> ew = new EntityWrapper<DiscusschongwulingyangEntity>();PageUtils page = discusschongwulingyangService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, discusschongwulingyang), params), params));return R.ok().put("data", page);}/*** 前端列表*/@IgnoreAuth@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,DiscusschongwulingyangEntity discusschongwulingyang, HttpServletRequest request){EntityWrapper<DiscusschongwulingyangEntity> ew = new EntityWrapper<DiscusschongwulingyangEntity>();PageUtils page = discusschongwulingyangService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, discusschongwulingyang), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list( DiscusschongwulingyangEntity discusschongwulingyang){EntityWrapper<DiscusschongwulingyangEntity> ew = new EntityWrapper<DiscusschongwulingyangEntity>();ew.allEq(MPUtil.allEQMapPre( discusschongwulingyang, "discusschongwulingyang")); return R.ok().put("data", discusschongwulingyangService.selectListView(ew));}/*** 查詢*/@RequestMapping("/query")public R query(DiscusschongwulingyangEntity discusschongwulingyang){EntityWrapper< DiscusschongwulingyangEntity> ew = new EntityWrapper< DiscusschongwulingyangEntity>();ew.allEq(MPUtil.allEQMapPre( discusschongwulingyang, "discusschongwulingyang")); DiscusschongwulingyangView discusschongwulingyangView = discusschongwulingyangService.selectView(ew);return R.ok("查詢寵物領養評論表成功").put("data", discusschongwulingyangView);}/*** 后端詳情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id){DiscusschongwulingyangEntity discusschongwulingyang = discusschongwulingyangService.selectById(id);return R.ok().put("data", discusschongwulingyang);}/*** 前端詳情*/@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id){DiscusschongwulingyangEntity discusschongwulingyang = discusschongwulingyangService.selectById(id);return R.ok().put("data", discusschongwulingyang);}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody DiscusschongwulingyangEntity discusschongwulingyang, HttpServletRequest request){discusschongwulingyang.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(discusschongwulingyang);discusschongwulingyangService.insert(discusschongwulingyang);return R.ok();}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody DiscusschongwulingyangEntity discusschongwulingyang, HttpServletRequest request){discusschongwulingyang.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(discusschongwulingyang);discusschongwulingyangService.insert(discusschongwulingyang);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody DiscusschongwulingyangEntity discusschongwulingyang, HttpServletRequest request){//ValidatorUtils.validateEntity(discusschongwulingyang);discusschongwulingyangService.updateById(discusschongwulingyang);//全部更新return R.ok();}/*** 刪除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){discusschongwulingyangService.deleteBatchIds(Arrays.asList(ids));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<DiscusschongwulingyangEntity> wrapper = new EntityWrapper<DiscusschongwulingyangEntity>();if(map.get("remindstart")!=null) {wrapper.ge(columnName, map.get("remindstart"));}if(map.get("remindend")!=null) {wrapper.le(columnName, map.get("remindend"));}int count = discusschongwulingyangService.selectCount(wrapper);return R.ok().put("count", count);}}?
總結
以上是生活随笔為你收集整理的SpringMVC+Vue实现前后端分离的宠物管理系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++ 多重继承之内存存储
- 下一篇: 基于vue+springboot餐厅选座