作者 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"  
11 - port: 80  
12 - targetPort: 8082 10 + - name: "http"
  11 + port: 80
  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,54 +43,60 @@ spec: @@ -43,54 +43,60 @@ 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  
48 - imagePullPolicy: Always  
49 - ports:  
50 - - containerPort: 8082  
51 - volumeMounts:  
52 - - mountPath: /opt/logs  
53 - name: accesslogs  
54 - env:  
55 - - name: ENTERPRISE_SERVICE_HOST  
56 - valueFrom:  
57 - configMapKeyRef:  
58 - name: suplus-config  
59 - key: service.enterprise  
60 - - name: MYSQL_HOST  
61 - valueFrom:  
62 - configMapKeyRef:  
63 - name: suplus-config  
64 - key: mysql.host  
65 - - name: MYSQL_PORT  
66 - valueFrom:  
67 - configMapKeyRef:  
68 - name: suplus-config  
69 - key: mysql.port  
70 - - name: MYSQL_USER  
71 - valueFrom:  
72 - configMapKeyRef:  
73 - name: suplus-config  
74 - key: mysql.user  
75 - - name: MYSQL_PASSWORD  
76 - valueFrom:  
77 - configMapKeyRef:  
78 - name: suplus-config  
79 - key: mysql.password  
80 - - 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 - - name: RUN_MODE  
89 - value: "prod"  
90 - - name: aliyun_logs_suplus  
91 - value: "stdout"  
92 - - name: aliyun_logs_access  
93 - value: "/opt/logs/app.log" 46 + - name: mmmopp
  47 + image: 192.168.0.243:5000/mmm/mmmopp:dev
  48 + imagePullPolicy: Always
  49 + volumeMounts:
  50 + - mountPath: /opt/logs
  51 + name: accesslogs
  52 + - mountPath: /var/www/opp/file
  53 + name: mmmjihuitest2-pvc1
  54 + ports:
  55 + - containerPort: 8080
  56 + env:
  57 + - name: MYSQL_HOST
  58 + valueFrom:
  59 + configMapKeyRef:
  60 + name: suplus-config
  61 + key: mysql.host
  62 + - name: MYSQL_PORT
  63 + valueFrom:
  64 + configMapKeyRef:
  65 + name: suplus-config
  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
  77 + - name: MYSQL_USER
  78 + valueFrom:
  79 + configMapKeyRef:
  80 + name: suplus-config
  81 + key: mysql.user
  82 + - name: MYSQL_PASSWORD
  83 + valueFrom:
  84 + configMapKeyRef:
  85 + name: suplus-config
  86 + key: mysql.password
  87 + - name: MYSQL_DB_NAME
  88 + value: "opportunity"
  89 + - name: RUN_MODE
  90 + value: "prod"
  91 + - name: LOG_LEVEL
  92 + value: "debug"
  93 + - name: aliyun_logs_suplusfile
  94 + value: "stdout"
  95 + - name: aliyun_logs_access
  96 + value: " /opt/logs/app.log"
94 volumes: 97 volumes:
95 - - name: accesslogs  
96 - emptyDir: {}  
  98 + - name: accesslogs
  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 //