springboot基于Android的同城钓鱼社交APP(源码+文档+调试+讲解)

收藏关注不迷路!!

🌟文末获取源码+数据库🌟

感兴趣的可以先收藏起来,还有大家在毕设选题(免费咨询指导选题),项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人


前言

同城钓鱼社交APP是一款专为钓鱼爱好者设计的应用程序,它不仅提供实时的天气等钓鱼信息,还具有渔场预约、渔场位置、渔获情况等功能。用户可以通过该APP寻找附近的渔场,预约渔场或查看资讯并分享到微博等。APP还设有商城,提供各类钓鱼用品的购买服务。APP还设有个人中心,用户可以在这里查看自己的钓鱼记录,管理自己的钓鱼设备,查看自己的钓鱼成就等。总的来说,这款APP为钓鱼爱好者提供了一个全方位的服务平台,无论是获取钓鱼信息,还是分享钓鱼资讯,或是购买钓鱼用品,都能在这里一站式解决。
本文主要讨论了以Java为编程语言,Springboot为框架,MySQL数据库以及开发易于使用的同城钓鱼社交APP建设计划的主要思想。在这篇文章中,系统研究的背景和意义、开发技术、系统分析、数据库设计、详细的系统设计等,信息系统的设计和开发过程的焦点。

详细视频演示

文章底部名片,联系我看更详细的演示视频

一、项目介绍

开发语言:Java
框架:springboot
JDK版本:JDK1.8
服务器:tomcat7
数据库:mysql 5.7(一定要5.7版本)
数据库工具:Navicat11
开发软件:eclipse/myeclipse/idea
Maven包:Maven3.3.9

安卓框架:uniapp
安卓开发软件:HBuilder X
开发模式:混合开发

————————————————

二、功能介绍

根据对同城钓鱼社交APP及后台管理人员的具体需求分析,把系统可以划分为管理员和用户两个不同的功能模块:主要包括对用户、渔场信息、渔场预约、渔场类型、钓鱼资讯、资讯类型、渔具商品、渔具订单、轮播图管理、用户资料等功能进行操作,同城钓鱼社交APP各功能划分结构如图4-1所示。
在这里插入图片描述

图4-1系统功能结构图

三、核心代码

部分代码:


package com.example.controller;

import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil;
import com.example.common.Result;
import com.example.common.ResultCode;
import com.example.entity.Caiwu;
import com.example.exception.CustomException;
import com.example.service.CaiwuService;
import com.example.utils.MapWrapperUtils;
import com.example.utils.jwt.JwtUtil;
import com.example.vo.CaiwuVo;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@RestController
@RequestMapping(value = "/caiwu")
public class CaiwuController {

    @Resource
    private CaiwuService caiwuService;

    @PostMapping
    public Result<Caiwu> add(@RequestBody CaiwuVo caiwu) {
        caiwuService.add(caiwu);
           return Result.success(caiwu);
    }
	
	

    @PostMapping("/deleteList")
    public Result<Caiwu> deleteList(@RequestBody CaiwuVo caiwu) {
        caiwuService.deleteList(caiwu.getList());
        return Result.success();
    }

    @DeleteMapping("/{id}")
    public Result delete(@PathVariable Long id) {
        caiwuService.delete(id);
        return Result.success();
    }

    @PutMapping
    public Result update(@RequestBody CaiwuVo caiwu) {
        caiwuService.update(caiwu);
        return Result.success();
    }

    @GetMapping("/{id}")
    public Result<Caiwu> detail(@PathVariable Integer id) {
        Caiwu caiwu = caiwuService.findById(id);
        return Result.success(caiwu);
    }

    @GetMapping
    public Result<List<Caiwu>> all() {
        return Result.success(caiwuService.list());
    }

    @PostMapping("/page")
    public Result<CaiwuVo> page(@RequestBody CaiwuVo caiwuVo) {
        return Result.success(caiwuService.findPage(caiwuVo));
    }
	    @PostMapping("/login")
    public Result login(@RequestBody Caiwu caiwu, HttpServletRequest request) {
        if (StrUtil.isBlank(caiwu.getZhanghao()) || StrUtil.isBlank(caiwu.getMima())) {
            throw new CustomException(ResultCode.PARAM_LOST_ERROR);
        }
        Caiwu login = caiwuService.login(caiwu);
//        if(!login.getStatus()){
//            return Result.error("1001","状态限制,无法登录系统");
//        }
        if(login != null) {
            HashMap hashMap = new HashMap();
            hashMap.put("user", login);
            Map<String, Object> map = MapWrapperUtils.builder(MapWrapperUtils.KEY_USER_ID,caiwu.getId());
            String token = JwtUtil.creatToken(map);
            hashMap.put("token", token);
            return Result.success(hashMap);
        }else {
            return Result.error();
        }
    }
    @PutMapping("/updatePassword")
    public Result updatePassword(@RequestBody Caiwu info, HttpServletRequest request) {
        Caiwu caiwu = caiwuService.findById(info.getId());
        String oldPassword = SecureUtil.md5(info.getMima());
        if (!oldPassword.equals(caiwu.getMima())) {
            return Result.error(ResultCode.PARAM_PASSWORD_ERROR.code, ResultCode.PARAM_PASSWORD_ERROR.msg);
        }
        info.setMima(SecureUtil.md5(info.getNewPassword()));
        Caiwu caiwu1 = new Caiwu();
        BeanUtils.copyProperties(info, caiwu1);
        caiwuService.update(caiwu1);
        return Result.success();
    }
}

