计算机毕业设计选题推荐-二手物品交易平台-Java项目实战

作者主页:IT毕设梦工厂✨
个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。
☑文末获取源码☑
精彩专栏推荐⬇⬇⬇
Java项目
Python项目
安卓项目
微信小程序项目

一、前言

随着社会经济的发展和消费者需求的多样化,二手物品交易市场逐渐成为一个庞大的交易领域。在此背景下,开发一个高效、便捷、安全的二手物品交易平台显得尤为重要。本课题将从学术、严谨的角度,对二手物品交易平台的功能需求进行深入研究,旨在为用户、商家和管理员提供一个全面、易用的交易平台。

当前,二手物品交易平台在功能设计方面存在一些问题。首先,用户在交易过程中可能面临信息不对称、交易不透明等问题,导致交易风险较大。其次,商家在管理商品信息、用户咨询和订单时,缺乏有效的工具和方法,难以提高工作效率。最后,管理员在管理商家、用户、商品和公告等信息时,缺乏统一的操作界面和数据管理机制,导致管理效率低下。

本课题旨在开发一个功能完善、安全可靠的二手物品交易平台,实现以下目标:
用户能够便捷地浏览商品信息、添加购物车、下单支付,并能够管理收货地址和订单信息;
商家能够方便地发布商品信息、管理商品库存、处理用户咨询和订单,并能够实时更新商品评价和收藏信息;
管理员能够统一管理商家、用户、商品和公告等信息,确保平台数据的安全性和可靠性;
平台能够提供数据统计和分析功能,以便管理员能够了解平台运营状况并进行优化。

本课题的研究意义在于为二手物品交易市场提供一个功能全面、安全可靠的交易平台,具有以下意义:
提高交易效率:通过优化交易流程和提供便捷的操作界面,降低用户和商家的交易成本,提高交易效率;
增强安全性:通过建立完善的安全机制和数据管理机制,确保用户、商家和管理员的信息安全,降低交易风险;
提高管理效率:通过提供统一的管理界面和数据管理机制,提高管理员对平台信息的管理效率;
促进市场发展:通过提供全面的功能支持和安全可靠的环境,促进二手物品交易市场的发展,为社会经济发展和消费者需求多样化做出贡献。

二、开发环境

  • 开发语言:Java
  • 数据库:MySQL
  • 系统架构:B/S
  • 后端:SpringBoot
  • 前端:Vue

三、系统功能模块

  • 角色:用户、商家、管理员
  • 功能:
    用户
    公告、商家、商品、购物车、收货地址、商品订单;
    商家
    商品管理(信息、评价、收藏、订单)、用户咨询管理、公告信息;
    管理员
    商家管理、用户管理、商品管理(信息、评价、收藏、订单)、用户咨询管理、公告信息管理、基础数据管理(公告类型、商品信用类型、商品类型、数据类型、状态)。

四、系统界面展示

  • 二手物品交易平台-界面展示:
    二手物品交易平台-商品信息
    二手物品交易平台-商品详情
    二手物品交易平台-商品信息管理
    二手物品交易平台-商品订单管理
    二手物品交易平台-购物车管理
    二手物品交易平台-我的商品订单
    二手物品交易平台-商品下单

五、代码参考

  • Java项目实战-代码参考:
/**************************
 * 
 * 收货地址控制
 *
 */
@RestController
public class ReceaddressController extends SimpleController {
	@Autowired
	private ReceaddressService receaddressSrv = null;

	@PostMapping("/admin/receaddress/delete")
	public JsonResult delete() {
		String[] ids = request.getParameterValues("ids[]");
		if (ids == null)
			return JsonResult.error(-1,"编号不能为空");

		String SQL = " where id in(" + StringUtils.join(ids,",") + ")";

		receaddressSrv.delete(SQL);
		return  JsonResult.success(1,"删除成功");
	}

	@RequestMapping("/admin/receaddress/save")
	public JsonResult save() {
		String title = request.getParameter("title");
		String shr = request.getParameter("shr");
		String mobile = request.getParameter("mobile");
		String postcode = request.getParameter("postcode");
		String addinfo = request.getParameter("addinfo");
		String hyid = request.getParameter("hyid");
		Receaddress receaddress = new Receaddress();
		receaddress.setTitle(title == null ? "" : title);
		receaddress.setShr(shr == null ? "" : shr);
		receaddress.setMobile(mobile == null ? "" : mobile);
		receaddress.setPostcode(postcode == null ? "" : postcode);
		receaddress.setAddinfo(addinfo == null ? "" : addinfo);
		receaddress.setHyid(hyid==null?0:new Integer(hyid));
		receaddressSrv.save(receaddress);
		return JsonResult.success(1,"新增地址成功");

	}

