熟悉java语言的语法和特性,了解java虚拟机(JVM)的工作原理
熟悉java的常用类库,比如collections,IO,Math,string等
熟悉java的常用设计模式,比如单例模式,装饰者模式,工厂模式,代理模式等
熟悉java的常用框架,比如spring,springMVC,springboot,springcloud,Mybatis等
熟悉springcloud中常用的组件,如微服务的网关gateway、微服务注册中心eureka、负载均衡ribbon、熔断降级hystrix、远程调用feign
熟悉java的常用开发工具,比如idea,maven
熟悉java的常用测试框架,比如JUnit
熟悉java的常用部署工具,比如Tomcat
熟悉前端的vue,以及uniapp等技能点
具有独立解决问题能力,具有团队合作和沟通能力
熟悉持久层市场常用框架,如mybatis、jpa
项目名称:智慧货运平台
团队人员:8-12人
一、项目开发环境及技术:若依cloud、uni-app、springBoot、springCloud、redis3.2、MybatisPlus、分布式事务等
二、开发工具:IDEA2023、Hbuider、SQLyog、Jmeter、云效等
三、项目需求:为了解决大宗物流商品的车货匹配规范盒税务无法监管问题;国家要求大宗交易必须纳入监管;货运标准化;系统的整合和集约社会零散物流货运资源,大大提高了运输货运的组织效率。因此研发数字化货运平台实现市场的这些需求。整理市场运力,筛选优质司机用户,为公司的盈利横向化发展做贡献。
四、系统模块说明:
1.运营管理后台:认证管理模块:主要对司机、货主、企业站点做相关的证件认证审核;基础运营管理模块:车队管理、
站点管理、货物管理、黑名单管理;业务运营模块;主要有货源管理、运单管理、运费支付等模块。
2.货主端-APP:发布货源、调整货源、运费返还、我的、运输统计等功能;核心功能:货源的定时开始、货源余量的数据安
全。
3.司机端-APP: 找货、抢单、装车卸车模块、个人信息管理模块、我的车辆等等;核心功能:司机的抢单、签收功能。
4.拓展业务模块:积分模块、加油站合作模块、司机端货运生活物品电商模块等。
拓展积分模块:通过积分功能,筛选一定时间周期内信誉良好的司机。在货源紧张情况下,为高积分司机优先派单
加油折扣模块:依托于积分模块。为优质司机提供加油加气积分券,去指定合作站点折扣加油加气。
司机端电商模块:公司自己建有线下商品仓库,通过电商模块出售商品。
五、项目技术难点:
1、电子围栏:利用地图API获取用户和站点实时坐标,利用Redis的Geo技术中geodist方法来设计电子围栏范围,筛选围栏范围内的站点,同步司机端的货源列表信息。同时在司机端选中站点时,计算两者距离在50km内,允许司机端可以抢单。
2、司机端抢单的“超卖问题”:利用Redis的锁机制,锁定货物吨数内允许的请求,给这些请求加锁,避免超卖问题。
3、积分系统的实现,在实际情况下会收到其他低积分司机用户消极反抗,对平台的运力产生一定影响。
4、线下站点的“黄牛”问题,私下以开票为由打压司机收取钱财。后续计划开发站点园区系统,以实现运输过程的规范与信
息安全,一切开票,签收,全部线上进行,弃用纸质化的开票模式。
5、司机的违规操作,线下有些司机用户为谋私利,偷换媒质。解决方案是,设置惩罚机制,配和站点检查站。锁定违规司
机,进行信誉扣除,以及封禁处罚。
六、项目职责:
1、根据项目需求设计项目的整体架构及数据库的技术开发文档;人员调配及任务进度跟踪。
2、设计基于SpringSecurity的单点式登录框架。自定义类实现AuthenticationProvider身份验证接口,实现用户密码&验证码两种
登录方式。实现登录的认证加鉴权,用户拿到token可以一站式的访问后台,根据token的权限信息来一站式访问后台。
3、解决司机端抢单的“超卖问题”:利用Redis的锁机制,锁定货物吨数内允许的请求,给这些请求加锁,避免超卖。
4、分析市场同平台数据,并发数大概300-400,采用分布式事务的AT模式,不失系统效率情况下保证数据的安全。
5、司机端装货与签收模块,利用消息中间件RabbitMq来实现消息的异步,避免系统的雪崩和堵塞情况;生产者的确认来保证消息的投递可靠性;给消息加唯一Id避免消息的幂等消费。
6、负责了项目的拓展业务分析,增加的项目的业务广度,提高项目的价值。
业绩:
我主要负责的业务是:
1.司机端:抢装运卸流程、结算运费、余量返还以及司机钱包业务
2. 货主端:合作配置、货源大厅、发布货源和修改货源,对运费的押金补充或退返
3. 平台端:黑名单、油气积分的发放、运费的结算规则
•货运中司机的抢装运卸行为会有高并发,用 rabbitmq 延迟队列对其削峰处理
•用 Redis 的分布式锁将用户的编号或唯一标识锁住,确保在一段时间内该用户对账户的重复操作只会成功一次。
•对于司机抢货时可能会引发的超卖、高并发以及存在的脚本抢单问题
我采用了 rabbitmq及 Redis 分布式锁来处理
项目是一个以套餐为卖点的外卖配送平台,涉及到的有 用户端(小程序,用户可点单下单,申请成为商家,申请成为团餐发起人,申请取回店铺),管理端(小程序,管理人员调动,查看平台盈利,查询角色信息,审核用户所申请的信息),商家端(商户店长登陆可查看店铺订单,店铺盈利,提现),骑手端(配
我主要负责代码编写,生产、测试、开发环境创建,运行维护、数据库表结构分析和创建 项目的主要业务是商家上架商品后,用户可以通过小程序来购买商品,用户同时可以去购买会员来享受专属优惠价,平台使用管理平台来对业务中的隐患进行监控并处理用户反馈