您的位置:首页 > 财经 > 金融 > 取消订单业务

取消订单业务

2024/12/23 9:40:48 来源:https://blog.csdn.net/Very_a/article/details/140897081  浏览:    关键词:取消订单业务

文章目录

    • 概要
    • 整体架构流程
    • 技术细节
    • 小结

概要

取消订单是电子商务、外卖平台、在线零售等多个行业中常见的业务需求之一。这项功能允许消费者或商家取消已下的订单,通常是因为各种原因(如商品缺货、配送问题、支付问题等)。

需求分析以及接口设计

技术细节

1.Controller层:

@ApiOperation("取消订单")@PutMapping("/cancel")public Result rejection(@RequestBody OrdersCancelDTO ordersCancelDTO){log.info("取消订单,{}",ordersCancelDTO);orderService.cancel(ordersCancelDTO);return Result.success();}

2.Service层:

public void cancel(OrdersCancelDTO ordersCancelDTO) {Orders order = orderMapper.getById(ordersCancelDTO.getId());//获取到支付状态Integer payStatus = order.getPayStatus();if (payStatus == Orders.PAID) {//用户已支付,需要退款(略)}Orders orders = new Orders();orders.setId(orders.getId());orders.setCancelReason(ordersCancelDTO.getCancelReason());orders.setCancelTime(LocalDateTime.now());orderMapper.update(orders);}

3.Mapper层:

<update id="update" parameterType="com.sky.entity.Orders">update orders<set><if test="cancelReason != null and cancelReason!='' ">cancel_reason=#{cancelReason},</if><if test="rejectionReason != null and rejectionReason!='' ">rejection_reason=#{rejectionReason},</if><if test="cancelTime != null">cancel_time=#{cancelTime},</if><if test="payStatus != null">pay_status=#{payStatus},</if><if test="payMethod != null">pay_method=#{payMethod},</if><if test="checkoutTime != null">checkout_time=#{checkoutTime},</if><if test="status != null">status = #{status},</if><if test="deliveryTime != null">delivery_time = #{deliveryTime}</if></set>where id = #{id}</update>

效果展示

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com