   @PostMapping("/admin/receaddress/update")
	public JsonResult update() {
		String id = request.getParameter("id");
		if (id == null)
			return JsonResult.error(-1,"ID不能为空");
		Receaddress receaddress = receaddressSrv.load(new Integer(id));
		if (receaddress == null)
			return JsonResult.success(-2,"不合法的数据");
		String title = request.getParameter("title");
		String shr = request.getParameter("shr");
		String mobile = request.getParameter("mobile");
		String postcode = request.getParameter("postcode");
		String addinfo = request.getParameter("addinfo");
	   String hyid = request.getParameter("hyid");
		SimpleDateFormat sdfreceaddress = new SimpleDateFormat("yyyy-MM-dd");
		receaddress.setTitle(title);
		receaddress.setShr(shr);
		receaddress.setMobile(mobile);
		receaddress.setPostcode(postcode);
		receaddress.setAddinfo(addinfo);
	    receaddress.setHyid(hyid==null?0:new Integer(hyid));
		receaddressSrv.update(receaddress);
		return JsonResult.success(1,"更新成功",receaddress);
	}

	@PostMapping("/admin/receaddress/load")
	public JsonResult load() {
		//
		String id = request.getParameter("id");
		if (id == null)
			return JsonResult.error(-1,"ID不能为空");
		Receaddress receaddress = receaddressSrv.load(new Integer(id));
		if (receaddress == null)
			return JsonResult.success(-2,"不合法的数据");
		return JsonResult.success(1,"成功",receaddress);
	}


	@PostMapping("/admin/receaddress/list")
	public JsonResult list() {

		HashMap map =new HashMap();
		String title = request.getParameter("title");
		String hyid=request.getParameter("hyid");
		String paged=request.getParameter("paged");

		if (title != null)
			map.put("title",title);
		if(hyid!=null)
			map.put("hyid",hyid);
		int pageindex = 1;
		int pagesize = 10;
		// 获取当前分页
		String currentpageindex = request.getParameter("currentpageindex");
		// 当前页面面积
		String currentpagesize = request.getParameter("pagesize");
		// 设置当前页
		if (currentpageindex != null)
			pageindex = new Integer(currentpageindex);
		// 设置当前页面积
		if (currentpagesize != null)
			pagesize = new Integer(currentpagesize);
		if(!"-1".equals(paged))
		   PageHelper.startPage(pageindex,pagesize);
		List<Receaddress> listReceaddress = receaddressSrv.getEnityPlus(map);
		if(!"-1".equals(paged))
		   return JsonResult.success(1,"地址信息",new PageInfo(listReceaddress));

		return JsonResult.success(1,"地址信息",listReceaddress);

	}
}

/**************************
 *
 * 订单控制
 *
 */
@Controller
public class ShorderController {
    @Autowired
    private ShorderService shorderSrv = null;
    @Autowired
    private HuiyuanService huiyuanSrv=null;
    @Autowired
    private OrderitemService orderitemSrv=null;
    @Autowired
    private HttpServletRequest request;

    @Autowired
    private ShangpinService shangpinSrv=null;

    private String cartName = "shopcart";
    @Autowired
    private SpcommentService spcommentSrv=null;



    @ResponseBody
    @PostMapping("/admin/shorder/delete")
    public JsonResult delete() {
        String[] ids = request.getParameterValues("ids[]");
        if (ids == null)
            return JsonResult.error(-1,"参数异常");
        for(String id : ids){
            shorderSrv.delete("where id="+id);
            orderitemSrv.delete("where orderid="+id);
        }
        return JsonResult.success(1,"操作成功");
    }




    @ResponseBody
    @PostMapping("/admin/shorder/saletongji")
    public JsonResult saleTongji() {

        String begdate = request.getParameter("begindate");
        String enddate = request.getParameter("enddate");
        String shid = request.getParameter("shid");
        HashMap<String,Object> map=new HashMap<>();
        if(begdate!=null)
            map.put("begdate",begdate);
        if(enddate!=null)
            map.put("enddate",enddate);
        if(shid!=null)
            map.put("shid",shid);
        List<HashMap<String,Object>> listMap=shorderSrv.saleStat(map);

        if(listMap!=null)
            request.setAttribute("listMap",listMap);

        return JsonResult.success(1,"成功",listMap);

    }




