基于ssm的远程家庭健康监测管理系统设计与实现-计算机毕业设计源码+LW文档

news/2024/5/21 10:28:46/文章来源:https://blog.csdn.net/qq_375279829/article/details/126981952

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

关键代码:
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 java.io.IOException;

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.JiankangbaikeEntity;
import com.entity.view.JiankangbaikeView;

import com.service.JiankangbaikeService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;
import com.service.StoreupService;
import com.entity.StoreupEntity;

/**
 * 健康百科
 * 后端接口
 * @author 
 * @email 
 * @date 2022-04-30 10:23:01
 */
@RestController
@RequestMapping("/jiankangbaike")
public class JiankangbaikeController {
    @Autowired
    private JiankangbaikeService jiankangbaikeService;


    @Autowired
    private StoreupService storeupService;

    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,JiankangbaikeEntity jiankangbaike, 
        HttpServletRequest request){

        EntityWrapper<JiankangbaikeEntity> ew = new EntityWrapper<JiankangbaikeEntity>();
        PageUtils page = jiankangbaikeService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, jiankangbaike), params), params));
        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
    @IgnoreAuth
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,JiankangbaikeEntity jiankangbaike, 
        HttpServletRequest request){
        EntityWrapper<JiankangbaikeEntity> ew = new EntityWrapper<JiankangbaikeEntity>();
        PageUtils page = jiankangbaikeService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, jiankangbaike), params), params));
        return R.ok().put("data", page);
    }

    /**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( JiankangbaikeEntity jiankangbaike){
           EntityWrapper<JiankangbaikeEntity> ew = new EntityWrapper<JiankangbaikeEntity>();
          ew.allEq(MPUtil.allEQMapPre( jiankangbaike, "jiankangbaike")); 
        return R.ok().put("data", jiankangbaikeService.selectListView(ew));
    }

     /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(JiankangbaikeEntity jiankangbaike){
        EntityWrapper< JiankangbaikeEntity> ew = new EntityWrapper< JiankangbaikeEntity>();
         ew.allEq(MPUtil.allEQMapPre( jiankangbaike, "jiankangbaike")); 
        JiankangbaikeView jiankangbaikeView =  jiankangbaikeService.selectView(ew);
        return R.ok("查询健康百科成功").put("data", jiankangbaikeView);
    }
    
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        JiankangbaikeEntity jiankangbaike = jiankangbaikeService.selectById(id);
        jiankangbaike.setClicknum(jiankangbaike.getClicknum()+1);
        jiankangbaike.setClicktime(new Date());
        jiankangbaikeService.updateById(jiankangbaike);
        return R.ok().put("data", jiankangbaike);
    }

    /**
     * 前端详情
     */
    @IgnoreAuth
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        JiankangbaikeEntity jiankangbaike = jiankangbaikeService.selectById(id);
        jiankangbaike.setClicknum(jiankangbaike.getClicknum()+1);
        jiankangbaike.setClicktime(new Date());
        jiankangbaikeService.updateById(jiankangbaike);
        return R.ok().put("data", jiankangbaike);
    }
    


    /**
     * 赞或踩
     */
    @RequestMapping("/thumbsup/{id}")
    public R thumbsup(@PathVariable("id") String id,String type){
        JiankangbaikeEntity jiankangbaike = jiankangbaikeService.selectById(id);
        if(type.equals("1")) {
            jiankangbaike.setThumbsupnum(jiankangbaike.getThumbsupnum()+1);
        } else {
            jiankangbaike.setCrazilynum(jiankangbaike.getCrazilynum()+1);
        }
        jiankangbaikeService.updateById(jiankangbaike);
        return R.ok();
    }

    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody JiankangbaikeEntity jiankangbaike, HttpServletRequest request){
        jiankangbaike.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
        //ValidatorUtils.validateEntity(jiankangbaike);

        jiankangbaikeService.insert(jiankangbaike);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody JiankangbaikeEntity jiankangbaike, HttpServletRequest request){
        jiankangbaike.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
        //ValidatorUtils.validateEntity(jiankangbaike);

        jiankangbaikeService.insert(jiankangbaike);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    @Transactional
    public R update(@RequestBody JiankangbaikeEntity jiankangbaike, HttpServletRequest request){
        //ValidatorUtils.validateEntity(jiankangbaike);
        jiankangbaikeService.updateById(jiankangbaike);//全部更新
        return R.ok();
    }
    

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        jiankangbaikeService.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<JiankangbaikeEntity> wrapper = new EntityWrapper<JiankangbaikeEntity>();
        if(map.get("remindstart")!=null) {
            wrapper.ge(columnName, map.get("remindstart"));
        }
        if(map.get("remindend")!=null) {
            wrapper.le(columnName, map.get("remindend"));
        }


        int count = jiankangbaikeService.selectCount(wrapper);
        return R.ok().put("count", count);
    }
    
    /**
     * 前端智能排序
     */
    @IgnoreAuth
    @RequestMapping("/autoSort")
    public R autoSort(@RequestParam Map<String, Object> params,JiankangbaikeEntity jiankangbaike, HttpServletRequest request,String pre){
        EntityWrapper<JiankangbaikeEntity> ew = new EntityWrapper<JiankangbaikeEntity>();
        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", "clicknum");
        
        params.put("order", "desc");
        PageUtils page = jiankangbaikeService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, jiankangbaike), params), params));
        return R.ok().put("data", page);
    }

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_11651.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

