如何做交接工作
背景介绍
由于有个软件开发人员离职,为了能够继续下面的开发工作,跟他一起做了一次交接。为了今后在交接上能够少踩坑,把这次交接的工作过程做了一个记录,以便今后备查。
大致思路
软件开发与其他岗位的交接有所不同,但思路都差不多。
1、要交接的工作分类整理,比如整理一个项目目录;
2、是把每个项目里涉及的代码、配置、文档、使用等整理清楚;
3、按照每个项目对其中的细节进行过滤,搞懂一些核心逻辑的算法和思路;
4、可以对某些项目进行一些演练或者模拟修改,看看是否可以独立完成;
5、与离职人员进行人性化沟通,为今后出了问题再次请求协助,打下伏笔;
项目目录
如何修改微服务
- 首先整理需要微服务项目的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>
- 用Refactor重新命名项目文件,以符合微服务的命名规范
- 在微服务的总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>
- 将之前两个项目文件夹改名,并在文件浏览器中移入微服务的统一目录中去。
- 将刚才的文件在eclipse里面重新引入,如下图的时候,就成功了。
七牛云对接
考虑到七牛云的CDN比较专业,在微信端开发中,所有涉及到图片,视频等静态资源都放入了七牛云。
主要涉及两个方法:
- /ueditor
- /upload
一个配置:ueditor.properties
主要涉及到七牛云参数,editor参数
一个文件:storemanager.java 处理文件上传
微信平台单独发布
思路:可以做多个Jenkins,分为三个层次,基础服务(注册中心+配置中心),网关服务(service+sso+gateway),应用服务(报修+云课堂+信息发布+知识库+评测)
下面以单独发布报修为例:
- 生成并上传容器
- docker stop 容器Id
- docker run -itd 容器及端口
- docker exec -it 容器 /bin/bash 进入容器
- java -JAR jar包名称 启动服务
- 测试服务
招聘题测平台
考试步骤:
- 设置好试卷
- 设置应聘人员,招聘组设置应聘人员,招聘组
- 进行考试
- 后台评价
微信内部测试平台
发布步骤:
- 启动Jenkins,admin/大12,端口8081
- 打开Gitlab,hehui/大12,端口80
- 打开Nexus,admin/admin123,端口8083
启动步骤: - 启动redis:systemctrl start redis
- 启动ngnix:systemctrl start ngnix
- 启动mysql:默认已启动
- 启动docker:systemctrl start docker
- 启动注册及配置服务:/usr/local/docker-compose -f /root/docker-compose.yml up -d
- 启动基础应用服务: /usr/local/docker-compose -f /root/docker-compose2.yml up -d
- 启动应用服务:/usr/local/docker-compose -f /root/docker-compose1.yml up -d
合同号管理
问题:新增了分公司,但是无法从OA进行公司和人员的同步;
解决:
- 首先要在OA里增加子公司
- 然后在工程项目的配置文件里进行新增子公司Id的新增
// config.properties
subcompanyId=52,53 //这里的Id需要与OA中的子公司保持一致
- 找相关部门确定此部门的编码
- 在系统组织结构中配置此编码
微信平台发送管理
- 首先admin登陆hr这个子域名;
- 进入角色管理,将用户加入到==微信推送(全体员工)这个角色,并将用户从微信推送(特殊中层)==这个角色中移除即可。
- 上述==微信推送(全体员工)==这样的标签,是在企业微信的后台进行配置的,需要手机登录才能进入后台管理界面。
- 由于这些标签写在了代码和配置文件中,所以无法进行微信标签的新增,只能就原有的标签进行变通的修改。
- 所有已定义的标签(有哪些人),在对应项目的配置文件中,都是以tagId的方式定义,例如:
// 已有的标签
qywx.daily.tagId=52 //每日早报
qywx.it.tagId=56 //新员工
qywx.gkw.tagId=63 //互贷审批
// 需要统一为标签和tagId,不再用如下代码
it.qywx.repairId=zhangsan|lisi|
微信平台涉及微服务列表
gateway1 | ||||
---|---|---|---|---|
admin2 | itapp3 | web4 | knowlege5 | sso6 |
service7 | api8 | |||
hystrix9 | ||||
server10 | config11 | zipkin12 |
UML图
七牛云报修图片上传
七牛云推文发布
微信审批
合同号公司同步
合同号用户创建
微信群发
- 企业号里,部门的Id只能通过API读取
- 标签的Id可以通过查看标签读取
- 只有在发送界面里,才会涉及到微信的标签,并且已经在代码里写死了特殊标签的显示判断