tengyufan
|
336cc3d88b
|
feat: 新增TRS合约日终Kafka推送
- 在日终任务的逐日循环中,于当日收盘、风险监控和日终文件生成完成后,
按 valueDate 推送一条 TRS 合约全量快照;区间收盘逐日推送,空日推送空快照。
- 基于 eod_swap、trade、eod_swap_position、swap_position 组装合约字段,
Kafka Key 使用 yyyy-MM-dd 格式的 valueDate。
- 新增带 Key 的 Kafka 发送重载;保留原有无 Key 发送及其吞异常行为,避免影响既有调用。
- 推送失败最多尝试 3 次;最终失败记录 Error 日志,并按 eod_swap.id 写入 push_status,
空快照失败使用 record_id=0。
- 增加 ContractTopic 配置,默认及各部署环境使用 onederiv.trs.contract.v1。
- 增加定向单测,覆盖空快照、区间逐日推送、重试成功、三次失败和字段映射。
|
2026-08-25 16:07:21 +08:00 |
|
张名锐
|
147bcf4bf7
|
Merge branch 'glms/feature/0828_EQD-7084' into 'glms/feature/1.4.2'
feat(eodswapposition): 新增框架合约新口径展示功能
See merge request otc-dev/zszq-trs!14
|
2026-08-25 07:40:56 +00:00 |
|
张名锐
|
76a491a388
|
Merge branch 'glms/feature/0812_zmr_divPower' into 'glms/feature/1.4.2'
refactor(swap): 统一债券价格处理逻辑
See merge request otc-dev/zszq-trs!13
|
2026-08-25 07:39:53 +00:00 |
|
张名锐
|
f7766fb723
|
fix(dividend): 公司行为优化
- 债券付息查询/BondPayment/BondPaymentList这个界面 不再查询公司行为除权表
- 公司行为事件的说明 格式化一下变为:调整前:名义本金:XXXX 期初标的价格:XXXX 持仓数量:XXXX
调整后:名义本金:XXXX 期初标的价格:XXXX 持仓数量:XXXX
- 报错信息修改:当某个标的的除权除息数据仍有交易引用时
则修改标的公司行为数据时则提示“不可修改,有交易【交易编号】使用了该条除权除息数据”。
|
2026-08-25 15:39:01 +08:00 |
|
马冰冰
|
670ff1e012
|
feature: 结算报告单中字段取值
|
2026-08-25 14:45:15 +08:00 |
|
张名锐
|
7d0eb16f64
|
feat(eodswapposition): 新增框架合约新口径展示功能
- 在EodPnlCalculator中添加CalculateEodSwapRiskNewFields方法,实现新口径计算逻辑
- 创建EodSwapRiskNewFields和EodSwapRiskNewResponse模型类,支持新的展示字段
- 实现SearchEodSwapNewList查询方法,复用旧查询权限控制并计算新字段
- 添加index=3的新框架合约Tab页面,使用独立查询接口和列配置
- 前端JavaScript中实现colModelGridEodSwapNew列模型,替换旧字段并新增9个字段
- 完善导出功能支持新Tab的标准格式导出,保持与旧口径分离
- 更新测试用例验证新框架合约前端接线正确性
|
2026-08-25 13:49:30 +08:00 |
|
马冰冰
|
8379f3fc2c
|
feature: 为结算通知书中的附件增加字段
|
2026-08-25 11:20:25 +08:00 |
|
hjhan
|
7fff6e8236
|
fix(swap-eod): 用 MarginModes.ForLinq 替换 EF LINQ 中的 MarginModes.Contains
swap_position 的 EF 查询在 Where 里使用 MarginModes.Contains(x.InterestMode),
该静态方法无法被 EF Core 翻译成 SQL,导致有数据时抛 Translation failed。
改用 MarginModes.ForLinq(List<int> 形态)即可翻译为 IN (...)。
内存集合(details/interests 已 ToList)不受影响,无需改动。
|
2026-08-25 11:09:13 +08:00 |
|
张名锐
|
695d78810f
|
refactor(dividend): 优化分红业务逻辑和注释说明
- 更新除权参考价计算公式中的收盘价描述为登记日收盘价
- 优化Swap模块中公司行为处理的日志注释
- 区分除权日和登记日的信息处理流程
- 优化持仓基线重置和公司行为事件记录的注释说明
- 完善现金分红和配股处理的相关注释
- 优化实时持仓切换和事件匹配的逻辑注释
|
2026-08-25 10:15:51 +08:00 |
|
张名锐
|
ae8156020e
|
refactor(swap): 统一债券价格处理逻辑
- 将债券价格处理逻辑从依赖 StructureType 改为基于 IsBond 判断
- 移除 SetPosiPrice 方法中的 useBondPriceScale 参数
- 更新收入互换交易中的 multiplier 计算方式
- 调整平仓交易中 isBondTRS 的判断条件
- 同步修改相关注释说明
|
2026-08-25 09:57:23 +08:00 |
|
锦麟 王
|
d43e77ee6f
|
#EQD-6948 国联民生-实现保证金规则(2)追保金额的产生与收盘计算 ETF 子类分档(转债ETF/科创债ETF)
|
2026-08-24 18:23:26 +08:00 |
|
锦麟 王
|
13e13fa9a3
|
Merge remote-tracking branch 'origin/glms/feature/1.4.2' into glms/feature/1.4.2-margin
|
2026-08-24 17:22:44 +08:00 |
|
锦麟 王
|
8a0659312b
|
BugFix 特批路径没法走通
|
2026-08-24 17:21:21 +08:00 |
|
锦麟 王
|
c35befbe8f
|
#EQD-6948 国联民生-实现保证金规则(2)追保金额的产生与收盘计算 收盘计算和授信占用
|
2026-08-24 16:34:18 +08:00 |
|
hjhan
|
610279c3aa
|
chore(cleanup): 清理编译器已证明的死代码残留(CS0219/CS0162/CS0169)
- SwapEodPositionService: 删除衡泰推送残留的swapInsertEnum/swapPosiEnum赋值及fposition判空赋值块,赋值后从未读取(CS0219×2)
- TradeConfirmService: if(addlog)分支仅剩三个同源死赋值(原衡泰推送调用已删),删赋值并将if/else翻转为if(!addlog),保留原else的Task.Run实时持仓刷新(CS0219×3)
- QuotaMonitorService.checkTrade: 唯一存活case互换价格偏离比例恒return,删除switch后不可达收尾段(CS0162);删除从未使用的posiVal与重复的currentValue=null赋值
- YLErpWebApiHelper: 删除从未赋值/读取的私有字段baseUrl(CS0169)
UnderlyingDbDataSource.DataSourceUpdated(CS0067)为IDataSourceEvent接口契约成员且DataCacheManager经接口订阅,不属死代码,保留不动。全量重编YLErpDAL通过,0警告0错误。
|
2026-08-24 13:55:16 +08:00 |
|
锦麟 王
|
8648b62af9
|
Merge remote-tracking branch 'origin/glms/feature/1.4.2' into glms/feature/1.4.2-margin
|
2026-08-24 09:40:03 +08:00 |
|
hjhan
|
7ac219ad0f
|
chore(swap): 删除确认书/结算报告厂商定制死分支——国联专属分支Company恒定,24个厂商确认书编号生成器+批量开关收敛国联直调(瑞达/海通/格林大华批量方法连带),结算报告模板与HasExtendVol同款收敛;保留WCZD公开方法(插件接口ITradeDocGeneratorContext成员,防外部DLL ABI);顺手修正GenerateGuolianContractNo存量错注释(国贸→国联)。-1214行,Release/Debug/UnitTestProject构建0错误
|
2026-08-22 08:11:43 +08:00 |
|
hjhan
|
e90f2d9fc2
|
chore(swap): 删除dbf旧导入死簇与HTStatus死字段——SwapFlowImportService整条zip/dbf链+TradeBase.HTStatus
ImportSwapTradesFromZip标记[Obsolete]且全仓零调用,其私有依赖链GetDbfFiles→GetDbfDatas→GetSwapFlowData_SZ/_SH→ConvertDateTime仅被它触达,连同DotNetDBF/SharpZipLib两个using一并删除;Excel导入路径(ImportSwapTradesFromExcel)不受影响。TradeBase.HTStatus全仓无读无写,属性删除后EF不再映射该列(数据库列残留留给DBA评估)。
dotnet build 0错误
|
2026-08-22 07:38:08 +08:00 |
|
hjhan
|
e936a2f853
|
chore(swap): 删除衡泰死配置链与DataCompare孤儿Dto——OtcAppConfigHelper整个文件+HedgingSource/HTUpdate配置字段+DataCompare/Dto四件套
死链全貌:appconfig的"对冲交易数据源/接衡泰修改回执"两键→OtcAppConfig两属性→AppHelper启动复制→OtcAppConfigHelper两静态属性→全仓零读取方。OtcAppConfigHelper除这两属性外无其他成员,整文件删除;配置经JsonHelper.Deserialize加载,存量JSON多余键自动忽略,无需动线上配置。DataCompare模块仅剩Dto无服务无Controller,HengTaiLiquidationTime全仓无写入点。
保留:Configcolumn.衡泰对账列名常量(可能被DB列配置引用)。dotnet build 0错误
|
2026-08-22 07:36:48 +08:00 |
|
hjhan
|
5035854ca1
|
chore(swap): 删除衡泰旧直连方案孤儿DTO——HengTaiModel下22个零引用报文模型+3处无用using
排查背景:UnderlyingEntryFullPriceLeg头注提及"GetUnwindInterestsByHT已随死链清理移除",全仓核实其配套报文模型(SwapTradeReq/SwapPosiReq/ReqQryIRSDbReq等)自拷贝入库起即无任何调用点,属"查询衡泰数据库"旧直连方案残留。存活的风控DTO(ClientRiskCheckReq/Resp)保留,KafkaTask/riskController/QuotaMonitorService的活using不动。
验证:逐类名grep全仓外部引用=0;dotnet build 0错误(编译通过同时证明所删3处using确无类型引用)
|
2026-08-22 07:35:41 +08:00 |
|
张名锐
|
fa63d4ee69
|
Merge branch 'refs/heads/glms/feature/1.4.2' into glms/feature/0812_zmr_divPower
|
2026-08-21 17:09:15 +08:00 |
|
张名锐
|
392e36a820
|
feat(bond): 添加公司行为现金分红标识并优化付息计算逻辑
- 在 BondPayment 模型中添加 IsCorporateActionCashDividend 属性用于区分不同数据来源
- 修改 BondPaymentService 中的 CalcPayment 方法,按每条记录来源分别处理金额单位转换
- 更新单元测试以验证混合债券付息和公司行为分红的正确计算
- 移除不再需要的 useBondPriceScale 参数简化方法接口
- 修正注释说明以反映新的按记录类型分别计算的逻辑
|
2026-08-21 16:51:55 +08:00 |
|
lisong
|
120f443aae
|
Merge remote-tracking branch 'dest/glms/feature/1.4.2' into test
|
2026-08-21 16:00:48 +08:00 |
|
tengyufan
|
3f0984800a
|
feat: 收益互换开平仓及收益结算接入OA移动审批
#EQD-6425 国联民生-衍生品系统移动审批(提交OA流程)
- 审批节点支持配置“关联OA移动审批”
- 创建OA流程并记录请求、requestId、状态及异常备注
- 支持OA轮询同步审批通过、退回和归档状态
- 本地通过、拒绝、撤回时同步强制归档未结束OA流程
- 增加审批列表OA备注展示及本地Mock联调接口
- 新增OA审批记录表和数据库升级脚本
- OA移动审批使用独立查询地址及isnextflow配置,不影响交易确认书OA
|
2026-08-21 15:54:54 +08:00 |
|
苏睿
|
6c547a0d13
|
!27 增加vega(1bp)希腊值
Merge pull request !27 from feature/p132_155-yf-vega-1bp
|
2026-08-21 07:40:04 +00:00 |
|
马冰冰
|
38e0a7795f
|
Merge branch 'glms/feature/1.4.2-M819' into glms/feature/1.4.2
|
2026-08-21 14:19:40 +08:00 |
|
马冰冰
|
f16634534c
|
feature:#EQD-7093 国联民生-交易确认书校验(2)针对ETF标的获取新增信息并且支持配置分类。 ETF交易确认书中填充参考标的证券全称、参考标的基金管理人,
|
2026-08-21 14:16:05 +08:00 |
|
张名锐
|
02da9d78a3
|
refactor(EodModule): 移除债券支付服务中对公司行为同步镜像的依赖
- 不再依赖 bond-sync 镜像,Stock/Fund 公司行为直接作为展示行返回
- 展示金额按"每 10 份派现金额"换算为 GiveCashAmount / 10
- 添加公司行为除权表数据查询逻辑,与现有查询结果合并
- 简化债券支付服务中公司行为处理逻辑,移除去重机制
- 更新现金分红处理逻辑,统一通过 CalcBondPayment 读取 ex_dividend_info
- 移除不再需要的 channel_source 和 jsid 字段设置
|
2026-08-21 13:50:31 +08:00 |
|
锦麟 王
|
7b1f69a410
|
#EQD-6948 国联民生-实现保证金规则(2)追保金额的产生与收盘计算 授信和现金tag
|
2026-08-21 10:33:29 +08:00 |
|
张名锐
|
8efb468c56
|
Merge branch 'glms/feature/1.4.2' into glms/feature/0812_zmr_divPower
|
2026-08-21 09:50:12 +08:00 |
|
hjhan
|
0567955434
|
fix(swap): EQD-5320 批量发送确认书改走C#服务端代理——原前端直连/trs_hub_api反向代理在未配nginx的环境404(UAT实测),与计算器(SendConfirmEamil同款BondOmsInterface_BaseUrl服务端出口)通路不一致;新增SwapEndConfirmService.BatchSendSettleEmail(POST代理bond-oms batchSend,契约DTO+成败日志)与SwapTrade2Controller.BatchSendSettleEmail(逗号id串防呆解析);前端改调同源/swaptrade2端点保留error兜底;232/232前端测试通过
|
2026-08-21 09:40:01 +08:00 |
|
hjhan
|
00ae047e01
|
docs(swap): EQD-5320 EmailTemplateService补设计守卫注释——占位符朴素替换/不做HTML转义均为有意决策,与bond-oms Java SwapEmailHandler同构,勿单边升级模板引擎或加转义,新占位符两侧同步
|
2026-08-21 09:24:23 +08:00 |
|
hjhan
|
640c78b5a9
|
refactor(swap): EQD-6977 trace可读性第二批:①②与p{id}语义化——承接①→已并复利本金(capitalized)、②→段内已计利息(carryIn),日志/类头注/方法注/测试断言四处同步,运维凭日志即知两承接量含义;SwapDealService×12+SwapEodPositionService×1的p{position.id}统一改融资腿{position.id}(FIX GetFloatRate/Resolve/Segments/EodCloseRefix全系列);测试断言同步更新(此前漏查到一处trace断言已一并改);27/27罚息单测通过,Swap全套644例中仅2例DB依赖失败(干净树复验为既有环境问题)
|
2026-08-21 08:54:47 +08:00 |
|
hjhan
|
9d68e56797
|
refactor(swap): EQD-6977 罚息trace腿标识p{id}改为融资腿{id}——原缩写p可读性差(用户反馈),全文件9处统一升级;无测试断言/外部消费依赖该字符串,27个罚息单测全过
|
2026-08-21 08:41:51 +08:00 |
|
hjhan
|
771bd6798b
|
feat(swap): EQD-6977 罚息承接①三分支补全程推导trace——段中平仓+有快照主路径此前零留痕(用户反馈定位难),现打出快照日期/TdInterestPrincipal/share/平仓本金/原始差/钳0结果,原始差为负额外提示疑口径不一致;重置日+有快照补InterestIncomeSum×share推导;无快照兜底补事件基数-平仓本金推导;①异常凭单行日志即可区分快照基数/份额/平仓本金三因;27个罚息单测全过
|
2026-08-21 08:38:42 +08:00 |
|
hjhan
|
7209ffc16b
|
Merge branch 'glms/feature/1.4.2' of http://git.yiliantech.com/gitlab/otc-dev/zszq-trs into glms/feature/1.4.2
|
2026-08-21 08:07:39 +08:00 |
|
hjhan
|
6e76f1c10d
|
fix(swap): EQD-6977 无preEod兜底①=0且账龄超重置周期补退化告警trace——interestWindowEmpty(当日已结息)早退不重放覆盖种子值时①静默0(重置日分支本有同类告警,段中分支漏)复利每周期并本理应①>0;trace含事件基数/平仓本金两侧对比值+账龄天数+重置周期+疑似成因指向(interestWindowEmpty种子未重放/日终归档缺失)足够事后定位根因;承接块抽为ResolveCompoundCarry私有纯方法(Merge瘦身,三分支数据契约注释随行,行为零变化);TDD先行3例trace钉子:退化必告警(先红)/兜底>0不告警/真首日不告警;罚息域27例+GetInterests入口语义9例全绿
|
2026-08-21 07:10:04 +08:00 |
|
张名锐
|
a44960d31e
|
fix(swap): 修复股票基金类互换合约平仓时公司行为处理逻辑
- 优化 FindFundCorporateActions 方法,明确查询范围为严格大于 eodDate 的开区间,并添加日志记录
- 重命名 TryRestoreEffectiveFundPosition 为 TryRestorePositionFromEod 和 TryRestoreAndValidateUnwindData
- 完善 EOD 数据完整性验证,检查持仓数量和价格的有效性
- 添加详细的公司行为查询和应用过程日志记录
- 优化异常信息,包含更多上下文信息如生效日和记录ID
- 更新方法调用引用以使用新的方法名称
|
2026-08-20 18:22:17 +08:00 |
|
hjhan
|
a5a78eab10
|
feat(swap): EQD-5320 结算确认书邮件链路补定位日志——资金提示/结清确认/生成三条链路此前几乎无日志且存在静默失败:①SendConfirmEamil查不到合同原return空串(前端当已发送)改Error日志+明确返回发送失败原因;②CheckConfirmDoc/CheckSettlementDoc抛错前补打库内trade_contract_r行状态(无行=从未生成/IsValid=false=重生成作废/doc缺失);③DealNoDmaEmail与生成服务两处客户+日期扩张查询补Info日志对齐勾选vs实际处理;④GetFileName物理文件缺失原静默null改Error;⑤生成器未生成交易确认书报错补事件id/客户/平仓日便于关联扩张日志;IYcLogger无Warn统一用Error
|
2026-08-20 18:14:40 +08:00 |
|
张名锐
|
039415d44c
|
fix(swap): 修复股票基金类互换合约平仓时公司行为处理逻辑
- 优化 FindFundCorporateActions 方法,明确查询范围为严格大于 eodDate 的开区间,并添加日志记录
- 重命名 TryRestoreEffectiveFundPosition
|
2026-08-20 17:31:02 +08:00 |
|
张名锐
|
f33647c5be
|
fix: 合并后启动修复
|
2026-08-20 16:38:11 +08:00 |
|
hjhan
|
828dc237ab
|
fix(swap): EQD-6977 trace利率来源标签纠偏——固定腿不取价时不再误标定盘取价(UAT tradeId=2450反馈)
|
2026-08-20 16:21:46 +08:00 |
|
张名锐
|
582cb2c7c5
|
Merge branch 'glms/feature/1.4.2' into glms/feature/0812_zmr_divPower
# Conflicts:
# YLErpDAL/Modules/EodModule/BondPaymentService.cs
# YLErpDAL/Modules/SwapModule/SwapDealService.cs
|
2026-08-20 16:21:13 +08:00 |
|
张名锐
|
ff7e540084
|
refactor(swap): 优化基金公司行为处理逻辑 - finished001
- 修改 FindFundCorporateActions 方法以支持查询跨日期范围的公司行为记录
- 实现按生效日期和ID顺序稳定排序的多条公司行为记录处理
- 更新平仓时基金基线恢复逻辑以正确处理跨多个生效日的场景
- 在测试类中重写 FindFundCorporateActions 方法以支持单元测试验证
- 添加完整的跨非交易日公司行为恢复功能测试用例
|
2026-08-20 16:10:56 +08:00 |
|
hjhan
|
286a834aa5
|
fix(swap): EQD-6977 无日终快照时承接①兜底取事件基数——复利重放把 normalEvent.InterestPrincipal 写为末次并本金后基数(=被平份额本金+①),同为实际值;UAT实测(无快照+已有8/19重置)原①=0少算≈3.17元已消除;重置日+无快照退化场景补告警trace;新增兜底路径恒等式测试(23/23)
|
2026-08-20 16:09:43 +08:00 |
|
hjhan
|
5552402a7c
|
feat(swap): EQD-6977 罚息开关簿记默认值管道——TradeExtendJson.IsPenaltyInterest(存量缺省false零回填) + InitUnwind 平仓页带出簿记值 + GetUnwindInterestList 参数透传
|
2026-08-20 15:53:11 +08:00 |
|
hjhan
|
d6646f9c90
|
fix(swap): EQD-6977 重置日当天平仓承接①修正——快照基数还是上一段的,须改取 InterestIncomeSum(昨日全部待实现于今日并入);新增边界矩阵测试:重置日当天(算尾/不算尾)/重置日前一日/到期日=重置日/锚点偏离(延期腿)/起息日当天,恒等式 22/22 全绿
|
2026-08-20 15:46:57 +08:00 |
|
hjhan
|
ffffe842c6
|
fix(swap): EQD-6977 罚息精确续接落地——承接量改用实际计息状态(preEod基数+事件实结,弃冻结重放)、锚点统一PosiStartDate、罚息并入既有利息流InterestFee(去独立事件/去is_penalty_interest列及DDL/回退closeList与EOD两处守护)、接缝加eventType==平仓守卫、trace逐腿全程落盘、新增多区间不同定盘恒等式测试(旧冻结重放实现必挂)
|
2026-08-20 15:11:33 +08:00 |
|
锦麟 王
|
febd0ce02e
|
#EQD-6947 国联民生-保证金计算整体改造-实现第一版盯市规则(不支持同一客户多部门)(1)保证金规则的设置 阶段3
|
2026-08-20 14:20:29 +08:00 |
|
尹峰
|
5ee510aa35
|
增加vega(1bp)希腊值
|
2026-08-20 14:15:12 +08:00 |
|