数据库参考

-- MySQL dump 10.13  Distrib 5.7.31, for Linux (x86_64)
--
-- Host: localhost    Database: springbootd2ff2r58
-- ------------------------------------------------------
-- Server version	5.7.31

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Current Database: `springbootd2ff2r58`
--

/*!40000 DROP DATABASE IF EXISTS `springbootd2ff2r58`*/;

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `springbootd2ff2r58` /*!40100 DEFAULT CHARACTER SET utf8mb4 */;

USE `springbootd2ff2r58`;

--
-- Table structure for table `config`
--

DROP TABLE IF EXISTS `config`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `config` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `name` varchar(100) NOT NULL COMMENT '配置参数名称',
  `value` varchar(100) DEFAULT NULL COMMENT '配置参数值',
  `url` varchar(500) DEFAULT NULL COMMENT 'url',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='配置文件';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `config`
--

LOCK TABLES `config` WRITE;
/*!40000 ALTER TABLE `config` DISABLE KEYS */;
INSERT INTO `config` VALUES (1,'picture1','upload/picture1.jpg',NULL),(2,'picture2','upload/picture2.jpg',NULL),(3,'picture3','upload/picture3.jpg',NULL);
/*!40000 ALTER TABLE `config` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `diaoyuzixun`
--

DROP TABLE IF EXISTS `diaoyuzixun`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `diaoyuzixun` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `zixunbiaoti` varchar(200) DEFAULT NULL COMMENT '资讯标题',
  `zixunleixing` varchar(200) DEFAULT NULL COMMENT '资讯类型',
  `zixunshipin` longtext COMMENT '资讯视频',
  `zixunneirong` longtext COMMENT '资讯内容',
  `fabushijian` date DEFAULT NULL COMMENT '发布时间',
  `zixunfengmian` longtext COMMENT '资讯封面',
  `sfsh` varchar(200) DEFAULT '待审核' COMMENT '是否审核',
  `shhf` longtext COMMENT '审核回复',
  `thumbsupnum` int(11) DEFAULT '0' COMMENT '赞',
  `crazilynum` int(11) DEFAULT '0' COMMENT '踩',
  `clicktime` datetime DEFAULT NULL COMMENT '最近点击时间',
  `clicknum` int(11) DEFAULT '0' COMMENT '点击次数',
  `discussnum` int(11) DEFAULT '0' COMMENT '评论数',
  `userid` bigint(20) DEFAULT NULL COMMENT '用户id',
  `storeupnum` int(11) DEFAULT '0' COMMENT '收藏数',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=59 DEFAULT CHARSET=utf8 COMMENT='钓鱼资讯';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `diaoyuzixun`
--

LOCK TABLES `diaoyuzixun` WRITE;
/*!40000 ALTER TABLE `diaoyuzixun` DISABLE KEYS */;
INSERT INTO `diaoyuzixun` VALUES (51,'2024-03-29 04:47:18','资讯标题1','资讯类型1','','资讯内容1','2024-03-29','upload/diaoyuzixun_zixunfengmian1.jpg,upload/diaoyuzixun_zixunfengmian2.jpg,upload/diaoyuzixun_zixunfengmian3.jpg','','',1,1,'2024-03-29 12:47:18',1,0,1,1),(52,'2024-03-29 04:47:18','资讯标题2','资讯类型2','','资讯内容2','2024-03-29','upload/diaoyuzixun_zixunfengmian2.jpg,upload/diaoyuzixun_zixunfengmian3.jpg,upload/diaoyuzixun_zixunfengmian4.jpg','','',2,2,'2024-03-29 12:47:18',2,0,2,2),(53,'2024-03-29 04:47:18','资讯标题3','资讯类型3','','资讯内容3','2024-03-29','upload/diaoyuzixun_zixunfengmian3.jpg,upload/diaoyuzixun_zixunfengmian4.jpg,upload/diaoyuzixun_zixunfengmian5.jpg','','',3,3,'2024-03-29 12:47:18',3,0,3,3),(54,'2024-03-29 04:47:18','资讯标题4','资讯类型4','','资讯内容4','2024-03-29','upload/diaoyuzixun_zixunfengmian4.jpg,upload/diaoyuzixun_zixunfengmian5.jpg,upload/diaoyuzixun_zixunfengmian6.jpg','','',4,4,'2024-03-29 12:47:18',4,0,4,4),(55,'2024-03-29 04:47:18','资讯标题5','资讯类型5','','资讯内容5','2024-03-29','upload/diaoyuzixun_zixunfengmian5.jpg,upload/diaoyuzixun_zixunfengmian6.jpg,upload/diaoyuzixun_zixunfengmian7.jpg','','',5,5,'2024-03-29 12:47:18',5,0,5,5),(56,'2024-03-29 04:47:18','资讯标题6','资讯类型6','','资讯内容6','2024-03-29','upload/diaoyuzixun_zixunfengmian6.jpg,upload/diaoyuzixun_zixunfengmian7.jpg,upload/diaoyuzixun_zixunfengmian8.jpg','','',6,6,'2024-03-29 12:47:18',6,0,6,6),(57,'2024-03-29 04:47:18','资讯标题7','资讯类型7','','资讯内容7','2024-03-29','upload/diaoyuzixun_zixunfengmian7.jpg,upload/diaoyuzixun_zixunfengmian8.jpg,upload/diaoyuzixun_zixunfengmian9.jpg','','',7,7,'2024-03-29 12:47:18',7,0,7,7),(58,'2024-03-29 04:47:18','资讯标题8','资讯类型8','','资讯内容8','2024-03-29','upload/diaoyuzixun_zixunfengmian8.jpg,upload/diaoyuzixun_zixunfengmian9.jpg,upload/diaoyuzixun_zixunfengmian10.jpg','','',8,8,'2024-03-29 12:47:18',8,0,8,8);
/*!40000 ALTER TABLE `diaoyuzixun` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `discussdiaoyuzixun`
--

DROP TABLE IF EXISTS `discussdiaoyuzixun`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `discussdiaoyuzixun` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `refid` bigint(20) NOT NULL COMMENT '关联表id',
  `userid` bigint(20) NOT NULL COMMENT '用户id',
  `avatarurl` longtext COMMENT '头像',
  `nickname` varchar(200) DEFAULT NULL COMMENT '用户名',
  `content` longtext NOT NULL COMMENT '评论内容',
  `reply` longtext COMMENT '回复内容',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='钓鱼资讯评论表';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `discussdiaoyuzixun`
--

LOCK TABLES `discussdiaoyuzixun` WRITE;
/*!40000 ALTER TABLE `discussdiaoyuzixun` DISABLE KEYS */;
/*!40000 ALTER TABLE `discussdiaoyuzixun` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `discussyuchangxinxi`
--

DROP TABLE IF EXISTS `discussyuchangxinxi`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `discussyuchangxinxi` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `refid` bigint(20) NOT NULL COMMENT '关联表id',
  `userid` bigint(20) NOT NULL COMMENT '用户id',
  `avatarurl` longtext COMMENT '头像',
  `nickname` varchar(200) DEFAULT NULL COMMENT '用户名',
  `content` longtext NOT NULL COMMENT '评论内容',
  `reply` longtext COMMENT '回复内容',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='渔场信息评论表';
/*!40101 SET character_set_client = @saved_cs_client */;

