作者 yangfu

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

自定义错误
#!/bin/bash
export PATH=/root/local/bin:$PATH
kubectl -n mmm-suplus-prd get pods | grep -q opp
kubectl -n mmm-suplus-prd get pods | grep -q mmmopp
if [ "$?" == "1" ];then
kubectl create -f /tmp/prd/opp/opp.yaml --record
kubectl -n mmm-suplus-prd get svc | grep -q opp
kubectl create -f /tmp/prd/mmm-go-opp/opp.yaml --record
kubectl -n mmm-suplus-prd get svc | grep -q mmmopp
if [ "$?" == "0" ];then
echo "opp service install success!"
echo "mmmopp service install success!"
else
echo "opp service install fail!"
echo "mmmopp service install fail!"
fi
kubectl -n mmm-suplus-prd get pods | grep -q opp
kubectl -n mmm-suplus-prd get pods | grep -q mmmopp
if [ "$?" == "0" ];then
echo "opp deployment install success!"
echo "mmmopp deployment install success!"
else
echo "opp deployment install fail!"
echo "mmmopp deployment install fail!"
fi
else
kubectl delete -f /tmp/prd/opp/opp.yaml
kubectl -n mmm-suplus-prd get svc | grep -q opp
kubectl delete -f /tmp/prd/mmm-go-opp/opp.yaml
kubectl -n mmm-suplus-prd get svc | grep -q mmmopp
while [ "$?" == "0" ]
do
kubectl -n mmm-suplus-prd get svc | grep -q opp
kubectl -n mmm-suplus-prd get svc | grep -q mmmopp
done
kubectl -n mmm-suplus-prd get pods | grep -q opp
kubectl -n mmm-suplus-prd get pods | grep -q mmmopp
while [ "$?" == "0" ]
do
kubectl -n mmm-suplus-prd get pods | grep -q opp
kubectl -n mmm-suplus-prd get pods | grep -q mmmopp
done
kubectl create -f /tmp/prd/opp/opp.yaml --record
kubectl -n mmm-suplus-prd get svc | grep -q opp
kubectl create -f /tmp/prd/mmm-go-opp/opp.yaml --record
kubectl -n mmm-suplus-prd get svc | grep -q mmmopp
if [ "$?" == "0" ];then
echo "opp service update success!"
echo "mmmopp service update success!"
else
echo "opp service update fail!"
fi
... ...
apiVersion: v1
kind: Service
metadata:
name: opp
name: mmmopp
namespace: mmm-suplus-prd
labels:
k8s-app: opp
k8s-app: mmmopp
spec:
ports:
- name: "http"
port: 80
targetPort: 8082
- name: "http"
port: 80
targetPort: 8080
selector:
k8s-app: opp
k8s-app: mmmopp
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: opp
name: mmmopp
namespace: mmm-suplus-prd
labels:
k8s-app: opp
k8s-app: mmmopp
spec:
replicas: 1
template:
metadata:
labels:
k8s-app: opp
k8s-app: mmmopp
spec:
affinity:
nodeAffinity:
... ... @@ -43,54 +43,60 @@ spec:
- cn-hangzhou.i-bp1euf5u1ph9kbhtndhb
- cn-hangzhou.i-bp1hyp5oips9cdwxxgxy
containers:
- name: opp
image: 192.168.0.243:5000/mmm/opp:master
imagePullPolicy: Always
ports:
- containerPort: 8082
volumeMounts:
- mountPath: /opt/logs
name: accesslogs
env:
- name: ENTERPRISE_SERVICE_HOST
valueFrom:
configMapKeyRef:
name: suplus-config
key: service.enterprise
- name: MYSQL_HOST
valueFrom:
configMapKeyRef:
name: suplus-config
key: mysql.host
- name: MYSQL_PORT
valueFrom:
configMapKeyRef:
name: suplus-config
key: mysql.port
- name: MYSQL_USER
valueFrom:
configMapKeyRef:
name: suplus-config
key: mysql.user
- name: MYSQL_PASSWORD
valueFrom:
configMapKeyRef:
name: suplus-config
key: mysql.password
- name: MYSQL_DB_NAME
value: "opp"
- name: LOG_LEVEL
value: "debug"
- name: ERROR_BASE_CODE
value: "9"
- name: ERROR_BASE_CODE_MULTIPLE
value: "1000"
- name: RUN_MODE
value: "prod"
- name: aliyun_logs_suplus
value: "stdout"
- name: aliyun_logs_access
value: "/opt/logs/app.log"
- name: mmmopp
image: 192.168.0.243:5000/mmm/mmmopp:dev
imagePullPolicy: Always
volumeMounts:
- mountPath: /opt/logs
name: accesslogs
- mountPath: /var/www/opp/file
name: mmmjihuitest2-pvc1
ports:
- containerPort: 8080
env:
- name: MYSQL_HOST
valueFrom:
configMapKeyRef:
name: suplus-config
key: mysql.host
- name: MYSQL_PORT
valueFrom:
configMapKeyRef:
name: suplus-config
key: mysql.port
- name: REDIS_HOST
valueFrom:
configMapKeyRef:
name: suplus-config
key: redis.ip
- name: REDIS_PORT
valueFrom:
configMapKeyRef:
name: suplus-config
key: redis.port
- name: MYSQL_USER
valueFrom:
configMapKeyRef:
name: suplus-config
key: mysql.user
- name: MYSQL_PASSWORD
valueFrom:
configMapKeyRef:
name: suplus-config
key: mysql.password
- name: MYSQL_DB_NAME
value: "opportunity"
- name: RUN_MODE
value: "prod"
- name: LOG_LEVEL
value: "debug"
- name: aliyun_logs_suplusfile
value: "stdout"
- name: aliyun_logs_access
value: " /opt/logs/app.log"
volumes:
- name: accesslogs
emptyDir: {}
\ No newline at end of file
- name: accesslogs
emptyDir: {}
- name: mmmjihuitest2-pvc1
persistentVolumeClaim:
claimName: mmmjihuitest2-pvc
\ No newline at end of file
... ...
... ... @@ -114,3 +114,10 @@ func NewSuccessWithMessage(msg string) *ErrWithMessage {
ErrorCode: ErrorCode{0, msg},
}
}
func NewCustomMessage(code int, msg string) *ErrWithMessage {
return &ErrWithMessage{
Err: nil,
ErrorCode: ErrorCode{code, msg},
}
}
... ...
... ... @@ -324,8 +324,16 @@ func ChanceApprove(header *protocol.RequestHeader, request *protocol.ChanceAppro
mapProcess["ReviewStatus"] = int8(request.ReviewStatus)
mapProcess["ApproveTime"] = time.Now()
mapProcess["IsActive"] = int8(0)
mapChance["ApproveTime"] = time.Now()
mapProcess["UpdateAt"] = time.Now()
mapChance["ApproveTime"] = time.Now()
mapChance["BasicScore"] = request.ApproveData.Score.BasicScore
mapChance["ExtraScore"] = request.ApproveData.Score.ExtraScore
mapChance["ValueScore"] = request.ApproveData.Score.ValueScore
mapChance["DiscoveryScore"] = request.ApproveData.Score.DiscoveryScore
mapChance["ApproveData"] = common.AssertJson(request.ApproveData)
mapChance["PublishStatus"] = request.ApproveData.PublicData.PublishStatus
if request.ReviewStatus == protocol.ReviewStatusPass {
mapProcess["BasicScore"] = request.ApproveData.Score.BasicScore
mapProcess["ExtraScore"] = request.ApproveData.Score.ExtraScore
... ... @@ -334,12 +342,12 @@ func ChanceApprove(header *protocol.RequestHeader, request *protocol.ChanceAppro
mapProcess["ApproveData"] = common.AssertJson(request.ApproveData)
mapProcess["EnableStatus"] = int8(1)
mapChance["BasicScore"] = request.ApproveData.Score.BasicScore
mapChance["ExtraScore"] = request.ApproveData.Score.ExtraScore
mapChance["ValueScore"] = request.ApproveData.Score.ValueScore
mapChance["DiscoveryScore"] = request.ApproveData.Score.DiscoveryScore
mapChance["ApproveData"] = common.AssertJson(request.ApproveData)
mapChance["PublishStatus"] = request.ApproveData.PublicData.PublishStatus
//mapChance["BasicScore"] = request.ApproveData.Score.BasicScore
//mapChance["ExtraScore"] = request.ApproveData.Score.ExtraScore
//mapChance["ValueScore"] = request.ApproveData.Score.ValueScore
//mapChance["DiscoveryScore"] = request.ApproveData.Score.DiscoveryScore
//mapChance["ApproveData"] = common.AssertJson(request.ApproveData)
//mapChance["PublishStatus"] = request.ApproveData.PublicData.PublishStatus
}
}
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
//退回同时生成一条提交记录
if request.ReviewStatus == protocol.ReviewStatusReturn {
mapChance["ReviewStatus"] = int8(request.ReviewStatus) //退回也要更新审核状态
mapChance["ApproveData"] = "" //清空审核数据
//增加一条待处理记录到审核列表
//生成提交记录
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
log.Error(err)
return
}
if chance.EnableStatus == 0 {
err = protocol.NewErrWithMessage(5101)
return
}
if chance.Status == models.ChanceStatusClose { //只有一个报错码5101 机会删除
err = protocol.NewCustomMessage(5101, "该机会已被关闭或您没有权限查看")
return
}
if template, e := models.GetAuditTemplateById(chance.AuditTemplateId); e == nil {
rsp.ChanceTemplate = protocol.NameItem{
Id: int(template.Id),
... ... @@ -1810,14 +1818,6 @@ func ChanceDetail(header *protocol.RequestHeader, request *protocol.ChanceDetail
Name: chanceType.Name,
}
}
if chance.EnableStatus == 0 {
err = protocol.NewErrWithMessage(5101)
return
}
if chance.Status == models.ChanceStatusClose { //只有一个报错码5101 机会删除
err = protocol.NewErrWithMessage(5101)
return
}
if chance.ReviewStatus == protocol.ReviewStatusPass {
if !utils.ExecuteSqlByRoll(true, agg.GetIncrementSql(table, "view_total", 1, request.Id)) {
//
... ...