【時間之外】軟件開發工作交接你會做嗎?

背景介紹

由於有個軟件開發人員離職,爲了能夠繼續下面的開發工作,跟他一起做了一次交接。爲了今後在交接上能夠少踩坑,把這次交接的工作過程做了一個記錄,以便今後備查。

大致思路

軟件開發與其他崗位的交接有所不同,但思路都差不多。
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:監控跟蹤服務 ↩︎

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