首页 > 其他分享 >基于springboot+vue的宠物商城系统(前后端分离)

基于springboot+vue的宠物商城系统(前后端分离)

时间:2023-09-04 17:36:37浏览次数:40  
标签:files map vue springboot photo 宠物 put new


博主主页猫头鹰源码

博主简介:Java领域优质创作者、博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战

主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询

文末联系获取

项目介绍: 

本系统以宠物商城为主题,采用前后端分离,项目代码工整,结构清晰,适合选题:宠物、商城、宠物商城、前后端分离类其他宠物系统等。系统采用springboot+vue整合开发,前端主要使用了element-ui框架、项目后端主要使用了springboot,数据层采用mybatis。

数据库设计:

基于springboot+vue的宠物商城系统(前后端分离)_java

系统包含技术:

后端:springboot,mybatis 前端:element-ui、js、css等
开发工具:idea/vscode
数据库:mysql 5.7
JDK版本:jdk1.8

部分截图说明:

下面是首页

基于springboot+vue的宠物商城系统(前后端分离)_javaweb_02

买卖专区,可以根据条件筛选

基于springboot+vue的宠物商城系统(前后端分离)_vue.js_03

求购专区,可以根据条件筛选

基于springboot+vue的宠物商城系统(前后端分离)_javaweb_04

宠物详情

基于springboot+vue的宠物商城系统(前后端分离)_javaweb_05

 聊天室

基于springboot+vue的宠物商城系统(前后端分离)_vue.js_06

登录注册

基于springboot+vue的宠物商城系统(前后端分离)_vue.js_07

 

 个人信息

基于springboot+vue的宠物商城系统(前后端分离)_javaweb_08

地址管理

基于springboot+vue的宠物商城系统(前后端分离)_java_09

 我的订单

基于springboot+vue的宠物商城系统(前后端分离)_javaweb_10

我的宠物

 

基于springboot+vue的宠物商城系统(前后端分离)_javaweb_11

后台-用户管理

基于springboot+vue的宠物商城系统(前后端分离)_spring boot_12

 

 后台-宠物管理

基于springboot+vue的宠物商城系统(前后端分离)_javaweb_13

 后台-类型维护

基于springboot+vue的宠物商城系统(前后端分离)_宠物_14

 后台-订单管理

基于springboot+vue的宠物商城系统(前后端分离)_javaweb_15

 后台-地址管理

基于springboot+vue的宠物商城系统(前后端分离)_宠物_16

部分代码:

宠物操作

//发布宠物出售或购买请求
    @PostMapping("/addPet")
    public String addPet(@RequestParam(name = "files",required = false) MultipartFile[] files,Pet pet) throws IOException {
        Date date = new Date();
        pet.setDate(date);
        petService.addPet(pet);
        Photo photo = new Photo();
        photo.setPid(pet.getPid());
        if (files != null){
            if (files.length > 0){
                for (int i=0;i< files.length;i++){
                    //获取当前项目路径
                    //前面拼接uiid是为了防止名字重复,获取文件的后缀名,不使用原文件名是防止文件名格式导致无法显示
                    String filename = createUUID.getUUID() + files[i].getOriginalFilename().substring(files[i].getOriginalFilename().lastIndexOf("."));
                    //创建文件对象,设置文件保存路径
                    File dest = new File(uploadDir +"\\petimg\\"+ filename);
                    //将文件对象转化为文件
                    files[i].transferTo(dest);
                    photo.setUrl("petimg/" + filename);
                    photoService.addPhoto(photo);
                }
            }
            else {
                photo.setUrl("defaultpetimg/nodata.jpg");
                photoService.addPhoto(photo);
            }
        }
        return "发布成功";
    }

    //删除宠物
    @GetMapping("/deletePet")
    public String deletePet(@RequestParam(name = "uid",required = false) Long uid, @RequestParam(name = "pid",required = false) Long pid){
        Map map = new HashMap();
        if(uid != null){
            map.put("uid",uid);
        }else{
            map.put("pid",pid);
            map.put("postatu",0);
        }
        List<Petorder> petorder = petorderService.querypetorder(map);
        map.remove("postatu");
        if(petorder.size() == 0){
            petService.deletePet(map);
            photoService.deletePhoto(map);
            return "删除成功";
        }else {
            return "该宠物已被购买,无法删除";
        }
    }

    //更新宠物信息
    @PostMapping("/updatePet")
    public String updatePet(@RequestParam(name = "files",required = false) MultipartFile[] files,@RequestParam(name = "ppid",required = false) Long[] ppid, Pet pet) throws IOException {
        Date date = new Date();
        pet.setDate(date);
        Photo photo = new Photo();
        photo.setPid(pet.getPid());
        //删除图片
        if(ppid != null) {
            if(ppid.length > 0) {
                Map photomap = new HashMap();
                for(int i=0; i < ppid.length; i++) {
                    photomap.put("ppid",ppid[i]);
                    photoService.deletePhoto(photomap);
                    photomap.remove("ppid");
                }
            }
        }
        //增加图片
        if(files != null) {
            if(files.length > 0) {
                for (int i=0;i< files.length;i++){
                    //获取当前项目路径
                    //获取文件名字,前面拼接uiid是为了防止名字重复
                    String filename = createUUID.getUUID() + files[i].getOriginalFilename();
                    //创建文件对象,设置文件保存路径
                    File dest = new File(uploadDir +"\\petimg\\" + filename);
                    //将文件对象转化为文件
                    files[i].transferTo(dest);
                    photo.setUrl("petimg/" + filename);
                    photoService.addPhoto(photo);
                }
            } else {
                System.out.println("没有新加图片");
            }
        }
        //宠物为求购时,若没有图片,增加无数据图片
        if(pet.getPk() == 3) {
            List<Photo> photos = photoService.queryPhotobypid(pet.getPid());
            if(photos.size() == 0) {
                photo.setUrl("defaultpetimg/nodata.jpg");
                photoService.addPhoto(photo);
            }
        }
        petService.updatePet(pet);
        return "修改完成";
    }

