基于微信小程序的旅游助手的设计与实现(源码+定制+文档讲解)

博主介绍:
    ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W+粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台的优质作者。通过长期分享和实战指导,我致力于帮助更多学生完成毕业项目和技术提升。

技术范围:
    我熟悉的技术领域涵盖SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等方面的设计与开发。如果你有任何技术难题,我都乐意与你分享解决方案。

 主要内容:
     我的服务内容包括:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文撰写与辅导、论文降重、长期答辩答疑辅导。此外,我还提供腾讯会议一对一的专业讲解和模拟答辩演练,帮助你全面掌握答辩技巧与代码逻辑。

🍅获取源码请在文末联系我🍅
如果你对我的内容感兴趣,记得先收藏!对于毕设选题、项目开发或论文撰写等相关问题,随时欢迎留言咨询,我会尽力帮助更多同学顺利完成学业。

最主要的是免费咨询相关问题!!

一、详细操作演示视频
       在文章的尾声,您会发现一张电子名片👤,欢迎通过名片上的联系方式与我取得联系,以获取更多关于项目演示的详尽视频内容。视频将帮助您全面理解项目的关键点和操作流程。期待与您的进一步交流!
        承诺所有开发的项目,全程售后陪伴!!!文章下方有历年的好评(部分)!!

文档学习资料(阿龙可以赠送所有的录制好的讲解视频):

系统简介:
 

随着旅游行业的迅速发展和智能手机的普及,人们对旅行的规划和管理需求日益增长。为了满足这一需求,开发了一款基于微信小程序的旅游助手,旨在为用户提供一站式的旅游服务。

本项目采用微信小程序作为前端技术,结合Springboot和MySQL数据库进行后端开发,实现了一个功能全面的旅游服务平台。该平台主要功能包括浏览和互动旅游攻略、景点订票、酒店预订、个人中心管理、行程规划、美食推荐以及首页推荐等用户端服务,同时为旅游资源提供者和管理员提供资源发布与管理、订单处理、行程定制服务、用户互动、数据分析与市场洞察、特别活动与促销信息发布等后台管理功能。通过实际使用和测试,该旅游助手能有效提高用户的旅游体验,为旅游资源提供者和管理员带来便捷的管理工具,展现了微信小程序在旅游行业应用的潜力和前景。

2 核心技术介绍

2.1 mysql技术介绍

随着技术的不断发展,数据库从只能处理数据表格,到现在能够处理大量数据,MySQL数据库属于关系类型数据库,在安装的时候很方便,可以为其添加索引从而更快的查询出数据。数据库还有多种版本,能够在不同的操作系统中使用数据库。能够在不同的平台部署。Microsoft MySQL工具可以为数据库进行一个可视化的管理。用户可以在软件上进行测试连接数据库是否成功,可以轻松对数据库的字段进行操作。数据库中的数据是存储在数据库表和索引当中[6],MySQL数据库架构属于c/s模型,客户端需要有账号和密码从而进行连接服务器。

2.2Intellij idea编译器介绍

Intellij IDEA是一款广泛使用的集成开发环境(IDE),主要面向Java语言的开发,由JetBrains公司开发并推出。作为一款高级的编程工具,Intellij IDEA在开发社区中以其强大的代码分析能力、智能代码辅助功能、项目管理工具以及一系列开发者友好的特性而受到高度评价。与其他编译器相比,Intellij IDEA的核心优势在于其深度集成的开发工具和环境,提供了从代码编写到部署的全周期开发支持。Java, Kotlin, Groovy, Scala等,适应多样化的开发需求。此外,它内建了对Web开发和数据库工作的强大支持,使得开发者能够在单一的环境中高效地完成多方面的工作。Intellij IDEA的智能提示和代码自动完成功能,能够极大地提高编程效率,同时其代码重构工具也使得代码的维护和优化变得更为简便。Intellij IDEA提供了社区版和商业版两种版本。社区版为开源免费[7],适合进行Java、Kotlin、Groovy等语言的开发;而商业版提供了更为全面的功能支持,包括高级的Web开发支持、数据库工具、UML设计等。无论是新手还是资深开发者,Intellij IDEA都能提供高效、便捷的开发体验,帮助开发者在复杂的开发任务中保持生产力。

