作者 yangfu

审批退回 机会的审核数据清空

自定义错误
1 #!/bin/bash 1 #!/bin/bash
2 export PATH=/root/local/bin:$PATH 2 export PATH=/root/local/bin:$PATH
3 -kubectl -n mmm-suplus-prd get pods | grep -q opp 3 +kubectl -n mmm-suplus-prd get pods | grep -q mmmopp
4 if [ "$?" == "1" ];then 4 if [ "$?" == "1" ];then
5 - kubectl create -f /tmp/prd/opp/opp.yaml --record  
6 - kubectl -n mmm-suplus-prd get svc | grep -q opp 5 + kubectl create -f /tmp/prd/mmm-go-opp/opp.yaml --record
  6 + kubectl -n mmm-suplus-prd get svc | grep -q mmmopp
7 if [ "$?" == "0" ];then 7 if [ "$?" == "0" ];then
8 - echo "opp service install success!" 8 + echo "mmmopp service install success!"
9 else 9 else
10 - echo "opp service install fail!" 10 + echo "mmmopp service install fail!"
11 fi 11 fi
12 - kubectl -n mmm-suplus-prd get pods | grep -q opp 12 + kubectl -n mmm-suplus-prd get pods | grep -q mmmopp
13 if [ "$?" == "0" ];then 13 if [ "$?" == "0" ];then
14 - echo "opp deployment install success!" 14 + echo "mmmopp deployment install success!"
15 else 15 else
16 - echo "opp deployment install fail!" 16 + echo "mmmopp deployment install fail!"
17 fi 17 fi
18 else 18 else
19 - kubectl delete -f /tmp/prd/opp/opp.yaml  
20 - kubectl -n mmm-suplus-prd get svc | grep -q opp 19 + kubectl delete -f /tmp/prd/mmm-go-opp/opp.yaml
  20 + kubectl -n mmm-suplus-prd get svc | grep -q mmmopp
21 while [ "$?" == "0" ] 21 while [ "$?" == "0" ]
22 do 22 do
23 - kubectl -n mmm-suplus-prd get svc | grep -q opp 23 + kubectl -n mmm-suplus-prd get svc | grep -q mmmopp
24 done 24 done
25 - kubectl -n mmm-suplus-prd get pods | grep -q opp 25 + kubectl -n mmm-suplus-prd get pods | grep -q mmmopp
26 while [ "$?" == "0" ] 26 while [ "$?" == "0" ]
27 do 27 do
28 - kubectl -n mmm-suplus-prd get pods | grep -q opp 28 + kubectl -n mmm-suplus-prd get pods | grep -q mmmopp
29 done 29 done
30 - kubectl create -f /tmp/prd/opp/opp.yaml --record  
31 - kubectl -n mmm-suplus-prd get svc | grep -q opp 30 + kubectl create -f /tmp/prd/mmm-go-opp/opp.yaml --record
  31 + kubectl -n mmm-suplus-prd get svc | grep -q mmmopp
32 if [ "$?" == "0" ];then 32 if [ "$?" == "0" ];then
33 - echo "opp service update success!" 33 + echo "mmmopp service update success!"
34 else 34 else
35 echo "opp service update fail!" 35 echo "opp service update fail!"
36 fi 36 fi
1 apiVersion: v1 1 apiVersion: v1
2 kind: Service 2 kind: Service
3 metadata: 3 metadata:
4 - name: opp 4 + name: mmmopp
5 namespace: mmm-suplus-prd 5 namespace: mmm-suplus-prd
6 labels: 6 labels:
7 - k8s-app: opp 7 + k8s-app: mmmopp
8 spec: 8 spec:
9 ports: 9 ports:
10 - name: "http" 10 - name: "http"
11 port: 80 11 port: 80
12 - targetPort: 8082 12 + targetPort: 8080
13 selector: 13 selector:
14 - k8s-app: opp 14 + k8s-app: mmmopp
15 --- 15 ---
16 apiVersion: extensions/v1beta1 16 apiVersion: extensions/v1beta1
17 kind: Deployment 17 kind: Deployment
18 metadata: 18 metadata:
19 - name: opp 19 + name: mmmopp
20 namespace: mmm-suplus-prd 20 namespace: mmm-suplus-prd
21 labels: 21 labels:
22 - k8s-app: opp 22 + k8s-app: mmmopp
23 spec: 23 spec:
24 replicas: 1 24 replicas: 1
25 template: 25 template:
26 metadata: 26 metadata:
27 labels: 27 labels:
28 - k8s-app: opp 28 + k8s-app: mmmopp
29 spec: 29 spec:
30 affinity: 30 affinity:
31 nodeAffinity: 31 nodeAffinity:
@@ -43,20 +43,17 @@ spec: @@ -43,20 +43,17 @@ spec:
43 - cn-hangzhou.i-bp1euf5u1ph9kbhtndhb 43 - cn-hangzhou.i-bp1euf5u1ph9kbhtndhb
44 - cn-hangzhou.i-bp1hyp5oips9cdwxxgxy 44 - cn-hangzhou.i-bp1hyp5oips9cdwxxgxy
45 containers: 45 containers:
46 - - name: opp  
47 - image: 192.168.0.243:5000/mmm/opp:master 46 + - name: mmmopp
  47 + image: 192.168.0.243:5000/mmm/mmmopp:dev
