毕设进度仍为零?再拖就错过洛川县苹果销售平台最佳选题期

💖💖作者:计算机毕业设计小途
💙💙个人简介:曾长期从事计算机专业培训教学,本人也热爱上课教学,语言擅长Java、微信小程序、Python、Golang、安卓Android等,开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。平常喜欢分享一些自己开发中遇到的问题的解决办法,也喜欢交流技术,大家有技术代码这一块的问题可以问我!
💛💛想说的话:感谢大家的关注与支持!
💜💜
网站实战项目
安卓/小程序实战项目
大数据实战项目
深度学习实战项目

@TOC

基于spring boot的洛川县苹果销售管理平台介绍

《基于Spring Boot的洛川县苹果销售管理平台》面向大四计算机专业毕业设计需求,以Java+Spring Boot+MyBatis为核心后端技术栈,前端采用uni-app框架实现微信小程序与安卓双端同源编译,整体遵循B/S架构部署于Tomcat服务器,数据库选用MySQL存储全量业务数据;系统围绕洛川苹果产业链,提供游客、注册用户、平台管理员、入驻商家四种角色权限体系,首页聚合轮播图、热销排行、自然风光图文及公告资讯,个人中心支持头像、收货地址、钱包余额与交易明细管理;后台实现用户与商家信息的增删改查、角色状态控制及密码重置,商家端可维护产品分类、上架农产品、编辑图文详情、设置库存与价格,平台端审核商品并统一维护轮播图与自然风光内容;订单中心按状态分为购物车、已支付、已发货、已完成、已退款五大节点,用户可在线下单、支付、查看物流、申请退款,商家可接单、发货、处理退款,钱包功能对接订单金额流转,记录充值、消费、退款明细,保障资金安全;交流区为买卖双方提供帖子发布、回复、点赞互动空间,系统管理模块涵盖日志查看、数据字典维护及全局参数配置,所有接口遵循RESTful规范,事务控制与异常处理统一封装,代码分层清晰,注释详尽,可直接导入IDE运行,满足毕业设计对功能完整性、技术先进性与文档规范性的综合考核要求。

基于spring boot的洛川县苹果销售管理平台视频演示

[演示视频]https://www.bilibili.com/video/BV1MLhhzaE1h/?spm_id_from=333.1387.homepage.video_card.click

基于spring boot的洛川县苹果销售管理平台图片演示演示图片

系统首页.png

登录注册界面.png

产品分类.png

农产品管理.png
商家管理.png
用户管理.png
自然风光管理.png
// 1. 农产品新增与库存扣减

@PostMapping("/product")

public R addProduct(@RequestBody ProductDto dto){

    Product p=new Product();

    BeanUtils.copyProperties(dto,p);

    p.setCreateTime(LocalDateTime.now());

    productMapper.insert(p);

    return R.ok("已上架");

}

@Transactional

public void decreaseStock(Long productId,Integer quantity){

    Product p=productMapper.selectById(productId);

    if(p.getStock()<quantity){

        throw new BizException("库存不足");

    }

    productMapper.updateStock(productId,p.getStock()-quantity);

}

// 2. 创建订单并触发钱包扣款

@PostMapping("/order")

public R create(@RequestBody OrderDto dto){

    Order o=new Order();

    o.setOrderNo(System.currentTimeMillis()+"");

    o.setUserId(dto.getUserId());

    o.setAmount(dto.getAmount());

    o.setStatus(0);

    orderMapper.insert(o);

    dto.getItems().forEach(i->{

        OrderItem item=new OrderItem();

        item.setOrderId(o.getId());

        item.setProductId(i.getProductId());

        item.setQuantity(i.getQuantity());

        orderItemMapper.insert(item);

        decreaseStock(i.getProductId(),i.getQuantity());

    });

    walletService.freeze(dto.getUserId(),dto.getAmount());

    return R.ok(o.getOrderNo());

}

// 3. 钱包支付与解冻

@Transactional

public void pay(Long userId,String orderNo){

    Order o=orderMapper.selectByOrderNo(orderNo);

    if(o.getStatus()!=0){

        throw new BizException("状态异常");

    }

    Wallet w=walletMapper.selectByUserId(userId);

    if(w.getBalance().compareTo(o.getAmount())<0){

        throw new BizException("余额不足");

    }

    walletMapper.updateBalance(userId,w.getBalance().subtract(o.getAmount()));

    walletMapper.clearFreeze(userId,o.getAmount());

    o.setStatus(1);

    o.setPayTime(LocalDateTime.now());

    orderMapper.updateById(o);

}

基于spring boot的洛川县苹果销售管理平台文档展示文档展示

文档.png

💖💖作者:计算机毕业设计小途
💙💙个人简介:曾长期从事计算机专业培训教学,本人也热爱上课教学,语言擅长Java、微信小程序、Python、Golang、安卓Android等,开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。平常喜欢分享一些自己开发中遇到的问题的解决办法,也喜欢交流技术,大家有技术代码这一块的问题可以问我!
💛💛想说的话:感谢大家的关注与支持!
💜💜
网站实战项目
安卓/小程序实战项目
大数据实战项目
深度学习实战项目

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容