2.3 Spring框架简介

Spring框架的底层语言是java,其中很多类都是由java编程语言进行编写而成的,spring框架首次出现的时间是在2005年,经过多年的发展,spring已经更新到较为新的框架。Spring框架一直以来受到开发者的关注,spring最大的特点是面向接口进行编程,需要通过配置文件进行配置框架之间的关系。有效地组织了中间层对象。提供了AOP编程,能够限定程序的权限问题。

2.4 springmvc框架简介

spring框架包含springmvc框架,mvc是一种设计模式,model表示实体层,视图用V表示,用来表示jsp页面,控制器用C表示,用于jsp页面传递数据到控制器当中。处理请求和数据处理。springmvc框架的核心类是dispatcherServlet,将请求进行拦截,将请求转移到适配器当中进行处理,寻求合适的方法对用户从页面中发出来的请求进行处理。发挥MVC框架的作用把数据展示在页面当中。MVC框架和spring框架是无缝连接的。MVC框架继承了ajax,所以可以在jsp页面当中使用ajax传递数据到controller类中。在controller中使用response body注解进行交互。mvc框架在和其它框架进行整合的时候要简单得多。

2.5 Mybatis技术简介

Mybatis是一种数据持久化的框架,内部封装了JDBC,能够对数据库基本的操作,能够对数据库中的数据进行查询操作。能够调用存储过程,从而进行在需要的时候进行调用,从而对其进行选择合适的调用获取所需要的信息,消除了参数的手工设置,Mybatis框架的重要作用是将大量SQL语句进行简化,能够在配置文件中进行配置,这样就可以把sql代码和程序分离开来。

2.6 Node.js技术简介

node.js是一种脚本语言,能够把数据库与js页面实现交互,与大部分后端语言一样,能够把js页面传递过来的数据进行处理,对数据库进行更新,之后把数据库的记录传递到js页面当中,能够为分布式程序提供基础操作。使得程序员能够简单实现数据在前后端之间进行相互传递,在后端能够利用数据库SQL语句把信息取出,把数据显示在js页面当中,node.js运用的是单线程技术,与多线程程序不同,因此可以很大程度避免了程序堵塞的问题,虽然是单线程技术,但是node.js具有超强的并发能力,能够在服务器上建立高并发的程序。

2.7 Vue.js技术简介

Vue.js是一款流行的JavaScript框架,专注于构建用户界面,特别是单页面应用(SPA)的开发。作为一个渐进式框架,Vue.js的设计哲学是自底向上增量开发,允许开发者仅采用其核心库进行视图层的开发,同时也能够轻松引入Vue.js的其他库和支持工具,以适应更复杂的前端项目需求。Vue.js的核心是一个允许采用简洁的模板语法来声明式地将数据渲染进DOM的系统。Vue.js的特点包括但不限于响应式数据绑定和组合的视图组件系统。通过这些特点,Vue.js能够使得前端开发者高效地实现数据与视图的同步更新,大大简化了动态数据驱动的界面开发过程。Vue.js支持的模块化开发方式,使得开发者可以维护一个由多个小组件构成的大型应用,每个组件管理自己的状态和逻辑[8],从而使得应用的开发、测试和维护变得更为简单和高效。

在实现前后端分离的项目中,Vue.js展现了其强大的能力。开发者可以仅专注于构建前端应用,通过调用后端API来处理数据,实现丰富的用户交互效果。这种分离的模式不仅提升了开发效率,也让前端界面与后端逻辑能够独立变化,不受彼此影响。

Vue.js同时支持将静态页面转化为动态页面,提供了灵活性和扩展性,允许开发者根据项目需求选择最适合的开发方式。无论是构建简单的交互界面,还是开发复杂的单页面应用,Vue.js都能提供简洁、高效且易于上手的开发体验。

