Commit Graph
28 Commits
Author SHA1 Message Date
张名锐 d78d1f48e7 fix(swap): 修复互换价格变动时盈亏计算错误
- 在后端计算逻辑中添加 longRatio 参数用于区分多空头寸类型
- 修改前端 JavaScript 代码中的盈亏计算公式,加入 longRatio 参与计算
- 更新单元测试,增加空头头寸价格上涨时亏损的测试用例
- 补充前端测试用例验证空头头寸计算逻辑的准确性
- 修复了空头头寸在价格上涨时显示盈利而非亏损的计算错误
2026-08-07 17:44:04 +08:00
hjhan 8694e6e3f4 债券互换三字段互算:估值日(开始日)缺失报错 + 补提漏交回归用例
- 估值日严格取互换起始日 StartDate,去掉"悄悄回退交易日(TradeDate)":
  真的为空时返回错误提示("请先填写开始日…或手动填写三项数值")并 return,
  不调用计算器、不覆盖手工输入,与需求(按开始日估值)完全一致。
- 抽纯函数 getBondStartDateMissingMsg(StartDate 空→文案/null) + 导出;
  复用 D3 的 shouldShowBondErr 去重,避免空开始日时价格格逐键连刷。
- BondCalcHepler.cs 仅补 XML 注释说明前端已强制 StartDate 必填;
  targetDate 空→代理默认 T+1 行为不变(兜底 RealtimePnlCalc 旧链路)。
- 补提此前漏提交的回归用例:bondCalc.test.js(×100/÷100 端到端 + 逐字段手动锁定)、
  swapCalc.test.js(D1/D2/D3 + 本次估值日缺失守卫)。
- jest bondCalc+swapCalc 全绿(68 passed)。
2026-07-23 16:49:40 +08:00
hjhan 3cf06c2be7 债券计算器 返回结果后要进行 /100 * 100 处理 适配目前的 这个 /100 * 100,避免 很离谱的 值 2026-07-22 14:00:55 +08:00
hjhan 0aad4c8040 feat(swap): 债券计算器C#契约对齐——targetDate估值日透传·错误处理透传真实原因·链路日志
- BondCalcHepler.BondCalc 新增可选 targetDate(估值日) 参数并写入请求体,透传至代理 zszq-bond-oms 的 targetDate(→bond-calc settlementDate);不传则沿用代理默认 T+1,与 bond-oms-ui 契约一致。

- 新增 out errorMsg 重载:地址未配/无响应/success=false/业务错误码 errCode!=0/异常 均返回 null 并透出真实中文原因;日志级别由 Info 升为 Error,try/catch 包裹。

- BondController.CalcBond 把 errorMsg 透传给 JsonError,不再硬编码"计算价格失败"。

- BondCalcByDate(自动结算路径) 同步加 errCode/空守卫,避免回写坏数据。
2026-07-22 11:35:41 +08:00
张名锐 415539704d fix(swap): 修复债券结息价差盈亏计算逻辑
- 将价差盈亏计算从使用CloseNotionalValue改为使用PositionQty和ContractSize
- 更新前端JavaScript代码中的计算公式,按持仓数量和合约乘数计算价差盈亏
- 在UnwindInput模型中添加PositionQty和ContractSize字段
- 修正后台计算服务中的数据映射逻辑
- 添加FC_009测试用例验证债券价差按数量计算的正确性
- 更新现有测试用例的输入参数以匹配新的计算方式
2026-07-17 10:58:31 +08:00
hjhan 0483cd8576 Merge remote-tracking branch 'origin/feature/p132_74-risk-engine' into spike/merge-p132_74-to-1.4.2 2026-07-14 14:48:11 +08:00
锦麟 王 fb59c6180a 支持审批流程中的分支网关和节点触发条件 2026-07-07 15:47:17 +08:00
尹峰 d5cbd45a8a Merge branch 'feature/p132_74-risk-engine' of https://gitee.glmszq.com/gsty/onederiv/trs into feature/p132_74-risk-engine 2026-07-06 18:42:35 +08:00
ruisu dc0cb9ec7b feat:老风控特批使用单独bool量识别,新风控需审批采用新状态RiskWarning,风控流程状态优先级Error>Warning(老风控特批,给前端CODE为ERROR)>RiskWarning>Success(可能带有ShowTIip)。新风控特批时,识别RULEID,不再采用BOOL统一通过 2026-07-06 17:41:13 +08:00
hjhan e4a92c93ee feat(swap): 后端只读校验告警-搬FrontendCalcReference+SwapIncome/SwapUnwind插校验
前端保持快速反馈(用户改输入立即算),后端不替代前端,仅做合理性兜底校验。

1. 搬FrontendCalcReference到YLErpDAL/Helpers(测试与生产共用同一份公式,避免分叉)
   - 从FrontendCalcCharacterizationTest提取,改public,8个FC测试搬迁后全绿验证一致

2. SwapDealService新增ValidateFrontendPnL只读校验:
   - 从unwindData.FlowEvents取浮动腿,PosiGrossPrice==0时跳过(避免误报)
   - 调FrontendCalcReference重算,与前端传值逐字段比对
   - 差异>0.01记Logger.Error(带输入快照便于排查)
   - 整体try/catch吞异常,校验自身错误绝不阻断交易
   - SwapUnwind/SwapIncome各插一处(FindTrade后、ExecuteInTransaction前)

