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

这段代码展示了如何使用缓存来管理合作对象的生效时间。当合作对象更改时,其生效时间被设置为下个月,通过Redis缓存进行存储和检查。如果生效时间不等于当前月份,则恢复原来的import_partner_employee_id。该过程涉及到时间日期的处理和数据一致性维护。
摘要由CSDN通过智能技术生成

第一种:可以利用缓存,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());

更多请见:http://www.mark-to-win.com/tutorial/51262.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值