2.8 微信开发者助手编译器

微信开发者工具(微信开发者助手)是由腾讯公司提供的一款官方开发辅助工具,专门用于微信小程序和微信网页开发。这款工具为开发者提供了一个便捷的开发环境,支持代码编写、预览、调试等多种功能,使得开发微信小程序和网页应用变得更为简单高效。提供了代码编辑器、模拟器和调试器等多个功能模块于一体的开发环境,支持多种文件格式,使得开发者可以在同一平台上完成代码的编写、预览和调试等工作。开发者可以实时预览小程序在不同设备上的运行效果,并通过内置的调试工具进行代码调试,检查并修正程序中的错误。

开发者可以在工具中测试API的调用效果,方便开发者更好地利用微信平台的功能。开发者可以直接在工具中管理云数据库、云函数等云资源,简化了小程序的后端开发工作。帮助开发者分析小程序的性能瓶颈[9],优化小程序的运行效率和用户体验。

微信开发者工具的使用极大地简化了微信小程序和网页应用的开发流程,让开发者可以更专注于产品和服务的创新。通过这款工具,开发者可以更快速地开发出性能稳定、用户体验良好的微信小程序和网页应用,满足用户在微信生态系统中的多样化需求。

2.9  Uniapp技术简介

UniApp是一个使用Vue.js开发所有前端应用的框架,旨在通过一套代码实现多平台的部署,包括Web端、移动端(Android、iOS)以及各类小程序(微信小程序、支付宝小程序等)和快应用。这种“一次编写,处处运行”的开发理念极大地提高了开发效率,降低了开发和维护成本。UniApp在设计时充分考虑了跨平台开发的需求和挑战,提供了丰富的组件和API,支持使用Vue.js开发模式,使得前端开发者能够快速上手并高效地进行跨平台应用开发。UniApp的核心优势在于其高度的跨平台性能。通过对Vue.js的扩展,UniApp不仅能够实现数据的响应式绑定和组件化开发,还能够在多个平台上保持一致的运行效果和性能。此外,UniApp支持使用NVue技术,这是一种结合了原生渲染能力的开发方式,可以在保证性能的同时,让应用具有更佳的用户体验。对于前端开发者而言,使用UniApp可以减少因平台差异而带来的开发工作量,因为UniApp提供了统一的开发规范和接口。开发者可以专注于业务逻辑的实现,而不必为适配不同平台而编写大量的平台特定代码。此外,UniApp的生态系统提供了大量的插件和模块,使得开发者可以轻松地扩展应用功能,满足各种业务需求[10]。UniApp作为一个基于Vue.js的全端开发框架,通过提供一套简洁、高效的开发方式,使得跨平台应用开发变得更加容易。对于旨在快速开发并部署到多个平台的应用项目,UniApp提供了一个强大的解决方案,使得开发者能够以更低的成本、更高的效率实现项目目标。

系统实现界面:

核心代码:

package com.controller;
 
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.text.ParseException;
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.transaction.annotation.Transactional;
import org.springframework.format.annotation.DateTimeFormat;
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.StoreupEntity;
import com.entity.view.StoreupView;
 
import com.service.StoreupService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.EncryptUtil;
import com.utils.MPUtil;
import com.utils.MapUtils;
import com.utils.CommonUtil;
import java.io.IOException;
 
/**
 * 收藏表
 * 后端接口
 * @author 
 * @email 
 * @date 2024-04-28 13:02:38
 */