    @ResponseBody
    @PostMapping("/admin/shorder/shouhuo")
    public  JsonResult shouhuo(){
        String oiid=request.getParameter("oiid");
        String star=request.getParameter("star");
        String des=request.getParameter("des");
        String appraiserid=request.getParameter("appraiserid");
        if(oiid==null||oiid.equals(""))
            return JsonResult.error(-1,"参数异常");
        Orderitem orderitem=orderitemSrv.load("where id="+oiid);
        Spcomment spcomment=new Spcomment();
        spcomment.setCreatetime(new Date());
        spcomment.setSpid(orderitem.getSpid());
        spcomment.setOrderid(orderitem.getId());
        spcomment.setCresult(star==null?1:Integer.parseInt(star));
        spcomment.setAppraiserid(appraiserid==null?0:Integer.parseInt(appraiserid));
        spcomment.setDes(des);
        spcommentSrv.save(spcomment);
        int count=  orderitemSrv.executeUpdate(MessageFormat.format("update orderitem set state=4 where id={0}  ",oiid));
        int ndCount=orderitemSrv.getRecordCount(MessageFormat.format("where orderid={0,number,#} and state=3 ",orderitem.getOrderid()));
        //商品全部发货则更新订单为已发货状态
        if(ndCount==0)
            shorderSrv.executeUpdate(MessageFormat.format("update shorder set state=4 where id={0,number,#}",orderitem.getOrderid()));
        if(count>0)
            return JsonResult.success(1,"收货成功");
        return  JsonResult.error(-2,"收货失败");

    }

    @ResponseBody
    @PostMapping("/admin/shorder/payment")
    public JsonResult payment(){
        String id=request.getParameter("id");
        String paystyle=request.getParameter("paystyle");
        String paypwd=request.getParameter("paypwd");
        if(paypwd==null||paypwd.equals("")){
            return JsonResult.error(-1,"请输入支付密码");
        }
        if(id==null||paypwd.equals(""))
            return JsonResult.error(-2,"订单编号异常");
        if(!StringUtil.isNumeric(id))
            return JsonResult.error(-3,"订单编号异常");

        Shorder order=shorderSrv.load("where id="+id);
        if(order==null)
            return JsonResult.error(-4,"订单号不存在");
        Huiyuan huiyuan= huiyuanSrv.load("where id="+order.getPurchaser());
        if(huiyuan==null)
            return JsonResult.error(-5,"账户信息异常");

        if(!paypwd.equals(huiyuan.getPaypwd()))
            return JsonResult.error(-6,"支付密码不正确");

        int count= huiyuanSrv.deduct(order.getPurchaser(),order.getTotalfee());
        if(count<=0)
            return JsonResult.error(-7,"账户余额不足");

        Boolean res=shorderSrv.changeToPayed(order.getId());
        if(!res)
            return JsonResult.error(-8,"系统异常");

        return JsonResult.success(1,"付款成功");


    }

    @ResponseBody
    @PostMapping("/admin/shorder/cancel")
    public JsonResult cancel(){
        String id=request.getParameter("id");

        if(!StringUtil.isNumeric(id))
            return JsonResult.error(-1,"订单编号异常");

        shorderSrv.executeUpdate("update shorder set state=5 where id="+id);
        orderitemSrv.executeUpdate("update  orderitem set state=5 where orderid="+id);

        return JsonResult.success(1,"付款成功");


    }


    @ResponseBody
    @PostMapping("/admin/shorder/info")
    public JsonResult info(){
        String id=request.getParameter("id");
        String state=request.getParameter("state");
        if(id==null||id=="")
            return JsonResult.error(-1,"需要id参数");
        if(!StringUtil.isNumeric(id)){
            return JsonResult.error(-2,"id参数应该为数字");
        }
        HashMap map=new HashMap<String,Object>();
        if(id!=null)
            map.put("id",id);
        if(state!=null)
            map.put("state",state);
        OrderDTO order = shorderSrv.loadPlus(map);
        return JsonResult.success(1,"获取订单成功",order);

    }

