口腔健康系统|口腔医疗|基于java和小程序的口腔健康系统小程序设计与实现(源码+数据库+文档)

口腔健康系统|口腔医疗小程序

目录

基于java和小程序的口腔健康系统小程序设计与实现

一、前言

二、系统功能设计

三、系统实现

1小程序前台首页界面实现

2后台管理员模块实现

四、数据库设计

五、核心代码

六、论文参考

七、最新计算机毕设选题推荐

八、源码获取:


博主介绍:✌️大厂码农|毕设布道师,阿里云开发社区乘风者计划专家博主,CSDN平台Java领域优质创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。✌️

主要项目:小程序、SpringBoot、SSM、Vue、Html、Jsp、Nodejs等设计与开发。

🍅文末获取源码联系🍅

基于java和小程序的口腔健康系统小程序设计与实现

一、前言

随着信息时代的来临,过去的"口腔助手"管理方式缺点逐渐暴露,现在对过去的"口腔助手"管理方式的缺点进行分析,采取计算机方式构建"口腔助手"小程序。本文通过阅读相关文献,研究国内外相关技术,提出了一种预约信息管理、"口腔助手"管理于一体的系统构建方案。

本文通过采用B/S架构,SpringBoot框架、MySQL数据库,结合国内"口腔助手"管理现状,开发了一个基于微信小程序的"口腔助手"小程序。系统分为:系统首页,个人中心,医生管理,用户管理,预约信息管理,口腔历史管理,用户反馈管理,在线问诊管理,保健知识管理,系统管理等功能模块。通过系统测试,本系统实现了系统设计目标,相对于人工管理方式,本系统有效的减少了"口腔助手"管理的经济投入,并且大幅度提升了"口腔助手"管理的效率。

关键词:"口腔助手";SpringBoot框架;MySQL数据库

二、系统功能设计

三、系统实现

1小程序前台首页界面实现

当人们打开微信小程序后,首先看到的就是首页界面。首页界面如图5-1所示:

图5-1 首页界面

第一次使用本小程序的使用者,注册界面如图5-2所示。

图5-2 注册界面

保健知识:在保健知识页面输入标题名称进行搜索,可以看到保健知识详细信息,按照提示即可完成评论或收藏操作。保健知识详情如图5-3所示。

图5-3 保健知识详情界面图

用户登录成功后,点击"我的"进入我的页面,在我的页面可以对预约信息,口腔历史,用户反馈,在线问诊等进行详细操作,用户功能界面如图5-4所示。

图5-4 用户功能界面图

医生登录成功后,点击"我的"进入我的页面,在我的页面可以对预约信息,口腔历史,用户反馈,在线问诊等进行详细操作,医生功能界面如图5-5所示。

图5-5 医生功能界面图

2后台管理员模块实现

管理员登录,在登录页面正确输入用户名和密码后,进入操作系统进行操作;如图5-6所示。

图5-6 管理员登录界面

管理员进入主页面,主要功能包括对系统首页,个人中心,医生管理,用户管理,预约信息管理,口腔历史管理,用户反馈管理,在线问诊管理,保健知识管理,系统管理等进行操作。管理员主页面如图5-7所示:

图5-7管理员主界面

管理员点击用户管理。进入用户页面输入用户名可以查询,新增或删除用户信息列表,并根据需要对用户详细信息进行详情,修改和删除等操作。如图5-8所示:

图5-8用户管理界面

管理员点击口腔历史管理。进入口腔历史页面输入用户名可以查询或删除口腔历史列表,并根据需要对口腔历史详细信息进行详情,修改或删除操作。如图5-9所示:

图5-9口腔历史管理界面

管理员点击保健知识管理。进入保健知识页面输入标题名称可以查询、新增或删除保健知识列表,并根据需要对保健知识详细信息进行详情,修改、查看评论或删除操作。如图5-10所示:

图5-10保健知识管理界面

管理员点击系统管理,进入医疗公告页面输入标题可以查询、新增或删除医疗公告列表,并根据需要对医疗公告详细信息进行详情、修改或删除操作,还可以对关于我们、系统简介和轮播图管理进行详细操作;如图5-11所示:

图5-11系统管理界面

四、数据库设计

(1)患者的实体属性图如下:

图4.12 患者实体属性图

(2)系统公告实体属性图如图4.13所示:

图4.13 系统公告实体属性图

4、保健知识评论表实体图如图4-6所示:

图4-6保健知识评论表实体图

表4.1 患者

