#!/bin/bash orderNo=$1 cookie='' header='Content-Type:application/json' hostname="http://`hostname -i`:9012" #####查询订单当前确认状态 function getConfirmStatus() { url_confirmOrderDetail="$hostname/confirm/api/allorder/queryOrderDetail?orderNum=${orderNo}" confirm_status_res=`curl -s -XGET --Cookie "$cookie" --header "$header" $url_confirmOrderDetail` eval $(echo $confirm_status_res| awk -F"," 'BEGIN{ss=0;tt=0} {for(i=1;i<NF;i++) if($i~"orderStatus" && ss==0){ ss=ss+1; printf("confirmStatus=%s;",$i) } else if($i~"payType" && tt==0){ tt++ printf("payType=%s;",$i) } }') confirm_Status=`echo $confirmStatus |awk -F":" '{print $2}'` pay_type=`echo $payType |awk -F":" '{print $2}'` echo $confirm_Status":"$pay_type } confirmStatus1=`echo $(getConfirmStatus) |awk -F":" '{print $1}'` payType1=`echo $(getConfirmStatus) |awk -F":" '{print $2}'` echo "你传入的订单号是"$orderNo",订单没执行前状态是"$confirmStatus1",支付状态是"$payType1 echo "--------------执行订单催确认-------------" sleep 2 ####确认房间操作 data_urgeConfirm='{"orderNum":"100419263793","remark":"催确认"}' url_urgeConfirm="$hostname/confirm/api/confirm/urgeConfirm" if [[ "$confirmStauts1" = "PENDING_CONFIRM" ]] ||[[ "$confirmStatus1" = "SPECIAL" ]] || [[ "$confirmStatus1" = "FOLLOW_CONFIRMING" ]]; then { urgeConfirm=`curl -s --Cookie "$cookie" -d "$data_urgeConfirm" --header "$header" "$url_urgeConfirm"` echo ${urgeConfirm} echo $orderNo",订单当前的确认状态是"$confirmStatus1 } else { echo $orderNo",订单当前的确认状态是"$confirmStatus1",不能执行新单催确认" } fi echo "--------------执行订单确认流程-------------" sleep 2 ####确认房间操作 data_roomConfirm='{"orderNum":'${orderNo}',"codeValue":1,"lackConfirmNoRemark":"","ackNumberFlag":0,"confirmNo":"confirmNo","remark":"yuling"}' url_roomConfirm="$hostname/confirm/api/confirm/roomConfirm" if [[ "$confirmStatus1" = "CONFIRMED" ]]; then { echo "已经是已确认状态,不需要再确认了" } elif [[ "$confirmStatus1" = "CANCELLED" ]]; then { echo "订单已经取消!!!" } else { roomConfirm=`curl -s --Cookie "$cookie" -d "$data_roomConfirm" --header "$header" "$url_roomConfirm"` echo ${roomConfirm} echo $orderNo",订单当前的确认状态是"$confirmStatus1 } fi echo "------------------为客人取消----------------" sleep 2 ###预付要考虑退款规则(是否可退,以及可退款金额是多少) function getRefundInfo() { data_refundInfo='{"orderNum":'${orderNo}'}' url_refundInfo="$hostname/confirm/api/confirm/refundInfo" refundInfo=`curl -s --Cookie "$cookie" -d "$data_refundInfo" --header "$header" "$url_refundInfo"` eval $(echo $refundInfo| awk -F"," 'BEGIN{ss=0;tt=0} {for(i=1;i<NF;i++) if($i~"refundPrice" && ss==0){ ss=ss+1; printf("refundPrice1=%s;",$i) } else if($i~"payType" && tt==0){ tt++ printf("payType=%s;",$i) } }') amount=`echo $refundPrice1 |awk -F":" '{print $3}' |awk -F"." '{print $1}'` echo $amount } echo $(getRefundInfo) data_cancel='{"orderNum":'${orderNo}',"refundPrice":"","refundPromoBalance":"","remark":""}' url_cancel="$hostname/confirm/api/confirm/cancelOrder" if [[ "$confirmStatus1" = "CANCELLED" ]]; then { echo "已经是已取消状态,不需要再为客人取消了哈" } elif [[ "$payType1" = "ONLINE" && "$(getRefundInfo)" -lt 0 ]]; then { echo "订单不可退!或者几毛钱的就别退了哈" } elif [[ "$payType1" = "ONLINE" && "$(getRefundInfo)" -gt 0 ]]; then { data_cancel_online='{"orderNum":'${orderNo}',"refundPrice":'$(getRefundInfo)',"refundPromoBalance":"","remark":""}' cancelOrder=`curl -s --Cookie "$cookie" -d "$data_cancel_online" --header "$header" "$url_cancel"` echo $orderNo",已全额退款,退了"$(getRefundInfo)"钱!" } else { cancelOrder=`curl -s --Cookie "$cookie" -d "$data_cancel" --header "$header" "$url_cancel"` echo ${cancelOrder} echo $orderNo",订单当前的确认状态是"$confirmStatus1 } fi
转载于:https://www.cnblogs.com/sarahyu/p/4877571.html