计算机毕业设计选题推荐-废品买卖回收管理系统-Java项目实战

作者主页: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项目实战
大家可以帮忙点赞、收藏、关注、评论啦~
源码获取:私信我

精彩专栏推荐⬇⬇⬇
Java项目
Python项目
安卓项目
微信小程序项目

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT研究室

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值