package gameapi
//
//import (
//	"../log"
//	pb "../protos"
//	"bytes"
//	"crypto/tls"
//	"encoding/json"
//	"fmt"
//	"go.uber.org/zap"
//	"io/ioutil"
//	"net/http"
//	"strconv"
//	"time"
//)
//
//func convertMoneyToDW(money int64) int64 {
//	return money / 100
//}
//func DWQP_Enter_game(guid string, gameParam []int32, money string, isReconnect bool, res *pb.S_EnterGame) {
//	log.Debug(">>> DWQP_Enter_game", zap.Any("guid", guid), zap.Any("gameParam", gameParam), zap.Any("money", money), zap.Any("isReconnect", isReconnect))
//	if len(gameParam) != 1 {
//		res.Ec = FAILD
//		return
//	}
//
//	cash, err := strconv.ParseInt(money, 10, 64)
//	cash = convertMoneyToDW(cash)
//	if err != nil {
//		log.Error("DWQP_Enter_game ParseFloat err", zap.Error(err))
//		res.Ec = FAILD
//		return
//	}
//	if cash < 0 {
//		log.Error("DWQP_Enter_game cash < 0")
//		res.Ec = FAILD
//		return
//	}
//
//	kindId := strconv.FormatInt(int64(gameParam[0]), 10)
//	login := &DW_login_req_temp{"", "CNY", kindId, "zh", Md5Encrypt(guid), time.Now().Unix(), guid}
//	var result DW_response
//
//	if DW_Request(dw_login_uri, loadLoginParams(login), &result) { //登陆
//		log.Debug("DWQP_Enter_game login success", zap.String("url", result.Data.Gameurl))
//		if isReconnect {
//			log.Debug("DWQP_Enter_game isReconnect success", zap.String("guid", guid), zap.Int64("money", cash))
//			res.Ec = SUCCESS
//			res.Url = result.Data.Gameurl
//		} else {
//			orderid := DW_APIID + GetFormatDate() + guid
//			transfer := &DW_transfer_req_temp{cash, "CNY", "zh", orderid, time.Now().Unix(), guid}
//			if DW_Request(dw_transfer_uri, loadTranParams(transfer), &result) { //上分
//				log.Debug("DWQP_Enter_game transfer success", zap.String("guid", guid), zap.Int64("money", cash))
//				res.Ec = SUCCESS
//				res.Url = result.Data.Gameurl
//			} else {
//				log.Debug("DWQP_Enter_game transfer failed", zap.String("guid", guid), zap.Int64("money", cash))
//				res.Ec = FAILD
//			}
//		}
//	} else {
//		log.Debug("DWQP_Enter_game login success", zap.String("guid", guid))
//		res.Ec = FAILD
//		return
//	}
//}
//
////DW棋牌1:1000 平台1:100 直接舍弃dw回传最后一位
//func dwConverMoney(balance int64) int64 {
//	if balance <= 10 {
//		return 0
//	}
//	return balance / 10
//}
//
//func DWQP_Leave_game(guid string, balance *pb.S_Ntf_UserBalance, res *pb.S_LeaveGame) {
//
//	log.Debug("DWQP_Leave_game >>>", zap.String("guid", guid))
//	orderid := DW_APIID + GetFormatDate() + guid
//	req := &DW_takeall_req_temp{"CNY", "zh", orderid, time.Now().Unix(), guid}
//	var result DW_response
//	if DW_Request(dw_takeall_uri, loadTakeAllParams(req), &result) {
//		balance.Balance = dwConverMoney(result.Data.Changecoin)
//		log.Debug("DWQP_Leave_game takeall success", zap.String("guid", guid), zap.Int64("balance", balance.Balance))
//		res.Ec = SUCCESS
//	} else {
//		log.Debug("DWQP_Leave_game takeall failed", zap.String("guid", guid))
//		res.Ec = FAILD
//	}
//
//	query_balance := &DW_balance_req_temp{"zh", time.Now().Unix(), guid}
//	var dw DW_response
//	if DW_Request(dw_balance_uri, loadBalanceParams(query_balance), &dw) {
//		if dw.Data.Amount != 0 {
//			log.Error("DWQP_Leave_game balance is not zero", zap.String("guid", guid))
//		}
//	} else {
//		log.Debug("DWQP_Leave_game query_balance failed", zap.String("guid", guid))
//	}
//}
//
//func loadLoginParams(p interface{}) []byte {
//	js, err := json.Marshal(p)
//	if err != nil {
//		fmt.Println("DW_Request json.Marshal", err)
//	}
//	var req DW_login_req
//	if err := json.Unmarshal(js, &req); err != nil {
//		fmt.Println("DW_Request json.Unmarshal", err)
//	}
//	req.Sign = Md5Encrypt(DW_APIID + fmt.Sprintf("%s", js) + DW_KEY)
//	result, err := json.Marshal(req)
//	if err != nil {
//		fmt.Println("DW_Request json.Marshal", err)
//	}
//	return result
//}
//
//func loadTranParams(p interface{}) []byte {
//	js, err := json.Marshal(p)
//	if err != nil {
//		fmt.Println("DW_Request json.Marshal", err)
//	}
//	var req DW_transfer_req
//	if err := json.Unmarshal(js, &req); err != nil {
//		fmt.Println("DW_Request json.Unmarshal", err)
//	}
//	req.Sign = Md5Encrypt(DW_APIID + fmt.Sprintf("%s", js) + DW_KEY)
//	result, err := json.Marshal(req)
//	if err != nil {
//		fmt.Println("DW_Request json.Marshal", err)
//	}
//	return result
//}
//
//func loadBalanceParams(p interface{}) []byte {
//	js, err := json.Marshal(p)
//	if err != nil {
//		fmt.Println("DW_Request json.Marshal", err)
//	}
//	var req DW_balance_req
//	if err := json.Unmarshal(js, &req); err != nil {
//		fmt.Println("DW_Request json.Unmarshal", err)
//	}
//	req.Sign = Md5Encrypt(DW_APIID + fmt.Sprintf("%s", js) + DW_KEY)
//	result, err := json.Marshal(req)
//	if err != nil {
//		fmt.Println("DW_Request json.Marshal", err)
//	}
//	return result
//}
//
//func loadTakeAllParams(p interface{}) []byte {
//	js, err := json.Marshal(p)
//	if err != nil {
//		fmt.Println("DW_Request json.Marshal", err)
//	}
//	var req DW_takeall_req
//	if err := json.Unmarshal(js, &req); err != nil {
//		fmt.Println("DW_Request json.Unmarshal", err)
//	}
//	req.Sign = Md5Encrypt(DW_APIID + fmt.Sprintf("%s", js) + DW_KEY)
//	result, err := json.Marshal(req)
//	if err != nil {
//		fmt.Println("DW_Request json.Marshal", err)
//	}
//	return result
//}
//
//func DW_Request(path string, param []byte, res *DW_response) bool {
//
//	log.Debug("DW_Request param", zap.Any("data", fmt.Sprintf("%s", param)))
//	reader := bytes.NewReader(param)
//	log.Debug("url", zap.String("data", DW_URL+path))
//
//	req, err := http.NewRequest("POST", DW_URL+path, reader)
//	if err != nil {
//		log.Error("DW_Request http.NewRequest err", zap.Error(err))
//		return false
//	}
//
//	tr := &http.Transport{
//		TLSClientConfig: &tls.Config{
//			InsecureSkipVerify: true,
//		},
//	}
//
//	client := &http.Client{Transport: tr}
//	req.Header.Set("Content-Type", "application/json")
//
//	resp, err := client.Do(req)
//	if err != nil {
//		log.Error("DW_Request client.Do", zap.Error(err))
//		return false
//	}
//	defer resp.Body.Close()
//
//	body, err := ioutil.ReadAll(resp.Body)
//	if err != nil {
//		log.Error("DW_Request ioutil.ReadAll", zap.Error(err))
//		return false
//	}
//
//	if err := json.Unmarshal(body, res); err != nil {
//		log.Error("DW_Request Unmarshal", zap.Error(err))
//		return false
//	}
//	log.Debug("response", zap.Any("body", *res))
//	if res.Code == 0 && res.Data.Result == 1 {
//		return true
//	} else {
//		return false
//	}
//}
//
//
