Переглянути джерело

get meeting by lead.

master
Patrick Peng Sun 8 роки тому
джерело
коміт
74c8b79cff
1 змінених файлів з 57 додано та 8 видалено
  1. +57
    -8
      crmMeeting.go

+ 57
- 8
crmMeeting.go Переглянути файл

@@ -3,6 +3,7 @@ package main
import (
"encoding/json"
"fmt"
"net/url"
"strings"
"time"
)
@@ -111,7 +112,7 @@ func (m crmdMeeting) CoverCacheURL() string {

func crmGetMeeting(id string) (ret crmdMeeting, err error) {
entity, err := crmGetEntity("Meeting", id)
if err != nil {
if err != nil && entity == nil {
return
}

@@ -120,19 +121,67 @@ func crmGetMeeting(id string) (ret crmdMeeting, err error) {
}

func (m crmdMeeting) StartDate() string {
t, _ := time.Parse(getCrmTimeLayout(), m.DateStart)
t := time.Now().Add(time.Duration(240) * time.Hour) //10days later
if m.DateStart != "" {
t, _ = time.Parse(getCrmTimeLayout(), m.DateStart)
}
AEST, _ := time.LoadLocation("Australia/Sydney")
return t.In(AEST).Format("02 January, 2006")
}

func (m crmdMeeting) StartHour() string {
AEST, _ := time.LoadLocation("Australia/Sydney")
t, _ := time.Parse(getCrmTimeLayout(), m.DateStart)
return t.In(AEST).Format("15:04")
if m.DateStart != "" {
AEST, _ := time.LoadLocation("Australia/Sydney")
t, _ := time.Parse(getCrmTimeLayout(), m.DateStart)
return t.In(AEST).Format("15:04")
}
return "10:30"
}

func (m crmdMeeting) DurationHour() string {
hour := m.Duration / 3600
minute := (m.Duration % 3600) / 60
return fmt.Sprintf("%02d:%02d", hour, minute)
if m.Duration > 20 {
hour := m.Duration / 3600
minute := (m.Duration % 3600) / 60
return fmt.Sprintf("%02d:%02d", hour, minute)
}
return "01:30"
}

func (m crmdMeeting) getEditMeetingURL(leadID string) string {
u, _ := url.Parse(GlobalPath.ThisSiteURL + "spa/redirect")

q := u.Query()
q.Add("url", GlobalPath.ThisSiteURL+"spa/editmeeting")

if leadID != "" {
q.Add("lid", leadID)
}

q.Add("meetingid", m.ID)

u.RawQuery = q.Encode()
return buildSignatureAppend2Url(u.String(), IntraAPIConfig.CRMSecrete)
}

//meeting status is "submitted"
func (m *crmdMeeting) getMeetingByLead(leadID string) {
filters := []crmdSearchFilter{
{"parentId", "equals", leadID},
{"parentType", "equals", "Lead"},
{"status", "equals", "submitted"},
}
cs, err := crmSearchEntity("Meeting", filters)
if err != nil && cs.Total < 1 {
return
}
total, list, err := cs.toEntityList("Meeting")
if total < 1 || err != nil || list == nil {
return
}
meetings := list.([]crmdMeeting)
// log.Println(meetings)
// log.Println(len(meetings))
*m = meetings[0]
// log.Println(*m)
// log.Println(m.ID)
}

Завантаження…
Відмінити
Зберегти