自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(175)
  • 资源 (6)
  • 收藏
  • 关注

原创 case when

【代码】case when。

2026-04-03 08:59:55 27

原创 rclone 使用

真的,ai取代人还有一定的时间限制的,ai太会随着主观的想法了,提示403一直跟我在这里转了一下午,要不是同事过来说这个是被加密的,我才有的苗头,不然的话真的太难了!!!!ai一定要慎用,可尽信不可全信。

2026-04-03 08:58:51 531

原创 /特殊符号导出

确实不知道为啥,不管怎么样子的交换,不管在哪里去交换,结果都是/转换为_,最后问题处理,我们使用∕(U+2215)来进行替换,这也是没有办法的办法了。首先,文件入库的时候创建一个使用-一个使用/,创建两个,然后上传两个,然后去更新-为/,然后这个方案崩了,因为上传出现了问题。虽然说这个招吧,好用但是呢纯纯是骗,但是呢,也没有办法,它使用/是一个固定搭配,没有办法进行处理,所以说这个地方也是无奈之举。然后,最初的想法就是,直接用/去替换-,然后上传的时候直接上传-,然后下载的时候下来之后,进行替换。

2026-02-26 14:11:55 306

原创 Content type ‘application/json;charset=UTF-8‘ not supported报错处理

charset=UTF-8’ not supported 实话说 这个报错提示就是很抽象,正常来说这个报错提示,就意味着 ajax在调用的时候 因为 content-type 缺少啥东西,但是尴尬的是,前端是一样的,而且更加巧的是,这个后端模块不是我写的,然后我又比了比代码确实是一样的代码,但是提示这个问题,我有点迷茫。前端拿着后端代码开始找到问题喷我,而且看情况,是直接跟的debug找到的,我不知道前端摇了谁去看的,老猛了,真的是猛人,这玩意我都不知道咋跟代码,跟在RequestBody 注解里面的么。

2026-02-26 14:10:57 470

原创 ibatis this.getSqlMapClientTemplate().queryForObject

实话说我是第一次遇到这种东西的,这块写活了,挺有意思的,最开始我想的是改造是,直接迁移,直接写死,但是我发现写死的话确实有风险,但是实际上来说我觉得写死也可以,你说有风险吧也是有的,然后我去找找看看我们现在的mybatis是否可用,别说还真行,mybatis是继承的ibatis ,理论上来说这个确实可行。可以看一下上一篇文章,这是其中的一个点,其实这里是挺细的,这个地方是直接调用的地方,其实这个调用的挺轻巧的具体用法是下面写的。他是将对应的内容写入到了数据库中,然后相同的逻辑传进来的sqlMapId,

2026-01-08 08:39:07 344

原创 老旧系统 导入逻辑处理

本来让我迁移一个系统,然后就是这个迁移的工作就是给我了,然后 我以为老旧系统之中功能中完全没有新增以及修改功能,结果,确实是没有新增和修改功能,但是他们一直使用导入来进行新增以及编辑,但是我找不到对应的逻辑关系,但是尴尬的是老旧系统在Linux上面运行,但是本地使用Windows执行本地跑debug提示jsp报错,文件读取有问题,为了研究这个问题,需要修改具体的代码来可以进行dbug如果我们要一个功能去进行处理研究,可以有两个方法,第一个方法就是正向去找,去调用,第二个方法,就是找到一些后台返回的结果,去倒

2026-01-08 08:38:16 521

原创 导出新方案-poi和easyexcel融合

最近在干一个系统dm改造,其中有一个问题,他的系统里面更新以及新增都是虚假的,听说是上一次数据库改造的时候没有处理这个问题,所以他们的处理数据库都是通过导入完成的,但是尴尬的是本地的是将系统合并到我们集团系统中,但是我们集团系统新的导出都是使用的easyexcel,旧的导出是使用的poi,然后我还看不懂他之前使用的导入,就导致尴尬的问题,旧的系统我看不懂使用,新的系统我们需要将easyexcel和poi合在一起,因为我们是使用poi将使用他们提供的模版,老大了并且很复杂,使用easyexcel的话将文件上传

2025-12-17 20:03:16 370

原创 大数据量导出 优化方案多版 第四版