不碰NLog配置(告警进Console,生产由运维采集)。SwapModule 157测试全绿。
2026-07-03 09:04:57 +08:00
hjhan 782e1f6a7a refactor(swap): 债券价格÷100转换收敛到BondPriceConverter统一入口
消除9处价格转换字面量(*0.01m/*100),统一走BondPriceConverter.ToStorage/ToDisplay。
- 新增YLErpDAL/Helpers/BondPriceConverter.cs(含可空重载)
- 批次1(危险字面量): BondPaymentService/RealtimePnlCalc/RealTimeClientBanlanceService/SwapTradeAutoService
- 批次2-4(调用收敛): SwapFlowService/SwapFlowImportService/SwapEndConfirmService/EodPriceProvider/EodPriceQueryService
- RealtimePnlCalc:601/602价格×数量维度交织处加注释,不机械合并

不改bondPriceMultiple常量值,纯调用方式收敛。SwapModule 155测试全绿,行为不变。
2026-07-03 08:22:27 +08:00
hjhan 818619bc70 补充DV01计算工具的注释:明确输出单位为万元及入参单位
Dv01Helper.CalcDv01 与业界标准一致,但输出单位是万元而非元,且
PosiQuantity须为元面值单位。原注释未说明这些口径,易导致误读。
补充:
- 类注释:写明公式等价业界标准DV01(元)/10000,输出万元
- posiQuantity入参:标注须为元面值单位
- vobp入参:标注为每100元面值1bp的价格变动
- 返回值:标注单位为万元
- 券面总额计算行:标注交易数量单位为元面值

仅注释改动,不改逻辑。
2026-06-25 19:15:27 +08:00
吴方海 3520f24253 #EQD-5994 国联民生-【风险管理】TRS合约DV计算统计 2026-06-23 10:48:51 +08:00
hjhan 7cd937518f refactor(auth): 优化JWT令牌创建方法
- 移除CreateJwtToken2方法,统一使用CreateJwtToken方法
- 修改密钥处理方式,从ASCII字符串改为Base64解码
- 删除IssuedAt声明以简化令牌结构
- 更新所有相关调用点使用统一的令牌创建方法
2026-04-27 15:34:12 +08:00
hjhan e606587c0c feat(auth): 添加 JWT 黑名单机制支持
- 在 AuthHelper 中添加 JTI (JWT ID) 生成逻辑
- 为每个 JWT 令牌分配唯一标识符
- 实现 JTI 声明的自动添加功能
- 集成到现有的令牌创建流程中
- 支持后续的令牌黑名单管理需求
2026-03-24 14:59:34 +08:00
hjhan f182b880c1 feat(auth): 实现JWT令牌黑名单机制
- 在退出登录时清除JWT Token Cookie并将其加入黑名单
- 添加JTI声明到JWT令牌用于唯一标识和黑名单管理
- 在中间件中验证令牌时检查黑名单状态并拒绝已注销的令牌
- 实现令牌立即失效功能防止已退出用户继续访问系统
2026-03-23 17:52:15 +08:00
hjhan 276d53f986 feat(security): 添加JWT令牌受众验证和详细日志记录
- 在AuthHelper中为JWT令牌添加Issuer和Audience字段
- 在RefreshTokenMiddleware中添加SecurityTokenValidationException异常处理
- 添加Token audience验证失败的日志记录和错误处理
- 为SwapEodPositionService中的DealInterests方法添加参数验证日志
- 为SaveAutoEodInterestPosition方法添加详细的参数验证和空值检查
- 增强错误日志输出,包括令牌前缀和异常类型信息
2026-03-23 17:32:16 +08:00
嬴政 时 f5c0211b60 继续增加发邮件的日志 2026-03-13 16:33:10 +08:00
嬴政 时 e44726c8e3 增加邮件测试日志. 2026-03-13 15:57:46 +08:00
shangzhongyuan 944c0a0e0d ```
feat(auth): 添加登录Token过期时间和密码错误限制配置

- 在IErpConfig接口中新增LoginTokenExpireSeconds、PasswordErrorLimit和
  PasswordErrorLockMinutes属性
- 在ProjectSettings类中添加对应的配置项和默认值
- 在appconfig.xml中添加相关配置参数
- 修改AuthHelper类使用动态配置的Token过期时间
- 实现密码错误次数限制和账户锁定功能

```
2026-02-06 17:10:58 +08:00
gongpei 5c0d62f749 fix: js 处理空成交收益率 2025-10-15 18:09:23 +08:00
gongpei 1b6c332cf3 fix: 计算器报错提示 2025-10-15 10:17:26 +08:00
gongpei 7be89a8c1d feat: 新增成交收益率字段 2025-10-13 17:13:22 +08:00
嬴政 时 ed352e388b 修复报送功能在linux环境中出现的路径等相关问题. 2025-05-15 14:17:45 +08:00
吴方海 dfa3500ac5 客户导入导出修改 2025-04-24 16:25:17 +08:00
吴方海 712563a455 计算器调用调整 2024-06-06 11:34:37 +08:00
吴方海 acbd2e7678 山证bug修复及功能 迁移 2024-06-04 18:19:49 +08:00
吴方海 f9d8a256a6 从山证v2.3.0拷贝 2024-05-09 14:06:26 +08:00