用户操作

//修改用户信息
    @PostMapping("/updateuser")
    public Map updateuser(@RequestParam(name = "file",required = false) MultipartFile file, User user) throws IOException {
        Map map = new HashMap();
        User uuser = null;
        if(user.getTelphone() != null){
            map.put("telphone",user.getTelphone());
            uuser = userService.queryUser(map);
            map.remove("telphone");
            if(uuser != null && uuser.getUid() != user.getUid()){
                map.put("flag",0);
                map.put("msg","该手机号已被注册");
                return map;
            }
        }
        if(user.getUsername() != null){
            map.put("username",user.getUsername());
            uuser = userService.queryUser(map);
            map.remove("username");
        }
        if(uuser == null || uuser.getUid() == user.getUid()){
            if(file != null) {
                if(!file.isEmpty()) {
                    //获取当前项目路径
                    //获取文件名字,前面拼接uiid是为了防止名字重复
                    String filename = createUUID.getUUID() + file.getOriginalFilename();
                    //创建文件对象,设置文件保存路径
                    File dest = new File(uploadDir +"\\avatar\\" + filename);
                    //将文件对象转化为文件
                    file.transferTo(dest);
                    //存入头像地址
                    user.setAvatar("avatar/" + filename);

                    //查找旧的用户信息
                    map.put("uid",user.getUid());
                    uuser = userService.queryUser(map);
                    map.remove("uid");
                    String oldavatar = uuser.getAvatar();
                    int index = oldavatar.indexOf("defaultavatar/");
                    //判断旧头像是否为默认头像,不是则删除旧头像
                    if(index == -1) {
                        //得到旧头像的地址
                        String oldpath = uploadDir +"\\avatar\\" + oldavatar.replace("/", "\\");
                        File olddest = new File(oldpath);
                        //删除旧头像
                        olddest.delete();
                    }
                }
            }
            userService.updateUser(user);
            map.put("avatar",user.getAvatar());
            map.put("flag",1);
            map.put("msg","修改成功");
        }else {
            map.put("flag",0);
            map.put("msg","用户名已存在");
        }
        return map;
    }

以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,代码工整,清晰,适合学习使用。

好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,下期见~~

标签:files,map,vue,springboot,photo,宠物,put,new
From: https://blog.51cto.com/u_14544277/7353244

相关文章

  • 基于springboot+vue的商城系统(电商平台)(前后端分离)
    博主主页:猫头鹰源码博主简介:Java领域优质创作者、博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询项目介绍: 本系统以商城为主题,采用前后端分离,项目代码工整,结构清晰,适合......
  • 基于springboot的自助旅游服务平台
    博主主页:猫头鹰源码博主简介:Java领域优质创作者、博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询项目介绍: 该系统创作于2022年4月,包含详细数据库设计。基于springboot......
  • 基于springboot+vue的江西旅游网(前后端分离)
    博主主页:猫头鹰源码博主简介:Java领域优质创作者、博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询文末联系获取项目介绍: 本系统为原创项目,以江西旅游为主题,采用前后端分......
  • 基于springboot+vue的商城/体育用品商城/衣服商城系统(前后端分离)
    项目技术:系统使用技术:SpringBoot+SpringDataJpa前端技术:AntDesign、js、css开发工具:idea/vscode数据库:mysql5.7项目介绍:本系统是一个前后端分离的商城系统,适用于课题:前后端分离、商城、体育用品商城、手机商城、服饰商城等各类商城系统,含有详细的数据库设计文档,以及系统介绍,只需......
  • 基于springboot+vue的医院预约系统(前后端分离)
    技术详情: 系统使用技术:springboot+mybatis前端技术:ElementUI、ajax、node.js、js、css开发工具:idea数据库:mysql5.7项目介绍:本系统采用springboot+vue整合开发,前端主要使用了Vue框架、ElementUI和AJAX技术。项目后端主要使用了springboot等一系列框架和MyBatis以及Maven。这一套技......
  • 基于springboot+vue的高校迎新系统(前后端分离)
    博主主页:猫头鹰源码博主简介:Java领域优质创作者、博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询项目介绍: 本系统为2022年11月开发完成,最新原创项目,采用前后端分离,项目......
  • 基于springboot+vue的社区健康码管理系统(前后端分离)
    博主主页:猫头鹰源码博主简介:Java领域优质创作者、博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询文末联系获取项目介绍: 本系统为2022年11月开发完成,采用前后端分离,项目......
  • 基于springboot+vue的电子村务系统(前后端分离)
    博主主页:猫头鹰源码博主简介:Java领域优质创作者、博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询文末联系获取项目介绍: 本系统为原创项目,以电子村务为主题,采用前后端分......
  • 基于springboot的校园跑腿系统
    博主主页:猫头鹰源码博主简介:Java领域优质创作者、博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询项目介绍: 该系统创作于2022年5月,包含详细数据库设计。基于springboot......
  • 基于SSM的宠物商城系统
    系统使用技术:SSM前端技术:bootstrap,js,css等开发工具:idea数据库:mysql5.7项目介绍:该系统为原创,创作于2021年3月,包含详细数据库设计。基于SSM整合,数据层为MyBatis,mysql数据库,具有完整的业务逻辑。数据库设计:部分功能展示:下面我们来看看部分相关功能。登陆页面:首页首页展示不同分类的......