回退优惠券|学习笔记

简介: 快速学习回退优惠券

开发者学堂课程【RocketMQ 知识精讲与项目实战(第二阶段)回退优惠券】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/703/detail/12430


回退优惠券

分析思路

优惠卷状态回退本质上做更新的状态将 coupon 数据的 order_idis_usedused_time 进行修改没有添加新的数据只是将状态进行修改所以在优惠卷的密动性上进行简单的处理即使有重复消息对业务并不会产生影响

image.png

@Slf4j

@Autowired

private TradeCouponMapper couponMapper;

@Override

public void onMessage (MessageExt message) {

try{

//1. 解析消息内容

String body = new String(message. getBody(),charsetName: "UTF-8");

转换成对象mqEntity拿到实体类的对象

MQEntity mqEntity = JSON. parseObject(body, MQEntity.class);

Log. info("接收到消息");

//2.查询优惠卷信息根据优惠卷的id查询出优惠卷的数据

TradeCoupon coupon = couponMapper.

selectByPrimaryKey(mqEntity. getCouponId());

//3.更改优惠卷状态

coupon.setUsedTime(null);

coupon.setIsUsed(ShopCode.ShopCode.SHOP_COUPON_ UNUSED.getcode());未使用

coupon. setOrderId(null);

couponMapper . updateByPrimaryKey( coupon);

Log . info("回退优惠券成功");

}catch (UnsupportedEncodingException e) {

е. printStackTrace();

Log. error("回退优惠卷失败");

}

}

}

相关文章
|
12月前
|
程序员 C# 数据库
C# 比较对象新思路,利用反射技术打造更灵活的比较工具
中途接手的项目,碰到需要在更新对象信息时比较并记录差异的需求,最变态的还有附加要求,怎么办?有没有既能满足需求又能对项目影响最小的方法呢?分享这个我封装的方法,一个利用反射技术打造的更灵活的比较工具
203 5
|
机器学习/深度学习 存储 大数据
云计算与大数据技术的融合应用
云计算与大数据技术的融合应用
|
Kubernetes 测试技术 数据库
详解微服务应用灰度发布最佳实践
相对于传统软件研发,微服务架构下典型的需求交付最大的区别在于有了能够小范围真实验证的机制,且交付单位较小,风险可控,灰度发布可以弥补线下测试的不足。本文从 DevOps 视角概述灰度发布实践,介绍如何将灰度发布与 DevOps 工作融合,快来了解吧~
33391 19
|
监控 项目管理
精益求精:ERP系统的项目管理与团队协作
精益求精:ERP系统的项目管理与团队协作
619 0
|
域名解析 网络协议 安全
【域名解析DNS专栏】DNS-over-TLS与DNS-over-HTTPS:安全升级新标准
【5月更文挑战第26天】随着网络技术的发展,DNS协议面临安全挑战,DNS-over-TLS (DoT) 和 DNS-over-HTTPS (DoH) 作为解决方案出现,旨在通过加密增强隐私和安全。DoT使用TLS封装DNS查询,防止流量被窥探或篡改;DoH则利用HTTPS隐藏DNS查询。实施DoT需在客户端和服务器间建立TLS连接,DoH需DNS服务器支持HTTPS接口。这两种技术为网络安全提供支持,未来有望更广泛部署,提升网络环境的安全性。
1784 0
|
编解码 监控
日志服务(原SLS)新功能发布(10)--Logtail配置支持日志转换、过滤
对于日志收集的客户端,其work pipeline通常包括三个过程:Input,Process,Output。 Input 适配各类日志接入源,目前Logtail支持文本文件、Syslog(TCP流式)两种形式数据写入。 Process 自定义日志处理逻辑,常见的有:日志切分、日志编码转换、
7225 0
|
Java Maven
解决maven打jar包报错 source 1.3 中不支持
问题:maven在进行打包时,报 '请使用-source 5 或者更高版本以启用XX'的信息并导致打包失败。 原因:maven默认的编译插件的java版本较低,导致其不支持例如泛型,注解等用法。
1362 0