#!/bin/bash
#usage:
# ./ossUpgrade.sh "stage/ztsjxxxt/frontEnd/" html.zip ztsjxxxt

PATH=PATH:/usr/bin:/usr/sbin
ossPath=$1 #末尾别忘了加/
fileName=$2
serviceName=$3
projectName="${fileName%.*}"

function compare(){
  cd ~
  if [ ! -f ${projectName}_oss.info ]; then
    touch ${projectName}_oss.info
  fi
  (./ossutil stat oss://ztupload/${ossPath}$fileName | head -n -2) > ${projectName}_upstream_oss.info
  upstreamOssInfoMd5=$(md5sum ${projectName}_upstream_oss.info)
  upstreamOssInfoMd5="${upstreamOssInfoMd5%  *}"
  locOssInfoMd5=$(md5sum ${projectName}_oss.info)
  locOssInfoMd5="${locOssInfoMd5%  *}"
  echo "upstream $fileName ossInfo md5: |${upstreamOssInfoMd5}|"
  echo "localTep $fileName ossInfo md5: |${locOssInfoMd5}|"
  echo "upstream:"
  cat ${projectName}_upstream_oss.info
  echo "localTem:"
  cat ${projectName}_oss.info
  if [ "${upstreamOssInfoMd5}" = "${locOssInfoMd5}" ];then
    return 0
  else 
    return 1
  fi
}

function downloadFromOss(){
  cd ~
  rm $fileName
  echo "fileName: " $fileName
  ./ossutil cp oss://ztupload/${ossPath}${fileName} ${fileName}
  (./ossutil stat oss://ztupload/${ossPath}$fileName | head -n -2) > ${projectName}_oss.info
}

# function uploadLog(){
  # logPath=${ossPath%/*}
  # logPath=${logPath%/*}/logs/
  # osslogPath=oss://ztupload/${logPath}autoDeploy.log
  # journalctl -n 1000 -xe -t autoDeploy > ~/autoDeploy.log
  # if [ $? = 0 ];then
    # echo "uploaded log to ${osslogPath}"
  # fi
# }

# function isFrontEnd(){
  # result=$(echo $fileName | grep ".zip")
  # if [[ "$result" != "" ]]; then
      # return 0
  # else
      # return 1
  # fi
# }


function main(){
  echo " "
  echo "start ossUpgrade service"
  compare
  result=$?
  if [ $result = 0 ];then 
      # uploadLog
      echo "local temp file $fileName is same with oss file,no need to replace"
      exit 0
      echo "end ossUpgrade service"
      echo " "
  else
      echo "local temp file $fileName is different from oss, will download..."
  fi

  downloadFromOss
  # uploadLog
  echo "local temp file replaced"
  # isFrontEnd
  # result=$?
  # if [ $result = 0 ];then
    # preName=${fileName%/*}
    # echo "frontEnd package ${preName} will cover to projectPath"
#
  # fi
  echo "end ossUpgrade service"
  echo " "
}

main