    @ResponseBody
    @PostMapping("/admin/shorder/deliver")
    public  JsonResult deliver(){
        String oiid=request.getParameter("oiid");
        String wlno=request.getParameter("wlno");
        if(oiid==null||oiid.equals(""))
            return JsonResult.error(-1,"参数异常");
        Orderitem oi=orderitemSrv.load("where id="+oiid);
        oi.setState(3);
        oi.setWlno(wlno);
        int count=  orderitemSrv.update(oi);
        int ndCount=orderitemSrv.getRecordCount(MessageFormat.format("where orderid={0,number,#} and state=2 ",oi.getOrderid()));
        //商品全部发货则更新订单为已发货状态
        if(ndCount==0)
            shorderSrv.executeUpdate(MessageFormat.format("update shorder set state=3 where id={0,number,#}",oi.getOrderid()));
        if(count>0)
            return JsonResult.success(1,"发货成功");
        return  JsonResult.error(-2,"发货失败");

    }

    @ResponseBody
    @PostMapping("/admin/shorder/save")
    public JsonResult  save(){
        String payload=getRequestPayload(request);
        System.out.println("payload="+payload);
        CreateOrderDTO orderDTO = JSONObject.parseObject(payload, CreateOrderDTO.class);
        JsonResult vr= shorderSrv.validateStock(orderDTO);
        if(vr.getStateCode()<0)
            return vr;
        shorderSrv.createOrder(orderDTO);
        return JsonResult.success(1,"下单成功");
    }



    @ResponseBody
    @PostMapping("/admin/shorder/shlist")
    public JsonResult shlist(){
        String publisher=request.getParameter("publisher");
        String state=request.getParameter("state");

        if(publisher==null||publisher=="")
            return JsonResult.error(-1,"请提供商户账号");

        HashMap map=new HashMap<String,Object>();
        if(publisher!=null)
            map.put("publisher",publisher);
        if(state!=null)
            map.put("state",state);

        List<OrderDTO> purchaseOrder = shorderSrv.getEntityPlus(map);
        return JsonResult.success(1,"获取订单成功",purchaseOrder);

    }


	@ResponseBody
	@PostMapping("/admin/shorder/list")
	public JsonResult list(){
    	String purchaser=request.getParameter("purchaser");
    	String state=request.getParameter("state");
        String ddno = request.getParameter("ddno");
        String pubren=request.getParameter("pubren");
        HashMap map=new HashMap<String,Object>();
    	if(purchaser!=null){
            if(purchaser!=null&&!StringUtil.isNumeric(purchaser)){
                return JsonResult.error(-2,"参数应该为数字");
            }
           map.put("purchaser",purchaser);
    	}
    	if(state!=null)
    	    map.put("state",state);
        if (ddno != null)
            map.put("ddno",ddno);
        if(pubren!=null)
            map.put("pubren",pubren);
        int pageindex = 1;
        int pagesize = 10;
        // 获取当前分页
        String currentpageindex = request.getParameter("currentpageindex");
        // 当前页面面积
        String currentpagesize = request.getParameter("pagesize");
        PageHelper.startPage(pageindex,pagesize);
        List<OrderDTO> listshorder = shorderSrv.getEntityPlus(map);
        request.setAttribute("listshorder", listshorder);
        PageInfo<OrderDTO> pageInfo=new PageInfo<>(listshorder);
    	return JsonResult.success(1,"获取订单成功",pageInfo);

    }

	private String getRequestPayload(HttpServletRequest request){
        try {
            request.setCharacterEncoding("utf-8");
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        BufferedReader br=null;
		try {
			br = new BufferedReader(new InputStreamReader(request.getInputStream(),"utf-8"));
		} catch (IOException e) {
			e.printStackTrace();
		}
		String line="";
		StringBuilder sb = new StringBuilder();
		try {
			while ((line = br.readLine()) != null) {
				sb.append(line);
			}
		}catch (IOException e){

		}
		return sb.toString();
	}

六、论文参考

  • 计算机毕业设计选题推荐-二手物品交易平台-论文参考:
    计算机毕业设计选题推荐-二手物品交易平台-论文参考

七、系统视频

二手物品交易平台-项目视频:

基于SpringBoot的二手物品交易平台

结语

计算机毕业设计选题推荐-二手物品交易平台-Java项目实战
大家可以帮忙点赞、收藏、关注、评论啦~
源码获取:私信我

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

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值