logic.go 1.03 KB
package logic

import (
	"common/logger"
	"encoding/json"
	"fmt"
	"net/http"
)

func HandlerGetcurproperty(w http.ResponseWriter, data string) {
	SetHeader(w)
	var resp GetcurpropertyResp
	resp.ErrNum = 0
	var rdata GetcurpropertyReq
	err := json.Unmarshal([]byte(data), &rdata)
	for {
		if err != nil {
			logger.Info("json decode HandlerGetcurproperty data failed:%v,for:%v", err, data)
			resp.RetMsg = "json解析失败"
			resp.ErrNum = ERROR_UNMASH_JSONFAILED
			break
		}

		uinfo, err := GetUserInfo(rdata.Openid)
		if err != nil || uinfo == nil {
			logger.Info(" HandlerGetcurproperty getdata failed:%v,for:%v", err, data)
			resp.RetMsg = "服务器读取数据失败"
			resp.ErrNum = ERROR_SERVER_FAILED
			break
		}

		//需要处理一下物资计算
		uinfo.CalcProperty()

		//返回
		resp.RetData.Leftcnt = uinfo.LeftCnt
		resp.RetData.Curlevle = uinfo.CalcCurLe()
		resp.RetData.Protery = uinfo.Property
		resp.RetData.Speed = uinfo.CalcSpeed()

		break
	}
	//回包
	respstr, _ := json.Marshal(&resp)
	fmt.Fprint(w, string(respstr))
}