@RestController
@RequestMapping("/storeup")
public class StoreupController {
    @Autowired
    private StoreupService storeupService;
 
 
 
 
    
 
 
 
    /**
     * 后台列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,StoreupEntity storeup,
		HttpServletRequest request){
        if(!request.getSession().getAttribute("role").toString().equals("管理员")) {
            storeup.setUserid((Long)request.getSession().getAttribute("userId"));
        }
        EntityWrapper<StoreupEntity> ew = new EntityWrapper<StoreupEntity>();
 
		PageUtils page = storeupService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, storeup), params), params));
 
        return R.ok().put("data", page);
    }
    
    /**
     * 前台列表
     */
	@IgnoreAuth
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,StoreupEntity storeup, 
		HttpServletRequest request){
        EntityWrapper<StoreupEntity> ew = new EntityWrapper<StoreupEntity>();
 
		PageUtils page = storeupService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, storeup), params), params));
        return R.ok().put("data", page);
    }
 
 
 
	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( StoreupEntity storeup){
       	EntityWrapper<StoreupEntity> ew = new EntityWrapper<StoreupEntity>();
      	ew.allEq(MPUtil.allEQMapPre( storeup, "storeup")); 
        return R.ok().put("data", storeupService.selectListView(ew));
    }
 
	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(StoreupEntity storeup){
        EntityWrapper< StoreupEntity> ew = new EntityWrapper< StoreupEntity>();
 		ew.allEq(MPUtil.allEQMapPre( storeup, "storeup")); 
		StoreupView storeupView =  storeupService.selectView(ew);
		return R.ok("查询收藏表成功").put("data", storeupView);
    }
	
    /**
     * 后台详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        StoreupEntity storeup = storeupService.selectById(id);
        return R.ok().put("data", storeup);
    }
 
    /**
     * 前台详情
     */
	@IgnoreAuth
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        StoreupEntity storeup = storeupService.selectById(id);
        return R.ok().put("data", storeup);
    }
    
 
 
 
    /**
     * 后台保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody StoreupEntity storeup, HttpServletRequest request){
    	//ValidatorUtils.validateEntity(storeup);
    	storeup.setUserid((Long)request.getSession().getAttribute("userId"));
        storeupService.insert(storeup);
        return R.ok();
    }
    
    /**
     * 前台保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody StoreupEntity storeup, HttpServletRequest request){
    	//ValidatorUtils.validateEntity(storeup);
        storeupService.insert(storeup);
        return R.ok();
    }
 
 
 
     /**
     * 获取用户密保
     */
    @RequestMapping("/security")
    @IgnoreAuth
    public R security(@RequestParam String username){
        StoreupEntity storeup = storeupService.selectOne(new EntityWrapper<StoreupEntity>().eq("", username));
        return R.ok().put("data", storeup);
    }
 
 
    /**
     * 修改
     */
    @RequestMapping("/update")
    @Transactional
    @IgnoreAuth
    public R update(@RequestBody StoreupEntity storeup, HttpServletRequest request){
        //ValidatorUtils.validateEntity(storeup);
        storeupService.updateById(storeup);//全部更新
        return R.ok();
    }
 
 
 
    
 
    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        storeupService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
    
	
	/**
     * 前台智能排序
     */
	@IgnoreAuth
    @RequestMapping("/autoSort")
    public R autoSort(@RequestParam Map<String, Object> params,StoreupEntity storeup, HttpServletRequest request,String pre){
        EntityWrapper<StoreupEntity> ew = new EntityWrapper<StoreupEntity>();
        Map<String, Object> newMap = new HashMap<String, Object>();
        Map<String, Object> param = new HashMap<String, Object>();
		Iterator<Map.Entry<String, Object>> it = param.entrySet().iterator();
		while (it.hasNext()) {
			Map.Entry<String, Object> entry = it.next();
			String key = entry.getKey();
			String newKey = entry.getKey();
			if (pre.endsWith(".")) {
				newMap.put(pre + newKey, entry.getValue());
			} else if (StringUtils.isEmpty(pre)) {
				newMap.put(newKey, entry.getValue());
			} else {
				newMap.put(pre + "." + newKey, entry.getValue());
			}
		}
		params.put("sort", "clicktime");
        params.put("order", "desc");
		PageUtils page = storeupService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, storeup), params), params));
        return R.ok().put("data", page);
    }
 
 
 
 
 
 
 
 
 
 
}

