Java项目实战II基于Spring Boot的药店管理系统的设计与实现(开发文档+数据库+源码)

目录

一、前言

二、技术介绍

三、系统实现

四、文档参考

五、核心代码

六、源码获取


全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。

一、前言

随着医疗行业的快速发展和人们对健康需求的日益增长,药店管理系统的智能化和高效化成为提升服务质量的关键。为了应对这一挑战,我们设计并实现了一套基于Spring Boot的药店管理系统。

该系统充分利用Spring Boot框架的轻量级、高并发和易扩展特性,为药店提供了全面的药品管理、销售记录、库存监控以及客户信息管理等功能。通过该系统,药店能够实时掌握药品库存情况,优化采购计划,减少库存积压,提高资金利用率。

我们相信,通过这套药店管理系统的实施,将能够显著提升药店的运营效率和服务质量,为顾客提供更加便捷、准确的购药体验。同时,系统还将为药店管理者提供有力的决策支持,助力药店在激烈的市场竞争中脱颖而出。接下来,我们将详细介绍系统的设计思路、功能模块、技术实现以及实际应用效果。

二、技术介绍

语言:Java

使用框架:Spring Boot

前端技术:JS、Vue 、css3

开发工具:IDEA/Eclipse

数据库:MySQL 5.7/8.0

数据库管理工具:phpstudy/Navicat

JDK版本:jdk1.8

Maven: apache-maven 3.8.1-bin

前端环境:Node.Js 12\14\16

三、系统实现

如图5.1显示的就是药品列表页面,此页面提供给管理员的功能有:查看药品、新增药品、修改药品、删除药品等。

管理员可以对前台的注册用户的基本信息进行管理,可以设置注册用户的账号为冻结或者是在用状态,管理员也能选择很多个已经失效的注册用户的信息进行批量删除操作。注册用户管理界面如图5.2所示。

供应商类型管理页面显示所有供应商类型,在此页面既可以让管理员添加新的供应商信息类型,也能对已有的供应商类型信息执行编辑更新,失效的供应商类型信息也能让管理员快速删除。下图就是供应商类型管理页面。供应商类型管理界面如图5.3所示。

四、文档参考

五、核心代码

@RequestMapping("users")
@RestController
public class UserController{
	
	@Autowired
	private UserService userService;
	
	@Autowired
	private TokenService tokenService;
 
	/**
	 * 登录
	 */
	@IgnoreAuth
	@PostMapping(value = "/login")
	public R login(String username, String password, String captcha, HttpServletRequest request) {
		UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
		if(user==null || !user.getPassword().equals(password)) {
			return R.error("账号或密码不正确");
		}
		String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
		return R.ok().put("token", token);
	}
	
	/**
	 * 注册
	 */
	@IgnoreAuth
	@PostMapping(value = "/register")
	public R register(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }
 
	/**
	 * 退出
	 */
	@GetMapping(value = "logout")
	public R logout(HttpServletRequest request) {
		request.getSession().invalidate();
		return R.ok("退出成功");
	}
	
	/**
     * 密码重置
     */
    @IgnoreAuth
	@RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
    	UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
    	if(user==null) {
    		return R.error("账号不存在");
    	}
    	user.setPassword("123456");
        userService.update(user,null);
        return R.ok("密码已重置为:123456");
    }
 
	/**
     * 列表
     */
    @RequestMapping("/list")
    public R list( UserEntity user){
       	EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
      	ew.allEq(MPUtil.allEQMapPre( user, "user")); 
        return R.ok().put("data", userService.selectListView(ew));
    }
 
    /**
     * 保存
     */
    @PostMapping("/save")
    public R save(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }
 
    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);
        userService.updateById(user);//全部更新
        return R.ok();
    }
 
    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        userService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
}

六、源码获取

感谢大家点赞、收藏、关注、评论

相关推荐
浪里个浪的10245 分钟前
【C#】第6章:用户界面设计 课后习题
开发语言·c#·用户界面
chusheng184014 分钟前
Python 如何通过 cron 或 schedule 实现爬虫的自动定时运行
java·爬虫·python
有点困的拿铁15 分钟前
Java中的享元模式
java·开发语言·享元模式
随心............26 分钟前
python设计模式
java·开发语言·设计模式
威哥爱编程35 分钟前
Java灵魂拷问13个为什么,你都会哪些?
java·面试·javaee
噜啦啦噜啦啦噜啦噜啦嘞噜啦噜啦37 分钟前
源码解析-Spring Eureka
java·spring·eureka
bingbingyihao42 分钟前
Spring boot + Vue2小项目基本模板
vue.js·spring boot
q567315231 小时前
通过scrapy和Django登录、爬取和持久化数据
java·开发语言·数据库·scrapy·django
IT大玩客1 小时前
SpringBoot如何集成WebSocket
spring boot·后端·websocket
ModelBulider1 小时前
九、HttpMessageConverter
java·开发语言·后端·spring·springmvc