48 imagePullPolicy: Always 48 imagePullPolicy: Always
49 - ports:  
50 - - containerPort: 8082  
51 volumeMounts: 49 volumeMounts:
52 - mountPath: /opt/logs 50 - mountPath: /opt/logs
53 name: accesslogs 51 name: accesslogs
  52 + - mountPath: /var/www/opp/file
  53 + name: mmmjihuitest2-pvc1
  54 + ports:
  55 + - containerPort: 8080
54 env: 56 env:
55 - - name: ENTERPRISE_SERVICE_HOST  
56 - valueFrom:  
57 - configMapKeyRef:  
58 - name: suplus-config  
59 - key: service.enterprise  
60 - name: MYSQL_HOST 57 - name: MYSQL_HOST
61 valueFrom: 58 valueFrom:
62 configMapKeyRef: 59 configMapKeyRef:
@@ -67,6 +64,16 @@ spec: @@ -67,6 +64,16 @@ spec:
67 configMapKeyRef: 64 configMapKeyRef:
68 name: suplus-config 65 name: suplus-config
69 key: mysql.port 66 key: mysql.port
  67 + - name: REDIS_HOST
  68 + valueFrom:
  69 + configMapKeyRef:
  70 + name: suplus-config
  71 + key: redis.ip
  72 + - name: REDIS_PORT
  73 + valueFrom:
  74 + configMapKeyRef:
  75 + name: suplus-config
  76 + key: redis.port
70 - name: MYSQL_USER 77 - name: MYSQL_USER
71 valueFrom: 78 valueFrom:
72 configMapKeyRef: 79 configMapKeyRef:
@@ -78,19 +85,18 @@ spec: @@ -78,19 +85,18 @@ spec:
78 name: suplus-config 85 name: suplus-config
79 key: mysql.password 86 key: mysql.password
80 - name: MYSQL_DB_NAME 87 - name: MYSQL_DB_NAME
81 - value: "opp"  
82 - - name: LOG_LEVEL  
83 - value: "debug"  
84 - - name: ERROR_BASE_CODE  
85 - value: "9"  
86 - - name: ERROR_BASE_CODE_MULTIPLE  
87 - value: "1000" 88 + value: "opportunity"
88 - name: RUN_MODE 89 - name: RUN_MODE
89 value: "prod" 90 value: "prod"
90 - - name: aliyun_logs_suplus 91 + - name: LOG_LEVEL
  92 + value: "debug"
  93 + - name: aliyun_logs_suplusfile
91 value: "stdout" 94 value: "stdout"
92 - name: aliyun_logs_access 95 - name: aliyun_logs_access
93 - value: "/opt/logs/app.log" 96 + value: " /opt/logs/app.log"
94 volumes: 97 volumes:
95 - name: accesslogs 98 - name: accesslogs
96 emptyDir: {} 99 emptyDir: {}
  100 + - name: mmmjihuitest2-pvc1
  101 + persistentVolumeClaim:
  102 + claimName: mmmjihuitest2-pvc