四、效果图

请添加图片描述

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

五、文章目录

目 录
第一章 绪论 1
1.1 课题背景与意义 1
1.2 国内外研究现状 1
1.3 本课题研究的主要内容 2
1.4 论文结构安排 3
第二章 所用开发工具介绍 4
2.1 Java语言 4
2.2 微信开发者工具 4
2.3 Springboot框架 4
2.4 MySQL数据库的运用 5
2.5 B/S结构 5
2.6 推荐算法介绍 6
第三章 系统需求分析 7
3.1 系统可行性分析 7
3.1.1经济上可行性 7
3.1.2技术上可行性 7
3.1.3操作上可行性 7
3.2 系统UML用例分析 8
3.3 系统流程分析 9
3.3.1系统的流程图 9
3.3.2用户注册和登录流程 10
3.3.3删除信息流程 11
第四章 系统的设计与实现 13
4.1 系统功能结构设计 13
4.2 数据库设计 14
4.2.1数据库概念结构设计 14
4.2.2数据库逻辑结构设计 14
第五章 系统实现 23
5.1 小程序端实现 23
5.1.1登录界面的实现 23
5.1.2注册界面的实现 23
5.1.3小程序首页功能的实现 24
5.1.4用户功能 26
5.2管理员功能模块实现 27
第六章 系统测试 33
6.1 测试环境 33
6.2 测试过程 33
6.2.1 功能测试 33
6.2.2 用户界面(UI) 测试 34
6.2.3 兼容性测试  34
总 结 35
参考文献 36
致 谢 37

六 、源码获取

下方名片联系我即可!!


大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式👇🏻

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

毕业程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值