💗博主介绍:✌全网粉丝10W+,CSDN全栈领域优质创作者,博客之星、掘金/知乎/b站/华为云/阿里云等平台优质作者、专注于Java、小程序/APP、python、大数据等技术领域和毕业项目实战,以及程序定制化开发、文档编写、答疑辅导等。
👇🏻 精彩专栏 推荐订阅👇🏻
计算机毕业设计精品项目案例(持续更新)
🌟文末获取源码+数据库+文档🌟
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以和学长沟通,希望帮助更多的人
一.前言
近年来随着节能环保低碳生活理念的提出,废品回收迅速成为了比较响应号召的一个方向,传统的废品回收由于其回收过程繁琐已经渐渐不被用户接受;通过开发一个面向废品回收类的微信小程序,将废品回收商家和互联网用户作为目标群体,利用小程序自身的便捷性与开放性的特点,将废品回收的模式转移到线上,实现高效的线上废品回收供需对接,更好的整合废品回收行业的产业链,达到从源头削减垃圾的产生,从而不断推动废品回收再利用,基本可以替换掉传统的线下的废品回收模式,最大程度上解决废品回收行业的痛点。
本废品上门回收小程序的普通用户能查看到所有商家的废品回收信息,并自身的废品情况进行下单,废品回收商家可以高效的完成与用户的供需对接,系统能够较好的整合废品回收再利用的完整资源链,废品回收小程序的后台管理员就是对涉及到的废品回收等各类信息进行相应的资源管理。
二.技术环境
jdk版本:1.8 及以上
ide工具:Eclipse或者 IDEA,微信小程序开发工具
数据库: mysql5.7 (必须5.7)
编程语言: Java
java框架:SSM
maven: 3.6.1
详细技术:HTML+CSS+JAVA+SSM+MYSQL+VUE+MAVEN+微信开发工具
三.功能设计
本文所设计的普通用户用例图由废品回收在线下单、查看商家以及废品信息、查看个人废品订单、管理我的收藏信息以及修改个人信息等多个功能构成的,在功能需求的设定上,尽量通过简化的方式来便于用户快速得到感兴趣的废品回收信息以及在线下单。普通用户的用例图详见下图所示。
本文所设计的商家用例图由发布废品回收信息、管理废品类型信息、管理废品订单信息、管理收藏信息以及修改商品信息等多个功能构成的,其中核心功能应放在商家废品回收管理与订单管理上,便于商家及时维护自己店内的废品回收信息以及订单信息等。商家的用例图详见下图所示。
本文所设计的管理员用例图由用户管理、垃圾分类管理、垃圾信息管理、科普知识管理以及日志管理等多个模块构成的,其中垃圾分类以及垃圾信息管理功能涵盖了对系统垃圾信息库和垃圾分类库的控制与管理,首先要对某个废品回收以及分类进行及时快速的补充,简化原有废品回收管理工作流程,废品回收的整个后台管理系统无疑会更加节约成本且管理效率更佳。下图所描述的是管理员用户用例图:
系统总体功能结构图如下所示:
程序上交给用户进行使用时,需要提供程序的操作流程图,这样便于用户容易理解程序的具体工作步骤,现如今程序的操作流程都有一个大致的标准,即先通过登录页面提交登录数据,通过程序验证正确之后,用户才能在程序功能操作区页面操作对应的功能。
四.数据设计
数据库概念模型的设计是为了抽象真实世界的信息,并对信息世界进行建模。它是数据库设计的强大工具。数据库概念模型设计可以通过E-R图描述现实世界的概念模型。而且Mysql数据库是自我保护能力比较强的数据库,限于篇幅要求,仅列出系统总体E-R图,如下所示。
五.部分效果展示
5.1用户微信端功能实现效果
用户登陆系统后,可以对首页、废品回收、我的等功能进行详细操作,如图所示。
废品回收,在废品回收页面可以查看废品名称、废品类型、商家编号、商家名称、商家地址、联系方式、计量单位、回收价格、回收时间、废品详细等详细信息,用户可以进行在线下单,如图所示。
新增废品回收信息的界面如图所示。
普通用户进入到废品订单模块中,能够查看所有自己的废品回收下单记录,可及时的修改和删除自己的废品回收下单记录,商家进入到废品订单模块中,能够查看与自己店铺相关废品订单信息,若在用户成功下单的情况下,商家能够对对应的废品回收订单进行支付,如图所示。
用户,在我的页面可以对废品回收、废品订单、我的收藏管理等详细信息进行操作,如图所示。
5.2商家微信端功能实现效果
商家,在我的页面可以对废品类型、废品回收、废品订单、我的收藏管理等详细信息进行操作,如图所示。
商家信息,在用户信息页面通过填写商家编号、密码、商家名称、商家图片、经营范围、商家地址、负责人、联系方式等详细信息进行保存操作,如图所示。
5.3管理员服务端功能实现效果
管理员登录,管理员通过输入账号、密码和验证码,选择角色并点击登录进行系统登录操作,如图所示。
管理员登陆系统后,可以对首页、个人中心、用户管理、商家管理、废品类型管理、废品回收管理、废品订单管理、系统管理等功能进行详细操作。
用户管理,在用户管理页面可以对索引、用户账号、用户姓名、性别、年龄、联系电话等内容进行详情、修改或删除等操作,如图所示。
废品类型管理,在废品类型管理页面可以对索引、户口类型等内容进行详情,修改或删除等操作,如图所示。
废品回收管理,在废品回收管理页面可以对索引、废品名称、废品类型、商家编号、商家名称、商家地址、联系方式、计量单位、回收价格、回收时间、废品图片等内容进行详情,修改或删除等操作,如图所示。
废品订单管理,在废品订单管理页面可以对索引、废品名称、废品类型、商家编号、商家名称、商家地址、联系方式、计量单位、回收价格、重量、总金额、下单时间、废品图片、用户账号、用户姓名、联系电话、是否支付等内容进行详情,修改或删除等操作,如图所示。
系统管理,在公告信息页面可以对索引、标题、图片等内容进行详情、修改或删除等操作,还可以对轮播图管理进行详细操作;如图所示。
部分功能代码
/**
* 上传文件
*/
@RequestMapping("/upload")
@IgnoreAuth
public R upload(@RequestParam("file") MultipartFile file,String type) throws Exception {
if (file.isEmpty()) {
throw new EIException("上传文件不能为空");
}
String fileExt = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1);
File path = new File(ResourceUtils.getURL("classpath:static").getPath());
if(!path.exists()) {
path = new File("");
}
File upload = new File(path.getAbsolutePath(),"/upload/");
if(!upload.exists()) {
upload.mkdirs();
}
String fileName = new Date().getTime()+"."+fileExt;
if(StringUtils.isNotBlank(type) && type.contains("_template")) {
fileName = type + "."+fileExt;
new File(upload.getAbsolutePath()+"/"+fileName).deleteOnExit();
}
File dest = new File(upload.getAbsolutePath()+"/"+fileName);
file.transferTo(dest);
if(StringUtils.isNotBlank(type) && type.equals("1")) {
ConfigEntity configEntity = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "faceFile"));
if(configEntity==null) {
configEntity = new ConfigEntity();
configEntity.setName("faceFile");
configEntity.setValue(fileName);
} else {
configEntity.setValue(fileName);
}
configService.insertOrUpdate(configEntity);
}
return R.ok().put("file", fileName);
}
/**
* 登录
*/
@IgnoreAuth
@RequestMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
YonghuEntity u = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("yonghuzhanghao", username));
if(u==null || !u.getMima().equals(password)) {
return R.error("账号或密码不正确");
}
String token = tokenService.generateToken(u.getId(), username,"yonghu", "用户" );
return R.ok().put("token", token);
}
/**
* 注册
*/
@IgnoreAuth
@RequestMapping("/register")
public R register(@RequestBody YonghuEntity yonghu){
//ValidatorUtils.validateEntity(yonghu);
YonghuEntity u = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("yonghuzhanghao", yonghu.getYonghuzhanghao()));
if(u!=null) {
return R.error("注册用户已存在");
}
Long uId = new Date().getTime();
yonghu.setId(uId);
yonghuService.insert(yonghu);
return R.ok();
}
源码及文档获取
文章下方名片联系我即可~
大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式👇🏻
精彩专栏推荐订阅:在下方专栏👇🏻
最新计算机毕业设计选题篇-选题推荐
小程序毕业设计精品项目案例-200套
Java毕业设计精品项目案例-200套
Python毕业设计精品项目案例-200套
大数据毕业设计精品项目案例-200套
💟💟如果大家有任何疑虑,欢迎在下方位置详细交流。