123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- package cygx
- import (
- "errors"
- "hongze/hz_crm_api/models/cygx"
- "hongze/hz_crm_api/utils"
- "strconv"
- "strings"
- "time"
- )
- //处理OCR识别图片建会的逻辑
- //星期日 Sunday=Sun. 读音:英[ˈsʌndeɪ]美[ˈsʌnˌdeɪ]
- //
- //星期一 Monday=Mon. 读音:英[ˈmʌndeɪ]美[ˈmʌndeɪ]
- //
- //星期二 Tuesday=Tues. 读音:英[ˈtju:zdeɪ]美[ˈtu:zdeɪ]
- //
- //星期三 Wednesday=Wed. 读音:英[ˈwenzdeɪ]美[ˈwɛnzdi, -ˌde]
- //
- //星期四 Thursday=Thur./Thurs. 读音:英[ˈθɜ:zdeɪ]美[ˈθɜ:rzdeɪ]
- //
- //星期五 Friday=Fri. 读音:英[ˈfraɪdeɪ]美[ˈfraɪˌdeɪ]
- //
- //星期六 Saturday=Sat. 读音: 英[ˈsætədeɪ]美[ˈsætərdeɪ]
- // 处理年月日格式
- func ConvertActivityTitmeYMD(TitmeYMD string) (titmeYMDNew string) {
- titmeYMDNew = TitmeYMD
- titmeYMDNew = strings.Replace(titmeYMDNew, "/", "月", -1)
- //titmeYMDNew = strings.Replace(titmeYMDNew, "SUN", "日(周日)", -1)
- //titmeYMDNew = strings.Replace(titmeYMDNew, "MON", "日(周一)", -1)
- //titmeYMDNew = strings.Replace(titmeYMDNew, "TUE", "日(周二)", -1)
- //titmeYMDNew = strings.Replace(titmeYMDNew, "WED", "日(周三)", -1)
- //titmeYMDNew = strings.Replace(titmeYMDNew, "THU", "日(周四)", -1)
- //titmeYMDNew = strings.Replace(titmeYMDNew, "FRI", "日(周五)", -1)
- //titmeYMDNew = strings.Replace(titmeYMDNew, "SAT", "日(周六)", -1)
- titmeYMDNew = strings.Replace(titmeYMDNew, "SUN", "日", -1)
- titmeYMDNew = strings.Replace(titmeYMDNew, "MON", "日", -1)
- titmeYMDNew = strings.Replace(titmeYMDNew, "TUE", "日", -1)
- titmeYMDNew = strings.Replace(titmeYMDNew, "WED", "日", -1)
- titmeYMDNew = strings.Replace(titmeYMDNew, "THU", "日", -1)
- titmeYMDNew = strings.Replace(titmeYMDNew, "FRI", "日", -1)
- titmeYMDNew = strings.Replace(titmeYMDNew, "SAT", "日", -1)
- titmeYMDNew = strconv.Itoa(time.Now().Year()) + "年" + titmeYMDNew
- return
- }
- // 处理时分PM格式
- func ConvertActivityTitmeHM(titmeHM string) (titmeHMNew string) {
- titmeHMNew = titmeHM
- var hNum int
- var amOrPm string
- if strings.Contains(titmeHM, "PM") {
- hNum = 12
- amOrPm = "PM"
- } else {
- amOrPm = "AM"
- }
- titmeHM = strings.Replace(titmeHM, "AM", "", -1)
- titmeHM = strings.Replace(titmeHM, "PM", "", -1)
- sliceHm := strings.Split(titmeHM, ":")
- if len(sliceHm) != 2 {
- return
- }
- hourNum, _ := strconv.Atoi(sliceHm[0])
- minute := sliceHm[1]
- titmeHMNew = strconv.Itoa(hNum+hourNum) + ":" + minute + amOrPm
- return
- }
- // 活动内容模版
- var ActivityOcrTemplate = "<p>【买方研选-小范围公司线上交流】{{COMPANY}}</p><p>时间:{{TIME}}</p><p>嘉宾:IR</p><p>主持人:IR</p><p>链接参会:(会前一天下午更新)</p><p>备注:</p><p>1、请先报名,我们将于会议前一天提供【Webex】入会链接(可电话拨入or网络端参会);</p><p>2、会议语言:{{LANGUAGE}};</p><p>3、本场会议报名截止时间为会议开始前一天下午3点半;</p><p>4、本次会议扣0.5次研选服务点。</p>"
- func MakeActivityReqText(list []*cygx.AliyunOcrTextActivityResp) (req cygx.ActivityRep, err error, errMsg string) {
- for _, v := range list {
- ActivityOcrTmp := ActivityOcrTemplate
- sliceCompany := strings.Split(v.Company, "(")
- company := sliceCompany[0]
- ActivityOcrTmp = strings.Replace(ActivityOcrTmp, "{{COMPANY}}", company, -1)
- v.TitmeYMD = strings.Replace(v.TitmeYMD, "年", "-", -1)
- v.TitmeYMD = strings.Replace(v.TitmeYMD, "月", "-", -1)
- v.TitmeYMD = strings.Replace(v.TitmeYMD, "日", "", -1)
- weeknum := utils.StrDateTimeToWeek(v.TitmeYMD + " 00:00:00")
- var condition string
- var pars []interface{}
- condition = " AND activity_type_id = 3 AND activity_time = ? AND temporary_label = ? "
- var activityTime string
- activityTime = strings.Replace(v.TitmeHM, " ", "", -1)
- activityTime = strings.Replace(activityTime, "AM", "", -1)
- activityTime = strings.Replace(activityTime, "PM", "", -1)
- activityTime = v.TitmeYMD + " " + activityTime + ":00"
- //fmt.Println(activityTime)
- pars = append(pars, activityTime, company)
- total, e := cygx.GetActivityCount(condition, pars)
- if e != nil {
- err = errors.New("GetActivityCount,Err" + e.Error())
- return
- }
- //fmt.Println(total)
- //return
- if total > 0 {
- errMsg = "相同时段已存在对应活动"
- return
- }
- ActivityOcrTmp = strings.Replace(ActivityOcrTmp, "{{TIME}}", v.TitmeYMD+"("+weeknum+")"+v.TitmeHM, -1)
- if utils.CheckStrHaveLetter(company) {
- ActivityOcrTmp = strings.Replace(ActivityOcrTmp, "{{LANGUAGE}}", "中文", -1)
- } else {
- ActivityOcrTmp = strings.Replace(ActivityOcrTmp, "{{LANGUAGE}}", "英文", -1)
- }
- req.Body += ActivityOcrTmp + "<hr>" //分隔符标签
- label := new(cygx.ActivityGroupIndustrialRep)
- label.TemporaryLabel = company
- req.List = append(req.List, label)
- }
- //初始化相关活动参数信息
- req.Body = strings.TrimRight(req.Body, "<hr>")
- req.DoType = 1
- req.ActivityTypeId = 3
- req.PermissionName = utils.CHART_PERMISSION_NAME_MF_YANXUAN
- req.CustomerTypeIds = "1,2,8,10,3,9,5,6,7"
- req.IsAllCustomerType = 1
- req.LimitPeopleNum = 10
- req.LabelType = 1
- req.VisibleRange = 2
- req.IsResearchPoints = 1
- req.IsNeedEmail = 1
- // 研选点数
- pointsSet := new(cygx.CygxActivityPointsSetRsq)
- pointsSet.PointsObject = "1"
- pointsSet.UserPointsNum = "0.5"
- pointsSet.PointsType = "1"
- pointsSet.CompanyPointsNum = "0"
- pointsSet.CancelDeadlineType = "1"
- req.PointsSet = pointsSet
- return
- }
|