数据库代码:

 
 
DROP TABLE IF EXISTS `address`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `address` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `userid` bigint(20) NOT NULL COMMENT '用户id',
  `address` varchar(200) NOT NULL COMMENT '地址',
  `name` varchar(200) NOT NULL COMMENT '收货人',
  `phone` varchar(200) NOT NULL COMMENT '电话',
  `isdefault` varchar(200) NOT NULL COMMENT '是否默认地址[是/否]',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8 COMMENT='地址';
/*!40101 SET character_set_client = @saved_cs_client */;
 
--
-- Dumping data for table `address`
--
 
LOCK TABLES `address` WRITE;
/*!40000 ALTER TABLE `address` DISABLE KEYS */;
INSERT INTO `address` VALUES (1,'2024-04-28 05:03:01',11,'宇宙银河系金星1号','金某','13823888881','是'),(2,'2024-04-28 05:03:01',12,'宇宙银河系木星1号','木某','13823888882','是'),(3,'2024-04-28 05:03:01',13,'宇宙银河系水星1号','水某','13823888883','是'),(4,'2024-04-28 05:03:01',14,'宇宙银河系火星1号','火某','13823888884','是'),(5,'2024-04-28 05:03:01',15,'宇宙银河系土星1号','土某','13823888885','是'),(6,'2024-04-28 05:03:01',16,'宇宙银河系月球1号','月某','13823888886','是'),(7,'2024-04-28 05:03:01',17,'宇宙银河系黑洞1号','黑某','13823888887','是'),(8,'2024-04-28 05:03:01',18,'宇宙银河系地球1号','地某','13823888888','是'),(9,'2024-04-28 05:07:21',1714280800924,'长沙市开福区秀峰路1号','张三','15111122548','是');
/*!40000 ALTER TABLE `address` ENABLE KEYS */;
UNLOCK TABLES;
 
--
-- Table structure for table `cart`
--
 
DROP TABLE IF EXISTS `cart`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `cart` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `tablename` varchar(200) DEFAULT 'nongchanpin' COMMENT '商品表名',
  `userid` bigint(20) NOT NULL COMMENT '用户id',
  `goodid` bigint(20) NOT NULL COMMENT '商品id',
  `goodname` varchar(200) DEFAULT NULL COMMENT '商品名称',
  `picture` longtext COMMENT '图片',
  `buynumber` int(11) NOT NULL COMMENT '购买数量',
  `price` double DEFAULT NULL COMMENT '单价',
  `discountprice` double DEFAULT NULL COMMENT '会员价',
  `goodtype` varchar(200) DEFAULT NULL COMMENT '商品类型',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='购物车表';
/*!40101 SET character_set_client = @saved_cs_client */;
 
--
-- Dumping data for table `cart`
--
 
LOCK TABLES `cart` WRITE;
/*!40000 ALTER TABLE `cart` DISABLE KEYS */;
/*!40000 ALTER TABLE `cart` ENABLE KEYS */;
UNLOCK TABLES;
 
--
-- Table structure for table `chanpinfenlei`
--
 
DROP TABLE IF EXISTS `chanpinfenlei`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `chanpinfenlei` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `chanpinfenlei` varchar(200) DEFAULT NULL COMMENT '产品分类',
  PRIMARY KEY (`id`),
  UNIQUE KEY `chanpinfenlei` (`chanpinfenlei`)
) ENGINE=InnoDB AUTO_INCREMENT=59 DEFAULT CHARSET=utf8 COMMENT='产品分类';
/*!40101 SET character_set_client = @saved_cs_client */;
 
--
-- Dumping data for table `chanpinfenlei`
--
 
