基于SSM+小程序健身饮食管理系统的设计与实现

简介: 这篇文章就给大家认真剖析下这个程序的详细开发。

最近猛哥给一个小伙伴熬夜开发了一个小程序的健身管理系统,这篇文章就给大家认真剖析下这个程序的详细开发。


1,系统的功能

   

1.1 小程序端


(1)首页展示:用户可以在首页进行饮食和运动信息的浏览。


(2)登录功能:用户在使用该小程序之前需要输入用户名和密码进行登录,通过和数据库中的信息比对成功之后方可进入系统。


(3)饮食模块:用户可以将饮食加入自己的今日饮食清单之中。


(4)运动模块:用户可以将运动加入自己的今日运动清单中。


(5)个人信息模块:用户可以对自己的个人信息进行管理。


1.2 系统后端


(1)管理员登录:管理员可以登陆系统的后台对前端数据进行管理。


(2)用户查看:管理员可以查看所有使用该小程序的用户信息。


(3)饮食管理:管理员可以对饮食信息进行管理,包括添加饮食信息、删除饮食信息以及编辑饮食信息等操作。


(4)运动管理:管理员可以对运动信息进行管理,包括添加运动信息、删除运动信息以及编辑运动信息等操作。


(5)推荐管理:管理员可以对饮食和运动的推荐进行管理,这些饮食和运动信息将会在前端的推荐也页面中进行展示。


2,系统的界面演示:


2.1 小程序端


微信图片_20221009163832.png


微信图片_20221009163837.png

微信图片_20221009163841.png


微信图片_20221009163846.png


微信图片_20221009163855.png


微信图片_20221009163859.png


微信图片_20221009163905.png


微信图片_20221009163909.png



2.2 系统的后台演示


微信图片_20221009163913.png


微信图片_20221009163917.png


微信图片_20221009163921.png


微信图片_20221009163921.png


微信图片_20221009163925.png


3,系统的核心代码:


@Controller
@RequestMapping("/articleComment")
public class ArticleCommentController {
    @Resource
    private UserUtils userUtils;
    @Autowired
    private ArticleCommentService articleCommentService;
    @RequestMapping("listPage")
    public String listPage() {
        return "articleComment/list";
    }
    @RequestMapping("addPage")
    public String addPage() {
        return "articleComment/add";
    }
    @RequestMapping("editPage")
    public String editPage(HttpServletRequest request, Long id) {
        request.setAttribute("id", id);
        return "articleComment/edit";
    }
    @RequestMapping("/getList")
    @ResponseBody
    public ReturnDataForLayui getList(ArticleComment articleComment) {
        return articleCommentService.getList(articleComment);
    }
    @RequestMapping("/add")
    @ResponseBody
    public ReturnData add(ArticleComment articleComment, HttpServletRequest request) {
        User user = new User();
        ReturnData returnData = userUtils.setUserId(request, user);
        if (!returnData.isSuccess()) {
            return returnData;
        }
        articleComment.setUid(user.getId());
        return articleCommentService.add(articleComment);
    }
    @RequestMapping("/delete")
    @ResponseBody
    public ReturnData delete(ArticleComment articleComment) {
        return articleCommentService.delete(articleComment);
    }
    @RequestMapping("/update")
    @ResponseBody
    public ReturnData update(ArticleComment articleComment) {
        return articleCommentService.update(articleComment);
    }
    @RequestMapping("/updateState")
    @ResponseBody
    public ReturnData updateState(ArticleComment articleComment) {
        return articleCommentService.updateState(articleComment);
    }
}


@Controller
@RequestMapping("/dietCategory")
public class DietCategoryController {
    @Autowired
    private DietCategoryService dietCategoryService;
  @RequestMapping("listPage")
    public String listPage() {
        return "dietCategory/list";
    }
  @RequestMapping("addPage")
    public String addPage() {
        return "dietCategory/add";
    }
    @RequestMapping("editPage")
    public String editPage(HttpServletRequest request, Long id) {
        request.setAttribute("id", id);
        return "dietCategory/edit";
    }
  @RequestMapping("/getList")
    @ResponseBody
    public ReturnDataForLayui getList(DietCategory dietCategory) {
        return dietCategoryService.getList(dietCategory);
    }
  @RequestMapping("/add")
    @ResponseBody
    public ReturnData add(DietCategory dietCategory, Long userId) {
        return dietCategoryService.add(dietCategory);
    }
  @RequestMapping("/delete")
    @ResponseBody
    public ReturnData delete(DietCategory dietCategory) {
        return dietCategoryService.delete(dietCategory);
    }
  @RequestMapping("/update")
    @ResponseBody
    public ReturnData update(DietCategory dietCategory) {
        return dietCategoryService.update(dietCategory);
    }
  @RequestMapping("/updateState")
    @ResponseBody
    public ReturnData updateState(DietCategory dietCategory) {
        return dietCategoryService.updateState(dietCategory);
    }
}