|--------------|--------------|---|-------------------|------|
| 字段 | 类型 | 空 | 默认 | 注释 |
| id (主键) | bigint(20) | 否 | | 主键 |
| addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
| yonghuming | varchar(200) | 否 | | 用户名 |
| mima | varchar(200) | 否 | | 密码 |
| xingming | varchar(200) | 是 | NULL | 姓名 |
| xingbie | varchar(200) | 是 | NULL | 性别 |
| nianling | int(11) | 是 | NULL | 年龄 |
| shouji | varchar(200) | 是 | NULL | 手机 |
| youxiang | varchar(200) | 是 | NULL | 邮箱 |
| shenfenzheng | varchar(200) | 是 | NULL | 身份证 |
| touxiang | varchar(200) | 是 | NULL | 头像 |

表4.2 科室

|---------|--------------|---|-------------------|------|
| 字段 | 类型 | 空 | 默认 | 注释 |
| id (主键) | bigint(20) | 否 | | 主键 |
| addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
| keshi | varchar(200) | 是 | NULL | 科室 |

表4.3 系统公告

|--------------|--------------|---|-------------------|------|
| 字段 | 类型 | 空 | 默认 | 注释 |
| id (主键) | bigint(20) | 否 | | 主键 |
| addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
| title | varchar(200) | 否 | | 标题 |
| introduction | longtext | 是 | NULL | 简介 |
| picture | varchar(200) | 否 | | 图片 |
| content | longtext | 否 | | 内容 |

表4.4 取消预约申请

|-----------------|--------------|---|-------------------|------|
| 字段 | 类型 | 空 | 默认 | 注释 |
| id (主键) | bigint(20) | 否 | | 主键 |
| addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
| yishenggonghao | varchar(200) | 是 | NULL | 医生工号 |
| yishengxingming | varchar(200) | 是 | NULL | 医生姓名 |
| suoshukeshi | varchar(200) | 是 | NULL | 所属科室 |
| yishengxingbie | varchar(200) | 是 | NULL | 医生性别 |
| yishengnianling | varchar(200) | 是 | NULL | 医生年龄 |
| lianxidianhua | varchar(200) | 是 | NULL | 联系电话 |
| yiyuanmingzi | varchar(200) | 是 | NULL | 医院名字 |
| dizhi | varchar(200) | 是 | NULL | 地址 |
| menzhenshijian | varchar(200) | 是 | NULL | 门诊时间 |
| yishengjianjie | varchar(200) | 是 | NULL | 医生简介 |
| yishengzhaopian | varchar(200) | 是 | NULL | 医生照片 |
| yonghuming | varchar(200) | 是 | NULL | 用户名 |
| xingming | varchar(200) | 是 | NULL | 姓名 |
| shouji | varchar(200) | 是 | NULL | 手机 |
| yuyueshijian | varchar(200) | 是 | NULL | 预约时间 |
| quxiaoyuanyin | longtext | 是 | NULL | 取消原因 |
| sfsh | varchar(200) | 是 | 否 | 是否审核 |
| shhf | longtext | 是 | NULL | 审核回复 |
| userid | bigint(20) | 是 | NULL | 用户id |

|---|
| |

五、核心代码

java 复制代码
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 com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
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.BumenEntity;
import com.entity.view.BumenView;

import com.service.BumenService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;


/**
 * 部门
 * 后端接口
 * @author 
 * @email 
 * @date 2021-05-07 10:42:31
 */
@RestController
@RequestMapping("/bumen")
public class BumenController {
    @Autowired
    private BumenService bumenService;
    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,BumenEntity bumen,
		HttpServletRequest request){
        EntityWrapper<BumenEntity> ew = new EntityWrapper<BumenEntity>();
		PageUtils page = bumenService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, bumen), params), params));

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

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

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(BumenEntity bumen){
        EntityWrapper< BumenEntity> ew = new EntityWrapper< BumenEntity>();
 		ew.allEq(MPUtil.allEQMapPre( bumen, "bumen")); 
		BumenView bumenView =  bumenService.selectView(ew);
		return R.ok("查询部门成功").put("data", bumenView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        BumenEntity bumen = bumenService.selectById(id);
        return R.ok().put("data", bumen);
    }

    /**
     * 前端详情
     */
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        BumenEntity bumen = bumenService.selectById(id);
        return R.ok().put("data", bumen);
    }
    



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

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

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


		int count = bumenService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	


}


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 com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
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.GangweiEntity;
import com.entity.view.GangweiView;

import com.service.GangweiService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;