其实这套方案的意义就是在保障,外面一个线程池,里面多个线程,我们去手动调度,这样的话可以保证,系统不会死,并且更好的提高效率,外面的线程池是为了避免系统太多的性能放在导出上面,里面的多个线程可以提高写入的性能,但是这套逻辑还是有问题的,因为我们的需求就是,会导出多个省份的数据,不同的省份数据量不同,所以说这只是一个demo,还带完善。

2025-07-14 08:44:46 360

原创 大数据量导出 优化方案多版 第三版

上面的第二版的问题,就是导出效率确实非常高,但是面临的问题是,系统性能会被压榨,如果没有更加好的方案的情况下,这个方案很容易在某一次大数据量导出下系统服务宕机。然后开始找第三个方案,首先他要在保证效率的情况下保证服务器不死,首先两个需求其实是冲突的,一个是快,一个服务器不死,我是认为这两个需求,首先是在保证系统不死的情况下,保证速度快。创建一个多线程的线程池,全局性质的线程池,限制核心线程数,只要只有线程的话,那么这个其实就是挺安全的,可以在保证服务器不会因为内存不够的情况下,提高效率。

2025-07-14 08:44:13 248

原创 大数据量导出 优化方案多版 第二版

这是之前那篇文章的第二版,上面第一版面临的问题就是,如果大量的分页,会因为limit和offset的原因导致变得慢,100万的数据,跑了80分钟,然后我们在考虑另外的一个版本,一个性能最高的版本。坏消息是这个样子的话,当大数据量导出的话,系统性能真的不大够,这个第二版的改造很容易给导出的版本返回到最初的版本。但是其中游标查询应该是好好看看,其中我查了好久,游标查询其实要求很高的,他要求你查询的有一个id,不能重复,必须要有一个字段是id,非常麻烦。创建一个future的类,用来线程池多个文件,

2025-07-11 09:06:35 430

原创 大数据量导出 优化方案多版 第一版

这块的代码,把所有的数据查出来,放出来到内存中,然后多次点击就超了,一次内存中大概是储存需要的数据,大概是400万不到,多次点击可能是上千万了,上千万的话内存就不够了,然后我们的想法就是拆呗,分次从数据库中取值,这样的话大大降低内存卡死的几率,可能之前上千万的数据会卡死,点击3次就会卡死,这次我们拆分批次去取数据,每次取10万的数据,这样的话除非很多人多次点击才会出现一样的情况。然后这个也是,原本的代码,而且是这块的代码,是在controller层,不得不吐槽这块的代码规范问题,然后。

2025-07-11 09:05:57 459

原创 事务提交接口 提示只读事务

还是那个项目,提示只读事务,但是不是面对的所有的操作都会提示这个,然后这个我去网上去找也没有一个明确的原因。因为提示这个,然后去网上搜了,确实这个给出的所有的答案都是加上@Transactional(rollbackFor = Exception.class)注解,但是如果是简单的加上注解的话,我也是没有必要在发在这里了,但是目前的情况是,有的接口提示这个,有的接口不提示这个,提示的在插入的地方,我们又开始不得不翻看配置文件,开始读和分析。日常解析xml如果方法以del开头的话,就不需要增加事务注解了

2025-04-10 09:00:17 626

原创 url提交变成了form表单提交

一个历史比较悠久的需求,很久之前的AmsRemark加密,但是因为我们加密之后的这个参数,是一个字符串,包好了字母,数字,和特殊字符,我们是通过url后面增加参数的形式去和后台进行交互的,但是面临一个问题,当特殊字符,通过url和后台进行交互的时候,特殊字符会被转义,而且会有可能出现超长的问题,但是呢,有的接口参数非常的多,而且已经被处理了一些了,所以说如果是把url的参数传递全部变成form提交,也是很多的工作量,所以说该如何处理呢。第一种方案的话,硬解就好了,纯遍历,就是蠢一些,然后拿到了对应的答案。

2025-04-10 08:59:40 345

原创 Bootstrap Table动态修改列标题

