【时间之外】软件开发工作交接你会做吗?

背景介绍

由于有个软件开发人员离职,为了能够继续下面的开发工作,跟他一起做了一次交接。为了今后在交接上能够少踩坑,把这次交接的工作过程做了一个记录,以便今后备查。

大致思路

软件开发与其他岗位的交接有所不同,但思路都差不多。
1、要交接的工作分类整理,比如整理一个项目目录;
2、是把每个项目里涉及的代码、配置、文档、使用等整理清楚;
3、按照每个项目对其中的细节进行过滤,搞懂一些核心逻辑的算法和思路;
4、可以对某些项目进行一些演练或者模拟修改,看看是否可以独立完成;
5、与离职人员进行人性化沟通,为今后出了问题再次请求协助,打下伏笔;

项目目录

如何修改微服务

  1. 首先整理需要微服务项目的pom.xml,旧有的pom文件如下:
	<groupId>com.ldjr</groupId>
	<artifactId>weixin-exam</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>

	<name>weixin-exam</name>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.3.3.RELEASE</version>
		<relativePath /> <!-- lookup parent from repository -->
	</parent>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<java.version>1.7</java.version>
	</properties>

改成如下格式:

	<groupId>com.ldjr</groupId>
	<artifactId>ldmicro-exam</artifactId>
	<version>1.0.0</version>
	<packaging>jar</packaging>
	<name>ldmicro-exam</name>
	<description>ldmicro-exam</description>

	<parent>
		<groupId>com.ldjr</groupId>
		<artifactId>ldmicro4spring-cloud</artifactId>
		<version>1.0.0</version>
	</parent>
  1. 用Refactor重新命名项目文件,以符合微服务的命名规范
  2. 在微服务的总pom文件增加module,如下:
<modules>
        <module>ldmicro-server</module>
        <module>ldmicro-config</module>
        <module>ldmicro-zipkin</module>
        <module>ldmicro-api</module>
        <module>ldmicro-service</module>
        <module>ldmicro-web</module>
        <module>ldmicro-itapps</module>
		<module>ldmicro-sso</module>
        <module>ldmicro-gateway</module>
        <module>ldmicro-hystrix</module>
        <module>ldmicro-admin</module>
        <module>ldmicro-knowledge</module>
        <module>ldmicro-exam</module>
        <module>ldmicro-exam-admin</module>
    </modules>
  1. 将之前两个项目文件夹改名,并在文件浏览器中移入微服务的统一目录中去。
  2. 将刚才的文件在eclipse里面重新引入,如下图的时候,就成功了。
    微服务结构

七牛云对接

考虑到七牛云的CDN比较专业,在微信端开发中,所有涉及到图片,视频等静态资源都放入了七牛云。
主要涉及两个方法:

  1. /ueditor
  2. /upload
    一个配置:ueditor.properties
    主要涉及到七牛云参数,editor参数
    一个文件:storemanager.java 处理文件上传

微信平台单独发布

思路:可以做多个Jenkins,分为三个层次,基础服务(注册中心+配置中心)网关服务(service+sso+gateway)应用服务(报修+云课堂+信息发布+知识库+评测)
下面以单独发布报修为例:

  1. 生成并上传容器
  2. docker stop 容器Id
  3. docker run -itd 容器及端口
  4. docker exec -it 容器 /bin/bash 进入容器
  5. java -JAR jar包名称 启动服务
  6. 测试服务

招聘题测平台

考试步骤:

  1. 设置好试卷
  2. 设置应聘人员,招聘组设置应聘人员,招聘组
  3. 进行考试
  4. 后台评价

微信内部测试平台

发布步骤:

  1. 启动Jenkins,admin/大12,端口8081
  2. 打开Gitlab,hehui/大12,端口80
  3. 打开Nexus,admin/admin123,端口8083
    启动步骤:
  4. 启动redis:systemctrl start redis
  5. 启动ngnix:systemctrl start ngnix
  6. 启动mysql:默认已启动
  7. 启动docker:systemctrl start docker
  8. 启动注册及配置服务:/usr/local/docker-compose -f /root/docker-compose.yml up -d
  9. 启动基础应用服务: /usr/local/docker-compose -f /root/docker-compose2.yml up -d
  10. 启动应用服务:/usr/local/docker-compose -f /root/docker-compose1.yml up -d