public interface ArticleCommentService {
  ReturnDataForLayui getList(ArticleComment articleComment);
  ReturnData add(ArticleComment articleComment);
  ReturnData delete(ArticleComment articleComment);
  ReturnData update(ArticleComment articleComment);
  ReturnData updateState(ArticleComment articleComment);
}
public interface DietCategoryService {
  ReturnDataForLayui getList(DietCategory dietCategory);
  ReturnData add(DietCategory dietCategory);
  ReturnData delete(DietCategory dietCategory);
  ReturnData update(DietCategory dietCategory);
  ReturnData updateState(DietCategory dietCategory);
}

4,系统的数据表:

DROP TABLE IF EXISTS `article`;
CREATE TABLE `article`  (
  `id` bigint(19) NOT NULL AUTO_INCREMENT COMMENT 'ID',
  `title` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文章标题',
  `detail` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '文章详情',
  `coverImg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '封面图',
  `createTime` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',
  `updateTime` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间',
  `state` int(5) NULL DEFAULT 1 COMMENT '状态',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '文章' ROW_FORMAT = Dynamic;
DROP TABLE IF EXISTS `article_comment`;
CREATE TABLE `article_comment`  (
  `id` bigint(19) NOT NULL AUTO_INCREMENT COMMENT 'ID',
  `content` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '评论内容',
  `articleId` bigint(19) NOT NULL COMMENT '文章',
  `uid` bigint(19) NOT NULL COMMENT '用户',
  `createTime` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '评论时间',
  `updateTime` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间',
  `state` int(5) NULL DEFAULT 1 COMMENT '状态',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 12 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '文章评论' ROW_FORMAT = Dynamic;
DROP TABLE IF EXISTS `diet`;
CREATE TABLE `diet`  (
  `id` bigint(19) NOT NULL AUTO_INCREMENT COMMENT 'ID',
  `dietName` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '食谱名称',
  `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '简介',
  `calorie` decimal(9, 2) UNSIGNED NOT NULL DEFAULT 0.00 COMMENT '热量(卡路里)',
  `calorieUnit` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '热量单位',
  `coverImg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '封面图',
  `categoryId` bigint(19) NOT NULL COMMENT '分类',
  `createTime` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',
  `updateTime` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间',
  `state` int(5) NULL DEFAULT 1 COMMENT '状态',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '食谱' ROW_FORMAT = Dynamic;
DROP TABLE IF EXISTS `diet_category`;
CREATE TABLE `diet_category`  (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID',
  `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '分类名称',
  `createTime` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',
  `updateTime` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间',
  `state` int(5) NULL DEFAULT 1 COMMENT '状态',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 24 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '食谱分类' ROW_FORMAT = Dynamic;


目录
相关文章
|
4月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的个人健康管理系统小程序附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的个人健康管理系统小程序附带文章源码部署视频讲解等
44 2
|
4月前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的健身小助手小程序的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的健身小助手小程序的详细设计和实现(源码+lw+部署文档+讲解等)
|
4月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的宿舍管理系统小程序附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的宿舍管理系统小程序附带文章源码部署视频讲解等
28 0
|
4月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的大学生心理健康测评管理系统小程序附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的大学生心理健康测评管理系统小程序附带文章源码部署视频讲解等
59 0
|
4月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp小程序网上银行综合管理系统的附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp小程序网上银行综合管理系统的附带文章源码部署视频讲解等
24 0
|
4月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp小程序的高校实验室管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp小程序的高校实验室管理系统附带文章源码部署视频讲解等
27 0
|
4月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp小程序的业财票务一体项目管理系统 附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp小程序的业财票务一体项目管理系统 附带文章源码部署视频讲解等
41 0
|
4月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp小程序的小型企业工资管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp小程序的小型企业工资管理系统附带文章源码部署视频讲解等
29 0
|
30天前
|
移动开发 小程序 数据可视化
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
200 3
|
1月前
|
小程序 API
微信小程序更新提醒uniapp
在小程序开发中,版本更新至关重要。本方案利用 `uni-app` 的 `uni.getUpdateManager()` API 在启动时检测版本更新,提示用户并提供立即更新选项,自动下载更新内容,并在更新完成后重启小程序以应用新版本。适用于微信小程序,确保用户始终使用最新版本。以下是实现步骤: ### 实现步骤 1. **创建更新方法**:在 `App.vue` 中创建 `updateApp` 方法用于检查小程序是否有新版本。 2. **测试**:添加编译模式并选择成功状态进行模拟测试。
46 0
微信小程序更新提醒uniapp