|
@@ -2,6 +2,7 @@ package customerService
|
|
|
|
|
|
import (
|
|
|
"config"
|
|
|
+ "database/sql"
|
|
|
"errors"
|
|
|
"fmt"
|
|
|
"github.com/tealeg/xlsx"
|
|
@@ -24,23 +25,38 @@ func CustomSendMsgService(param *customMsg, sendStatus int, loginUserName string
|
|
|
}
|
|
|
// 更新消息
|
|
|
if param.Id != 0 {
|
|
|
+
|
|
|
msgLogId = strconv.Itoa(param.Id)
|
|
|
- ok := util.JysqlDB.Update("message_send_log", map[string]interface{}{"id": param.Id}, map[string]interface{}{
|
|
|
- "send_usergroup_id": "",
|
|
|
- "send_usergroup_name": "",
|
|
|
- "receive_user_id": param.UserIds,
|
|
|
- "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),
|
|
|
- "link": param.Link,
|
|
|
- "isdel": 1,
|
|
|
- "send_userid": loginUserId,
|
|
|
+ isOk := util.JysqlDB.ExecTx("更新消息出错", func(tx *sql.Tx) bool {
|
|
|
+ ok1 := util.JysqlDB.Delete("sendmsg_customer_info", map[string]interface{}{"msg_id": param.Id})
|
|
|
+ var fields []string
|
|
|
+ var args []interface{}
|
|
|
+ for _, val := range param.UserArr {
|
|
|
+ for k, v := range val {
|
|
|
+ fields = append(fields, k)
|
|
|
+ args = append(args, v)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ 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{}{
|
|
|
+ "send_usergroup_id": "",
|
|
|
+ "send_usergroup_name": "",
|
|
|
+ "receive_user_id": param.UserIds,
|
|
|
+ "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),
|
|
|
+ "link": param.Link,
|
|
|
+ "isdel": 1,
|
|
|
+ "send_userid": loginUserId,
|
|
|
+ })
|
|
|
+ return ok1 && ok && count > 0
|
|
|
})
|
|
|
- if !ok {
|
|
|
+
|
|
|
+ if !isOk {
|
|
|
return 0, errors.New("发送消息出错")
|
|
|
}
|
|
|
if param.SendMode == 1 {
|
|
@@ -84,6 +100,7 @@ func CustomSendMsgService(param *customMsg, sendStatus int, loginUserName string
|
|
|
"isdel": 1,
|
|
|
"send_userid": loginUserId,
|
|
|
"send_name": loginUserName,
|
|
|
+ "sign": 1,
|
|
|
})
|
|
|
msgLogId = strconv.FormatInt(msgId, 10)
|
|
|
//如果是定时发送
|
|
@@ -112,7 +129,7 @@ func CustomSendMsgService(param *customMsg, sendStatus int, loginUserName string
|
|
|
orm := util.Tidb.NewSession()
|
|
|
err := orm.Begin()
|
|
|
if err != nil {
|
|
|
- log.Println("简历数据库连接出错:", err)
|
|
|
+ log.Println("建立数据库连接出错:", err)
|
|
|
}
|
|
|
log.Println("--------", sendStatus)
|
|
|
userNames := ""
|
|
@@ -131,7 +148,6 @@ func CustomSendMsgService(param *customMsg, sendStatus int, loginUserName string
|
|
|
}
|
|
|
userIdArr := strings.Split(param.UserIds, ",")
|
|
|
for _, val := range userIdArr {
|
|
|
- i++
|
|
|
userId := val
|
|
|
if config.SysConfigs.UserIdMap[userId] != "" {
|
|
|
userId = config.SysConfigs.UserIdMap[userId]
|
|
@@ -142,6 +158,7 @@ func CustomSendMsgService(param *customMsg, sendStatus int, loginUserName string
|
|
|
} else {
|
|
|
projectIdMap.Store(userId, true)
|
|
|
}
|
|
|
+ i++
|
|
|
userIds += userId + ","
|
|
|
|
|
|
//查询mongo库用户信息
|
|
@@ -206,14 +223,38 @@ func CustomSendMsgService(param *customMsg, sendStatus int, loginUserName string
|
|
|
return 0, errors.New("发送消息出错")
|
|
|
}
|
|
|
|
|
|
-func MyCustomerService(state, updateTimeStart, UpdateTimeEnd, CompanyName, Phone string) {
|
|
|
- sql := "SELECT * FROM message_send_log "
|
|
|
+func MyCustomerService(state, updateTimeStart, updateTimeEnd, companyName, phone, adminPhone string, offSet, pageSize int) (count int64, data *[]map[string]interface{}) {
|
|
|
+ sql := "SELECT * FROM message_send_log where owner = '" + adminPhone + "' "
|
|
|
str := ""
|
|
|
- sqlc := "SELECT COUNt(id) FROM message_send_log "
|
|
|
+ sqlc := "SELECT COUNt(id) FROM message_send_log where owner = '" + adminPhone + "' "
|
|
|
+
|
|
|
if state != "" {
|
|
|
- str += " "
|
|
|
+ str += " and status999 = " + state
|
|
|
+ }
|
|
|
+ if updateTimeStart != "" {
|
|
|
+ str += " and lastUpdateTime >= " + updateTimeStart
|
|
|
+ }
|
|
|
+ if updateTimeEnd != "" {
|
|
|
+ str += " and lastUpdateTime < " + updateTimeEnd
|
|
|
+ }
|
|
|
+ if companyName != "" {
|
|
|
+ str += " and company = " + companyName
|
|
|
+ }
|
|
|
+ if phone != "" {
|
|
|
+ str += " and phone = " + phone
|
|
|
}
|
|
|
log.Println(sql, sqlc)
|
|
|
+ if str != "" {
|
|
|
+ sql += str + " order by id desc limit " + fmt.Sprint(offSet) + " " + "," + " " + fmt.Sprint(pageSize)
|
|
|
+ sqlc += str
|
|
|
+ }
|
|
|
+ log.Println("sql:", sql)
|
|
|
+ log.Println("sqlc:", sqlc)
|
|
|
+ count = util.CusTiDb.CountBySql(sqlc)
|
|
|
+ if count > 0 {
|
|
|
+ data = util.CusTiDb.SelectBySql(sql)
|
|
|
+ }
|
|
|
+ return count, data
|
|
|
}
|
|
|
|
|
|
func SaveFile(rdata [][]interface{}, templatePath string, savePath string, saveName string, domainPath string) (url string, err error) {
|
|
@@ -257,3 +298,8 @@ func GetUserById(id string) (userData *map[string]interface{}, ok bool) {
|
|
|
//log.Println(userData, ok)
|
|
|
return userData, ok
|
|
|
}
|
|
|
+
|
|
|
+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)
|
|
|
+ return users
|
|
|
+}
|