From 189f456fdfeec2388b9efa031d31bbb1cd77b7ba Mon Sep 17 00:00:00 2001 From: Patrick Peng Sun Date: Sun, 2 Jul 2017 02:31:02 +1000 Subject: [PATCH] indicate error when there is not openID for register new user. --- eventSubscribe.go | 11 +++++++++-- eventSubscribe_test.go | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/eventSubscribe.go b/eventSubscribe.go index 2832bce..583a0a5 100644 --- a/eventSubscribe.go +++ b/eventSubscribe.go @@ -2,6 +2,7 @@ package main import ( "encoding/json" + "errors" "fmt" "io/ioutil" "log" @@ -26,7 +27,7 @@ func onSubscribe(in InWechatMsg) { //get user info from wechat info := WechatUserInfo{} info.getUserInfo(openID, "zh_CN") - info.registerNewUserWithInfo(in) + info.registerNewLeadWithInfo(in) in.askUserFillupBasicInfo() } //some error happened @@ -99,7 +100,13 @@ func sendGreeting4ExistingUser(in InWechatMsg, info crmdLead) { } -func (m *WechatUserInfo) registerNewUserWithInfo(in InWechatMsg) (newuser crmdLead, err error) { +func (m *WechatUserInfo) registerNewLeadWithInfo(in InWechatMsg) (newuser crmdLead, err error) { + if in.header.FromUserName == "" { + log.Println("Error: trying to register user without OpenID") + err = errors.New("registerNewLeadWithInfo: no user OpenID") + return + } + u := crmdLead{} u.FirstName = "\u0020" //a visible space if m.NickName == "" { diff --git a/eventSubscribe_test.go b/eventSubscribe_test.go index 7f7467f..4ede24b 100644 --- a/eventSubscribe_test.go +++ b/eventSubscribe_test.go @@ -75,7 +75,7 @@ func TestRegisterNewUser(t *testing.T) { in.header.FromUserName = "abc" s := WechatUserInfo{} json.Unmarshal([]byte(msg), &s) - newuser, err := s.registerNewUserWithInfo(in) + newuser, err := s.registerNewLeadWithInfo(in) AssertEqual(t, err, nil, "should be successfully added new user") AssertEqual(t, newuser.WechatHitxyID, in.header.FromUserName, "wechat_hitxy_id mismatch") log.Printf("created temp Lead %s ", newuser.ID)