“再来一单“业务功能开发

文章目录

概要

再来一单”功能常见于餐饮、零售、外卖等行业,主要目的是为了简化用户的重复购买流程,提高用户体验和效率。

需求分析以及接口设计

  • 再来一单就是将原订单中的商品重新加入到购物车中,所以本质上是"增"的操作,则用post请求
  • 前端将订单id提交过来
  • 后端返回一个成功的信号即可

技术细节

1.Controller层:

按照接口设计来编写

@PostMapping("/repetition/{id}")
    @ApiOperation("再来一单")
    public Result againSubmit(@PathVariable Long id){
        log.info("再来一单,id为:{}", id);
        orderService.againSubmit(id);
        return Result.success();
    }

2.Service层:

  • 利用订单id将订单明细查出来
  • 将订单明细对象转换成购物车,方便插入购物车表
  • 插入购物车表
public void againSubmit(Long id) {
        //再来一单就是将原订单中的商品重新加入到购物车中
        Long userId = BaseContext.getCurrentId();
        //根据订单id查询到这个订单明细
        List<OrderDetail> orderDetails = orderDetailMapper.selectByOrderId(id);
        // 将订单详情对象转换为购物车对象
        List<ShoppingCart> shoppingCartList = orderDetails.stream().map(x -> {
            ShoppingCart shoppingCart = new ShoppingCart();

            // 将原订单详情里面的菜品信息重新复制到购物车对象中
            BeanUtils.copyProperties(x, shoppingCart, "id");//id是忽略填充
            shoppingCart.setUserId(userId);
            shoppingCart.setCreateTime(LocalDateTime.now());

            return shoppingCart;
        }).collect(Collectors.toList());
        //将数据插入至购物车表
        shoppingCartMapper.insertBatch(shoppingCartList);
    }

3.Mapper层

<insert id="insertBatch">
        insert into `sky-take-out`.shopping_cart (id, name, image, user_id, dish_id, setmeal_id, dish_flavor, number, amount, create_time) VALUES
        <foreach collection="shoppingCartList" item="shoppingCart" separator=",">
            (#{shoppingCart.id},#{shoppingCart.name},#{shoppingCart.image},#{shoppingCart.userId},#{shoppingCart.dishId},#{shoppingCart.setmealId},#{shoppingCart.dishFlavor},#{shoppingCart.number},#{shoppingCart.amount},#{shoppingCart.createTime})
        </foreach>
    </insert>

效果展示

 

说明代码没有问题

  • 12
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
sce业务功能开发详解.rar是一个压缩文件,文件大小为3.64MB。这个压缩文件主要是用来存放和传输sce业务功能开发的相关内容。SCE是Supply Chain Execution的缩写,代表供应链执行。供应链执行涵盖了供应链中各个环节的物流、仓储、配送等活动,通过优化供应链执行过程,提高效率、降低成本、提升客户满意度。 在这个压缩文件中,可能包括了sce业务功能开发的文档、源代码、测试数据等内容。这些内容可以帮助开发人员了解、实现和测试sce业务功能。 sce业务功能开发的详解将涵盖各个方面,包括需求分析、设计、编码、测试等环节。在需求分析阶段,开发人员将与用户和相关利益相关者沟通,详细了解他们的需求和期望。在设计阶段,开发人员将根据需求分析的结果,设计出合适的系统架构和模块划分。在编码阶段,开发人员将根据设计文档,使用适当的编程语言和工具,编写出可执行的代码。在测试阶段,开发人员将对代码进行单元测试和集成测试,确保其正确性和稳定性。 sce业务功能开发的目标是实现供应链执行的各个功能模块,并保证其高效、稳定和可靠。通过sce业务功能开发,可以帮助企业优化供应链执行过程,提高物流配送的效率,降低成本,提升客户满意度。这对于提高企业竞争力和市场份额具有重要意义。 总之,sce业务功能开发详解.rar是一个存放和传输sce业务功能开发相关内容的压缩文件,其中包含了需求分析、设计、编码、测试等各个环节的文档和代码,帮助开发人员实现和优化供应链执行的功能模块。这对于企业提高供应链执行效率和客户满意度具有重要意义。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值