|
@@ -93,8 +93,6 @@ func (f *Front) Login() {
|
|
|
return
|
|
|
}
|
|
|
realPhoneCode := qu.ObjToString(session.Values["code"])
|
|
|
- log.Println("realPhoneCode", realPhoneCode)
|
|
|
- log.Println("param.phoneCode", phoneCode)
|
|
|
sessionPhone := qu.ObjToString(session.Values["phone"])
|
|
|
if sessionPhone == "" {
|
|
|
log.Printf("短信验证码过期-%s \n", phone)
|
|
@@ -132,7 +130,7 @@ func (f *Front) Login() {
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
- // 手机号 如果用户在多个企业并且都有剑鱼库里都有数据导出权限,则让用户选择企业
|
|
|
+ // 4. 如果用户在多个企业并且都有剑鱼库里都有数据导出权限,则返回去让用户选择企业
|
|
|
if len(*loginUser) > 1 {
|
|
|
f.SetSession("user", map[string]interface{}{
|
|
|
"phone": phone,
|
|
@@ -145,7 +143,22 @@ func (f *Front) Login() {
|
|
|
return
|
|
|
|
|
|
}
|
|
|
- // 4. 根据用户的企业id查询对应的管理员手机号 根据管理员手机号查询jyqyfw的企业表对应的appid 放到session里 以及确认用户角色
|
|
|
+ // 4.如果只有一个企业 则验证企业是否有使用该系统的权限
|
|
|
+ // 确认该企业有使用该系统的权限 查询 datatag_export_config 验证ent_id 确认是否有使用该系统的权限
|
|
|
+ query2 := bson.M{
|
|
|
+ "ent_id": (*loginUser)[0]["ent_id"],
|
|
|
+ }
|
|
|
+ isExist, _ := Mgo.FindOne("datatag_export_config", query2)
|
|
|
+ log.Println(isExist)
|
|
|
+ if len((*isExist)) == 0 {
|
|
|
+ f.ServeJson(map[string]interface{}{
|
|
|
+ "code": 0,
|
|
|
+ "status": false,
|
|
|
+ "message": "该企业无权限",
|
|
|
+ })
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 5. 根据用户的企业id查询对应的管理员手机号 根据管理员手机号查询jyqyfw的企业表对应的appid 放到session里 以及确认用户角色
|
|
|
log.Println((*loginUser)[0]["ent_id"], "=====================")
|
|
|
entInfo := JyMysql.SelectBySql("select phone,name from entniche_info WHERE id = ?", (*loginUser)[0]["ent_id"])
|
|
|
if len(*entInfo) == 0 {
|
|
@@ -157,13 +170,13 @@ func (f *Front) Login() {
|
|
|
return
|
|
|
}
|
|
|
var role int // 角色 1 管理员 3 普通用户
|
|
|
- // 判断当前用户手机号是否是管理员手机号
|
|
|
+ // 5.1 判断当前用户手机号是否是管理员手机号
|
|
|
if phone != qu.ObjToString((*entInfo)[0]["phone"]) {
|
|
|
role = 3
|
|
|
} else {
|
|
|
role = 1
|
|
|
}
|
|
|
- // 查询mongo企业信息库 获取appid
|
|
|
+ // 5.2 查询mongo企业信息库 获取appid
|
|
|
query := bson.M{
|
|
|
"phone": qu.ObjToString((*entInfo)[0]["phone"]),
|
|
|
"username": qu.ObjToString((*entInfo)[0]["name"]),
|
|
@@ -178,7 +191,7 @@ func (f *Front) Login() {
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
- //相关信息存入session
|
|
|
+ // 5.3 相关信息存入session
|
|
|
if entMgoInfo != nil && len(*entMgoInfo) > 0 {
|
|
|
f.SetSession("user", map[string]interface{}{
|
|
|
"name": (*loginUser)[0]["name"],
|
|
@@ -204,8 +217,7 @@ func (f *Front) Login() {
|
|
|
}
|
|
|
func (f *Front) ChooseEnt() {
|
|
|
defer qu.Catch()
|
|
|
- //选择页面
|
|
|
- // 根据session信息查询
|
|
|
+ // 选择企业页面
|
|
|
tempSession := f.GetSession("user")
|
|
|
if tempSession == nil || tempSession == "" {
|
|
|
f.Redirect("/", 302)
|
|
@@ -216,18 +228,23 @@ func (f *Front) ChooseEnt() {
|
|
|
f.Redirect("/", 302)
|
|
|
return
|
|
|
}
|
|
|
- if f.Method() == "GET" {
|
|
|
- rs := JyMysql.SelectBySql("select a.ent_id, b.name ent_name from entniche_user a, entniche_info b WHERE a.phone =? and export_power=1 and a.ent_id=b.id", info["phone"])
|
|
|
- // 企业信息 name ent_id
|
|
|
- //铺页面
|
|
|
- f.T["ent_info"] = rs
|
|
|
- f.Render("choose_ent.html", &f.T)
|
|
|
- } else {
|
|
|
-
|
|
|
+ if f.Method() == "POST" {
|
|
|
entId := f.GetString("ent_id")
|
|
|
- log.Println(entId, "entId")
|
|
|
- log.Println(info["phone"], "info[\"phone\"]")
|
|
|
- //确认该手机号有数据导出权限
|
|
|
+ // 1. 确认该企业有使用该系统的权限 查询配置文件appid 确认是否有使用该系统的权限
|
|
|
+ query2 := bson.M{
|
|
|
+ "ent_id": entId,
|
|
|
+ }
|
|
|
+ isExist, _ := Mgo.FindOne("datatag_export_config", query2)
|
|
|
+ log.Println(isExist)
|
|
|
+ if len((*isExist)) == 0 {
|
|
|
+ f.ServeJson(map[string]interface{}{
|
|
|
+ "code": 0,
|
|
|
+ "status": false,
|
|
|
+ "message": "该企业无权限",
|
|
|
+ })
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 2. 确认该手机号有数据导出权限
|
|
|
loginUser := JyMysql.SelectBySql("select id, name,ent_id,phone,export_power,name from entniche_user where phone=? and export_power=1 and ent_id=?", info["phone"], entId)
|
|
|
if len(*loginUser) == 0 {
|
|
|
f.ServeJson(map[string]interface{}{
|
|
@@ -237,9 +254,7 @@ func (f *Front) ChooseEnt() {
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
-
|
|
|
- var role int // 角色 1 管理员 3 普通用户
|
|
|
- // 判断当前用户手机号是否是管理员手机号
|
|
|
+ // 3. 查询企业管理员信息及手机号
|
|
|
entInfo := JyMysql.SelectBySql("select phone,name from entniche_info WHERE id = ?", (*loginUser)[0]["ent_id"])
|
|
|
if len(*entInfo) == 0 {
|
|
|
f.ServeJson(map[string]interface{}{
|
|
@@ -249,6 +264,7 @@ func (f *Front) ChooseEnt() {
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
+ // 4. mongo库查询与之关联的企业appid
|
|
|
query := bson.M{
|
|
|
"phone": (*entInfo)[0]["phone"],
|
|
|
"username": (*entInfo)[0]["name"],
|
|
@@ -263,20 +279,8 @@ func (f *Front) ChooseEnt() {
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
- // 确认该企业有使用该系统的权限 查询配置文件appid 确认是否有使用该系统的权限
|
|
|
- query2 := bson.M{
|
|
|
- "app_id": (*entMgoInfo)["appid"],
|
|
|
- }
|
|
|
- isExist, _ := Mgo.FindOne("datatag_export_config", query2)
|
|
|
- log.Println(isExist)
|
|
|
- if len((*isExist)) == 0 {
|
|
|
- f.ServeJson(map[string]interface{}{
|
|
|
- "code": 0,
|
|
|
- "status": false,
|
|
|
- "message": "该企业无权限",
|
|
|
- })
|
|
|
- return
|
|
|
- }
|
|
|
+ // 5. 确认用户角色
|
|
|
+ var role int // 角色 1 管理员 3 普通用户
|
|
|
if info["phone"] != qu.ObjToString((*entInfo)[0]["phone"]) {
|
|
|
role = 3
|
|
|
} else {
|
|
@@ -299,6 +303,11 @@ func (f *Front) ChooseEnt() {
|
|
|
"role": role,
|
|
|
"message": "",
|
|
|
})
|
|
|
+ } else { // get 请求时铺企业页面
|
|
|
+ // 查询 企业信息 name ent_id
|
|
|
+ rs := JyMysql.SelectBySql("select a.ent_id, b.name ent_name from entniche_user a, entniche_info b WHERE a.phone =? and export_power=1 and a.ent_id=b.id", info["phone"])
|
|
|
+ f.T["ent_info"] = rs
|
|
|
+ f.Render("choose_ent.html", &f.T)
|
|
|
}
|
|
|
|
|
|
}
|
|
@@ -580,3 +589,4 @@ func SendSMS(tplcode /*模板代码*/, mobile /*手机号码*/ string, param map
|
|
|
text := strings.Join(tmp, "&")
|
|
|
sms.SendSms(mobile, tplcode, text)
|
|
|
}
|
|
|
+
|