常用的荧光染料示踪剂 Me-tetrazine-ICG,甲基-四嗪-吲哚菁绿 有哪些特点?

甲基-四嗪-吲哚菁绿是一种荧光染料化合物&#xff0c;四嗪可通过TCO点击化学标记到其它大分子上。吲哚菁绿是生物学中常用的荧光染料示踪剂&#xff0c;波长更长。 西安凯新生物科技有限公司常规修饰性聚乙二醇常备现 货&#xff0c;非常规基团修饰性聚乙二醇&#xff08;PEG&a…

h5(1)

H5 一、canvas标签 canvas是绘图标签&#xff0c;可以使用该标签在网页上生成一块画布&#xff0c;然后就可以在这块画布中随意的绘图。 canvas标签基本使用&#xff1a; <canvas width"500" height"500" id"cvs"></canvas> //w…

AWS聚焦数字经济与可持续发展

2022年中国国际服务贸易交易会于9月5日圆满闭幕&#xff0c;AWS在此间展示了多项领先的云计算技术和行业解决方案。围绕着本届服贸会“服务合作促发展绿色创新迎未来”的主题&#xff0c;AWS也在此次论坛中诠释和传递着其在助力数字经济及企业可持续发展的价值愿景。 9月3日与…

springboot 上传文件/图片到本地文件夹,利用nginx可以采用地址打开该文件

springboot 上传文件/图片到本地文件夹&#xff0c;利用nginx可以采用地址打开该文件 步骤&#xff1a; 一、下载nginx 打开nginx.conf 文件&#xff0c;配置nginx 启动nginx在nginx.exe文件所在的文件夹路径上直接cmd&#xff0c;输入nginx.exe即可启动nginx 注意&#xff…

企业运营管理 | 如何用「内容」取胜营销战?

全媒体时代&#xff0c;舆论生态、媒体格局、传播方式日新月异&#xff0c;但「内容为王」始终是品牌营销增长的公认规则。 除了投放渠道多、内容更新频次快、跨地域运营等挑战&#xff0c;如何规模化地输出统一的、优质的内容&#xff0c;以此驱动品牌增长&#xff0c;成为品牌…

u盘部分文件无故消失该怎么办?

u盘属于移动存储设备&#xff0c;用于备份数据&#xff0c;方便携带。可以存放各种格式的数据、文档、音频、视频、图片&#xff0c;即插即用&#xff0c;随时拔下。这给了我们极大地便利。但是我们在使用u盘的时候偶尔会出现一些意外&#xff0c;比如u盘文件没删除却消失了&am…

数据分析案例-基于sklearn随机森林算法探究影响预期寿命的因素

目录 项目目标 导入数据 查看数据基本信息 数据预处理 数据可视化 特征工程 建模 项目目标 **探索影响预期寿命的因素** 世卫组织建立了一段时间内所有国家健康状况的数据集&#xff0c;其中包括预期寿命&#xff0c;成人死亡率等方面的统计数据。使用此数据集&#xff…

Panama-FFI实现原理与移植

移植FFI 在说明如何对FFI进行移植之前需要先说明FFI的实现原理。JEP424是外部函数访问+本地内存,但是实际上需要移植的内容只有外部函数访问,对于本地内存的操作并不需要修改。 从java中调用native方法叫做downcall,而从native方法中调用java方法叫做upcall,下面通过downca…

泰克示波器知识分享-波的类型

提到泰克示波器&#xff0c;相信大多数人都知道&#xff0c;那大家对示波器基础知识了解多少呢?今天安泰测试就给大家分享一波干活——波的类型介绍&#xff1a; 您可以把大多数波分成下面几类&#xff1a; 周期信号和非周期信号 重复的信号称为周期信号,一直变化的信号则称为…

