zwxi 9 months ago
parent
commit
7c08699ae0
2 changed files with 166 additions and 0 deletions
  1. 160 0
      services/cygx/activity_poster.go
  2. 6 0
      utils/config.go

+ 160 - 0
services/cygx/activity_poster.go

@@ -405,3 +405,163 @@ func MakeActivityMomentsImg(activityId int) {
 		return
 	}
 }
+
+// MakeMfyxActivitySigninImg 生成mfyx太阳码并上传OSS
+//func MakeMfyxActivitySigninImg(activityId int) (imgUrl string, err error) {
+//	var msg string
+//	defer func() {
+//		if err != nil || msg != "" {
+//			fmt.Println(err)
+//			utils.FileLog.Info("MakeMfyxActivitySigninImg Err:", err.Error())
+//			go alarm_msg.SendAlarmMsg("扫码签到日志记录,失败,活动ID:"+strconv.Itoa(activityId)+err.Error()+";msg:"+msg, 3)
+//		}
+//	}()
+//	activityInfo, e := cygx.GetAddActivityInfoById(activityId)
+//	if e != nil {
+//		err = errors.New("活动不存在, Err: " + e.Error())
+//		return
+//	}
+//	if activityInfo == nil {
+//		return
+//	}
+//	if activityInfo.ActivityTypeId != 5 && activityInfo.ActivityTypeId != 6 && activityInfo.ActivityTypeId != 8 {
+//		return
+//	}
+//	itemToken, err := models.GetWxToken(utils.WxMfyxAppId, utils.WxMfyxAppSecret)
+//	if err != nil {
+//		return
+//	}
+//	if itemToken.AccessToken == "" {
+//		msg = "accessToken is empty"
+//		return
+//	}
+//	var envVersion string
+//	var resourceUrl string
+//	if utils.RunMode == "release" {
+//		envVersion = "release"
+//	} else {
+//		envVersion = "trial"
+//	}
+//	url := "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=" + itemToken.AccessToken
+//	method := "POST"
+//	payload := strings.NewReader(`{
+//		"page":"` + utils.WX_MSG_PATH_ACTIVITY_SIGNIN + `",
+//		"scene":"` + strconv.Itoa(activityId) + `",
+//		"env_version":"` + envVersion + `",
+//		"check_path":false,
+//		"auto_color":true
+//				}`)
+//	client := &http.Client{}
+//	req, err := http.NewRequest(method, url, payload)
+//	if err != nil {
+//		msg = "获取微信二维码失败,Err:" + err.Error()
+//		return
+//	}
+//	req.Header.Add("Content-Type", "application/json")
+//	postBody, err := client.Do(req)
+//	if err != nil {
+//		msg = "获取微信二维码失败,Err:" + err.Error()
+//		return
+//	}
+//	defer postBody.Body.Close()
+//	uploadDir := "static/img/share/"
+//	uuid := utils.GetRandStringNoSpecialChar(28)
+//	if !utils.FileIsExist(uploadDir) {
+//		err = os.MkdirAll(uploadDir, 0755)
+//		if err != nil {
+//			msg = "生成文件夹失败,Err:" + err.Error()
+//			return
+//		}
+//	}
+//	imagePath := uploadDir + uuid + ".jpg"
+//	switch header := postBody.Header.Get("Content-Type"); {
+//	case strings.HasPrefix(header, "application/json"):
+//		tokenResp := ReturnBodyRule{}
+//		decoder := json.NewDecoder(postBody.Body)
+//		if decodeErr := decoder.Decode(&tokenResp); decodeErr != nil {
+//			msg = "获取微信二维码失败,Err:" + decodeErr.Error()
+//			return
+//		}
+//	case strings.HasPrefix(header, "image"):
+//		reply, e := ioutil.ReadAll(postBody.Body)
+//		if e != nil {
+//			err = e
+//			msg = "获取微信二维码失败,Err:" + err.Error()
+//			return
+//		}
+//		imageContent, e := os.Create(imagePath)
+//		if e != nil {
+//			err = e
+//			msg = "获取微信二维码失败,Err:" + err.Error()
+//			return
+//		}
+//		writeStringRes, e := io.WriteString(imageContent, string(reply))
+//		if e != nil {
+//			err = e
+//			fmt.Println(writeStringRes)
+//			return
+//		}
+//		closeErr := imageContent.Close()
+//		if closeErr != nil {
+//			err = closeErr
+//			return
+//		}
+//		randStr := utils.GetRandStringNoSpecialChar(28)
+//		fileName := randStr + ".jpg"
+//		savePath := uploadDir + time.Now().Format("200601/20060102/")
+//		savePath += fileName
+//		//上传到阿里云
+//		err = services.UploadFileToAliyun(fileName, imagePath, savePath)
+//		if err != nil {
+//			fmt.Println("文件上传失败,Err:" + err.Error())
+//			return
+//		}
+//		fileHost := "https://hzstatic.hzinsights.com/"
+//		resourceUrl = fileHost + savePath
+//		defer func() {
+//			os.Remove(imagePath)
+//		}()
+//	default:
+//		msg = "生成二维码失败"
+//		return
+//	}
+//
+//	detailConfig, e := cygx.GetCygxConfigDetailByCode(Cygx_activity_sigin_html)
+//	if e != nil {
+//		err = errors.New("GetCygxConfigDetailByCode 获取配置签到码格式信息失败, Err: " + e.Error())
+//		return
+//	}
+//	configValue := detailConfig.ConfigValue
+//	configValue = strings.Replace(configValue, "{{TITLE}}", activityInfo.ActivityName, -1)
+//	configValue = strings.Replace(configValue, "{{IMG}}", resourceUrl, -1)
+//	configValue = strings.Replace(configValue, "{{PLEASE}}", "请扫码确认签到", -1)
+//	configValue = strings.Replace(configValue, "{{SHOWTEXT}}", "将签到成功页面出示给接待人员", -1)
+//	htm2ImgReq := make(map[string]interface{})
+//	htm2ImgReq["html_content"] = configValue
+//	htm2ImgReq["width"] = 1364
+//	htm2ImgReq["height"] = 2060
+//	res, err := postHtml2Img(htm2ImgReq)
+//	if err != nil || res == nil {
+//		msg = "html转图片请求失败"
+//		return
+//	}
+//	if res.Code != 200 {
+//		msg = "html转图片请求失败"
+//		err = errors.New("html转图片失败: " + res.Msg)
+//		return
+//	}
+//	imgUrl = res.Data
+//	// 记录海报信息
+//
+//	err = cygx.UpdateCygxActivitySigninImg(imgUrl, activityId)
+//	if err != nil {
+//		return
+//	}
+//	item := new(cygx.CygxActivityPoster)
+//	item.ActivityId = activityId
+//	item.ImgXcx = resourceUrl
+//	item.ImgPoster = imgUrl
+//	item.CreateTime = time.Now()
+//	err = cygx.AddCygxActivityPoster(item)
+//	return
+//}

