|
@@ -17,11 +17,14 @@ import (
|
|
|
|
|
|
type Partner struct {
|
|
|
*xweb.Action
|
|
|
- sendMessage xweb.Mapper `xweb:"/partner/sendMessage"` //发短信
|
|
|
- addPartner xweb.Mapper `xweb:"/partner/addPartner"` //加入伙伴
|
|
|
- echoInfo xweb.Mapper `xweb:"/partner/echoInfo"` //回显信息
|
|
|
- isPartner xweb.Mapper `xweb:"/partner/isPartner"` //是否加入伙伴
|
|
|
- getShareUser xweb.Mapper `xweb:"/partner/getShareUser"` //获取最新1000个用户头像和昵称(介绍页用)
|
|
|
+ sendMessage xweb.Mapper `xweb:"/partner/sendMessage"` //发短信
|
|
|
+ addPartner xweb.Mapper `xweb:"/partner/addPartner"` //加入伙伴
|
|
|
+ echoInfo xweb.Mapper `xweb:"/partner/echoInfo"` //回显信息
|
|
|
+ isPartner xweb.Mapper `xweb:"/partner/isPartner"` //是否加入伙伴
|
|
|
+ getShareUser xweb.Mapper `xweb:"/partner/getShareUser"` //获取最新1000个用户头像和昵称(介绍页用)
|
|
|
+ partnerInfo xweb.Mapper `xweb:"/partner/partnerInfo"` //回显用户详情
|
|
|
+ enterInfo xweb.Mapper `xweb:"/partner/enterInfo"` //审核通过,用户确定状态修改
|
|
|
+ reapplyPartner xweb.Mapper `xweb:"/partner/reapplyPartner"` //重新申请加入伙伴
|
|
|
}
|
|
|
|
|
|
func init() {
|
|
@@ -51,16 +54,18 @@ func (p *Partner) SendMessage() {
|
|
|
|
|
|
//加入伙伴
|
|
|
func (p *Partner) AddPartner() {
|
|
|
- if !R.CheckReqParam(p.ResponseWriter, p.Request, "phone", "email", "type", "channel") {
|
|
|
+ if !R.CheckReqParam(p.ResponseWriter, p.Request, "phone", "email", "type", "channel", "contacts") {
|
|
|
return
|
|
|
}
|
|
|
status, msg := func() (int, string) {
|
|
|
userid := qu.ObjToString(p.GetSession("userId"))
|
|
|
+ //userid := "5f3391b8e138236a19cc2f67"
|
|
|
if userid == "" {
|
|
|
return -1, "未登录"
|
|
|
}
|
|
|
phone := p.GetString("phone")
|
|
|
mail := p.GetString("email")
|
|
|
+ contacts := p.GetString("contacts")
|
|
|
if !jy.IsPhone(phone) || !jy.IsEmail(mail) {
|
|
|
return -1, "手机号或邮箱正则校验失败"
|
|
|
}
|
|
@@ -71,10 +76,13 @@ func (p *Partner) AddPartner() {
|
|
|
} else if Mysql.Count("dis_partner", map[string]interface{}{"email": mail}) > 0 {
|
|
|
return -1, "该邮箱已加入合作伙伴"
|
|
|
}
|
|
|
+ log.Println("code:",p.GetString("code"))
|
|
|
send_phone := jy.CheckPhoneIdent(p.Session(), p.GetString("code")) //验证码不正确
|
|
|
+ log.Println("send_phone:",send_phone)
|
|
|
if send_phone == "" {
|
|
|
user_phone := ""
|
|
|
u, ok := MQFW.FindById("user", userid, `{"s_phone":1,"s_m_phone":1,"s_myemail":1}`)
|
|
|
+ log.Println("user:",u,ok)
|
|
|
if ok && u != nil && *u != nil {
|
|
|
if s_phone, _ := (*u)["s_phone"].(string); s_phone != "" {
|
|
|
user_phone = s_phone
|
|
@@ -82,6 +90,8 @@ func (p *Partner) AddPartner() {
|
|
|
user_phone = s_m_phone
|
|
|
}
|
|
|
}
|
|
|
+ log.Println("phone:",phone)
|
|
|
+ log.Println("user_phone:",user_phone)
|
|
|
if phone != user_phone {
|
|
|
return -1, "验证码错误"
|
|
|
}
|
|
@@ -117,6 +127,10 @@ func (p *Partner) AddPartner() {
|
|
|
islogoff, auth_status := isLogOffUser(userid)
|
|
|
name, idcard := "", ""
|
|
|
log.Println("是否是注销后的用户:", islogoff, "认证状态:", auth_status)
|
|
|
+ is_adopt := 0
|
|
|
+ if typ == 1 {
|
|
|
+ is_adopt = 1
|
|
|
+ }
|
|
|
insert := map[string]interface{}{
|
|
|
"type": typ,
|
|
|
"phone": phone,
|
|
@@ -126,6 +140,8 @@ func (p *Partner) AddPartner() {
|
|
|
"auth_status": qu.If(typ == 2, 1, auth_status), //认证状态
|
|
|
"createtime": time.Now().Format(qu.Date_Full_Layout),
|
|
|
"lastlogintime": time.Now().Format(qu.Date_Full_Layout),
|
|
|
+ "contacts": contacts,
|
|
|
+ "is_adopt": is_adopt,
|
|
|
}
|
|
|
if islogoff {
|
|
|
name, idcard = getLogOffInfo(userid)
|
|
@@ -154,9 +170,11 @@ func (p *Partner) AddPartner() {
|
|
|
"email": mail,
|
|
|
"channel": channel,
|
|
|
"uid": userid,
|
|
|
+ "is_adopt": is_adopt,
|
|
|
"auth_status": qu.If(typ == 2, 1, auth_status), //认证状态
|
|
|
"createtime": time.Now().Format(qu.Date_Full_Layout),
|
|
|
"lastlogintime": time.Now().Format(qu.Date_Full_Layout),
|
|
|
+ "contacts": contacts,
|
|
|
}
|
|
|
fool := Mysql.UpdateByTx(tx, "dis_partner", query, inserts) //伙伴表
|
|
|
if !fool {
|
|
@@ -316,3 +334,187 @@ func getLogOffInfo(userid string) (name, idcard string) {
|
|
|
}
|
|
|
return "", ""
|
|
|
}
|
|
|
+
|
|
|
+//用户状态及详情数据
|
|
|
+func (p *Partner) PartnerInfo() {
|
|
|
+ info, msg, code := func() (map[string]interface{}, string, int) {
|
|
|
+ data := map[string]interface{}{}
|
|
|
+ userid := qu.ObjToString(p.GetSession("userId"))
|
|
|
+ //userid := "5f3391b8e138236a19cc2f67"
|
|
|
+ if userid == "" {
|
|
|
+ return data, "未登录", Error_code
|
|
|
+ }
|
|
|
+ partner := Mysql.SelectBySql("SELECT dp.id,dp.is_adopt,dp.name,dp.contacts,dp.phone,dp.email,dp.type,dp.channel,dp.reason,dp.proving,da.name AS authName,da.license FROM dis_partner dp LEFT JOIN dis_auth da ON dp.id = da.partner_id WHERE dp.uid = ? ", userid)
|
|
|
+ if partner == nil {
|
|
|
+ return data, "用户并未加入伙伴", Error_code
|
|
|
+ }
|
|
|
+ if len(*partner) > 0 {
|
|
|
+ data["id"] = (*partner)[0]["id"]
|
|
|
+ data["is_adopt"] = (*partner)[0]["is_adopt"]
|
|
|
+ data["name"] = (*partner)[0]["name"]
|
|
|
+ data["phone"] = (*partner)[0]["phone"]
|
|
|
+ data["email"] = (*partner)[0]["email"]
|
|
|
+ data["type"] = (*partner)[0]["type"]
|
|
|
+ data["channel"] = (*partner)[0]["channel"]
|
|
|
+ data["authName"] = (*partner)[0]["authName"]
|
|
|
+ data["license"] = (*partner)[0]["license"]
|
|
|
+ data["reason"] = (*partner)[0]["reason"]
|
|
|
+ data["proving"] = (*partner)[0]["proving"]
|
|
|
+ data["contacts"] = (*partner)[0]["contacts"]
|
|
|
+ }
|
|
|
+
|
|
|
+ return data, "", Error_code
|
|
|
+ }()
|
|
|
+ p.ServeJson(Result{
|
|
|
+ Error_code: code,
|
|
|
+ Error_msg: msg,
|
|
|
+ Data: info,
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+//用户确认状态
|
|
|
+func (p *Partner) EnterInfo() {
|
|
|
+ userid, _ := p.GetSession("userId").(string)
|
|
|
+ //userid := "60ebf22a968b13f0bbe28260"
|
|
|
+ if userid == "" {
|
|
|
+ p.ServeJson(map[string]interface{}{"status": false, "message": "未登录"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+ update := Mysql.UpdateOrDeleteBySql(`UPDATE dis_partner SET proving = 1 WHERE uid = ? `, userid)
|
|
|
+ if update < 0 {
|
|
|
+ log.Println("修改最后登录时间出错", userid)
|
|
|
+ p.ServeJson(map[string]interface{}{"status": false, "message": "修改失败"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+ p.ServeJson(map[string]interface{}{
|
|
|
+ "status": true,
|
|
|
+ "message": "",
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+//重新申请认证
|
|
|
+func (p *Partner) ReapplyPartner() {
|
|
|
+ if !R.CheckReqParam(p.ResponseWriter, p.Request, "phone", "email", "channel", "license", "entname", "contacts") {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ status, msg := func() (int, string) {
|
|
|
+ userid := qu.ObjToString(p.GetSession("userId"))
|
|
|
+ //userid := "60ebf22a968b13f0bbe28260"
|
|
|
+ if userid == "" {
|
|
|
+ return -1, "未登录"
|
|
|
+ }
|
|
|
+ phone := p.GetString("phone")
|
|
|
+ mail := p.GetString("email")
|
|
|
+ contacts := p.GetString("contacts")
|
|
|
+ if !jy.IsPhone(phone) || !jy.IsEmail(mail) {
|
|
|
+ return -1, "手机号或邮箱正则校验失败"
|
|
|
+ }
|
|
|
+ //判断是否是当前账户手机号及邮箱
|
|
|
+ phoneData := Mysql.FindOne("dis_partner", map[string]interface{}{"phone": phone}, "uid", "")
|
|
|
+ if phoneData != nil {
|
|
|
+ if len(*phoneData) > 0 {
|
|
|
+ if (*phoneData)["uid"] != userid {
|
|
|
+ return -1, "该手机号已加入合作伙伴"
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ send_phone := jy.CheckPhoneIdent(p.Session(), p.GetString("code")) //验证码不正确
|
|
|
+ if send_phone == "" {
|
|
|
+ user_phone := ""
|
|
|
+ u, ok := MQFW.FindById("user", userid, `{"s_phone":1,"s_m_phone":1,"s_myemail":1}`)
|
|
|
+ if ok && u != nil && *u != nil {
|
|
|
+ if s_phone, _ := (*u)["s_phone"].(string); s_phone != "" {
|
|
|
+ user_phone = s_phone
|
|
|
+ } else if s_m_phone, _ := (*u)["s_m_phone"].(string); s_m_phone != "" {
|
|
|
+ user_phone = s_m_phone
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if phone != user_phone {
|
|
|
+ return -1, "验证码错误"
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ send_phone := jy.CheckPhoneIdent(p.Session(), p.GetString("code")) //验证码不正确
|
|
|
+ if send_phone == "" {
|
|
|
+ user_phone := ""
|
|
|
+ u, ok := MQFW.FindById("user", userid, `{"s_phone":1,"s_m_phone":1,"s_myemail":1}`)
|
|
|
+ if ok && u != nil && *u != nil {
|
|
|
+ if s_phone, _ := (*u)["s_phone"].(string); s_phone != "" {
|
|
|
+ user_phone = s_phone
|
|
|
+ } else if s_m_phone, _ := (*u)["s_m_phone"].(string); s_m_phone != "" {
|
|
|
+ user_phone = s_m_phone
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if phone != user_phone {
|
|
|
+ return -1, "验证码错误"
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ mailData := Mysql.FindOne("dis_partner", map[string]interface{}{"email": mail}, "uid", "")
|
|
|
+ if mailData != nil {
|
|
|
+ if len(*mailData) > 0 && (*mailData)["uid"] != userid {
|
|
|
+ return -1, "该邮箱已加入合作伙伴"
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ channel := p.GetString("channel")
|
|
|
+ license := "" //营业执照地址
|
|
|
+ if p.GetString("entname") == "" || p.GetString("license") == "" {
|
|
|
+ return -1, "缺少参数"
|
|
|
+ }
|
|
|
+ account := Mysql.FindOne("dis_partner", map[string]interface{}{
|
|
|
+ "uid": userid,
|
|
|
+ }, `id,type`, "")
|
|
|
+
|
|
|
+ authData := Mysql.FindOne("dis_auth", map[string]interface{}{"name": p.GetString("entname")}, "partner_id", "")
|
|
|
+ if authData != nil {
|
|
|
+ if len(*authData) > 0 && (*authData)["partner_id"] != (*account)["id"] {
|
|
|
+ return -1, "该企业已加入合作伙伴"
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //如果是企业伙伴 直接进行认证
|
|
|
+ license = p.GetString("license")
|
|
|
+ if license == "" {
|
|
|
+ return -1, "未找到上传的图片"
|
|
|
+ }
|
|
|
+
|
|
|
+ //入库
|
|
|
+ if Mysql.ExecTx("加入伙伴", func(tx *sql.Tx) bool {
|
|
|
+ query := map[string]interface{}{
|
|
|
+ "uid": userid,
|
|
|
+ }
|
|
|
+ inserts := map[string]interface{}{
|
|
|
+ "phone": phone,
|
|
|
+ "name": p.GetString("entname"),
|
|
|
+ "email": mail,
|
|
|
+ "channel": channel,
|
|
|
+ "contacts": contacts,
|
|
|
+ "is_adopt": 0,
|
|
|
+ }
|
|
|
+ fool := Mysql.UpdateByTx(tx, "dis_partner", query, inserts) //伙伴表
|
|
|
+ if fool {
|
|
|
+ queryAuth := map[string]interface{}{
|
|
|
+ "partner_id": (*account)["id"],
|
|
|
+ }
|
|
|
+ update_auth := map[string]interface{}{
|
|
|
+ "license": license,
|
|
|
+ "name": p.GetString("entname"),
|
|
|
+ }
|
|
|
+ fool2 := Mysql.UpdateByTx(tx, "dis_auth", queryAuth, update_auth) //认证表
|
|
|
+ if fool2 {
|
|
|
+ return true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return false
|
|
|
+ }) {
|
|
|
+ return 1, ""
|
|
|
+ }
|
|
|
+ return -1, "保存失败"
|
|
|
+ }()
|
|
|
+ p.ServeJson(Result{
|
|
|
+ Error_code: Error_code,
|
|
|
+ Error_msg: msg,
|
|
|
+ Data: M{"status": status},
|
|
|
+ })
|
|
|
+}
|