|
|
|
|
|
|
|
|
func onSubscribe(in InWechatMsg) { |
|
|
func onSubscribe(in InWechatMsg) { |
|
|
openID := in.header.FromUserName |
|
|
openID := in.header.FromUserName |
|
|
//check whether we have his own record in the CRM system |
|
|
//check whether we have his own record in the CRM system |
|
|
info, found, err := crmFindOpenID("weid") |
|
|
|
|
|
log.Println(info) |
|
|
|
|
|
//existing user |
|
|
|
|
|
if found && err == nil { |
|
|
|
|
|
sendGreeting4ExistingUser(in, info) |
|
|
|
|
|
|
|
|
info, found, err := crmFindOpenID(openID) |
|
|
|
|
|
|
|
|
|
|
|
if err != nil { |
|
|
|
|
|
log.Println(err) |
|
|
return |
|
|
return |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
//new user |
|
|
|
|
|
if !found && err == nil { //something is seriously wrong |
|
|
|
|
|
|
|
|
//existing user |
|
|
|
|
|
if found { |
|
|
|
|
|
sendGreeting4ExistingUser(in, info) |
|
|
|
|
|
} else { //new user |
|
|
//get user info from wechat |
|
|
//get user info from wechat |
|
|
info := WechatUserInfo{} |
|
|
info := WechatUserInfo{} |
|
|
err := info.getUserInfo(openID, "zh_CN") |
|
|
|
|
|
if err != nil { |
|
|
|
|
|
log.Printf("ERROR: failed to get userinfo [%s] ", openID) |
|
|
|
|
|
log.Println(err) |
|
|
|
|
|
//registerNewUser(openID) |
|
|
|
|
|
} else { |
|
|
|
|
|
//registerNewUserWithInfo(openID, info) |
|
|
|
|
|
} |
|
|
|
|
|
//AskUserFillupBasicInfo() |
|
|
|
|
|
|
|
|
info.getUserInfo(openID, "zh_CN") |
|
|
|
|
|
info.registerNewUserWithInfo(in) |
|
|
|
|
|
AskUserFillupBasicInfo(in) |
|
|
} |
|
|
} |
|
|
|
|
|
//some error happened |
|
|
|
|
|
|
|
|
//some error |
|
|
|
|
|
if err != nil { |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
//WechatUserInfo response for wechat user info. |
|
|
//WechatUserInfo response for wechat user info. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
func askUserFillupBasicInfo(in InWechatMsg) { |
|
|
|
|
|
|
|
|
func AskUserFillupBasicInfo(in InWechatMsg) { |
|
|
first := "欢迎加入海外学子之家,这里凝聚着哈工大人在澳洲的,勤奋,努力和奋斗" |
|
|
first := "欢迎加入海外学子之家,这里凝聚着哈工大人在澳洲的,勤奋,努力和奋斗" |
|
|
url := "http://wechat.hitxy.org.au/profile_newly_register" |
|
|
url := "http://wechat.hitxy.org.au/profile_newly_register" |
|
|
remark := "如果您是首次加入本社区,请点击详情完善您的个人资料" |
|
|
|
|
|
|
|
|
remark := "您是首次加入本社区,请点击详情完善您的个人资料" |
|
|
communityName := "哈工大澳洲校友会" |
|
|
communityName := "哈工大澳洲校友会" |
|
|
joinDate := time.Now().Format("2006-Jan-02") |
|
|
joinDate := time.Now().Format("2006-Jan-02") |
|
|
templateSendJoinCommunity(in.header.FromUserName, url, first, remark, communityName, joinDate) |
|
|
templateSendJoinCommunity(in.header.FromUserName, url, first, remark, communityName, joinDate) |
|
|
|
|
|
|
|
|
templateSendJoinCommunity(in.header.FromUserName, url, first, remark, communityName, joinDate) |
|
|
templateSendJoinCommunity(in.header.FromUserName, url, first, remark, communityName, joinDate) |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
func (m *WechatUserInfo) registerNewUserWithInfo(in InWechatMsg) { |
|
|
|
|
|
u := crmLeadInfo{} |
|
|
|
|
|
u.FirstName = m.NickName |
|
|
|
|
|
u.LastName = " ." |
|
|
|
|
|
u.Password = "password" |
|
|
|
|
|
u.WechatHitxyID = in.header.FromUserName |
|
|
|
|
|
u.Status = "New" |
|
|
|
|
|
|
|
|
|
|
|
data, _ := json.Marshal(u) |
|
|
|
|
|
url := "https://c.hitxy.org.au/api/v1/Lead" |
|
|
|
|
|
headers := crmPrepareLeadUploadHTTPHeader() |
|
|
|
|
|
resp, err := postRAW(data, url, headers) |
|
|
|
|
|
log.Println(resp) |
|
|
|
|
|
log.Println(err) |
|
|
|
|
|
} |