+ 6 - 0
utils/config.go

@@ -63,6 +63,8 @@ var (
 	WxMsgTemplateIdWithRoadshowDeleteNotice  string //路演->研究员收到活动删除通知
 	CYGX_WEB_URL                             string //查研观向web端网址
 	CYGX_MFYX_URL                            string //查研观向web端网址
+	WxMfyxAppId                              string //买方研选小程序APPID
+	WxMfyxAppSecret                          string //买方研选小程序 秘钥
 
 	WxMsgCategoryTemplateIdActivityChangeApply       string //买方研选活动变更通知-类目模板ID
 	WxMsgCategoryTemplateIdActivityCancleApply       string //买方研选活动取消通知-类目模板ID
@@ -230,6 +232,10 @@ func init() {
 	AdminWxAppId = "wx1392111da5426e9e"
 	AdminWxAppSecret = "30eceb7cf29bf2f046031155ab55d7b4"
 
+	// 买方研选
+	WxMfyxAppId = "wx5e3240ab90c247ac"
+	WxMfyxAppSecret = "6b1316b46dc9c63429f5c1df6f51b4ac"
+
 	THS_PubKey = `-----BEGIN PUBLIC KEY-----
 MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqugglfCboOEfWtHlGBOW
 40a4Y3xOs0MPBwjTOzHgcaWzx5XCc20VftGVXkWlpjs8u4dza/Bp1SV7SJ5Y7U95