#!/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