个人介绍
项目名称:清算中心
使用技术:SpringBoot,Nacos,JPA,MySQL,Redis,xx-job
项目介绍:为元气的零售柜项目提供清算能力,可以更好的去拓展业务合作。当商户完成进件,开启支付和分账开关后,所属零售柜即可进行售卖和分账。完成一笔交易后资金流入二级商户的账户内,清算中心根据签订好的分配比例创建分账规则,根据分账规则进行分账,以及后续的退款触发的退分账业务;
主要负责:系统设计,后端代码编写
解决难点:需要对接两个渠道的分账能力,支***体系在一些概念上有所不同,造成在接口设计上必传参数和分账完结,资金解冻等方面有所不同,为了接口统一处理这块儿的接口调用,研究了两套接口的区别,把两个渠道的api封装为一套对业务的接口,这样写业务测的代码时就能更专注于业务的处理。还有分账时的算法需要细化到品级别去分账以及满足退分账的需求。
项目名称:任务中心
使用技术:SpringBoot,Nacos,JPA,MySQL,Redis,xx-job,Kafka,OSS
项目介绍:管理端很多需要批量下载或者批量导入的非常耗时的任务,而业务经常会因为等待太久而去到其他页面或者连续点击导致oom,为了解决这个问题,做了任务中心,当各个业务服务需要处理批量下载或者上传的任务时,可以到任务中心去注册任务,然后任务中心会对该应用下的任务进行管理和任务数量进行限制并展示进度条和任务状态,以及失败原因。
主要负责:系统设计,后端代码编写
解决难点:这是一个通用的组件,需要简单易用好理解,于是封装了一个stater,只需引入后便可调用业务完成后生成的文件,并借助Kafka的埋点上报任务进度,任务分为两部分,业务处理部分和文件上传部分,各占50%。业务处理部分需要各业务服务自己完成,文件上传部分只需调用stater提供的接口便可完成。
项目名称:冰柜工单系统
使用技术:SpringBoot,Nacos,JPA,MySQL,Redis,xx-job,Kafka,OSS
项目介绍:指定商户的零售柜的运营中有些柜子会出问题,超过4天未售卖,这种点位就要及时告警,让相关的管理人员注意到问题,并给负责该柜子的人通知,让负责人去处理,若超过8天未正常售卖则开始扣钱,算作柜子负责人的绩效。并在30天内逐级通知上级负责人。遇到特殊情况可以申请白名单停止天数增加和扣款。以及节假日忽略等业务的实现
主要负责:系统设计,后端代码编写
解决难点:逻辑和业务细节比较复杂,包括任务每日10点生成,每晚24点天数增加以及扣款,飞书通知对应的负责人以及上级领导,任务的白名单和假期处理。定时任务使用xx-job去定时触发多线程去处理,每个任务下又得细分出几个子任务去顺序执行,若执行失败需要告警通知。这个项目主要的难点就是业务复杂逻辑细节比较多,为了理清思路,在设计时,先通过脑图去清晰的解构出每一块的逻辑,以及逻辑之间的关联和顺序。
项目名称:巡检单系统二期
项目介绍:零售柜有巡检人员会对零售柜的周围环境,是否能正常开门,柜子是否污损,商品是否过期等进行巡检,巡检后每日下午上报给对应负责人,生成巡检报告。
主要负责:系统设计,后端代码编写
解决难点:交互逻辑和状态控制比较麻烦,和前端沟通了比较久这块儿问题。巡检报告需要动态的生成图片方便巡检员查看。上线后没有任何的问题。
项目名称:主动支付
项目介绍:支付一直使用的是自动代扣和支付分支付。都是被动的可控性不好,并且有200的最大限额,为了解决这些问题,使购买的主动性更强,以及支持大额支付***宝的主动支付能力
主要负责:系统设计,后端代码编写
解决难点:统一支***付的流程接口,包括,创单,完单,三方支付结果回调,支付结果主动查询。
项目名称:支付平台
使用技术:springboot , nacos , mybatis-plus , mysql , rabbitmq , redis ,html , css ,js , layui
项目介绍:为了满足惠民保业务线和其他有支付需求的业务线能更好的做到各条业务线统一支付入口,更方便的统计各条业务线业务收入和对账的需求.满足不同惠民保和业务线需要不同支付方式的动态配置,以及流水查询,退款,通知业务线支付结果等功能需求.以及建行,***宝,医保等支付方式的统一接入和配置管理
主要负责:建行龙支付,建行H5支付的,沈阳医保个账划扣
解决难点:建行文档其实是比较乱而且不充足的,在网上并不能查到太多比较有用的信息,能依靠的就是自己的摸索,和在杂乱的文档中去分析理解该如何完成业务流程,其中退款和查询文档中写的是只能通过外联平台去完成,外联平台是比较麻烦的,需要搭建一个服务专门用于和建行进行信息交互,但是在翻阅文档的过程中,其中一个文档有个描述,貌似可以通过几个jar包完成外联平台的功能,所以通过集成那几个jar包和查找文档摸索出了jar包方式的接口调用而不是退款相关文档中所描述的外联平台方式去退款,后续也通过和建行开发人员的沟通确认了这种方式的可行性,以及苹果手机和安卓手机不同的唤起建行app支付入口的方式可以结合当前浏览器的系统标识去完成
项目名称:SCRM一期
使用技术:springboot , nacos , mybatis-plus , mysql , rabbitmq , redis
项目介绍:为了满足营销部门的营销需求,需要一个SCRM,包括AI外呼,短信,外接凯森CRM,以及一***二次开发
主要负责:AI外呼模块的数据库设计,编码
解决难点:首先这个功能的AI 模块是接入的智齿科技的外呼接口去完成的,所以整个功能有两个问题,一是智齿科技的外呼流程和使用,二是我们这边从业务线到我们SCRM平台去外呼时这个消息应该怎么处理,我们使用的是rabbitmq 做了生产者消费者模式,去异步消费业务线的外呼请求,其中rabbitmq的可靠性传输问题,和消息幂等问题,花了一些时间去处理,可靠性传输采用了死信队列和服务告警去分别解决消费端和生产端可能遇到的消息可靠性问题.幂等是采用了数据库id去做了消息幂等
项目名称:基础服务平台
使用技术:springboot , nacos , mybatis-plus , mysql , rabbitmq , redis ,html , css, js ,vue,elementui
项目介绍:为了满足保险板块的一些基础业务需求,需要很多基础的服务,比如人像识别,二要素,三要素,第三方合作平台的用户数据备份,用户统一认证服务
主要负责:人像识别,二要素,数据备份
解决难点:人像识别时会接入多家服务商,并且需要有比重的控制,所以采用了工厂模式去解决这个问题,但是在按比重随机选择服务商时,出现了多次请求同一服务商的问题,然后我优化了一下,通过查询资料找到了一个平滑轮循的算法,通过对算法的理解写了实现,解决了这个问题,以及视屏上传时华为手机总是无法通过人像识别,然后通过摸索研究通过ffmep的方式去压缩和裁剪后解决这个问题,根本原因是华为手机高视屏质量导致刚开始录制时加载资源过多所以造成的0.5秒卡顿导致的视屏人像识别无法通过
项目名称:理赔平台三期
使用技术:springboot , nacos , mybatis-plus , mysql , rabbitmq , redis ,html , css, js ,vue,elementui
项目介绍:用于理赔业务线的理赔平台包括理赔平台,手机端,药店端
主要负责:后端代码的开发和设计,以及管理外包人员
解决难点:理赔的流程非常的繁琐,大概十一个理赔流程涉及到理赔,公估,保司,财务相关的一些业务,在第三期的迭代上加入了手机端和药店端两个模块,其中一部分 是这三个端要使用同一个后端服务但是 token机制不同,然后用了aop+注解的方式去解决从不同端过来的请求的token机制的处理
项目名称:圆心健康小程序
使用技术:html,css,***技术
项目介绍:主要是为了完成健管服务条线的视屏问诊需求
主要负责:小程序的开发
解决难点:刚开始时是需要对接视屏云服务,然后学习了一下,知道了怎么去对接视屏云服务,完成了视屏问诊
项目名称:惠保用户中心
使用技术:springboot , nacos , mybatis-plus , mysql , rabbitmq , redis ,shiro, thymeleaf ,html , css ,js , layui
项目介绍:理赔,公估业务线需要公司内部人员需要一个统一的登录认证,权限管理和人员管理
主要负责:项目的前后端以及数据库设计
解决难点:其中在集成单点登录时,遇到了比较多的问题,最终在查阅很多资料后,决定使用sso的单点登录方案,使用了sso实现的jar包去集成,去解决了单点登录问题,权限管理也比较麻烦,选择使用的是以角色为中心的权限管理方式,菜单绑在角色上,一个用户可以绑定多个角色.
项目名称:惠保主页
使用技术:html,js,css,photoshop
项目介绍:惠保的官网主页
主要负责:前端页面的切图和代码编写
解决的难点:主页上线后并不能在百度首条搜到,然后进行了一些seo 相关的优化,发版后,第二天搜关键词,百度的第一条就会显示我们的官网主页
项目名称: 新媒体引导监测平台
使用技术:springboot,中科软内部框架 ,vue,elementui
项目介绍:此项目是为网信办做的一个综合平台项目
主要负责:总体设计数据库设计后台编码部分前台编码,以及人员管理
解决难点:当时因为并没有协调好技术,并没有人了解中科软这个内部的框架该怎么用,该怎么集成,然后我就去做了这个事儿,通过研究源代码和不断的摸索出了这个框架该如何的使用.以及人员沟通和项目把控总体设计方面,对于当时的自己都是一个挑战
项目名称:中石油项目
使用技术:springcloud,redis,mq,nginx,oracle,erurka,Activemq
项目介绍:此项目是中石油西部管道的办公协同项目
主要负责;督查督办业务的需求沟通和前后端模块开发,分布式环境redis哨兵模式搭建,nginx+keepaliced高可用环境搭建。
解决难点:分布式环境redis哨兵模式搭建,nginx+keepaliced高可用环境搭建,这个当时的确花了我好几天时间去研究,最终也搭建完成了
总结心得:
调用成熟的模块能节约大量的开发时间
队友之间的信息传递要真实有效并及时沟通能很好的控制项目的进度和解决项目遇到的问题
明确目标并细化目标能更好的提升项目进度
项目名称: 加油卡项目
使用技术:esayui ,apiclound
项目介绍:此项目是一个卡消费的管理系统包括后台管理和手***p>
主要负责:读卡写卡,扫码支付,卡消费卡充值
解决难点:ic卡的读写以及扫码支付这块儿的设计,当时通过读文档查资料解决了ic卡读写相关的问题,扫码支付就是生成一个有事件限制的uuid串作为本次交易的唯一识别,并且有三分钟的时间限制,以及智能被成功使用一次
工作经历
2022-02-01 -2023-06-03元气森林高级Java工程师
元气森林主要时从事食品饮料的售卖和研发。我所的部门属于智能零售柜子,日销售额为100w,单量为10W+
2019-11-01 -2022-02-01圆心科技高级Java工程师
圆心科技主要从事互联网医药保险相关的业务,圆心大药房属于线下药店,还有互联网医院,圆心惠宝属于保险板块,主要从事惠民保险和保险理赔相关的业务
教育经历
2012-09-06 - 2016-06-06新疆大学软件工程本科
资质认证
技能
圆心科技 Java开发工程师 2019.11 - 2022.2 项目名称:支付平台 使用技术:springboot , nacos , mybatis-plus , mysql , rabbitmq , redis ,html , css ,js , layui 项目介绍:为了满足惠民保业务线和其他有支付需求的业务线能更好的做到各条业务线统一支付入口,更方便的统计各条业务线业务收入和对账的需求.满足不同惠民保和业务线需要不同支付方式的动态配置,以及流水查询,退款,通知业务线支付结果等功能需求.以及建行,银联,*,支付宝,医保等支付方式的统一接入和配置管理 主要负责:建行龙支付,建行H5支付的,沈阳医保个账划扣 解决难点:建行文档其实是比较乱而且不充足的,在网上并不能查到太多比较有用的信息,能依靠的就是自己的摸索,和在杂乱的文档中去分析理解该如何完成业务流程,其中退款和查询文档中写的是只能通过外联平台去完成,外联平台是比较麻烦的,需要搭建一个服务专门用于和建行进行信息交互,但是在翻阅文档的过程中,其中一个文档有个描述,貌似可以通过几个jar包完成外联平台的功能,所以通过集成那几个jar包和查找文档摸索出了jar包方式的接口调用而不是退款相关文档中所描述的外联平台方式去退款,后续也通过和建行开发人员的沟通确认了这种方式的可行性,以及苹果*和安卓*不同的唤起建行app支付入口的方式可以结合当前浏览器的系统标识去完成
项目名称:基础服务平台 使用技术:springboot , nacos , mybatis-plus , mysql , rabbitmq , redis ,html , css, js ,vue,elementui 项目介绍:为了满足保险板块的一些基础业务需求,需要很多基础的服务,比如人像识别,二要素,三要素,第三方合作平台的用户数据备份,用户统一认证服务 主要负责:人像识别,二要素,数据备份 解决难点:人像识别时会接入多家服务商,并且需要有比重的控制,所以采用了工厂模式去解决这个问题,但是在按比重随机选择服务商时,出现了多次请求同一服务商的问题,然后我优化了一下,通过查询资料找到了一个平滑轮循的算法,通过对算法的理解写了实现,解决了这个问题,以及视屏上传时华为*总是无法通过人像识别,然后通过摸索研究通过ffmep的方式去压缩和裁剪后解决这个问题,根本原因是华为*高视屏质量导致刚开始录制时加载资源过多所以造成的0.5秒卡顿导致的视屏人像识别无法通过
元气森林 Java开发工程师 2022.2-至今 项目名称:清算中心 使用技术:SpringBoot,Nacos,JPA,MySQL,Redis,xx-job 项目介绍:为元气的零售柜项目提供清算能力,可以更好的去拓展业务合作。当商户完成进件,开启支付和分账开关后,所属零售柜即可进行售卖和分账。完成一笔交易后资金流入二级商户的账户内,清算中心根据签订好的分配比例创建分账规则,根据分账规则进行分账,以及后续的退款触发的退分账业务; 主要负责:系统设计,后端代码编写 解决难点:需要对接两个渠道的分账能力,支付宝和*的分账体系在一些概念上有所不同,造成在接口设计上必传参数和分账完结,资金解冻等方面有所不同,为了接口统一处理这块儿的接口调用,研究了两套接口的区别,把两个渠道的api封装为一套对业务的接口,这样写业务测的代码时就能更专注于业务的处理。还有分账时的算法需要细化到品级别去分账以及满足退分账的需求。 项目名称:任务中心 使用技术:SpringBoot,Nacos,JPA,MySQL,Redis,xx-job,Kafka,OSS 项目介绍:管理端很多需要批量下载或者批量导入的非常耗时的任务,而业务经常会因为等待太久而去到其他页面或者连续点击导致oom,为了解决这个问题,做了任务中心,当各个业务服务需要处理批量下载或者上传的任务时,可以到任务中心去注册任务,然后任务中心会对该应用下的任务进行管理和任务数量进行限制并展示进度条和任务状态,以及失败原因。 主要负责:系统设计,后端代码编写 解决难点:这是一个通用的组件,需要简单易用好理解,于是封装了一个stater,只需引入后便可调用业务完成后生成的文件,并借助Kafka的埋点上报任务进度,任务分为两部分,业务处理部分和文件上传部分,各占50%。业务处理部分需要各业务服务自己完成,文件上传部分只需调用stater提供的接口便可完成。 项目名称:冰柜工单系统 使用技术:SpringBoot,Nacos,JPA,MySQL,Redis,xx-job,Kafka,OSS 项目介绍:指定商户的零售柜的运营中有些柜子会出问题,超过4天未售卖,这种点位就要及时告警,让相关的管理人员注意到问题,并给负责该柜子的人通知,让负责人去处理,若超过8天未正常售卖则开始扣钱,算作柜子负责人的绩效。并在30天内逐级通知上级负责人。遇到特殊情况可以申请白名单停止天数增加和扣款。以及节假日忽略等业务的实现 主要负责:系统设计,后端代码编写 解决难点:逻辑和业务细节比较复杂,包括任务每日10点生成,每晚24点天数增加以及扣款,飞书通知对应的负责人以及上级领导,任务的白名单和假期处理。定时任务使用xx-job去定时触发多线程去处理,每个任务下又得细分出几个子任务去顺序执行,若执行失败需要告警通知。这个项目主要的难点就是业务复杂逻辑细节比较多,为了理清思路,在设计时,先通过脑图去清晰的解构出每一块的逻辑,以及逻辑之间的关联和顺序。 项目名称:巡检单系统二期 项目介绍:零售柜有巡检人员会对零售柜的周围环境,是否能正常开门,柜子是否污损,商品是否过期等进行巡检,巡检后每日下午上报给对应负责人,生成巡检报告。 主要负责:系统设计,后端代码编写 解决难点:交互逻辑和状态控制比较麻烦,和前端沟通了比较久这块儿问题。巡检报告需要动态的生成图片方便巡检员查看。上线后没有任何的问题。 项目名称:主动支付 项目介绍:支付一直使用的是自动代扣和支付分支付。都是被动的可控性不好,并且有200的最大限额,为了解决这些问题,使购买的主动性更强,以及支持大额支付,接入*和支付宝的主动支付能力 主要负责:系统设计,后端代码编写 解决难点:统一支付宝和*主动支付的流程接口,包括,创单,完单,三方支付结果回调,支付结果主动查询。