合同号管理

问题:新增了分公司,但是无法从OA进行公司和人员的同步;
解决:

  1. 首先要在OA里增加子公司
  2. 然后在工程项目的配置文件里进行新增子公司Id的新增
// config.properties
subcompanyId=52,53 //这里的Id需要与OA中的子公司保持一致
  1. 找相关部门确定此部门的编码
  2. 在系统组织结构中配置此编码

微信平台发送管理

  1. 首先admin登陆hr这个子域名;
  2. 进入角色管理,将用户加入到==微信推送(全体员工)这个角色,并将用户微信推送(特殊中层)==这个角色中移除即可。
  3. 上述==微信推送(全体员工)==这样的标签,是在企业微信的后台进行配置的,需要手机登录才能进入后台管理界面。
  4. 由于这些标签写在了代码和配置文件中,所以无法进行微信标签的新增,只能就原有的标签进行变通的修改。
  5. 所有已定义的标签(有哪些人),在对应项目的配置文件中,都是以tagId的方式定义,例如:
// 已有的标签
qywx.daily.tagId=52 //每日早报
qywx.it.tagId=56 //新员工
qywx.gkw.tagId=63 //互贷审批
// 需要统一为标签和tagId,不再用如下代码
it.qywx.repairId=zhangsan|lisi|

微信平台涉及微服务列表

gateway1
admin2itapp3web4knowlege5sso6
service7api8
hystrix9
server10config11zipkin12

UML图

七牛云报修图片上传

报修 华为云 七牛云 微信 申请报修,保存 调用封装的上传图片功能 上传图片 显示报修 华为云后台 逻辑调用七牛 云解析文件流, 上传静态资源 到七牛云. 报修 华为云 七牛云 微信

七牛云推文发布

ueditor qiniu.JAR 华为云 七牛云 微信 保存推文时,调用七牛云(已封装为一个服务) 首先将文件流上传到华为云 解析文件 删除华为云上的临时文件 显示推文到微信端 华为云后台 逻辑调用七牛 云解析文件流, 上传静态资源 到七牛云. ueditor qiniu.JAR 华为云 七牛云 微信

微信审批

供应商系统 JAR 我方API 微信 供应商 发送请求,打包中包含userId回调URL及供应商免密登录信息 微信统一验证并发送审批消息 显示审批消息到userId 点击审批 携带免密登录信息回到JAR 显示审批信息并审批 到微信的免密登录 供应商系统的免密登录. 供应商系统 JAR 我方API 微信 供应商

合同号公司同步

OA子公司 项目配置文件 合同号子公司 编译发布 新建后,等待同步 调用 发布系统 正在修改 从数据库读取 可以不用再发布. OA子公司 项目配置文件 合同号子公司 编译发布

合同号用户创建

OA用户 合同号用户 员工 角色 同步用户 新建,并选择部门 分配角色到员工 首先做公司同步 . OA用户 合同号用户 员工 角色

微信群发

用户群发 配置文件 微信 标签 点击发送 调用 获取名单 返回 发送 返回 用户名单. 用户群发 配置文件 微信 标签
  1. 企业号里,部门的Id只能通过API读取
  2. 标签的Id可以通过查看标签读取
  3. 只有在发送界面里,才会涉及到微信的标签,并且已经在代码里写死了特殊标签的显示判断

智能问答

gateway web service knowlege 搜索打印机 请求发送到 寻找对应的知识库 返回知识库 返回给客户 问题答案. gateway web service knowlege

  1. gateway:网关,处理客户请求 ↩︎

  2. admin:管理后台 ↩︎

  3. itapp:ITSM平台 ↩︎

  4. web:云课堂 ↩︎

  5. knowlege:知识库 ↩︎

  6. sso:统一认证 ↩︎

  7. service:业务逻辑 ↩︎

  8. api:内部接口声明 ↩︎

  9. hystrix:cluster dashboard/熔断,防止服务频繁增加线程,防止资源崩溃 ↩︎

  10. server:注册服务 ↩︎

  11. config:配置服务 ↩︎

  12. zipkin:监控跟踪服务 ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值