目前有一个需求,就是国际公司的汇率计算,有部分的业务,例如是资产部门内转移,部门间转移,国际公司的汇率会使用外币来进行统计,于是就是想通过汇率转换来处理,但是问题是我们不想暴露出来给非国际公司用户使用,前端的处理,将更加灵活的处理这个展示的问题。处理的话,就是首先,后台交换,单据新建的情况的下是直接交换,老的数据是通过sql刷新一遍数据库,这些后台的操作就不在这边描述了,主要是为了前端处理,当然看到了这个’-‘情况是因为,如果没有汇率的情况下要求展示’-',这个就是当某个组织的时候,展示以及隐藏某些内容。

2025-04-08 08:50:44 585

原创 老式项目去O多数据源转换

目前国产项目都是在搞去O,我们也是,说一下我们的项目情况,我们的情况的主要是业务是资金项目,然后在搞erp,我们是erp的下级,项目情况的是,本身业务库是oracle,和erp核心通过dblink来进行交互。我们去O的话,要求把本地库的oracle换成dm数据库,然后和erp核心交互的话还是使用oracle做一个中间机。最简单的方案肯定还是将数据库从oracle换成dm数据库,然后继续使用dblink的方案,虽说老式项目很恶心,但是这个方案是改动量最小,最安全的方案,但是目前就一个问题,中间机要是不给我们用

2025-04-08 08:50:26 1219

原创 dm.jdbc.driver.DMException: 违反表[ACT_RU_EXECUTION]唯一性约束条件[SYS_C0083460]

提示这个报错,dm数据库 activiti 提交流程报错,然后跟着报错,然后我就不知道该去干什么了,我上网上去搜,然后没得办法,又因为是在源码里面的。自己看了一下午,又看了一上午了没得办法,我一直想的是处理数据,然后处理数据被限制了数据外键,数据我都删除不过来。然后开始摇人,大佬来了看了一眼,给了一个sql我也不知道这个是啥sql,然后这个是activiti的初始化的值的,然后大佬说只要是修改了这个值,就没啥问题了,这个sql是干啥呢,我上午找了找,没得改初始值的问题,这个sql是oracle

2025-02-28 10:51:18 1329

原创 自定义注解 加密

介绍一下是什么叫做,水平越权以及垂直越权,水平越权的意思是,以我做的功能举例,例如省的角色,山东省的角色,理论上来说,山东省的角色可以看到整个省的数据,山西省的角色,可以看得到山西省的数据,水平越权的意思,就是说山东省的角色,可以通过直接修改省份id查到山西省的角色能够看的数据。垂直越权的问题,就是说山东济南的角色,地市济南这个角色的用户,可以在资产明细(按月)查询到济南的数据,但是查找不到全省的角色,但是通过修改参数,可以使济南的角色查询到山东省的角色能够看的数据。这是对应的加密的代码块,

2025-02-28 10:49:31 496

原创 activiti5.21 couldn‘t deduct database type from database product name ‘DM DBMS‘

之前的老项目,要求国产化,之前项目的数据库时oracle,要求改成dm,数据迁移之后,启动提示couldn’t deduct database type from database product name ‘DM DBMS’,然后去百度大概是出了几个方案,报错问题处理为啥我要给图p上呢,因为这四套方案我后面都试了,都崩了,然后摇人才处理了。其实最好使,也是双亲委派的想法,加载activiti的数据库驱动的类,后面的方案就是重写源码,这三套方案,都是挺难其实。重写这四个类就可以,所谓的重写,就是直

2025-02-07 09:14:08 2087 1

原创 pagehelper依赖冲突

之前呢,因为数据库从oracle更换成了dm,分页的pagehelper之前是旧版本不支持dm,之前是pagehelper4.2.0,升级到了pagehelper5.2.0,升级了之后呢,就是改了改mybatis的配置文件,还挺高兴,这就升级完成了,也没有出现啥依赖冲突,还天真地认为完事了,然后就去忙活切换数据源的问题了,这个切换数据源的问题我们后话再说,昨天搞了一天切换数据源,原本以为完事了,结果到了分页又出了问题了,昨天的切换数据源难度一定程度上就是因为分页的问题,现在又出现了这个问题,就意识到了,昨天

2025-02-07 09:13:17 1264

原创 达梦数据库 无法自动获取数据库类型,请通过dialect参数指定!

