|
@@ -181,88 +181,85 @@ func (s *CustomerServ) BindWechatCust(userMap *model.TaUserMapping, phone, recom
|
181
|
181
|
utils.LogError(err.Error())
|
182
|
182
|
return nil, err
|
183
|
183
|
}
|
|
184
|
+ if cust != nil {
|
|
185
|
+ return nil, errors.New("当前手机号已被绑定或者注册")
|
|
186
|
+ }
|
184
|
187
|
|
185
|
188
|
// 用户不存在, 则新增
|
186
|
|
- if cust == nil {
|
187
|
|
- wxInfo := utils.WechatUser{}
|
188
|
|
- if err := json.Unmarshal([]byte(userMap.AccountInfo), &wxInfo); err != nil {
|
189
|
|
- utils.LogError("解析用户微信映射信息失败: " + err.Error())
|
190
|
|
- return nil, errors.New("系统数据异常")
|
191
|
|
- }
|
|
189
|
+ wxInfo := utils.WechatUser{}
|
|
190
|
+ if err := json.Unmarshal([]byte(userMap.AccountInfo), &wxInfo); err != nil {
|
|
191
|
+ utils.LogError("解析用户微信映射信息失败: " + err.Error())
|
|
192
|
+ return nil, errors.New("系统数据异常")
|
|
193
|
+ }
|
192
|
194
|
|
193
|
|
- // 更新用户手机号码信息及userid信息
|
194
|
|
- customer, err := s.dao.GetCustWithWXByOpenID(wxInfo.OpenID)
|
195
|
|
- newCust := model.TaCustomer{
|
196
|
|
- CustomerId: customer.CustomerId,
|
197
|
|
- Phone: phone,
|
198
|
|
- BindingDate: time.Now(),
|
199
|
|
- }
|
200
|
|
- // 校验案场信息
|
201
|
|
- if recommendCode != "" {
|
202
|
|
- user, err := s.dao.GetSalesByRecommendCode(recommendCode)
|
203
|
|
- if err != nil {
|
204
|
|
- utils.LogError(err.Error())
|
205
|
|
- return nil, err
|
206
|
|
- }
|
207
|
|
- userCase, err := s.dao.GetSalesCaseById(user.UserId)
|
208
|
|
- cs, err := s.casedao.GetCaseByID(userCase.CaseId)
|
209
|
|
- if err != nil {
|
210
|
|
- utils.LogError(err.Error())
|
211
|
|
- return nil, err
|
212
|
|
- }
|
213
|
|
-
|
214
|
|
- if cs == nil || cs.Status == models.STATUS_DEL {
|
215
|
|
- return nil, errors.New("系统无该推荐案场")
|
216
|
|
- }
|
217
|
|
-
|
218
|
|
- newCust.OrgId = cs.OrgId
|
219
|
|
- newCust.RecommendCase = cs.CaseId
|
220
|
|
-
|
221
|
|
- if user == nil || user.Status == models.STATUS_DEL {
|
222
|
|
- return nil, errors.New("系统无该推荐人")
|
223
|
|
- }
|
224
|
|
-
|
225
|
|
- newCust.OrgId = user.OrgId
|
226
|
|
- newCust.RecommendId = user.UserId
|
227
|
|
- newCust.RecommendName = user.RealName
|
|
195
|
+ // 更新用户手机号码信息及userid信息
|
|
196
|
+ customer, err := s.dao.GetCustWithWXByOpenID(wxInfo.OpenID)
|
|
197
|
+ newCust := model.TaCustomer{
|
|
198
|
+ CustomerId: customer.CustomerId,
|
|
199
|
+ Phone: phone,
|
|
200
|
+ BindingDate: time.Now(),
|
|
201
|
+ }
|
|
202
|
+ // 校验案场信息
|
|
203
|
+ if recommendCode != "" {
|
|
204
|
+ user, err := s.dao.GetSalesByRecommendCode(recommendCode)
|
|
205
|
+ if err != nil {
|
|
206
|
+ utils.LogError(err.Error())
|
|
207
|
+ return nil, err
|
228
|
208
|
}
|
229
|
|
-
|
230
|
|
- // 校验推荐人
|
231
|
|
- // if userID != "" {
|
232
|
|
- // ar, err := s.dao.GetUserByID(userID)
|
233
|
|
- // if err != nil {
|
234
|
|
- // utils.LogError(err.Error())
|
235
|
|
- // return nil, err
|
236
|
|
- // }
|
237
|
|
-
|
238
|
|
- // if ar == nil || ar.Status == models.STATUS_DEL {
|
239
|
|
- // return nil, errors.New("系统无该推荐人")
|
240
|
|
- // }
|
241
|
|
-
|
242
|
|
- // newCust.OrgId = ar.OrgId
|
243
|
|
- // newCust.RecommendId = ar.UserId
|
244
|
|
- // newCust.RecommendName = ar.RealName
|
245
|
|
- // }
|
246
|
|
-
|
247
|
|
- err = s.dao.UpdateCustomer(&newCust, []string{
|
248
|
|
- "phone",
|
249
|
|
- "recommend_id",
|
250
|
|
- "recommend_case",
|
251
|
|
- "recommend_name",
|
252
|
|
- "binding_date",
|
253
|
|
- })
|
|
209
|
+ userCase, err := s.dao.GetSalesCaseById(user.UserId)
|
|
210
|
+ cs, err := s.casedao.GetCaseByID(userCase.CaseId)
|
254
|
211
|
if err != nil {
|
255
|
212
|
utils.LogError(err.Error())
|
256
|
213
|
return nil, err
|
257
|
214
|
}
|
258
|
215
|
|
259
|
|
- cust = &newCust
|
260
|
|
- } else {
|
261
|
|
- if cust.Status != models.STATUS_NORMAL {
|
262
|
|
- return nil, errors.New("用户状态不正确")
|
|
216
|
+ if cs == nil || cs.Status == models.STATUS_DEL {
|
|
217
|
+ return nil, errors.New("系统无该推荐案场")
|
|
218
|
+ }
|
|
219
|
+
|
|
220
|
+ newCust.OrgId = cs.OrgId
|
|
221
|
+ newCust.RecommendCase = cs.CaseId
|
|
222
|
+
|
|
223
|
+ if user == nil || user.Status == models.STATUS_DEL {
|
|
224
|
+ return nil, errors.New("系统无该推荐人")
|
263
|
225
|
}
|
|
226
|
+
|
|
227
|
+ newCust.OrgId = user.OrgId
|
|
228
|
+ newCust.RecommendId = user.UserId
|
|
229
|
+ newCust.RecommendName = user.RealName
|
264
|
230
|
}
|
265
|
231
|
|
|
232
|
+ // 校验推荐人
|
|
233
|
+ // if userID != "" {
|
|
234
|
+ // ar, err := s.dao.GetUserByID(userID)
|
|
235
|
+ // if err != nil {
|
|
236
|
+ // utils.LogError(err.Error())
|
|
237
|
+ // return nil, err
|
|
238
|
+ // }
|
|
239
|
+
|
|
240
|
+ // if ar == nil || ar.Status == models.STATUS_DEL {
|
|
241
|
+ // return nil, errors.New("系统无该推荐人")
|
|
242
|
+ // }
|
|
243
|
+
|
|
244
|
+ // newCust.OrgId = ar.OrgId
|
|
245
|
+ // newCust.RecommendId = ar.UserId
|
|
246
|
+ // newCust.RecommendName = ar.RealName
|
|
247
|
+ // }
|
|
248
|
+
|
|
249
|
+ err = s.dao.UpdateCustomer(&newCust, []string{
|
|
250
|
+ "phone",
|
|
251
|
+ "recommend_id",
|
|
252
|
+ "recommend_case",
|
|
253
|
+ "recommend_name",
|
|
254
|
+ "binding_date",
|
|
255
|
+ })
|
|
256
|
+ if err != nil {
|
|
257
|
+ utils.LogError(err.Error())
|
|
258
|
+ return nil, err
|
|
259
|
+ }
|
|
260
|
+
|
|
261
|
+ cust = &newCust
|
|
262
|
+
|
266
|
263
|
// triggerRegiteEvent 触发注册事件
|
267
|
264
|
if cust.RecommendCase != "" {
|
268
|
265
|
evtEngID := utils.EngineIDBy(cust.OrgId, cust.RecommendCase)
|