基于Android studio有声听书系统 java音乐播放器系统

1&#xff1a;注册登录&#xff1a;未注册用户首先进行账号注册&#xff0c;注册成功后进行登录&#xff0c;已注册用户直接输入账号密码进行登录&#xff0c;登录成功后进入主页面。 2&#xff1a;主页面&#xff1a;通过左右滑动可以实现对推荐界面、订阅界面、历史界面的切换…

第三章流程控制语句

一、判断输入的是不是黄蓉所说的数 二、验证瑛姑给出的答案是否正确 三、输出玫瑰花语 四、判断是否为酒后驾车 五、助力瑛姑(1):while循环版解题法 六、助力瑛姑(2):for循环版解题法七、打印九九乘法表 八、助力瑛姑(3):for循环改进版解题法 九、逢七拍腿游戏 十…

基于ssm的网上招投标系统设计与实现-计算机毕业设计源码+LW文档

开发语言&#xff1a;Java 框架&#xff1a;ssm JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09; 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;…

bean的作用域、bean的生命周期、bean的后置处理器

bean的作用域 概念&#xff1a;在Spring中可以通过配置bean标签的scope属性来指定bean的作用域范围&#xff0c;取值含义如下所示&#xff1a; 如果是在WebApplicationContext环境下还会有另外两个作用域(不常用) 在resources目录下创建spring-scope.xml文件 在test的java下创…

【区块链 | IPFS】如何将域链接到 IPFS 上托管的 dApp?

这是一篇关于如何将域链接到托管在IPFS上的dApp的快速分步指南 这是一篇关于如何将域链接到托管在IPFS上的dApp的快速分步指南 步骤1: 在本教程中,我们将把一个传统的域名连接到一个托管在IPFS上的dApp。 将在这个CID下使用IPFS托管的dApp: https://ipfs.io/ipfs/QmYupN…

红红火火过大年

3. axios特点 axios七大特点 1、在浏览器中发送 XMLHttpRequests 请求&#xff1b; 2、在 node.js 中发送 http请求&#xff1b; 3、基于 promise 的 HTTP 库&#xff0c;支持promise所有的API 4、拦截请求和响应&#xff1b;&#xff08;修改请求数据&#xff0c;只能用’PUT…

第一章:PyTorch简介和安装

1、什么是PyTorch? PyTorch是由Facebook人工智能研究小组开发的一种基于Lua编写的Torch库的Python实现的深度学习库,目前被广泛应用于学术界和工业界。 2、PyTorch的安装 PyTorch的安装可以分解为三个程序的安装:Anaconda PyTorch IDE(1)Anaconda的安装 Anaconda集成了常用…

【SQL刷题】DAY19----SQL联结表专项练习

博主昵称&#xff1a;跳楼梯企鹅 创作初心&#xff1a;本博客的初心为与技术朋友们相互交流&#xff0c;每个人的技术都存在短板&#xff0c;博主也是一样&#xff0c;虚心求教&#xff0c;希望各位技术友给予指导。 博主座右铭&#xff1a;发现光&#xff0c;追随光&#xff0…

Codeforces Round #821 (Div. 2)(A~E)

A. Consecutive Sum 最多可以进行k次操作&#xff0c;每次操作可以将两个对k取模相等的下标对应的元素交换位置&#xff0c;问做完这些操作之后每连续的k个数中&#xff0c;最大的和是多少。 思路&#xff1a;数据范围很小&#xff0c;直接对于所有对k取模相等的数进行比较&am…

RabbitMQ linux 安装

1、下载 erlang-23.2.3-1.el7.x86_64.rpm 2. 输入&#xff1a;rpm -ivh erlang-23.2.3-1.el7.x86_64.rpm 安装。 3、安装 RabbitMQ 下载网址&#xff1a;下载rabbitmq-server-3.9.14-1.el8.noarch.rpm与rabbitmq-server-3.9.14-1.el8.noarch.rpm.asc。Installing on RPM-bas…

基于改进遗传算法求解 TSP/MTSP 【旅行推销员问题 (TSP)、多旅行推销员问题 (M-TSP) 】(Matlab代码实现)

目录 1 概述 2 旅行商问题 3 遗传算法 4 约束优化 5 带有罚方法的遗传算法的流程图 6 带有惩罚函数的遗传算法在TSP中的应用 7 运行结果 7.1 单旅行商问题 7.2 多旅行商问题 8 Matlab代码实现 9 参考文献 10 写在最后 1 概述 主要研究用遗传算法解决带有约束的TSP…