实战:第三章:更新数据只能是下月修改,当月不能修改

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 实战:第三章:更新数据只能是下月修改,当月不能修改

第一种:可以利用缓存,commissionMerchantsBean是传入的参数对象

           //将合作对象更改后,应该在下个月份才生效
            //根据merchants_id查询tst_commission_merchants表获取import_partner_employee_id
            CommissionMerchantsBean merchantsBean = commissionDaoC.getCommissionMerchants(commissionMerchantsBean);
            //获取缓存中的生效时间
            String effectTimeImport = RedisUtils.getKey("effectTimeImport:" + commissionMerchants.getCommission_merchants_id());
            String effectTimeRelation = RedisUtils.getKey("effectTimeRelation:" + commissionMerchants.getCommission_merchants_id());
            if(tst.project.utils.StringUtils.isEmpty(effectTimeImport)){
                //如果为空,设置缓存
                RedisUtils.setKey("effectTimeImport:" + commissionMerchants.getCommission_merchants_id(),String.valueOf(TimeUtils.dateToStr(nextMonthStartTimes,"yyyy-MM")));
            }
            //重新获取
            String effectTimeImport2 = RedisUtils.getKey("effectTimeImport:" + commissionMerchants.getCommission_merchants_id());
      //导入的生效日期不等于当月的则将传入的import_partner_employee_id设置为库中原来的数据
            if(effectTimeImport2.compareTo(TimeUtils.dateToStr(new Date(),"yyyy-MM")) != 0){
                //如果不为空,且缓存中的日期是几个月前的设置下月为生效日期
                RedisUtils.setKey("effectTimeImport:" + commissionMerchants.getCommission_merchants_id(),String.valueOf(TimeUtils.dateToStr(nextMonthStartTimes,"yyyy-MM")));
                //设置导入合作对象员工id为原来的数据
                String importPartnerEmployeeId = merchantsBean.getImport_partner_employee_id();
                commissionMerchantsBean.setImport_partner_employee_id(importPartnerEmployeeId);
            }
            if(tst.project.utils.StringUtils.isEmpty(effectTimeRelation)){
                //如果为空,设置缓存
                RedisUtils.setKey("effectTimeRelation:" + commissionMerchants.getCommission_merchants_id(),String.valueOf(TimeUtils.dateToStr(nextMonthStartTimes,"yyyy-MM")));
            }
            //重新获取
            String effectTimeRelation2 = RedisUtils.getKey("effectTimeRelation:" + commissionMerchants.getCommission_merchants_id());
      //关联的生效日期不等于当月的则将传入的relation_partner_employee_id设置为库中原来的数据
      if(effectTimeRelation2.compareTo(TimeUtils.dateToStr(new Date(),"yyyy-MM")) != 0){
        //如果不为空,且缓存中的日期是几个月前的设置下月为生效日期
                RedisUtils.setKey("effectTimeRelation:" + commissionMerchants.getCommission_merchants_id(),String.valueOf(TimeUtils.dateToStr(nextMonthStartTimes,"yyyy-MM")));
                //设置关联合作对象员工id为原来的数据
                String relationPartnerEmployeeId = merchantsBean.getRelation_partner_employee_id();
                commissionMerchantsBean.setRelation_partner_employee_id(relationPartnerEmployeeId);
            }
            //设置生效时间为下个月
            int num=commissionDaoC.updateCommissionMerchants(commissionMerchantsBean);
            if(num<=0){
                throw new AppException("更新失败!");
            }

第二种:可以利用定时任务

第三种:可以使用信息队列

相关文章
|
IDE Java 编译器
Java The method compareTo(Integer) in the type解决方法
Java编程过程中,Integer对象(或其它继承自Number类的包装类对象)使用Number包装类内置的compareTo()方法来比较调用对象和参数之间的大小的时候,Java的集成开发环境IDE或编译器给出了提示:The method compareTo(Integer) in the type Integer is not applicable for the arguments (Float)
196 5
|
大数据 Linux 数据库
openEuler操作系统介绍
openEuler是一款开源免费的操作系统,由openEuler社区运作,支持多种处理器,适用于数据库、大数据、云计算等场景。它源自华为EulerOS,现分为创新版和LTS版,分别每半年和每两年发布一次。本课程以openEuler 20.03 LTS版为例,介绍其安装流程和环境准备。
1194 3
|
JavaScript
VUE中el-input阻止冒泡防止触发父级事件
VUE中el-input阻止冒泡防止触发父级事件
596 130
|
安全 网络安全 Windows
别人ping不通我的ip解决方法
别人ping不通我的ip解决方法
582 0
|
监控 安全 网络安全
构建安全防线:云计算环境下的网络安全策略
【5月更文挑战第17天】随着企业数字化转型步伐的加快,云计算已成为支撑现代业务架构的关键基石。然而,云服务的广泛应用同时带来了前所未有的安全挑战。本文旨在探讨云计算环境中的网络安全问题,并提出一系列创新的安全策略,以保障数据完整性、确保服务可用性并抵御网络威胁。我们将深入分析云服务模型(IaaS, PaaS, SaaS)与相应的安全考量,探讨加密技术、身份认证、访问控制以及入侵检测等关键技术在云环境中的应用,并讨论如何通过多层次防御策略和持续监控来强化整体安全性。
|
搜索推荐 数据挖掘 UED
产品服务增值功能
产品服务增值功能
298 2
|
前端开发 JavaScript
前端代码分享——星空背景特效(内含源码)
前端代码分享——星空背景特效(内含源码)
|
前端开发 算法 JavaScript
手把手教你制作简易计算器
手把手教你制作简易计算器
249 0
|
XML JSON 编解码
Thrift 介绍
Thrift 介绍
395 0
|
安全 Java 应用服务中间件
别再乱看教程了!从源码剖析JVM类加载机制,打通双亲委派机制!
别再乱看教程了!从源码剖析JVM类加载机制,打通双亲委派机制!
226 0
别再乱看教程了!从源码剖析JVM类加载机制,打通双亲委派机制!

热门文章

最新文章