基于Java+SpringMvc+vue+element实现疫苗接种管理平台

https://www.bilibili.com/video/BV1SL411N7Gr?spm_id_from=333.999.0.0

随着社会的快速发展,计算机的影响是全面且深入的。人们生活水平的不断提高,日常生活中人们对疫苗接种方面的要求也在不断提高,疫苗接种的数量更是不断增加,使得疫苗接种平台的开发成为必需而且紧迫的事情。疫苗接种平台主要是借助计算机,通过对疫苗接种平台所需的信息管理,增加用户的选择,同时也方便对广大用户信息的及时查询、修改以及对用户信息的及时了解。疫苗接种平台对用户带来了更多的便利,该系统通过和数据库管理系统软件协作来满足用户的需求。计算机技术在现代管理中的应用,使计算机成为人们应用现代技术的重要工具。能够有效的解决获取信息便捷化、全面化的问题,提高效率。本疫苗接种平台主要牵扯到程序,数据库与计算机技术等。覆盖知识面大,可以大大的提高系统人员工作效率。

功能设计:

疫苗接种平台的结构图所示:

登录系统结构图,如图所示

管理员结构图,如图所示。

功能截图:

系统首页:平台首页可以查看首页、疫苗信息、疫苗预约、接种信息、解疑中心、新闻资讯、个人中心、后台管理等

登陆注册:

疫苗信息:

疫苗预约:

接种信息:

解疑中心:

新闻咨询:

个人中心:

用户管理:

疫苗信息:

疫苗种类:

疫苗接种:

疫苗预约:

接种信息:

轮播图:

新闻咨询等:

关键代码:

usercontroller:

/**

* 用户

* 后端接口

* @author

* @email

*/

@RestController

@RequestMapping("/yonghu")

public class YonghuController {

    @Autowired

    private YonghuService yonghuService;


@Autowired

private TokenService tokenService;

/**

* 登录

*/

@IgnoreAuth

@RequestMapping(value = "/login")

public R login(String username, String password, String captcha, HttpServletRequest request) {

YonghuEntity user = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("zhanghao", username));

if(user==null || !user.getMima().equals(password)) {

return R.error("账号或密码不正确");

}

String token = tokenService.generateToken(user.getId(), username,"yonghu",  "用户" );

return R.ok().put("token", token);

}

/**

    * 注册

    */

@IgnoreAuth

    @RequestMapping("/register")

    public R register(@RequestBody YonghuEntity yonghu){

    //ValidatorUtils.validateEntity(yonghu);

    YonghuEntity user = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("zhanghao", yonghu.getZhanghao()));

if(user!=null) {

return R.error("注册用户已存在");

}

Long uId = new Date().getTime();

yonghu.setId(uId);

        yonghuService.insert(yonghu);

        return R.ok();

    }

/**

* 退出

*/

@RequestMapping("/logout")

public R logout(HttpServletRequest request) {

request.getSession().invalidate();

return R.ok("退出成功");

}

/**

    * 获取用户的session用户信息

    */

    @RequestMapping("/session")

    public R getCurrUser(HttpServletRequest request){

    Long id = (Long)request.getSession().getAttribute("userId");

        YonghuEntity user = yonghuService.selectById(id);

        return R.ok().put("data", user);

    }


    /**

    * 密码重置

    */

    @IgnoreAuth

@RequestMapping(value = "/resetPass")

    public R resetPass(String username, HttpServletRequest request){

    YonghuEntity user = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("zhanghao", username));

    if(user==null) {

    return R.error("账号不存在");

    }

    user.setMima("123456");

        yonghuService.updateById(user);

        return R.ok("密码已重置为:123456");

    }

    /**

    * 后端列表

    */

    @RequestMapping("/page")

    public R page(@RequestParam Map<String, Object> params,YonghuEntity yonghu,

HttpServletRequest request){

        EntityWrapper<YonghuEntity> ew = new EntityWrapper<YonghuEntity>();

PageUtils page = yonghuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, yonghu), params), params));

        return R.ok().put("data", page);

    }


    /**

    * 前端列表

    */

    @RequestMapping("/list")

    public R list(@RequestParam Map<String, Object> params,YonghuEntity yonghu,

HttpServletRequest request){

        EntityWrapper<YonghuEntity> ew = new EntityWrapper<YonghuEntity>();

PageUtils page = yonghuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, yonghu), params), params));

        return R.ok().put("data", page);

    }

/**

    * 列表

    */

    @RequestMapping("/lists")

    public R list( YonghuEntity yonghu){

      EntityWrapper<YonghuEntity> ew = new EntityWrapper<YonghuEntity>();

      ew.allEq(MPUtil.allEQMapPre( yonghu, "yonghu"));

        return R.ok().put("data", yonghuService.selectListView(ew));

    }

/**

    * 查询

    */

    @RequestMapping("/query")

    public R query(YonghuEntity yonghu){

        EntityWrapper< YonghuEntity> ew = new EntityWrapper< YonghuEntity>();

ew.allEq(MPUtil.allEQMapPre( yonghu, "yonghu"));

YonghuView yonghuView =  yonghuService.selectView(ew);

return R.ok("查询用户成功").put("data", yonghuView);

    }

    /**

    * 后端详情

    */

    @RequestMapping("/info/{id}")

    public R info(@PathVariable("id") Long id){

        YonghuEntity yonghu = yonghuService.selectById(id);

        return R.ok().put("data", yonghu);

    }

    /**

    * 前端详情

    */

    @RequestMapping("/detail/{id}")

    public R detail(@PathVariable("id") Long id){

        YonghuEntity yonghu = yonghuService.selectById(id);

        return R.ok().put("data", yonghu);

    }


    /**

    * 后端保存

    */

    @RequestMapping("/save")

    public R save(@RequestBody YonghuEntity yonghu, HttpServletRequest request){

    yonghu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());

    //ValidatorUtils.validateEntity(yonghu);

    YonghuEntity user = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("zhanghao", yonghu.getZhanghao()));

if(user!=null) {

return R.error("用户已存在");

}

yonghu.setId(new Date().getTime());

        yonghuService.insert(yonghu);

        return R.ok();

    }


    /**

    * 前端保存

    */

    @RequestMapping("/add")

    public R add(@RequestBody YonghuEntity yonghu, HttpServletRequest request){

    yonghu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());

    //ValidatorUtils.validateEntity(yonghu);

    YonghuEntity user = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("zhanghao", yonghu.getZhanghao()));

if(user!=null) {

return R.error("用户已存在");

}

yonghu.setId(new Date().getTime());

        yonghuService.insert(yonghu);

        return R.ok();

    }

    /**

    * 修改

    */

    @RequestMapping("/update")

    public R update(@RequestBody YonghuEntity yonghu, HttpServletRequest request){

        //ValidatorUtils.validateEntity(yonghu);

        yonghuService.updateById(yonghu);//全部更新

        return R.ok();

    }


    /**

    * 删除

    */

    @RequestMapping("/delete")

    public R delete(@RequestBody Long[] ids){

        yonghuService.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<YonghuEntity> wrapper = new EntityWrapper<YonghuEntity>();

if(map.get("remindstart")!=null) {

wrapper.ge(columnName, map.get("remindstart"));

}

if(map.get("remindend")!=null) {

wrapper.le(columnName, map.get("remindend"));

}

int count = yonghuService.selectCount(wrapper);

return R.ok().put("count", count);

}

}

数据库设计:

疫苗信息实体属性图如图所示。

疫苗预约实体属性图如图所示。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343

推荐阅读更多精彩内容