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

背景介绍

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

大致思路

软件开发与其他岗位的交接有所不同,但思路都差不多。
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
admin2 itapp3 web4 knowlege5 sso6
service7 api8
hystrix9
server10 config11 zipkin12

UML图

七牛云报修图片上传

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

七牛云推文发布

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

微信审批

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

合同号公司同步

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

合同号用户创建

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

微信群发

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

智能问答

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

  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:监控跟踪服务 ↩︎

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章