/**
 * 岗位
 * 后端接口
 * @author 
 * @email 
 * @date 2021-05-07 10:42:31
 */
@RestController
@RequestMapping("/gangwei")
public class GangweiController {
    @Autowired
    private GangweiService gangweiService;
    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,GangweiEntity gangwei,
		HttpServletRequest request){
        EntityWrapper<GangweiEntity> ew = new EntityWrapper<GangweiEntity>();
		PageUtils page = gangweiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, gangwei), params), params));

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

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

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(GangweiEntity gangwei){
        EntityWrapper< GangweiEntity> ew = new EntityWrapper< GangweiEntity>();
 		ew.allEq(MPUtil.allEQMapPre( gangwei, "gangwei")); 
		GangweiView gangweiView =  gangweiService.selectView(ew);
		return R.ok("查询岗位成功").put("data", gangweiView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        GangweiEntity gangwei = gangweiService.selectById(id);
        return R.ok().put("data", gangwei);
    }

    /**
     * 前端详情
     */
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        GangweiEntity gangwei = gangweiService.selectById(id);
        return R.ok().put("data", gangwei);
    }
    



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

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

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


		int count = gangweiService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	


}


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 com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
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.JixiaokaoheEntity;
import com.entity.view.JixiaokaoheView;

import com.service.JixiaokaoheService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;


/**
 * 绩效考核
 * 后端接口
 * @author 
 * @email 
 * @date 2021-05-07 10:42:31
 */
@RestController
@RequestMapping("/jixiaokaohe")
public class JixiaokaoheController {
    @Autowired
    private JixiaokaoheService jixiaokaoheService;
    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,JixiaokaoheEntity jixiaokaohe,
		HttpServletRequest request){
		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("yuangong")) {
			jixiaokaohe.setYuangonggonghao((String)request.getSession().getAttribute("username"));
		}
        EntityWrapper<JixiaokaoheEntity> ew = new EntityWrapper<JixiaokaoheEntity>();
		PageUtils page = jixiaokaoheService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, jixiaokaohe), params), params));

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

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

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(JixiaokaoheEntity jixiaokaohe){
        EntityWrapper< JixiaokaoheEntity> ew = new EntityWrapper< JixiaokaoheEntity>();
 		ew.allEq(MPUtil.allEQMapPre( jixiaokaohe, "jixiaokaohe")); 
		JixiaokaoheView jixiaokaoheView =  jixiaokaoheService.selectView(ew);
		return R.ok("查询绩效考核成功").put("data", jixiaokaoheView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        JixiaokaoheEntity jixiaokaohe = jixiaokaoheService.selectById(id);
        return R.ok().put("data", jixiaokaohe);
    }

    /**
     * 前端详情
     */
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        JixiaokaoheEntity jixiaokaohe = jixiaokaoheService.selectById(id);
        return R.ok().put("data", jixiaokaohe);
    }
    



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

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

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

		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("yuangong")) {
			wrapper.eq("yuangonggonghao", (String)request.getSession().getAttribute("username"));
		}

		int count = jixiaokaoheService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	


}

六、论文参考

七、最新计算机毕设选题推荐

最新计算机软件毕业设计选题大全-CSDN博客

八、源码获取:

大家点赞、收藏、关注、评论 啦 、👇🏻获取联系方式在文章末尾👇🏻

相关推荐
旺财是只喵3 小时前
vue项目里使用3D模型
前端·vue.js
Aress"3 小时前
uniapp 生成二维码图片[APP+H5+小程序等 全端适配]
小程序·uni-app
YDS8293 小时前
苍穹外卖 —— 文件上传和菜品的CRUD
java·spring boot·后端
小小王app小程序开发3 小时前
旧衣回收小程序的技术架构与商业落地:开发者视角的全链路解析
小程序·架构
Java陈序员3 小时前
完全开源!一款基于 SpringBoot + Vue 构建的社区平台!
vue.js·spring boot·github·社区
小纯洁w3 小时前
vue3.0 使用el-tree节点添加自定义图标造成加载缓慢的多种解决办法
前端·javascript·vue.js
叫我詹躲躲3 小时前
Vue 3 ref 与 reactive 选哪个?
前端·vue.js
程序员Sunday3 小时前
Vite 要收费啦?虚拟 DOM 要取消啦?尤雨溪这次玩了把大的!
前端·vue.js
vivo互联网技术3 小时前
Redis key 消失之谜
数据库·redis·内存淘汰策略·redis抓包分析·机制分析