renjiaojiao 3 years ago
parent
commit
806c807c1e

+ 12 - 0
src/customerService/customController.go

@@ -214,3 +214,15 @@ func GetUserInfo(context *admin.Context) (interface{}, error) {
 	userData := FindUserInfo(param.MsgId, param.Page.Offset, param.Page.PageSize)
 	userData := FindUserInfo(param.MsgId, param.Page.Offset, param.Page.PageSize)
 	return userData, nil
 	return userData, nil
 }
 }
+
+func GetUserIds(context *admin.Context) (interface{}, error) {
+	param := new(struct {
+		MsgId int `form:"msgId"`
+	})
+	err := context.Form(param)
+	if err != nil {
+		return nil, err
+	}
+	userData := FindUserIds(param.MsgId)
+	return userData, nil
+}

+ 57 - 25
src/customerService/customService.go

@@ -25,7 +25,6 @@ func CustomSendMsgService(param *customMsg, sendStatus int, loginUserName string
 	}
 	}
 	// 更新消息
 	// 更新消息
 	if param.Id != 0 {
 	if param.Id != 0 {
-
 		msgLogId = strconv.Itoa(param.Id)
 		msgLogId = strconv.Itoa(param.Id)
 		isOk := util.JysqlDB.ExecTx("更新消息出错", func(tx *sql.Tx) bool {
 		isOk := util.JysqlDB.ExecTx("更新消息出错", func(tx *sql.Tx) bool {
 			ok1 := util.JysqlDB.Delete("sendmsg_customer_info", map[string]interface{}{"msg_id": param.Id})
 			ok1 := util.JysqlDB.Delete("sendmsg_customer_info", map[string]interface{}{"msg_id": param.Id})
@@ -36,6 +35,8 @@ func CustomSendMsgService(param *customMsg, sendStatus int, loginUserName string
 					fields = append(fields, k)
 					fields = append(fields, k)
 					args = append(args, v)
 					args = append(args, v)
 				}
 				}
+				fields = append(fields, "msg_id")
+				args = append(args, msgLogId)
 			}
 			}
 			count, _ := util.JysqlDB.InsertBatch("sendmsg_customer_info", fields, args)
 			count, _ := util.JysqlDB.InsertBatch("sendmsg_customer_info", fields, args)
 			ok := util.JysqlDB.Update("message_send_log", map[string]interface{}{"id": param.Id}, map[string]interface{}{
 			ok := util.JysqlDB.Update("message_send_log", map[string]interface{}{"id": param.Id}, map[string]interface{}{
@@ -85,27 +86,45 @@ func CustomSendMsgService(param *customMsg, sendStatus int, loginUserName string
 		return 1, nil
 		return 1, nil
 	} else {
 	} else {
 		//保存发送的消息
 		//保存发送的消息
+		var msgId int64
 		log.Println("发送消息发送时间:", param.SendTime)
 		log.Println("发送消息发送时间:", param.SendTime)
-		msgId := util.JysqlDB.Insert("message_send_log", map[string]interface{}{
-			"send_usergroup_id":   "",
-			"send_usergroup_name": "",
-			// "receive_user_id":     userIdStr,
-			"msg_type":      param.MsgType,
-			"title":         param.Title,
-			"content":       param.Content,
-			"send_mode":     param.SendMode,
-			"send_time":     param.SendTime,
-			"send_status":   sendStatus,
-			"update_time":   time.Now().Format(qutil.Date_Full_Layout),
-			"createtime":    time.Now().Format(qutil.Date_Full_Layout),
-			"link":          param.Link,
-			"isdel":         1,
-			"send_userid":   loginUserId,
-			"send_name":     loginUserName,
-			"sign":          1,
-			"user_add_way":  param.UserAddWay,
-			"template_name": param.TemplateName,
+		isOk := util.JysqlDB.ExecTx("更新消息出错", func(tx *sql.Tx) bool {
+			msgId = util.JysqlDB.Insert("message_send_log", map[string]interface{}{
+				"send_usergroup_id":   "",
+				"send_usergroup_name": "",
+				// "receive_user_id":     userIdStr,
+				"msg_type":      param.MsgType,
+				"title":         param.Title,
+				"content":       param.Content,
+				"send_mode":     param.SendMode,
+				"send_time":     param.SendTime,
+				"send_status":   sendStatus,
+				"update_time":   time.Now().Format(qutil.Date_Full_Layout),
+				"createtime":    time.Now().Format(qutil.Date_Full_Layout),
+				"link":          param.Link,
+				"isdel":         1,
+				"send_userid":   loginUserId,
+				"send_name":     loginUserName,
+				"sign":          1,
+				"user_add_way":  param.UserAddWay,
+				"template_name": param.TemplateName,
+			})
+			var fields []string
+			var args []interface{}
+			for _, val := range param.UserArr {
+				for k, v := range val {
+					fields = append(fields, k)
+					args = append(args, v)
+				}
+				fields = append(fields, "msg_id")
+				args = append(args, msgLogId)
+			}
+			count, _ := util.JysqlDB.InsertBatch("sendmsg_customer_info", fields, args)
+			return msgId > -1 && count > 0
 		})
 		})
+		if !isOk {
+			return 0, errors.New("保存消息出错")
+		}
 		msgLogId = strconv.FormatInt(msgId, 10)
 		msgLogId = strconv.FormatInt(msgId, 10)
 		//如果是定时发送
 		//如果是定时发送
 		if param.SendMode == 1 {
 		if param.SendMode == 1 {
@@ -231,7 +250,7 @@ func MyCustomerService(state, updateTimeStart, updateTimeEnd, companyName, phone
 	salesperson := util.CusTiDb.FindOne("jy_salesperson_info", map[string]interface{}{"phone": adminPhone}, "seatNumber", "")
 	salesperson := util.CusTiDb.FindOne("jy_salesperson_info", map[string]interface{}{"phone": adminPhone}, "seatNumber", "")
 	if salesperson != nil && len(*salesperson) > 0 {
 	if salesperson != nil && len(*salesperson) > 0 {
 		code := qutil.ObjToString((*salesperson)["seatNumber"])
 		code := qutil.ObjToString((*salesperson)["seatNumber"])
-		sql := "SELECT company,id,phone,status999,lastUpdateTime FROM customer where owner in (" + code + ") "
+		sqlStr := "SELECT company,id,phone,status999,lastUpdateTime FROM customer where owner in (" + code + ") "
 		str := ""
 		str := ""
 		sqlc := "SELECT COUNT(*) FROM customer where owner in (" + code + ") "
 		sqlc := "SELECT COUNT(*) FROM customer where owner in (" + code + ") "
 
 
@@ -251,15 +270,15 @@ func MyCustomerService(state, updateTimeStart, updateTimeEnd, companyName, phone
 			str += " and phone like '%" + phone + "%'"
 			str += " and phone like '%" + phone + "%'"
 		}
 		}
 		if str != "" {
 		if str != "" {
-			sql += str
+			sqlStr += str
 			sqlc += str
 			sqlc += str
 		}
 		}
-		sql += " order by lastUpdateTime desc limit " + fmt.Sprint(offSet) + " " + "," + " " + fmt.Sprint(pageSize)
-		log.Println("sql:", sql)
+		sqlStr += " order by lastUpdateTime desc limit " + fmt.Sprint(offSet) + " " + "," + " " + fmt.Sprint(pageSize)
+		log.Println("sql:", sqlStr)
 		log.Println("sqlc:", sqlc)
 		log.Println("sqlc:", sqlc)
 		count = util.CusTiDb.CountBySql(sqlc)
 		count = util.CusTiDb.CountBySql(sqlc)
 		if count > 0 {
 		if count > 0 {
-			res := util.CusTiDb.SelectBySql(sql)
+			res := util.CusTiDb.SelectBySql(sqlStr)
 			if res != nil && len(*res) > 0 {
 			if res != nil && len(*res) > 0 {
 				for _, v := range *res {
 				for _, v := range *res {
 					userId := qutil.ObjToString(v["id"])
 					userId := qutil.ObjToString(v["id"])
@@ -272,6 +291,8 @@ func MyCustomerService(state, updateTimeStart, updateTimeEnd, companyName, phone
 							} else {
 							} else {
 								v["registePhone"] = qutil.ObjToString((*userData)["s_m_phone"])
 								v["registePhone"] = qutil.ObjToString((*userData)["s_m_phone"])
 							}
 							}
+						} else {
+							v["registePhone"] = ""
 						}
 						}
 					} else {
 					} else {
 						v["registePhone"] = ""
 						v["registePhone"] = ""
@@ -333,3 +354,14 @@ func FindUserInfo(msgId int, offSet, pageSize int) *[]map[string]interface{} {
 	users := util.JysqlDB.Find("sendmsg_customer_info", map[string]interface{}{"msg_id": msgId}, "", "createtime desc", offSet, pageSize)
 	users := util.JysqlDB.Find("sendmsg_customer_info", map[string]interface{}{"msg_id": msgId}, "", "createtime desc", offSet, pageSize)
 	return users
 	return users
 }
 }
+
+func FindUserIds(msgId int) string {
+	users := util.JysqlDB.Find("sendmsg_customer_info", map[string]interface{}{"msg_id": msgId}, "user_id", "createtime desc", -1, -1)
+	userIds := ""
+	if users != nil && len(*users) > 0 {
+		for _, val := range *users {
+			userIds += qutil.ObjToString(val["user_id"])
+		}
+	}
+	return userIds
+}

+ 1 - 0
src/customerService/router.go

@@ -80,6 +80,7 @@ func init() {
 		"Baiy.Cadmin.Message.myCustomerList":         MyCustomerList,
 		"Baiy.Cadmin.Message.myCustomerList":         MyCustomerList,
 		"Baiy.Cadmin.Message.getUserInfo":            GetUserInfo,
 		"Baiy.Cadmin.Message.getUserInfo":            GetUserInfo,
 		"Baiy.Cadmin.Message.sendMessageApi":         SendMessageApi,
 		"Baiy.Cadmin.Message.sendMessageApi":         SendMessageApi,
+		"Baiy.Cadmin.Message.getUserIds":             GetUserIds,
 	})
 	})
 	RegisterDispatch(SalesDispatcher)
 	RegisterDispatch(SalesDispatcher)
 }
 }