|
@@ -12,6 +12,7 @@ import (
|
|
|
"wechat-api/internal/types"
|
|
|
"wechat-api/internal/utils/typekit"
|
|
|
|
|
|
+ "github.com/go-sql-driver/mysql"
|
|
|
"github.com/suyuan32/simple-admin-common/enum/errorcode"
|
|
|
"github.com/suyuan32/simple-admin-common/msg/errormsg"
|
|
|
"github.com/zeromicro/go-zero/core/logx"
|
|
@@ -157,6 +158,7 @@ func (l *AddFriendByPhoneLogic) AddFriendByPhone(req *types.AddFriendByPhoneReq)
|
|
|
}
|
|
|
logx.Infof("chat.AppendWechaFriendAddLog succ,get id:%d", id)
|
|
|
|
|
|
+ continue
|
|
|
if req.Type != 1 {
|
|
|
continue //企微忽略后面
|
|
|
}
|
|
@@ -171,12 +173,21 @@ func (l *AddFriendByPhoneLogic) AddFriendByPhone(req *types.AddFriendByPhoneReq)
|
|
|
return &types.BaseMsgResp{Msg: errormsg.Success, Code: errorcode.OK}, nil
|
|
|
}
|
|
|
|
|
|
+func isDuplicateEntry(err error) bool {
|
|
|
+ var mysqlErr *mysql.MySQLError
|
|
|
+ if errors.As(err, &mysqlErr) {
|
|
|
+ return mysqlErr.Number == 1062
|
|
|
+ }
|
|
|
+ return false
|
|
|
+}
|
|
|
+
|
|
|
func (l *AddFriendByPhoneLogic) AppendWechaFriendAddInfo(addInfo *AddFriendByPhoneInfo) (int64, error) {
|
|
|
|
|
|
isCanAdd := 0
|
|
|
if addInfo.Type != 1 {
|
|
|
isCanAdd = 1
|
|
|
}
|
|
|
+ isCanAdd = 1
|
|
|
res, err := l.svcCtx.DB.AddWechatFriendLog.Create().
|
|
|
SetNotNilOwnerWxID(&addInfo.WeChatId).
|
|
|
SetNotNilOwnerWxType(&addInfo.Type).
|
|
@@ -189,6 +200,10 @@ func (l *AddFriendByPhoneLogic) AppendWechaFriendAddInfo(addInfo *AddFriendByPho
|
|
|
id := int64(0)
|
|
|
if err == nil {
|
|
|
id = res.ID
|
|
|
+ } else {
|
|
|
+ if isDuplicateEntry(err) {
|
|
|
+ err = errors.New("手机号不能重复绑定")
|
|
|
+ }
|
|
|
}
|
|
|
return id, err
|
|
|
}
|