LOCK TABLES `chanpinfenlei` WRITE;
/*!40000 ALTER TABLE `chanpinfenlei` DISABLE KEYS */;
INSERT INTO `chanpinfenlei` VALUES (51,'2024-04-28 05:03:01','产品分类1'),(52,'2024-04-28 05:03:01','产品分类2'),(53,'2024-04-28 05:03:01','产品分类3'),(54,'2024-04-28 05:03:01','产品分类4'),(55,'2024-04-28 05:03:01','产品分类5'),(56,'2024-04-28 05:03:01','产品分类6'),(57,'2024-04-28 05:03:01','产品分类7'),(58,'2024-04-28 05:03:01','果蔬');
/*!40000 ALTER TABLE `chanpinfenlei` ENABLE KEYS */;
UNLOCK TABLES;
 
--
-- Table structure for table `chat`
--
 
DROP TABLE IF EXISTS `chat`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `chat` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `userid` bigint(20) NOT NULL COMMENT '用户id',
  `adminid` bigint(20) DEFAULT NULL COMMENT '管理员id',
  `ask` longtext COMMENT '提问',
  `reply` longtext COMMENT '回复',
  `isreply` int(11) DEFAULT NULL COMMENT '是否回复',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=92 DEFAULT CHARSET=utf8 COMMENT='在线客服';
/*!40101 SET character_set_client = @saved_cs_client */;
 
--
-- Dumping data for table `chat`
--
 
LOCK TABLES `chat` WRITE;
/*!40000 ALTER TABLE `chat` DISABLE KEYS */;
INSERT INTO `chat` VALUES (81,'2024-04-28 05:03:01',1,1,'提问1','回复1',0),(82,'2024-04-28 05:03:01',2,2,'提问2','回复2',2),(83,'2024-04-28 05:03:01',3,3,'提问3','回复3',3),(84,'2024-04-28 05:03:01',4,4,'提问4','回复4',4),(85,'2024-04-28 05:03:01',5,5,'提问5','回复5',5),(86,'2024-04-28 05:03:01',6,6,'提问6','回复6',6),(87,'2024-04-28 05:03:01',7,7,'提问7','回复7',7),(88,'2024-04-28 05:03:01',8,8,'提问8','回复8',8),(89,'2024-04-28 05:10:05',1,1,NULL,'回复回复AA',NULL),(90,'2024-04-28 05:11:09',1714280800924,NULL,'身份是的水电费',NULL,0),(91,'2024-04-28 05:11:19',1714280800924,1,NULL,'回复回复AA',NULL);
/*!40000 ALTER TABLE `chat` ENABLE KEYS */;
UNLOCK TABLES;
 
--
-- 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 `discussnongchanpin`
--
 
DROP TABLE IF EXISTS `discussnongchanpin`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `discussnongchanpin` (
  `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 `discussnongchanpin`
--
 
LOCK TABLES `discussnongchanpin` WRITE;
/*!40000 ALTER TABLE `discussnongchanpin` DISABLE KEYS */;
/*!40000 ALTER TABLE `discussnongchanpin` ENABLE KEYS */;
UNLOCK TABLES;
 
--
-- Table structure for table `discusstesejingdian`
--
 
DROP TABLE IF EXISTS `discusstesejingdian`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `discusstesejingdian` (
  `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 AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='特色景点评论表';
/*!40101 SET character_set_client = @saved_cs_client */;
 
--
-- Dumping data for table `discusstesejingdian`

为什么选择我:

我是程序员阿龙,专注于软件开发,拥有丰富的编程能力和实战经验。在过去的几年里,我辅导了上千名学生,帮助他们顺利完成毕业项目,同时我的技术分享也吸引了超过50W+的粉丝。我是CSDN特邀作者、博客专家、新星计划导师,并在Java领域内获得了多项荣誉,如博客之星。我的作品也被掘金、华为云、阿里云、InfoQ等多个平台推荐,成为各大平台的优质作者。

已经为上百名同学获得优秀毕业生!!

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

 精彩专栏推荐订阅:在下方专栏👇🏻

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

程序员阿龙

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

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

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

打赏作者

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

抵扣说明:

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

余额充值