Browse Source

客服管理

X5YuLiang 4 years ago
parent
commit
1c5677550e

+ 1 - 0
controllers/kefu/tencent_usersig_api_controller.go View File

@@ -62,3 +62,4 @@ func (c *TencentUsersigApiController) GetUsersig() {
62 62
 	c.ServeSuccessJSON(returnData)
63 63
 	return
64 64
 }
65
+

+ 20 - 3
controllers/members/members_controller.go View File

@@ -6,16 +6,17 @@ import (
6 6
 	"SCRM/models"
7 7
 	"SCRM/service/member_service"
8 8
 	"SCRM/utils"
9
+	"encoding/json"
10
+	"fmt"
9 11
 	"reflect"
10 12
 	"time"
11
-    "fmt"
12
-	"encoding/json"
13 13
 
14 14
 	"github.com/astaxie/beego"
15 15
 )
16 16
 
17 17
 func MemberCtlRegistRouters() {
18 18
 	beego.Router("/api/members", &MembersAPIController{}, "get:GetMembers")
19
+	beego.Router("/api/members/all", &MembersAPIController{}, "get:GetAllMembers")
19 20
 	beego.Router("/api/member/create", &MembersAPIController{}, "Post:CreateMember")
20 21
 	beego.Router("/api/member/edit", &MembersAPIController{}, "Put:EditMember")
21 22
 	beego.Router("/api/members/delete", &MembersAPIController{}, "Delete:DeleteMembers")
@@ -35,7 +36,7 @@ func (c *MembersAPIController) GetMembers() {
35 36
 	source, _ := c.GetInt64("source", 0)
36 37
 	tag, _ := c.GetInt64("tag", 0)
37 38
 	init, _ := c.GetInt64("init", 0)
38
-	fmt.Println("level",level,"source",source)
39
+	fmt.Println("level", level, "source", source)
39 40
 	if page <= 0 {
40 41
 		page = 1
41 42
 	}
@@ -107,6 +108,22 @@ func (c *MembersAPIController) GetMembers() {
107 108
 	return
108 109
 }
109 110
 
111
+func (c *MembersAPIController) GetAllMembers() {
112
+
113
+	adminUserInfo := c.GetAdminUserInfo()
114
+	members, err := member_service.GetAllMemberList(adminUserInfo.CurrentOrgId)
115
+	if err != nil {
116
+		c.ServeFailJsonSend(enums.ErrorCodeDataException, "获取列表失败")
117
+		return
118
+	}
119
+
120
+	returnData := make(map[string]interface{}, 0)
121
+	returnData["members"] = members
122
+
123
+	c.ServeSuccessJSON(returnData)
124
+	return
125
+}
126
+
110 127
 func (c *MembersAPIController) CreateMember() {
111 128
 
112 129
 	adminUserInfo := c.GetAdminUserInfo()

+ 17 - 0
service/member_service/member_service.go View File

@@ -146,3 +146,20 @@ func FindCustomerInfoByOpenid(orgID int64, openid string) (*models.UserCustomer,
146 146
 	}
147 147
 	return &cusotmer, nil
148 148
 }
149
+
150
+func GetAllMemberList(orgID int64) (members []*Members, err error) {
151
+	db := service.UserReadDB().Table("sgj_user_customer as c").Where("c.user_org_id=? and c.status=1", orgID)
152
+
153
+	err = db.Order("c.created_time desc").
154
+		Select("c.id, c.user_org_id, c.user_id, c.mobile, c.name, c.gender, c.province_id, c.city_id, c.address, c.birthday, c.treat_type, c.relationship, c.illness_id, c.wechat_openid, c.membership, c.sources, c.status, c.created_time, c.updated_time, c.avatar, c.wechat_unionid, c.remark, c.medical_diagnose, c.yz_uid, c.ill_date, c.district_id").Find(&members).Error
155
+	if err != nil {
156
+		return
157
+	}
158
+	if len(members) > 0 {
159
+		for _, member := range members {
160
+			member.Avatar = strings.Replace(member.Avatar, "http://7xkofe.com1.z0.glb.clouddn.com", "https://images.shengws.com", 1)
161
+		}
162
+	}
163
+
164
+	return
165
+}

+ 25 - 0
service/tencentim_service/user_service.go View File

@@ -0,0 +1,25 @@
1
+package tencentim_service
2
+
3
+import (
4
+	"SCRM/service"
5
+)
6
+
7
+type InfoMap struct {
8
+	Cname      string
9
+	Name       string
10
+	Image      string
11
+	Uid        int64
12
+	Identifier string
13
+}
14
+
15
+func GetImUserMap(accountKey []string, userOrgID int64) (infoMap []InfoMap) {
16
+	service.UserReadDB().Table("sgj_user_user_im AS ui").
17
+		Joins("JOIN sgj_user_user AS u ON u.id = ui.user_id").
18
+		Joins("LEFT JOIN sgj_user_customer AS c ON c.user_id = ui.user_id AND c.user_org_id=? and c.status=1 and c.user_id>0 ", userOrgID).
19
+		Where("ui.identifier IN (?)", accountKey).
20
+		Select("ui.identifier, u.username as name, u.avatar as image, c.name as cname, u.id as uid").
21
+		Scan(&infoMap)
22
+
23
+	return
24
+
25
+}