@@ -114,3 +114,10 @@ func NewSuccessWithMessage(msg string) *ErrWithMessage { @@ -114,3 +114,10 @@ func NewSuccessWithMessage(msg string) *ErrWithMessage {
114 ErrorCode: ErrorCode{0, msg}, 114 ErrorCode: ErrorCode{0, msg},
115 } 115 }
116 } 116 }
  117 +
  118 +func NewCustomMessage(code int, msg string) *ErrWithMessage {
  119 + return &ErrWithMessage{
  120 + Err: nil,
  121 + ErrorCode: ErrorCode{code, msg},
  122 + }
  123 +}
@@ -324,8 +324,16 @@ func ChanceApprove(header *protocol.RequestHeader, request *protocol.ChanceAppro @@ -324,8 +324,16 @@ func ChanceApprove(header *protocol.RequestHeader, request *protocol.ChanceAppro
324 mapProcess["ReviewStatus"] = int8(request.ReviewStatus) 324 mapProcess["ReviewStatus"] = int8(request.ReviewStatus)
325 mapProcess["ApproveTime"] = time.Now() 325 mapProcess["ApproveTime"] = time.Now()
326 mapProcess["IsActive"] = int8(0) 326 mapProcess["IsActive"] = int8(0)
327 - mapChance["ApproveTime"] = time.Now()  
328 mapProcess["UpdateAt"] = time.Now() 327 mapProcess["UpdateAt"] = time.Now()
  328 +
  329 + mapChance["ApproveTime"] = time.Now()
  330 + mapChance["BasicScore"] = request.ApproveData.Score.BasicScore
  331 + mapChance["ExtraScore"] = request.ApproveData.Score.ExtraScore
  332 + mapChance["ValueScore"] = request.ApproveData.Score.ValueScore
  333 + mapChance["DiscoveryScore"] = request.ApproveData.Score.DiscoveryScore
  334 + mapChance["ApproveData"] = common.AssertJson(request.ApproveData)
  335 + mapChance["PublishStatus"] = request.ApproveData.PublicData.PublishStatus
  336 +
329 if request.ReviewStatus == protocol.ReviewStatusPass { 337 if request.ReviewStatus == protocol.ReviewStatusPass {
330 mapProcess["BasicScore"] = request.ApproveData.Score.BasicScore 338 mapProcess["BasicScore"] = request.ApproveData.Score.BasicScore
331 mapProcess["ExtraScore"] = request.ApproveData.Score.ExtraScore 339 mapProcess["ExtraScore"] = request.ApproveData.Score.ExtraScore
@@ -334,12 +342,12 @@ func ChanceApprove(header *protocol.RequestHeader, request *protocol.ChanceAppro @@ -334,12 +342,12 @@ func ChanceApprove(header *protocol.RequestHeader, request *protocol.ChanceAppro
334 mapProcess["ApproveData"] = common.AssertJson(request.ApproveData) 342 mapProcess["ApproveData"] = common.AssertJson(request.ApproveData)
335 mapProcess["EnableStatus"] = int8(1) 343 mapProcess["EnableStatus"] = int8(1)
336 344
337 - mapChance["BasicScore"] = request.ApproveData.Score.BasicScore  
338 - mapChance["ExtraScore"] = request.ApproveData.Score.ExtraScore  
339 - mapChance["ValueScore"] = request.ApproveData.Score.ValueScore  
340 - mapChance["DiscoveryScore"] = request.ApproveData.Score.DiscoveryScore  
341 - mapChance["ApproveData"] = common.AssertJson(request.ApproveData)  
342 - mapChance["PublishStatus"] = request.ApproveData.PublicData.PublishStatus 345 + //mapChance["BasicScore"] = request.ApproveData.Score.BasicScore
  346 + //mapChance["ExtraScore"] = request.ApproveData.Score.ExtraScore
  347 + //mapChance["ValueScore"] = request.ApproveData.Score.ValueScore
  348 + //mapChance["DiscoveryScore"] = request.ApproveData.Score.DiscoveryScore
  349 + //mapChance["ApproveData"] = common.AssertJson(request.ApproveData)
  350 + //mapChance["PublishStatus"] = request.ApproveData.PublicData.PublishStatus
343 } 351 }
344 } 352 }
345 log.Info(fmt.Sprintf("用户:%v 提交审核 机会编号:%v 审批流编号:%v 审批状态:%v", header.UserId, chance.Id, process.Id, request.ReviewStatus)) 353 log.Info(fmt.Sprintf("用户:%v 提交审核 机会编号:%v 审批流编号:%v 审批状态:%v", header.UserId, chance.Id, process.Id, request.ReviewStatus))
@@ -354,6 +362,7 @@ func ChanceApprove(header *protocol.RequestHeader, request *protocol.ChanceAppro @@ -354,6 +362,7 @@ func ChanceApprove(header *protocol.RequestHeader, request *protocol.ChanceAppro
354 //退回同时生成一条提交记录 362 //退回同时生成一条提交记录
355 if request.ReviewStatus == protocol.ReviewStatusReturn { 363 if request.ReviewStatus == protocol.ReviewStatusReturn {
356 mapChance["ReviewStatus"] = int8(request.ReviewStatus) //退回也要更新审核状态 364 mapChance["ReviewStatus"] = int8(request.ReviewStatus) //退回也要更新审核状态
  365 + mapChance["ApproveData"] = "" //清空审核数据
357 //增加一条待处理记录到审核列表 366 //增加一条待处理记录到审核列表
358 //生成提交记录 367 //生成提交记录
359 if _, err = orm.Insert(GenAuditFlowProcess_Submit(chance.UserId, chance.Id, chance.AuditTemplateId, protocol.ReviewStatusWait)); err != nil { 368 if _, err = orm.Insert(GenAuditFlowProcess_Submit(chance.UserId, chance.Id, chance.AuditTemplateId, protocol.ReviewStatusWait)); err != nil {
@@ -1798,6 +1798,14 @@ func ChanceDetail(header *protocol.RequestHeader, request *protocol.ChanceDetail @@ -1798,6 +1798,14 @@ func ChanceDetail(header *protocol.RequestHeader, request *protocol.ChanceDetail
1798 log.Error(err) 1798 log.Error(err)
1799 return 1799 return
1800 } 1800 }
  1801 + if chance.EnableStatus == 0 {
  1802 + err = protocol.NewErrWithMessage(5101)
  1803 + return
  1804 + }
  1805 + if chance.Status == models.ChanceStatusClose { //只有一个报错码5101 机会删除
  1806 + err = protocol.NewCustomMessage(5101, "该机会已被关闭或您没有权限查看")
  1807 + return
  1808 + }
1801 if template, e := models.GetAuditTemplateById(chance.AuditTemplateId); e == nil { 1809 if template, e := models.GetAuditTemplateById(chance.AuditTemplateId); e == nil {
1802 rsp.ChanceTemplate = protocol.NameItem{ 1810 rsp.ChanceTemplate = protocol.NameItem{
1803 Id: int(template.Id), 1811 Id: int(template.Id),
@@ -1810,14 +1818,6 @@ func ChanceDetail(header *protocol.RequestHeader, request *protocol.ChanceDetail @@ -1810,14 +1818,6 @@ func ChanceDetail(header *protocol.RequestHeader, request *protocol.ChanceDetail
1810 Name: chanceType.Name, 1818 Name: chanceType.Name,
1811 } 1819 }
1812 } 1820 }
1813 - if chance.EnableStatus == 0 {  
1814 - err = protocol.NewErrWithMessage(5101)  
1815 - return  
1816 - }  
1817 - if chance.Status == models.ChanceStatusClose { //只有一个报错码5101 机会删除  
1818 - err = protocol.NewErrWithMessage(5101)  
1819 - return  
1820 - }  
1821 if chance.ReviewStatus == protocol.ReviewStatusPass { 1821 if chance.ReviewStatus == protocol.ReviewStatusPass {
1822 if !utils.ExecuteSqlByRoll(true, agg.GetIncrementSql(table, "view_total", 1, request.Id)) { 1822 if !utils.ExecuteSqlByRoll(true, agg.GetIncrementSql(table, "view_total", 1, request.Id)) {
1823 // 1823 //