问题描述一个旧的项目要求国产化,然后将原本的mysql数据库切换成dm数据库,然后切换完成了之后成功启动了,我很高兴竟然一把成了,然后发现的登录报错,然后我还没有改中文,导致报错看不懂,我就以为是sql有啥独特的方言,结果都不是,是一个分页工具提示的报错,这其中tomcat黑窗和idea中改中文太难啦!!!报错org.apache.shiro.authc.AuthenticationException: Authentication failed for token submission [org.a

2024-10-22 15:36:15 1162

原创 导出问题处理

直到发现了这个问题,我才想起来,之前我改了一版,修改的是最大的文件数是从100000变成了300000,然后发现我只改了一个静态变量,只改了一个文件的判断是不是最多条的数量,但是一个excel中的最大条数还是100000,然后就提示报错了,该说不说这个问题我真的找了好久,因为确实是文件找不到报错的地方。测试出来一个问题,使用地市的角色,导出数据然后超过了20w的数据,提示报错,我还以为是偶然的问题,然后是发现是普遍的问题,本地环境复现了,然后是,这个功能是三套角色,分别是集团,省份,地市。

2024-10-22 15:35:16 441

原创 springboot项目多个数据源配置 dblink

然后又长知识学了一个东西叫做,dblink,我的理解是我们没有办法直接调用某个数据库,所以只能够通过另外一种方式,这是oracle库,其实普通理解是apps是一个库,后面是表,但是这个是dblink,间接连接另外一个库。在对应的配置文件,配置对应的数据库情况,不过我确实没咋测试对于事务的处理我可以后续在多做测试。APPS.QFA_SOURCE_AMS_V 是远程数据库中的视图(View)名称。@AMS_TO_ERP0 表示数据库链接的名称,它连接到远程数据库。当项目中涉及到多个数据库连接的时候该如何处理?

2024-10-15 11:03:40 859

原创 ajax地址参数与data参数运用

因为项目在进行安全准入检查,也是代码安全的一种处理方式吧,然后我们在进行行加密以及模块加密,就是因为行信息中存在行id可以通过更换行id进行查询其他行的信息,模块也是一样,可能会出现垂直越权以及水平越权,所以为了处理这个问题,我们增加了行加密以及模块加密,对于行id和模块名进行加密,后台增加处理,如果行id和模块名无法匹配则无法进行。因为具体的加密字段在接口后面用?上面是前提,但是遇到一个蛮尴尬的问题,加密的字符串是通过ajax传递的参数类似。

2024-10-15 11:03:06 839

原创 form表单引发的问题

遇到一个问题,就是有一个表单提交,没有提交成功,但是我看控制台没有报错,但是后台没有接口提交,network中没有任何内容,然后我还是后端,才接了一点前段的问题,之前都忘了个屁的。

2024-08-29 10:03:37 264

原创 导出文件的新形势

我都去找底层,也没有发现哪里有表头,我还以为是在实体类上面呢,因为我做过类似的,然后发现,好家伙这边的是直接用手建表头文件,然后发现一个问题,表头没变,我才意识到,我没有改表头呀,不过我没有看到对应的表头呀,然后我找了好多确实没找到。大概问题是这个样子,有一个bug是提示说导出的文件的字段顺序有问题,我一看这不是挺简单的么,而且用的是。包,这个我用过,没啥问题呀,而且我之前整个复杂的都可以,我觉得问题不大,然后就就调整了一下顺序,

2024-08-29 10:03:09 345

原创 mysql需求处理中使用sql整理

首先找到需要处理的表,leader_list这是我自己新建的领导的相关的表,然后,应该是要是用函数GROUP BY,取分离城市信息,而且肯定有对应的子查询,因为GROUP BY之后显示需要做限制,我要展示的内容肯定要比GROUP BY后面的内容要多,g_organization组织表,因为业务表中的组织id是可信的,但是组织名称真的五五开,没有必要要冒着这个风险,不如直接多关联一张表。两个sql查询几乎很像,但是我还是废了蛮多的功夫的,我的sql太差啦。应该是这么写,然后SUM用来计算求和的数。

2024-08-05 14:19:42 492

原创 mysql需求处理中使用sql整理

然后是一个我这边犯得错误,实话说我是觉得挺蠢的。

2024-08-05 14:19:25 268

原创 AmazonS3部署以及nacos配置参数

其实本来和前端商议的也是直接用他们之前的转成base64的格式,但是出了点问题,我发现图片的大小好大啊,转成base64我这边没有办法测试看他转成图片后的样子,所以我只能换成附件下载的样子,直接给前端下载一个图片,因为涉及到做的需求的头像的处理,所以需要去找头像的来源,没想到又是我们的老熟人,AmazonS3,巧了已经是第二次用了,上次我是用的别人的工具类去干的,这一次我这边自己编辑具体工具类型。然后在你的配置文件里面找到对应的nacos,然后登录一下,这是配置上对应的读取nacos的地址。

2024-07-11 20:06:53 876 1

原创 java的遍历的方法对比 效率对比

综上所述,选择合适的遍历方式应该基于具体的数据结构和操作需求。对于小型数据集合,普通的 for 循环可能是最高效的选择;大概就是一个插入的接口,还有就是几种的对比方法,分别是for,foreach,Iterator,Stream,parallelStream。大概是千万不到,插入的时候我插入的是两个字段,实体应该是10多个字段,然后我就一遍一遍的执行看结果,我这边的出来的结果。上述内容我是从ai里面查出来的,但是我头铁我不信,我要自己试试,然后我开始了尝试。然后插入的数据量大概是9730000。

2024-07-11 20:05:52 1724

原创 easyexcel 导出excel 首行高度,行样式,颜色,合并单元格,例子样式

首行高度,行样式,颜色,合并单元格,例子样式

2024-05-17 16:54:24 1142

原创 cn.hutool.poi.excel 实现excel导出效果 首行高度,行样式,颜色,合并单元格,例子样式

首行高度,行样式,颜色,合并单元格,例子样式

2024-05-17 16:40:45 1436

原创 自动发版工具以及本地debug

执行命令powershell,然后打开powershell,然后执行对应脚本。俺不是很懂,这个是组内一个同事写的脚本,可以执行脚本然后自动上传本地代码,这个remote是用来本地开启debug,可以本地debug远程服务器代码。

2024-04-16 16:32:20 368

原创 http调用HttpURLConnection、RestTemplate

目前有一个需求是需要跨服务调用的,通过后端直接访问,直接通过url访问记录一下,后面更简单的去处理。使用RestTemplate 方式去进行访问,使用Stream流进行返回。首先是最古老的方式HttpURLConnection。处理方式相当古老了,但是别说好用还。新的方式RestTemplate。

2024-04-16 16:31:40 502

原创 RuleEngine规则引擎底层改造AviatorScript 之公式规则

就是需要有一个函数nvlFunction,这个函数是用来干啥的呢,就是说处理入参的,出现了这个函数就是表示有入参,这个函数一共两个参数,第一个参数,是取自函数这个功能的字段,要求是函数功能的函数code值,用来表示入参,另一个参数就是当这个入参不输入的时候,将这个参数赋值给对应的函数。当然上来的问题就是前端的问题,这个框首先他们用的是富文本,富文本传到后台的结果是前端脚本,带着h5的标签,后面改成了这个,当时这个东西其实和后端关系不大,就是如何处理换行符而已,使用这个之后换行符变成了。

2024-04-08 15:26:32 839

原创 RuleEngine规则引擎底层改造AviatorScript 之函数执行

这个取值,因为我这边取了一个巧,我在发现入参的类型我不好判断之后,我放弃了使用顺序确认入参这个形势,我直接使用的key-value的形势,这样可以在传参的时候一点问题都不会,如果前端传过来的入参的顺序出现问题的情况下,也会如我计划的一样执行,但是确实面临了一个问题,因为后面需要实现一个公式规则的功能。可以看到的是,他们首先拿到函数id,然后判断函数是否存在,然后去已经预制好的数据库表中去读取固定的函数名称,然后根据入参进行入参的判断,然后是执行。后面就转换了实现思路,不在使用。

2024-04-08 15:25:50 916 1

原创 easy excel导入导出

每次都要去看easy excel的导入的例子,回回都没记性这次记录一下。将个人荣誉信息导入到数据库中,并且将对应字段查询出来方便后续查询使用。将通知以及具体的通知明细进行导出。excel多个sheet导出。

2024-01-22 10:11:22 653

原创 登录之后的二次认证

三个接口写完了,感觉是完事了,但是存在一个问题,如果被人直接访问了呢,直接选择跳过前台的二次验证判断接口,于是就想写一个拦截器,直接在每一个请求之前进行判断,思路的话就是在的登录之后,在token中存一个cookie中存一个key用于表示。二次认证,本来的需求是完成一个二次认证,对于登录到制定系统的中的用户进行二次验证,本来是只有某一个功能要用的,也是按照某一个功能设计的接口情况,但是在这个接口上线之前要求改成通用性的。实话说这块不是我写的,但是我大概能够看的懂,但是我自己写可能还是有差距,持续学习吧。

2024-01-22 10:10:39 858

原创 事务问题处理

新建一个通知,通知下面选择需要通知到的通知人,要求通知发送的时候如果通知发送失败,不能新建通知和具体的通知人关系。发送某个人失败,要求通知成功建立,其他人成功发送则建立通知和通知人的关系,失败发送的话也不影响其他人的成功。实话说也没有实现子流程的回滚,也是有问题的,但是完成了我的需求,我是感觉用注解是不能够完全处理问题的,我就想到用手动事务,写了一个手动提交事务的,还可以实现两个事务独立互不影响的效果。本想想的是这个东西大概率要用事物的传播特性做吧,七个传播特性。

2024-01-15 15:17:01 730

原创 微服务配置文件字段讲解

由于从一个太过于自我的公司里面出来,导致和外面的世界脱轨了,然后需要学的东西太多了,导致连微服务的配置文件都看不懂啦,现在来讲讲其中的关键字。大型项目,微服务,中间件,gateway作为网关,nacos用来注册服务,nginx用来转发,redis作为缓存中间件。找到了具体使用的配置文件,然后nacos使用我本地的,而不是在nacos中配置的。flow中配置了其他微服务的地址以及端口。首先不同同一个项目不同环境之间切换。注释掉原本的config的内容。决定使用什么环境的配置文件。这是代码中具体存储的地方。

2024-01-15 15:16:22 443

原创 sql需求处理,复杂sql,求和,计数,MAX,ROUND

其实这个需求最难的不是sql,最难得是数据不全,数据中人员表的数据只有两年的数据,且两年数据不全,薪资表的数据是4年的数据,也是不全的,因为如果是完全年的话其实计算起来还是不难的,但是我手里的手里是不全的,数据还涉密,我没有办法同步。计算社保的基数,要求是从薪资表和人员表开始取值,给定一个年份,一个公司,求出这个公司所有人员的这个年份的社保基数,人员计算要从人员表计算,人员表每个月数据都有,要求根据这一年的最后一个月的人员进行统计,薪资表也是每个月的数据。

2023-12-28 16:28:04 657 1

rclone 文件 目前最新版

2026-04-02

jdk1.7源码包含util

jdk1.7源码包含util

2023-01-30

Arrays.java

我自己学习的第一个数据结构,在后期会大量的使用这个数据结构

2019-10-21

微信小程序日历记事本前端

这个是一个日历记事本的微信小程序的前端模板,我是把他直接提交到Java中去使用的,使用的Java新建了一个项目实现后台的操作的,实现对于数据的增删改查的

2019-11-13

二叉搜索树的源码,加上注释和自己理解

是我自己所写的二叉搜索树的源码,里面有自己的一些注释和理解

2019-10-28

数据结构中栈和队的源代码

这个是我写的数据结构的源代码,里面是我写的基本的栈的结构,还有的是基本的队,然后就是循环队列了

2019-10-22

java中的IO的基础教学(1)

java中的IO流的基础教学,我在里面写了关于IO流最基础的几个类

2019-05-29

Linked1.rar

这个是链表栈和链表队,因为自己栈和队不在一个包里面这个一次只是能够上传一个文件,所以这个文件下面有两个压缩包,里面是有我的一些随笔还有就是我的一些源码,一边看视频一边记录下来的东西

2019-10-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除