|
@@ -2,7 +2,6 @@ package service
|
|
|
|
|
|
import (
|
|
|
"encoding/json"
|
|
|
- "github.com/tealeg/xlsx"
|
|
|
"history"
|
|
|
"log"
|
|
|
"os"
|
|
@@ -15,29 +14,30 @@ import (
|
|
|
"time"
|
|
|
. "util"
|
|
|
|
|
|
+ "github.com/tealeg/xlsx"
|
|
|
+
|
|
|
"github.com/go-xweb/xweb"
|
|
|
|
|
|
"gopkg.in/mgo.v2/bson"
|
|
|
)
|
|
|
+
|
|
|
var projectIdMap = sync.Map{}
|
|
|
var xlsxArr []map[string]interface{}
|
|
|
|
|
|
type SecondPush struct {
|
|
|
*xweb.Action
|
|
|
- secondPush xweb.Mapper `xweb:"/service/secondpush/create"`
|
|
|
- getUserRule xweb.Mapper `xweb:"/service/secondpush/getrules"`
|
|
|
- saveSpushRule xweb.Mapper `xweb:"/service/secondpush/saverule"`
|
|
|
+ secondPush xweb.Mapper `xweb:"/service/secondpush/create"`
|
|
|
+ getUserRule xweb.Mapper `xweb:"/service/secondpush/getrules"`
|
|
|
+ saveSpushRule xweb.Mapper `xweb:"/service/secondpush/saverule"`
|
|
|
secondPushTask xweb.Mapper `xweb:"/service/secondpush/dotask"`
|
|
|
- addSecondPushRule xweb.Mapper `xweb:"/service/secondpush/add"` //保存二次推送规则
|
|
|
+ addSecondPushRule xweb.Mapper `xweb:"/service/secondpush/add"` //保存二次推送规则
|
|
|
secondPushList xweb.Mapper `xweb:"/service/secondpush/list"`
|
|
|
- secondPushClone xweb.Mapper `xweb:"/service/secondPushClone/(.*)"`
|
|
|
- delSecondPushRule xweb.Mapper `xweb:"/service/customer/secondpush/delrule"` //删除历史任务规则
|
|
|
+ secondPushClone xweb.Mapper `xweb:"/service/secondPushClone/(.*)"`
|
|
|
+ delSecondPushRule xweb.Mapper `xweb:"/service/customer/secondpush/delrule"` //删除历史任务规则
|
|
|
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-func (s *SecondPush)SecondPush(){
|
|
|
+func (s *SecondPush) SecondPush() {
|
|
|
defer qu.Catch()
|
|
|
id := s.GetString("id")
|
|
|
user := s.GetSession("user").(map[string]interface{})
|
|
@@ -79,7 +79,7 @@ func (s *SecondPush)SecondPush(){
|
|
|
s.Render("private/second_push_create.html", &s.T)
|
|
|
}
|
|
|
|
|
|
-func (s *SecondPush)GetUserRule(){
|
|
|
+func (s *SecondPush) GetUserRule() {
|
|
|
customerId := s.GetString("c_id")
|
|
|
query := bson.M{
|
|
|
"s_userid": customerId,
|
|
@@ -91,7 +91,7 @@ func (s *SecondPush)GetUserRule(){
|
|
|
for _, m := range *data {
|
|
|
history_rule_data := make(map[string]interface{})
|
|
|
q := bson.M{
|
|
|
- "s_departid": qu.BsonIdToSId(m["_id"]),
|
|
|
+ "s_departid": mongoutil.BsonIdToSId(m["_id"]),
|
|
|
"b_delete": false,
|
|
|
}
|
|
|
history_rule_data["department_isuse"] = m["i_isuse"]
|
|
@@ -99,7 +99,7 @@ func (s *SecondPush)GetUserRule(){
|
|
|
depart_rule_data, _ := Mgo.Find("euserdepartrule", q, `{"i_createtime":-1}`, `{"s_name":1,"i_updatetime":1,"i_isuse":1,"_id":1}`, false, 0, 0)
|
|
|
if depart_rule_data != nil && len(*depart_rule_data) != 0 {
|
|
|
for _, j := range *depart_rule_data {
|
|
|
- j["_id"] = qu.BsonIdToSId(j["_id"])
|
|
|
+ j["_id"] = mongoutil.BsonIdToSId(j["_id"])
|
|
|
}
|
|
|
history_rule_data["department_rule"] = depart_rule_data
|
|
|
history_rule_data["is_slected"] = true
|
|
@@ -107,8 +107,8 @@ func (s *SecondPush)GetUserRule(){
|
|
|
res = append(res, history_rule_data)
|
|
|
}
|
|
|
s.ServeJson(map[string]interface{}{
|
|
|
- "status": "success",
|
|
|
- "data": res,
|
|
|
+ "status": "success",
|
|
|
+ "data": res,
|
|
|
})
|
|
|
} else {
|
|
|
s.ServeJson(map[string]interface{}{
|
|
@@ -220,7 +220,7 @@ func (s *SecondPush) SaveSpushRule() {
|
|
|
func (s *SecondPush) SecondPushTask() {
|
|
|
log.Println("开始二次推送任务...")
|
|
|
s_pushid := s.GetString("s_pushid")
|
|
|
- if s_pushid != ""{
|
|
|
+ if s_pushid != "" {
|
|
|
customer, _ := Mgo.Find("second_push", map[string]interface{}{"_id": mongoutil.StringTOBsonId(s_pushid)}, nil, nil, false, -1, -1)
|
|
|
if len(*customer) == 1 {
|
|
|
c := (*customer)[0]
|
|
@@ -228,47 +228,48 @@ func (s *SecondPush) SecondPushTask() {
|
|
|
email := qu.ObjToString(c["sendMail"])
|
|
|
starttime := qu.Int64All(c["starttime"])
|
|
|
endtime := qu.Int64All(c["endtime"])
|
|
|
- if len(c)!=0&&c != nil{
|
|
|
- if c["dep_rules"] !=nil&&len(c["dep_rules"].([]interface{}))!=0{
|
|
|
- for _,m := range c["dep_rules"].([]interface{}){
|
|
|
- log.Println("ruleid",mongoutil.BsonIdToSId(m.(map[string]interface{})["_id"]))
|
|
|
+ if len(c) != 0 && c != nil {
|
|
|
+ if c["dep_rules"] != nil && len(c["dep_rules"].([]interface{})) != 0 {
|
|
|
+ for _, m := range c["dep_rules"].([]interface{}) {
|
|
|
+ log.Println("ruleid", mongoutil.BsonIdToSId(m.(map[string]interface{})["_id"]))
|
|
|
q := bson.M{
|
|
|
- "ruleid":mongoutil.BsonIdToSId(m.(map[string]interface{})["_id"]),
|
|
|
- "createtime":bson.M{
|
|
|
- "$gte":starttime,
|
|
|
- "$lte":endtime,
|
|
|
+ "ruleid": mongoutil.BsonIdToSId(m.(map[string]interface{})["_id"]),
|
|
|
+ "createtime": bson.M{
|
|
|
+ "$gte": starttime,
|
|
|
+ "$lte": endtime,
|
|
|
},
|
|
|
}
|
|
|
- d,_:=MgoSecondPush.Find("usermail_0806_01",q,nil,nil,false,0,0)
|
|
|
- if len(*d)>0&&d !=nil{
|
|
|
- for _,l := range *d{
|
|
|
- xlsxArr=append(xlsxArr, l)
|
|
|
+ d, _ := MgoSecondPush.Find("usermail_0806_01", q, nil, nil, false, 0, 0)
|
|
|
+ if len(*d) > 0 && d != nil {
|
|
|
+ for _, l := range *d {
|
|
|
+ xlsxArr = append(xlsxArr, l)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
q := bson.M{
|
|
|
- "appid":c["s_appid"] ,
|
|
|
- "createtime":bson.M{
|
|
|
- "$gte":starttime,
|
|
|
- "$lte":endtime,
|
|
|
+ "appid": c["s_appid"],
|
|
|
+ "createtime": bson.M{
|
|
|
+ "$gte": starttime,
|
|
|
+ "$lte": endtime,
|
|
|
},
|
|
|
}
|
|
|
- d,_:=MgoSecondPush.Find("usermail_0806_01",q,nil,nil,false,0,0)
|
|
|
- for _,l := range *d{
|
|
|
- xlsxArr=append(xlsxArr, l)
|
|
|
+
|
|
|
+ d, _ := MgoSecondPush.Find("usermail", q, nil, nil, false, 0, 0)
|
|
|
+ for _, l := range *d {
|
|
|
+ xlsxArr = append(xlsxArr, l)
|
|
|
}
|
|
|
}
|
|
|
- if len(xlsxArr) == 0{
|
|
|
+ if len(xlsxArr) == 0 {
|
|
|
log.Println("查询数据为空")
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
log.Println(len(xlsxArr))
|
|
|
GetXlsxs(xlsxArr, customer_name, email, s_pushid)
|
|
|
go UpdateHistoryState(2, s_pushid, len(xlsxArr))
|
|
|
s.ServeJson(map[string]interface{}{
|
|
|
- "status":true,
|
|
|
+ "status": true,
|
|
|
})
|
|
|
- xlsxArr =[]map[string]interface{}{}
|
|
|
+ xlsxArr = []map[string]interface{}{}
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
@@ -544,7 +545,7 @@ func (s *SecondPush) AddSecondPushRule() {
|
|
|
"sendMail": s.GetString("sendMail"),
|
|
|
"i_extfieldstype": i_extfieldstype,
|
|
|
"starttime": s.GetString("starttime"),
|
|
|
- "endtime": s.GetString("endtime"),
|
|
|
+ "endtime": s.GetString("endtime"),
|
|
|
},
|
|
|
}
|
|
|
isupdata := Mgo.UpdateById("second_push", mongoutil.StringTOBsonId(his_id), set)
|
|
@@ -608,4 +609,4 @@ func (s *SecondPush) DelSecondPushRule() {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-}
|
|
|
+}
|