|
@@ -1347,7 +1347,8 @@ public class CompanyServiceImpl implements ICompanyService
|
|
|
|
|
|
|
|
// 记录余额变更日志
|
|
// 记录余额变更日志
|
|
|
String remark = "同步公司余额,差额: " + amount+"(正数为增加,负数为扣减)";
|
|
String remark = "同步公司余额,差额: " + amount+"(正数为增加,负数为扣减)";
|
|
|
- asyncRecordBalanceLog(company.getCompanyId(),amount,17,redisMoney,remark);
|
|
|
|
|
|
|
+ // 实际不发生交易只是从缓存同步金额到数据库中 交易金额登记为0,备注清楚同步的金额
|
|
|
|
|
+ asyncRecordBalanceLog(company.getCompanyId(),new BigDecimal(0),17,redisMoney,remark);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
return null;
|
|
return null;
|
|
@@ -1444,5 +1445,38 @@ public class CompanyServiceImpl implements ICompanyService
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * @Description: 每天晚上0点定时获取获取公司余额,记录到数据库中
|
|
|
|
|
+ * @Param:
|
|
|
|
|
+ * @Return:
|
|
|
|
|
+ * @Author xgb
|
|
|
|
|
+ * @Date 2025/11/4 10:51
|
|
|
|
|
+ */
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public void recordRedPacketBalance() {
|
|
|
|
|
+ Company query = new Company();
|
|
|
|
|
+ query.setIsDel(0);
|
|
|
|
|
+ // 查询公司列表 同步公司余额
|
|
|
|
|
+ List<Company> companyList = companyMapper.selectCompanyList(query);
|
|
|
|
|
+ Optional.ofNullable(companyList).ifPresent(list -> list.forEach(company -> {
|
|
|
|
|
+ transactionTemplate.execute(status -> {
|
|
|
|
|
+ String moneyStr = redisCache.getCacheObject(FsConstants.COMPANY_MONEY_KEY + company.getCompanyId());
|
|
|
|
|
+ if (StringUtils.isNotEmpty(moneyStr)) {
|
|
|
|
|
+ // 存到缓存中,有效期25小时
|
|
|
|
|
+ redisCache.setCacheObject(FsConstants.COMPANY_MONEY_DATE_KEY + company.getCompanyId()+":"+DateUtils.getDate(), moneyStr, 25, TimeUnit.HOURS);
|
|
|
|
|
+ // 实际不发生交易只是从缓存获取当天余额报错25小时 交易金额登记为0,备注清楚同步的金额
|
|
|
|
|
+ String remark = "同步公司余额,金额: " + moneyStr;
|
|
|
|
|
+ BigDecimal money = new BigDecimal(moneyStr);
|
|
|
|
|
+ asyncRecordBalanceLog(company.getCompanyId(),new BigDecimal(0),18,money,remark);
|
|
|
|
|
+ }
|
|
|
|
|
+ return null;
|
|
|
|
|
+ });
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ }));
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
|
|
|
}
|
|
}
|