|
@@ -8,6 +8,7 @@ import (
|
|
|
"hongze/hz_crm_api/models"
|
|
|
"hongze/hz_crm_api/models/cygx"
|
|
|
"hongze/hz_crm_api/models/system"
|
|
|
+ "hongze/hz_crm_api/services"
|
|
|
cygxService "hongze/hz_crm_api/services/cygx"
|
|
|
"hongze/hz_crm_api/utils"
|
|
|
"os"
|
|
@@ -736,3 +737,129 @@ func (this *ActivitySpecialTripCoAntroller) OutboundMobileEdit() {
|
|
|
br.Msg = "操作成功"
|
|
|
br.IsAddLog = true
|
|
|
}
|
|
|
+
|
|
|
+// @Title 模版消息发送客户类型列表
|
|
|
+// @Description 模版消息发送客户类型列表接口
|
|
|
+// @Success Ret=200
|
|
|
+// @router /special/trip/tempMsg/sendGroupList [get]
|
|
|
+func (this *ActivitySpecialTripCoAntroller) SendGroupList() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+ AdminUser := this.SysUser
|
|
|
+ if AdminUser == nil {
|
|
|
+ br.Msg = "请登录"
|
|
|
+ br.ErrMsg = "请登录,SysUser Is Empty"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ list := make([]cygx.SendGroup, 0)
|
|
|
+ list = append(list, cygx.SendGroup{
|
|
|
+ Id: 1,
|
|
|
+ Name: "已报名客户",
|
|
|
+ })
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Data = list
|
|
|
+}
|
|
|
+
|
|
|
+// @Title 发送模版消息
|
|
|
+// @Description 发送模版消息接口
|
|
|
+// @Param request body cygx.AddOutboundPersonnelItm true "type json string"
|
|
|
+// @Success 200 操作成功
|
|
|
+// @router /special/trip/tempMsg [post]
|
|
|
+func (this *ActivitySpecialTripCoAntroller) TempMsg() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+ AdminUser := this.SysUser
|
|
|
+ if AdminUser == nil {
|
|
|
+ br.Msg = "请登录"
|
|
|
+ br.ErrMsg = "请登录,SysUser Is Empty"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var req cygx.ActivitySpecialSignupTempMsgReq
|
|
|
+ err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "参数解析异常!"
|
|
|
+ br.ErrMsg = "参数解析失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ idSlice := strings.Split(req.ActivityIds, ",")
|
|
|
+ for _, sId := range idSlice {
|
|
|
+ id, e := strconv.Atoi(sId)
|
|
|
+ if e != nil {
|
|
|
+ br.Msg = "活动Id参数异常"
|
|
|
+ br.ErrMsg = "参数解析异常, Err:" + e.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var openIdList []*models.OpenIdList
|
|
|
+ idMap := make(map[string]string, 0)
|
|
|
+ //1已报名
|
|
|
+ if strings.Contains(req.SendGroup, "1") {
|
|
|
+ listSignup, err := cygx.GetCygxActivitySpecialTripListByActivityId(id)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "查询报名信息失败失败"
|
|
|
+ br.ErrMsg = "GetCygxActivitySpecialTripListByActivityId,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if len(listSignup) == 0 {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ var mobileArr []string
|
|
|
+ for _, v := range listSignup {
|
|
|
+ if v.Mobile != "" {
|
|
|
+ mobileArr = append(mobileArr, v.Mobile)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ mobileLen := len(mobileArr)
|
|
|
+ var condition string
|
|
|
+ var pars []interface{}
|
|
|
+ if mobileLen > 0 {
|
|
|
+ condition += ` AND u.mobile IN (` + utils.GetOrmInReplace(mobileLen) + `)`
|
|
|
+ pars = append(pars, mobileArr)
|
|
|
+ }
|
|
|
+ list, err := models.GetActivitySpecialOpenIdListMobile(condition, pars)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "查询openId失败"
|
|
|
+ br.ErrMsg = "查询openId失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, idList := range list {
|
|
|
+ openIdList = append(openIdList, idList)
|
|
|
+ idMap[idList.OpenId] = idList.OpenId
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if len(openIdList) > 0 {
|
|
|
+ openIdArr := make([]string, len(openIdList))
|
|
|
+ for i, v := range openIdList {
|
|
|
+ openIdArr[i] = v.OpenId
|
|
|
+ }
|
|
|
+ sendInfo := new(services.SendWxTemplate)
|
|
|
+ sendInfo.Keyword1 = req.ResearchTheme
|
|
|
+ sendInfo.Keyword2 = req.Content
|
|
|
+ sendInfo.TemplateId = utils.WxMsgTemplateIdActivityChangeApplyXzs
|
|
|
+ sendInfo.RedirectUrl = utils.WX_MSG_PATH_ACTIVITY_SPECIAL_DETAIL + strconv.Itoa(id)
|
|
|
+ if utils.RunMode == "debug" {
|
|
|
+ sendInfo.RedirectUrl = utils.WX_MSG_PATH_ACTIVITY_SPECIAL_DETAIL + strconv.Itoa(110) //测试环境调正式的ID
|
|
|
+ }
|
|
|
+ sendInfo.RedirectTarget = 3
|
|
|
+ sendInfo.Resource = strconv.Itoa(id)
|
|
|
+ sendInfo.SendType = utils.TEMPLATE_MSG_CYGX_ACTIVITY_CUSTOMIZE
|
|
|
+ sendInfo.OpenIdArr = openIdArr
|
|
|
+ e = services.SendTemplateMsg(sendInfo)
|
|
|
+ if e != nil {
|
|
|
+ br.Msg = "推送模板消息失败!"
|
|
|
+ br.ErrMsg = "参数解析失败,Err:" + e.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "发送成功"
|
|
|
+}
|