✨作者主页:IT研究室✨
个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。
☑文末获取源码☑
精彩专栏推荐⬇⬇⬇
Java项目
Python项目
安卓项目
微信小程序项目
一、前言
随着经济的发展和人们生活水平的提高,废品产生量不断增加,给环境带来了严重的压力。传统的废品买卖回收方式存在信息不对称、交易不透明等问题,无法满足现代社会的需求。为了解决这一问题,废品买卖回收管理系统应运而生。本课题旨在设计和实现一个实用的废品买卖回收管理系统,以提升废品回收工作的效率和质量,推动废品回收行业的健康发展。
目前,虽然已有一些废品买卖回收管理系统,但存在以下问题:
信息不对称:现有系统缺乏对废品信息的全局展示,导致回收商和买家难以获取到全局的废品信息,影响交易的顺利进行。
交易不透明:现有系统的交易过程缺乏透明度,无法监督和管理交易过程,容易产生不公平交易和欺诈行为。
管理不规范:现有系统的管理流程不规范,无法实现统一的废品分类、评估和定价,影响废品回收的效率和质量。
本课题旨在设计和实现一个实用的废品买卖回收管理系统,以解决现有系统中存在的问题,实现以下目标:
提供全局的废品信息展示平台,方便回收商和买家获取到全局的废品信息。
实现交易过程的透明化,监督和管理交易过程,避免不公平交易和欺诈行为。
制定规范的废品分类、评估和定价流程,提高废品回收的效率和质量。
本课题的研究意义在于:
提高废品回收的效率和质量:通过实现全局的信息展示、透明的交易过程和规范的废品管理流程,可以提高废品回收的效率和质量。
推动废品回收行业的健康发展:通过解决信息不对称、交易不透明和管理不规范等问题,可以推动废品回收行业的健康发展。
增强环保意识和社会责任感:本课题的研究成果可以增强人们的环保意识和社会责任感,提高公众对废品回收的关注度和参与度。
二、开发环境
- 开发语言:Java
- 数据库:MySQL
- 系统架构:B/S
- 后端:SpringBoot
- 前端:Vue
三、系统界面展示
- 废品买卖回收管理系统界面展示:
四、代码参考
- Java项目实战代码参考:
/**
* <p>
* 公告表 前端控制器
* </p>
*/
@RestController
@RequestMapping("/notice")
public class NoticeController {
@Autowired
INoticeService noticeService;
@PostMapping("/saveOrUpdateNotice")
public Result saveOrUpdateNotice(@RequestBody RequestSaveOrUpdateNoticeVo saveOrUpdateNoticeVo){
if(ObjectUtils.isEmpty(saveOrUpdateNoticeVo.getTitle())){
return Result.getFailure().setMsg(StringConst.NOTICE_IS_NULL);
}
String result = null;
Notice notice;
if(ObjectUtils.isEmpty(saveOrUpdateNoticeVo.getId())){
notice = new Notice();
BeanUtils.copyProperties(saveOrUpdateNoticeVo,notice);
result = "添加";
}else{
notice = noticeService.getById(saveOrUpdateNoticeVo.getId());
BeanUtils.copyProperties(saveOrUpdateNoticeVo,notice);
result = "修改";
}
if(!noticeService.saveOrUpdate(notice)){
return Result.getFailure().setMsg(result +"失败了。");
}
return Result.getSuccess().setMsg(result + "成功啦!");
}
@DeleteMapping("/deleteByIds")
public Result delete(@RequestBody RequestDeleteVo deleteVo){
if(VoUtilsTool.checkObjFieldIsNull(deleteVo)){
return Result.getFailure().setMsg(StringConst.DELETE_SELECT_ERROR);
}
if(noticeService.removeByIds(deleteVo.getIntegerIds())){
return Result.getSuccess().setMsg(StringConst.DELETE_SUCCESS);
}else{
return Result.getFailure().setMsg(StringConst.DELETE_ERROR);
}
}
@PostMapping("/list")
public Result noticeList(@RequestBody RequestNoticeListVo noticeListVo){
IPage<Notice> listVoIPage = noticeService.noticeList(noticeListVo);
return Result.getSuccess().setData(listVoIPage);
}
@GetMapping("/getById/{id}")
public Result getById( @PathVariable Integer id){
return Result.getSuccess().setData(noticeService.getById(id));
}
}
/**
* <p>
* 用户表 前端控制器
* </p>
*/
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private Producer producer;
@Autowired
private IUserService userService;
@GetMapping("/captcha.jpg")
public void captcha(HttpServletRequest request, HttpServletResponse response )
throws IOException {
response.setHeader("Cache-Control", "no-store, no-cache");
response.setContentType("image/jpeg");
//生成文字验证码
String text = producer.createText();
System.out.println(text);
//生成图片验证码
BufferedImage image = producer.createImage(text);
HttpSession session = request.getSession();
session.setAttribute(Constants.KAPTCHA_SESSION_KEY,text);
session.setMaxInactiveInterval(60);
ServletOutputStream out = response.getOutputStream();
ImageIO.write(image, "jpg", out);
IOUtils.closeQuietly(out);
}
@RequestMapping("/register")
public Result register(@RequestBody RequestRegisterVo registerVo) throws IOException {
//System.out.println(registerVo);
// String avatarUrl = userService.avatarUpload(registerVo.getAvatarFile());
//用户数据的校验
if(ObjectUtils.isNotEmpty(userService.queryByUsername(registerVo.getUsername()))){
System.out.println(registerVo.getUsername());
return Result.getFailure().setMsg("用户名已存在!!!");
}
if(ObjectUtils.isNotEmpty(userService.queryByTel(registerVo.getTel()))){
return Result.getFailure().setMsg("用户名已存在!!!");
}
if(VoUtilsTool.checkObjFieldIsNull(registerVo)){
return Result.getFailure().setMsg("输入数据为空!!!");
}
if(registerVo.getPassword().trim().toCharArray().length < 8){
return Result.getFailure().setMsg("密码位数必须大于8!!!");
}
if(!PhoneFormatCheckUtils.isPhoneLegal(registerVo.getTel())){
return Result.getFailure().setMsg("手机号格式正确!!!");
}
//用户数据拷贝
User user = new User();
BeanUtils.copyProperties(registerVo,user);
user.setPassword(DigestUtil.md5Hex(registerVo.getPassword()));
user.setId(IdUtil.simpleUUID());
user.setAvatarUrl("\\goodsImg\\avatar.jpg");
//存入数据库中
if(userService.saveOrUpdate(user)){
return Result.getSuccess().setMsg("注册成功!!!");
}else{
return Result.getFailure().setMsg("注册失败!!!");
}
}
@RequestMapping("/login")
public Result login(HttpServletRequest request, @RequestBody RequestLoginVo loginRequestVo){
//System.out.println(loginRequestVo);
HttpSession session = request.getSession();
String trueCaptcha = (String) session.getAttribute(Constants.KAPTCHA_SESSION_KEY);
if(!trueCaptcha.equalsIgnoreCase(loginRequestVo.getCaptcha())){
return Result.getFailure().setMsg(StringConst.CAPTCHA_ERROR);
}
User user;
if(ObjectUtils.isEmpty(userService.queryByUsername(loginRequestVo.getUsernameOrTel()))){
user = userService.queryByTel(loginRequestVo.getUsernameOrTel());
}else{
user = userService.queryByUsername(loginRequestVo.getUsernameOrTel());
}
if(ObjectUtils.isEmpty(user) || !DigestUtil.md5Hex(loginRequestVo.getPassword()).
equals(user.getPassword())){
return Result.getFailure().setMsg(StringConst.LOGIN_ERROR);
}
Map<String,Object> result = new HashMap<>();
result.put("userId",user.getId());
result.put("userType",user.getType());
return Result.getSuccess().setData(result);
}
@GetMapping("/getUserById/{userId}")
public Result getUserById(@PathVariable String userId){
return Result.getSuccess().setData(userService.getUserById(userId));
}
@DeleteMapping("/deleteByIds")
public Result delete(@RequestBody RequestUserDeleteVo deleteVo){
if(VoUtilsTool.checkObjFieldIsNull(deleteVo)){
return Result.getFailure().setMsg(StringConst.DELETE_SELECT_ERROR);
}
if(userService.removeByIds(deleteVo.getStringIds())){
return Result.getSuccess().setMsg(StringConst.DELETE_SUCCESS);
}else{
return Result.getFailure().setMsg(StringConst.DELETE_ERROR);
}
}
@PostMapping("/list/{id}")
public Result list(@RequestBody RequestUserListVo userListVo, @PathVariable String id){
int type = userService.getById(id).getType();
if(type== 0 || (type == 1 && userListVo.getType() == 1)){
return Result.getFailure().setMsg("权限不足!!");
}
IPage<ResponseUserListVo> listVoIPage = userService.userList(userListVo,type);
return Result.getSuccess().setData(listVoIPage);
}
@GetMapping("/updateByType/{userId}")
public Result updateByType(@PathVariable String userId){
if(userService.updateByType(userService.getById(userId))){
return Result.getSuccess().setMsg("操作成功");
}else{
return Result.getFailure().setMsg("操作失败");
}
}
@PostMapping("/update")
public Result update(@RequestBody RequestUpdateUserVo requestUpdateUserVo){
User user = userService.getById(requestUpdateUserVo.getId());
BeanUtils.copyProperties(requestUpdateUserVo,user);
if(userService.saveOrUpdate(user)){
return Result.getSuccess().setMsg("修改成功");
}else{
return Result.getFailure().setMsg("修改失败");
}
}
@PostMapping("/changePwd")
public Result changePwd(@RequestBody RequestChangePwdVo requestChangePwdVo){
User user = userService.getById(requestChangePwdVo.getId());
if(!user.getPassword().equals(DigestUtil.md5Hex(requestChangePwdVo.getOldPassword()))){
return Result.getFailure().setMsg("原密码错误");
}
if(requestChangePwdVo.getNewPassword().trim().toCharArray().length < 8){
return Result.getFailure().setMsg("密码位数必须大于8!!!");
}
user.setPassword(DigestUtil.md5Hex(requestChangePwdVo.getNewPassword()));
if(userService.saveOrUpdate(user)){
return Result.getSuccess().setMsg("修改成功");
}else{
return Result.getFailure().setMsg("修改失败");
}
}
/**上传地址*/
@Value("${file.upload.path}")
private String uploadPath;
/**
* 上传图片
* @param file
*/
@RequestMapping("/upload")
public Result upload(@RequestParam(value = "file") MultipartFile file,
@RequestParam(value = "userId") String id) {
// 获取上传文件名
String filename = file.getOriginalFilename();
// 定义上传文件保存路径
String path = uploadPath+"goodsImg/";
// 新建文件
File filepath = new File(path, filename);
// 判断路径是否存在,如果不存在就创建一个
if (!filepath.getParentFile().exists()) {
filepath.getParentFile().mkdirs();
}
try {
file.transferTo(new File(path + File.separator + filename));
} catch (IOException e) {
e.printStackTrace();
}
User user = userService.getById(id);
user.setAvatarUrl("goodsImg/"+filename);
userService.updateById(user);
Map<String,String> img = new HashMap<>();
img.put("src","goodsImg/"+filename);
return Result.getSuccess().setData(img);
}
@GetMapping("/manage/{id}")
public Result manage(@PathVariable String id){
User user = userService.getById(id);
if(user.getType() == 0){
user.setType(1);
}else if(user.getType() == 1){
user.setType(0);
}
userService.updateById(user);
return Result.getSuccess().setMsg("操作成功!!!");
}
@GetMapping("/resetPwd/{id}")
public Result resetPwd(@PathVariable String id){
User user = userService.getById(id);
user.setPassword(DigestUtil.md5Hex("12345678"));
userService.updateById(user);
return Result.getSuccess().setMsg("操作成功!!!");
}
}
五、论文参考
- 计算机毕业设计选题推荐-废品买卖回收管理系统论文参考:
六、系统视频
废品买卖回收管理系统项目视频:
计算机毕业设计选题推荐-废品买卖回收管系统-Java项目实战
结语
计算机毕业设计选题推荐-废品买卖回收管理系统-Java项目实战
大家可以帮忙点赞、收藏、关注、评论啦~
源码获取:私信我