Explorar el Código

Merge remote-tracking branch 'origin/feature/v4.8.70' into dev/v4.8.70_dx

duxin hace 1 año
padre
commit
d192837c21

+ 43 - 8
src/jfw/front/dataExport.go

@@ -32,14 +32,16 @@ type DataExport struct {
 	toOrderDetail xweb.Mapper `xweb:"/front/dataExport/toOrderDetail/(.*)"`  //订单详情
 	getOrderCode  xweb.Mapper `xweb:"/front/dataExport/getOrderCode/(\\w+)"` //申请发票获取订单编号
 
-	superSearchExport xweb.Mapper `xweb:"/front/dataExport/superSearchExport"`      //数据导出-超级搜索
-	toCreateOrderPage xweb.Mapper `xweb:"/front/dataExport/toCreateOrderPage/(.*)"` //数据导出-订单页面
-	previewData       xweb.Mapper `xweb:"/front/(.*)/previewData/(.*)"`             //数据导出-数据预览
-	sendMailVerify    xweb.Mapper `xweb:"/front/dataExport/sendMailVerify"`         //发送邮箱验证码
-	checkMailVerify   xweb.Mapper `xweb:"/front/dataExport/checkMailVerify"`        //验证邮箱验证码
-	paysuccess        xweb.Mapper `xweb:"/front/dataExport/paysuccess"`             //支付成功页面
-	checkPhoneVerify  xweb.Mapper `xweb:"/front/dataExport/checkPhoneVerify"`       //验证手机号
-	fontSet           xweb.Mapper `xweb:"/front/dataExport/fontSet/(.*)"`
+	superSearchExport  xweb.Mapper `xweb:"/front/dataExport/superSearchExport"`      //数据导出-超级搜索
+	toCreateOrderPage  xweb.Mapper `xweb:"/front/dataExport/toCreateOrderPage/(.*)"` //数据导出-订单页面
+	previewData        xweb.Mapper `xweb:"/front/(.*)/previewData/(.*)"`             //数据导出-数据预览
+	sendMailVerify     xweb.Mapper `xweb:"/front/dataExport/sendMailVerify"`         //发送邮箱验证码
+	checkMailVerify    xweb.Mapper `xweb:"/front/dataExport/checkMailVerify"`        //验证邮箱验证码
+	paysuccess         xweb.Mapper `xweb:"/front/dataExport/paysuccess"`             //支付成功页面
+	checkPhoneVerify   xweb.Mapper `xweb:"/front/dataExport/checkPhoneVerify"`       //验证手机号
+	fontSet            xweb.Mapper `xweb:"/front/dataExport/fontSet/(.*)"`
+	setDontPromptAgain xweb.Mapper `xweb:"/front/dataExport/setDontPromptAgain"` //数据导出-超出2w条,不再提示
+	getDontPromptAgain xweb.Mapper `xweb:"/front/dataExport/getDontPromptAgain"` //数据导出-超出2w条,不再提示
 
 	cancelOrder          xweb.Mapper `xweb:"/front/dataExport/cancelOrder"`              //取消订单
 	vipOrderDetail       xweb.Mapper `xweb:"/front/vipOrder/vipOrderDetail"`             //vip订单详情
@@ -833,6 +835,39 @@ func (d *DataExport) ValuationList(order_code string) error {
 	return d.Render("/_error.html")
 }
 
+func (d *DataExport) SetDontPromptAgain() {
+	status := d.GetString("status") //0 提示  1 不再提示
+	userId := d.GetSession("userId").(string)
+	boo := public.MQFW.UpdateById("user", userId, map[string]interface{}{
+		"$set": map[string]interface{}{
+			"i_export_promptAgain": status,
+		},
+	})
+	d.ServeJson(map[string]interface{}{
+		"error_code": 0,
+		"error_msg":  "",
+		"success":    boo,
+	})
+	return
+}
+
+func (d *DataExport) GetDontPromptAgain() {
+	isPrompt := true
+	userId := d.GetSession("userId").(string)
+	user, ok := public.MQFW.FindById("user", userId, `"i_export_promptAgain":1`)
+	if ok && user != nil {
+		if (*user)["_id"] == nil || util.IntAll((*user)["i_export_promptAgain"]) == 1 {
+			isPrompt = false
+		}
+	}
+	d.ServeJson(map[string]interface{}{
+		"error_code": 0,
+		"error_msg":  "",
+		"isPrompt":   isPrompt,
+	})
+	return
+}
+
 //
 //func (d *DataExport) EntDataExport(_id string) error {
 //	id := util.se.Decode4Hex(_id)

+ 10 - 0
src/jfw/front/pcIndex.go

@@ -91,10 +91,20 @@ func (m *PcIndex) NewSordfish(flag string) error {
 	m.T["shareid"] = se.EncodeString(shareid)
 	m.T["activestart"] = config.ActiveConfig.DoubleEleven.Active_Start
 	m.T["activeend"] = config.ActiveConfig.DoubleEleven.Active_End
+	m.T["userCard"] = "f"
 	regex, _ := regexp.Compile("(Android|Mobile)")
 	var isLogin bool
 	if util.ObjToString(m.GetSession("userId")) != "" {
 		isLogin = true
+		userPower := jy.GetBigVipUserBaseMsg(m.Session(), *config.Middleground)
+		switch {
+		case userPower.Status > 0:
+			m.T["userCard"] = "m"
+		case userPower.VipStatus > 0:
+			m.T["userCard"] = "v"
+		case userPower.EntnicheStatus > 0:
+			m.T["userCard"] = "e"
+		}
 	}
 	if ispc == 0 && len(regex.FindAllString(m.Header("User-Agent"), -1)) > 0 {
 		m.T["s_m_openid"] = util.ObjToString(m.GetSession("s_m_openid"))

+ 1 - 1
src/jfw/modules/subscribepay/src/entity/dataExportPackStruct.go

@@ -392,7 +392,7 @@ func (this *dataExportPackStruct) DoPerPackRepeatCheck(userId string, isSenior b
 // GetExcelFile 数据包生成excel文件
 func GetExcelFile(selectId string, checkCount int, isSenior bool, success func(excelPath string, exportIds []string), fail func(error)) {
 	list, err := dataexport.GetDataExportSearchResultByScdId(util.MQFW, util.Mgo_bidding, config.Config.Mongobidding.DbName, config.Config.Elasticsearch, selectId, qutil.If(isSenior, "2", "1").(string), checkCount)
-	url := util.GetExcelFilePath(pay.GetOrderCode(selectId))
+	url := util.GetExcelFilePath(pay.GetOrderCode(selectId), checkCount)
 	if err == nil && list != nil && len(*list) > 0 {
 		list = dataexport.FormatExportData(util.MQFWENT, list, config.Config.WebDomain, "2")
 		err = util.CreateDataExportExcelFile(list, isSenior, config.ExConf.ExcelPayedPath+url) //创建excel文件

+ 3 - 1
src/jfw/modules/subscribepay/src/entity/dataexport.go

@@ -84,9 +84,11 @@ func (d *dataExportStruct) PayCallBack(param *CallBackParam) bool {
 				"out_trade_no": param.OutTradeno,
 			}
 			orderCode := qutil.ObjToString((*orderdata)["order_code"])
+			dataCount := qutil.IntAll((*orderdata)["data_count"])
+
 			download_url := qutil.ObjToString((*orderdata)["download_url"])
 			if download_url == "" { //若未生成execl
-				download_url = util.GetExcelFilePath(orderCode)
+				download_url = util.GetExcelFilePath(orderCode, dataCount)
 				updateMap["download_url"] = download_url
 			}
 

+ 32 - 27
src/jfw/modules/subscribepay/src/entity/order.go

@@ -25,7 +25,7 @@ import (
 	"github.com/shopspring/decimal"
 )
 
-//资源包
+// 资源包
 type commonOrderStruct struct {
 }
 
@@ -88,15 +88,18 @@ func (this *commonOrderStruct) RequestCheck(product string, m map[string]interfa
 }
 
 /*
-	param
-		product:产品类型
-		m:订单需要的参数
-		lotteryId, discountId:优惠券相关
-		sess:session
-		activityType 活动类型 0满减、1折扣券、2满赠、3促销、4限时折扣、5限时减免  0、1才有券 2以后没券(虚假的券)
-	return
-		insertMap:创建订单的参数
-		msg:错误信息
+param
+
+	product:产品类型
+	m:订单需要的参数
+	lotteryId, discountId:优惠券相关
+	sess:session
+	activityType 活动类型 0满减、1折扣券、2满赠、3促销、4限时折扣、5限时减免  0、1才有券 2以后没券(虚假的券)
+
+return
+
+	insertMap:创建订单的参数
+	msg:错误信息
 */
 func (this *commonOrderStruct) InserMap(product, productId, userid, lotteryId, discountId string, m map[string]interface{}, session *httpsession.Session, activityType int) (orderinfo *OrderInfo, msg string) {
 	switch product {
@@ -240,7 +243,7 @@ func dataExportCheck(m map[string]interface{}, sess *httpsession.Session) string
 	return ""
 }
 
-//历史数据
+// 历史数据
 func dataExportOrder(m map[string]interface{}, userId string) (*OrderInfo, string) {
 	id := encrypt.SE.Decode4Hex(qu.ObjToString(m["id"]))
 	if id == "" {
@@ -309,7 +312,7 @@ func dataExportOrder(m map[string]interface{}, userId string) (*OrderInfo, strin
 	}
 
 	ordercode := pay.GetOrderCode(userId)
-	download_url := util.GetExcelFilePath(ordercode)
+	download_url := util.GetExcelFilePath(ordercode, data_count)
 	go func() {
 		list, err := dataexport.GetDataExportSearchResultByScdId(util.MQFW, util.Mgo_bidding, config.Config.Mongobidding.DbName, config.Config.Elasticsearch, id, qu.If(data_spec == "高级字段包", "2", "1").(string), data_count)
 		if err == nil && list != nil && len(*list) > 0 {
@@ -359,7 +362,7 @@ func (this *commonOrderStruct) DataExportPhoneAndMailCheck(sess *httpsession.Ses
 	return
 }
 
-//商机管理
+// 商机管理
 func entnicheOrder(m map[string]interface{}, userId string) (*OrderInfo, string) {
 	if phone, _ := util.GetMyPhoneAndName(userId); phone == "" {
 		return nil, "未绑定手机号"
@@ -446,7 +449,7 @@ var EntnichePirce entnichePrice
 
 type entnichePrice struct{}
 
-//商机管理计算价格
+// 商机管理计算价格
 func (this *entnichePrice) GetOrderMoney(userId string, personnum, cycle int) int {
 	if personnum < 5 || cycle < 1 {
 		log.Println(userId, "商机管理订单personnum、cycle参数不合法", personnum, cycle)
@@ -478,7 +481,7 @@ func (this *entnichePrice) GetOrderMoney(userId string, personnum, cycle int) in
 	return order_money
 }
 
-//获取解密后的企业id
+// 获取解密后的企业id
 func DecodeEntId(encodeId string) int {
 	encodeId = strings.TrimSpace(encodeId)
 	if encodeId == "" {
@@ -495,7 +498,7 @@ func DecodeEntId(encodeId string) int {
 	return id
 }
 
-//超级订阅
+// 超级订阅
 func vipOrder(m map[string]interface{}, userId string, session *httpsession.Session) (*OrderInfo, string) {
 	types := qu.ObjToString(m["type"])
 	switch types {
@@ -509,7 +512,7 @@ func vipOrder(m map[string]interface{}, userId string, session *httpsession.Sess
 	return nil, "未知类型"
 }
 
-//超级订阅首次购买
+// 超级订阅首次购买
 func vipFirstBuy(m map[string]interface{}, userId string, session *httpsession.Session) (*OrderInfo, string) {
 	//area := qu.ObjToMap(m["area"])          //地区  p195不再选择地区 只选择数量
 	areaCount := qu.IntAll(m["areaCount"]) //地区
@@ -629,7 +632,7 @@ func vipFirstBuy(m map[string]interface{}, userId string, session *httpsession.S
 	}, ""
 }
 
-//超级订阅续费
+// 超级订阅续费
 func vipRenew(m map[string]interface{}, userId string, session *httpsession.Session) (*OrderInfo, string) {
 	disWord := qu.ObjToString(m["disWord"])
 	// req_price := qu.IntAll(m["price"])
@@ -725,7 +728,7 @@ func vipRenew(m map[string]interface{}, userId string, session *httpsession.Sess
 	}, ""
 }
 
-//超级订阅升级
+// 超级订阅升级
 func vipUpgrade(m map[string]interface{}, userId string, session *httpsession.Session) (*OrderInfo, string) {
 	areaCount := qu.IntAll(m["areaCount"]) //地区
 	//area := qu.ObjToMap(m["area"])                  //地区  p195不再选择地区 只选数量
@@ -879,7 +882,7 @@ func vipUpgrade(m map[string]interface{}, userId string, session *httpsession.Se
 	return orderinfo, ""
 }
 
-//大会员
+// 大会员
 func memberOrder(m map[string]interface{}, userId string, session *httpsession.Session) (*OrderInfo, string) {
 	//校验是否有转账待审核订单
 	num := util.Mysql.Count("dataexport_order", map[string]interface{}{
@@ -930,7 +933,7 @@ func memberOrder(m map[string]interface{}, userId string, session *httpsession.S
 	}, ""
 }
 
-//剑鱼币
+// 剑鱼币
 func integralOrder(m map[string]interface{}, userId string) (*OrderInfo, string) {
 	//参数验证 price:价格(已折扣);score:购买积分
 	price := qu.IntAll(m["price"])
@@ -968,7 +971,7 @@ func integralOrder(m map[string]interface{}, userId string) (*OrderInfo, string)
 	}, ""
 }
 
-//数据流量包
+// 数据流量包
 func dataexportPackOrder(m map[string]interface{}, userId string) (*OrderInfo, string) {
 	packId := qu.ObjToString(m["packId"])
 	// 获取用户分销口令
@@ -1015,7 +1018,7 @@ func dataexportPackOrder(m map[string]interface{}, userId string) (*OrderInfo, s
 	}, ""
 }
 
-//省份订阅包
+// 省份订阅包
 func areaPackOrder(m map[string]interface{}, userId string, session *httpsession.Session) (*OrderInfo, string) {
 	orderType := qu.IntAll(m["orderType"])
 	area := qu.ObjToMap(m["area"])
@@ -1108,7 +1111,7 @@ func areaPackOrder(m map[string]interface{}, userId string, session *httpsession
 	return orderinfo, ""
 }
 
-//附件下载包
+// 附件下载包
 func filePackOrder(m map[string]interface{}, userId string, session *httpsession.Session) (*OrderInfo, string) {
 	data := jy.GetBigVipUserBaseMsg(session, *config.Middleground)
 	if data.VipStatus <= 0 {
@@ -1156,7 +1159,9 @@ func filePackOrder(m map[string]interface{}, userId string, session *httpsession
 	useProduct :产品类型
 	useProductType:商品类型 0普通的 1线上课程
 	discountId:活动赠品对应标识
+
 return:
+
 	timeNum:赠送数量
 	查看赠品
 */
@@ -1182,7 +1187,7 @@ func GiveInfo(userid string, useProduct, useProductType, discountId int) []map[s
 	return nil
 }
 
-//采购单位画像包 -超级订阅升级版用户可以购买使用
+// 采购单位画像包 -超级订阅升级版用户可以购买使用
 func buyerPortraitPackOrder(m map[string]interface{}, userId string, session *httpsession.Session) (*OrderInfo, string) {
 	uData := jy.GetBigVipUserBaseMsg(session, *config.Middleground)
 	if uData.VipStatus <= 0 || uData.Vip_BuySet.Upgrade <= 0 {
@@ -1224,7 +1229,7 @@ func buyerPortraitPackOrder(m map[string]interface{}, userId string, session *ht
 	}, ""
 }
 
-//数据报告
+// 数据报告
 func newDataReportOrder(m map[string]interface{}, userId string) (*OrderInfo, string) {
 	reportId := qu.IntAll(m["reportId"]) //报告id
 	email := qu.ObjToString(m["email"])
@@ -1285,7 +1290,7 @@ func newDataReportOrder(m map[string]interface{}, userId string) (*OrderInfo, st
 	}, ""
 }
 
-//中标必听课
+// 中标必听课
 func courseOnlineOrder(m map[string]interface{}, userId string) (*OrderInfo, string) {
 	pay_way := "wx_app"
 	_id := qu.ObjToString(m["courseId"])

+ 2 - 2
src/jfw/modules/subscribepay/src/go.mod

@@ -5,7 +5,7 @@ go 1.18
 require (
 	app.yhyue.com/moapp/jybase v0.0.0-20230718012114-37013054344b
 	app.yhyue.com/moapp/jylog v0.0.0-20230522075550-05d7230ca545
-	app.yhyue.com/moapp/jypkg v0.0.0-20230925120741-9e02619bfe25
+	app.yhyue.com/moapp/jypkg v0.0.0-20231030081511-1fcdc58a8a65
 	bp.jydev.jianyu360.cn/BaseService/pushpkg v0.0.0-20230225061813-384daf716c9d
 	bp.jydev.jianyu360.cn/BaseService/userCenter v1.2.14
 	github.com/SKatiyar/qr v0.0.0-20151201054752-25b6bdf44e67
@@ -137,7 +137,7 @@ require (
 	gopkg.in/yaml.v3 v3.0.1 // indirect
 	gorm.io/driver/mysql v1.0.5 // indirect
 	gorm.io/gorm v1.21.3 // indirect
-	jygit.jydev.jianyu360.cn/ApplicationCenter/publicService v0.0.0-20230710093759-d9d6c68de8b1 // indirect
+	jygit.jydev.jianyu360.cn/ApplicationCenter/publicService v0.0.0-20231017031425-45003ca9f35a // indirect
 	k8s.io/api v0.26.3 // indirect
 	k8s.io/apimachinery v0.27.0-alpha.3 // indirect
 	k8s.io/client-go v0.26.3 // indirect

+ 4 - 4
src/jfw/modules/subscribepay/src/go.sum

@@ -9,8 +9,8 @@ app.yhyue.com/moapp/jybase v0.0.0-20230718012114-37013054344b h1:Wtytm2QqQWtBV+s
 app.yhyue.com/moapp/jybase v0.0.0-20230718012114-37013054344b/go.mod h1:D40Ae0rQilH8Hc5o2Vtt04Tjh/DNEFpcS3/WkJMPJb8=
 app.yhyue.com/moapp/jylog v0.0.0-20230522075550-05d7230ca545 h1:+Lak4m1zgsigQloOsvp8AJ+0XeX/+PGp9QP550xlbBQ=
 app.yhyue.com/moapp/jylog v0.0.0-20230522075550-05d7230ca545/go.mod h1:uFrsdUBFbETiJlEmr4PtJWPsZlUpPj2bHQRhryu6ggk=
-app.yhyue.com/moapp/jypkg v0.0.0-20230925120741-9e02619bfe25 h1:2q7b1auPihIJD3Ewsd7Zi8ESeLkxuP57avWL8UoBr9U=
-app.yhyue.com/moapp/jypkg v0.0.0-20230925120741-9e02619bfe25/go.mod h1:gPCOY8bVXdY5bD7nry7th+YNkKC/viG8Dc9+z4fUaRo=
+app.yhyue.com/moapp/jypkg v0.0.0-20231030081511-1fcdc58a8a65 h1:ug5SwcvDDvcrucoNnMUwkin35bUZFhxzU3dozukcbR0=
+app.yhyue.com/moapp/jypkg v0.0.0-20231030081511-1fcdc58a8a65/go.mod h1:76Kz6+MuxcRJRyFad9W8R4AByiQlVGzuGFzklY+2m38=
 app.yhyue.com/moapp/message v0.0.0-20221223100203-6402e389d9ae h1:6rDDaz6yxvE8viTSzEBwKYOFWq14TMfuBivSazUZMz4=
 app.yhyue.com/moapp/message v0.0.0-20221223100203-6402e389d9ae/go.mod h1:b0zZHev3gmJao1Fo+2Z2KPVjsuLOJVvVxf+kCnu9WkA=
 bp.jydev.jianyu360.cn/BaseService/entManageApplication v0.0.0-20230214091519-89a98c01ab0e h1:h+VEI3o1qC0jeCzkFGTrLI4f27cfa/W/y+0sXokWMgE=
@@ -1423,8 +1423,8 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh
 honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
 honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
 honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
-jygit.jydev.jianyu360.cn/ApplicationCenter/publicService v0.0.0-20230710093759-d9d6c68de8b1 h1:BItxi1gkQUs3sjxaBk6tc34fZWSO4hUSXcTM3PcnY4I=
-jygit.jydev.jianyu360.cn/ApplicationCenter/publicService v0.0.0-20230710093759-d9d6c68de8b1/go.mod h1:p/595fgbj4r6GhSJhHDpx3Ru1NkD5UASFL8OuIQw09E=
+jygit.jydev.jianyu360.cn/ApplicationCenter/publicService v0.0.0-20231017031425-45003ca9f35a h1:kwjO4pqB3gnNGrQ9aXyz6f8s9qXAUenPUDWip8gYR/Q=
+jygit.jydev.jianyu360.cn/ApplicationCenter/publicService v0.0.0-20231017031425-45003ca9f35a/go.mod h1:p/595fgbj4r6GhSJhHDpx3Ru1NkD5UASFL8OuIQw09E=
 k8s.io/api v0.22.9/go.mod h1:rcjO/FPOuvc3x7nQWx29UcDrFJMx82RxDob71ntNH4A=
 k8s.io/api v0.26.3 h1:emf74GIQMTik01Aum9dPP0gAypL8JTLl/lHa4V9RFSU=
 k8s.io/api v0.26.3/go.mod h1:PXsqwPMXBSBcL1lJ9CYDKy7kIReUydukS5JiRlxC3qE=

+ 1 - 1
src/jfw/modules/subscribepay/src/service/dataExportPay.go

@@ -164,7 +164,7 @@ func (p *DataExportPay) CreateOrder() {
 			}
 		}
 		ordercode := pay.GetOrderCode(openId)
-		download_url := util.GetExcelFilePath(ordercode)
+		download_url := util.GetExcelFilePath(ordercode, data_count)
 		go func() {
 			list, err := dataexport.GetDataExportSearchResultByScdId(util.MQFW, util.Mgo_bidding, config.Config.Mongobidding.DbName, config.Config.Elasticsearch, id, qutil.If(data_spec == "高级字段包", "2", "1").(string), data_count)
 			if err == nil && list != nil && len(*list) > 0 {

+ 82 - 18
src/jfw/modules/subscribepay/src/util/dataExportExcel.go

@@ -5,6 +5,7 @@ import (
 	qutil "app.yhyue.com/moapp/jybase/common"
 	"errors"
 	"fmt"
+	"github.com/gogf/gf/v2/util/gconv"
 	"io"
 	"jy/src/jfw/modules/subscribepay/src/config"
 	"os"
@@ -33,9 +34,9 @@ var (
 )
 
 // 获取
-func GetExcelFilePath(orderCode string) string {
+func GetExcelFilePath(orderCode string, num int) string {
 	now := time.Now()
-	filename := fmt.Sprintf("%s.xlsx", fmt.Sprintf("%s_%s_%s", now.Format("20060102150405"), orderCode, qutil.GetLetterRandom(5)))
+	filename := fmt.Sprintf("%s.xlsx", fmt.Sprintf("%s_%d_%s_%s", now.Format("20060102"), num, orderCode, qutil.GetLetterRandom(5)))
 	return fmt.Sprintf("/dataexport/%s/%s/%s", now.Format("2006"), now.Format("01"), filename)
 }
 
@@ -136,27 +137,90 @@ func CreateDataExportExcelFile(list *[]map[string]interface{}, isSenior bool, fi
 	}
 	//填充数据
 	for k, data := range *list {
-		row = sheet.AddRow()
-		row.SetHeight(50)
+		winnerMaps := gconv.Maps(data["winnerMaps"])
+		winnerTotal := len(winnerMaps)
 		data["index"] = k + 1
-		for _, v := range excelHead {
-			if v.Filed == "" {
-				continue
+		if winnerTotal > 0 {
+			for index, winnerDatas := range winnerMaps {
+				row = sheet.AddRow()
+				row.SetHeight(50)
+
+				for _, v := range excelHead {
+					if v.Filed == "" {
+						continue
+					}
+					cell = row.AddCell()
+
+					if v.Filed != "legal_person" && v.Filed != "company_phone" && v.Filed != "company_email" && v.Filed != "company_name" {
+						if index == 0 {
+							cell.VMerge = winnerTotal - 1
+
+							if v.Filed == "title" || v.Filed == "url" {
+								cell.SetFormula(fmt.Sprintf("=HYPERLINK(\"%s\",\"%s\")", data["url_jump"], data[v.Filed]))
+							} else if v.Filed == "href" {
+								cell.SetFormula(fmt.Sprintf("=HYPERLINK(\"%s\",\"%s\")", data["href"], data[v.Filed]))
+							} else {
+								cell.SetValue(data[v.Filed])
+							}
+							cell.SetStyle(&xlsx.Style{
+								Border:    defaultExcelBorder,
+								Alignment: defaultExcelAlignment,
+							})
+						}
+					} else {
+						cell.SetValue(winnerDatas[v.Filed])
+						cell.SetStyle(&xlsx.Style{
+							Border:    defaultExcelBorder,
+							Alignment: defaultExcelAlignment,
+						})
+					}
+				}
 			}
-			cell = row.AddCell()
+		} else {
+			row = sheet.AddRow()
+			row.SetHeight(50)
 
-			if v.Filed == "title" || v.Filed == "url" {
-				cell.SetFormula(fmt.Sprintf("=HYPERLINK(\"%s\",\"%s\")", data["url_jump"], data[v.Filed]))
-			} else if v.Filed == "href" {
-				cell.SetFormula(fmt.Sprintf("=HYPERLINK(\"%s\",\"%s\")", data["href"], data[v.Filed]))
-			} else {
-				cell.SetValue(data[v.Filed])
+			for _, v := range excelHead {
+				if v.Filed == "" {
+					continue
+				}
+				cell = row.AddCell()
+
+				if v.Filed == "title" || v.Filed == "url" {
+					cell.SetFormula(fmt.Sprintf("=HYPERLINK(\"%s\",\"%s\")", data["url_jump"], data[v.Filed]))
+				} else if v.Filed == "href" {
+					cell.SetFormula(fmt.Sprintf("=HYPERLINK(\"%s\",\"%s\")", data["href"], data[v.Filed]))
+				} else {
+					cell.SetValue(data[v.Filed])
+				}
+
+				cell.SetStyle(&xlsx.Style{
+					Border:    defaultExcelBorder,
+					Alignment: defaultExcelAlignment,
+				})
 			}
-			cell.SetStyle(&xlsx.Style{
-				Border:    defaultExcelBorder,
-				Alignment: defaultExcelAlignment,
-			})
 		}
+		//row = sheet.AddRow()
+		//row.SetHeight(50)
+		//data["index"] = k + 1
+		//for _, v := range excelHead {
+		//	if v.Filed == "" {
+		//		continue
+		//	}
+		//	cell = row.AddCell()
+		//
+		//	if v.Filed == "title" || v.Filed == "url" {
+		//		cell.SetFormula(fmt.Sprintf("=HYPERLINK(\"%s\",\"%s\")", data["url_jump"], data[v.Filed]))
+		//	} else if v.Filed == "href" {
+		//		cell.SetFormula(fmt.Sprintf("=HYPERLINK(\"%s\",\"%s\")", data["href"], data[v.Filed]))
+		//	} else {
+		//		cell.SetValue(data[v.Filed])
+		//	}
+		//	cell.SetStyle(&xlsx.Style{
+		//		Border:    defaultExcelBorder,
+		//		Alignment: defaultExcelAlignment,
+		//	})
+		//}
 	}
 	if err := FolderCheck(filePath); err != nil {
 		return err

+ 6 - 0
src/web/staticres/css/pc/index.css

@@ -1834,6 +1834,9 @@ text-align: center;
   margin-top: 10px;
   height: 22px;
 }
+.jy-index .jy-index-strategy .strategy-content .strate_content .strate_c_list a {
+  font-size: 14px;
+}
 .jy-index-strategy .strategy-content .strate_content .strate_c_list a{
   color: #686868;
   text-decoration: none;
@@ -1841,6 +1844,9 @@ text-align: center;
 .jy-index-strategy .strategy-content .strate_content .strate_c_list a:hover{
   color: #2CB7CA;
 }
+.jy-index .jy-index-strategy .strategy-content .strate_content .strate_l_r_c_date {
+  font-size: 12px;
+}
 .jy-index-strategy .strategy-content .strate_content .strate_l_r_c_date{
   color: #999999;
   min-width: 50px;

+ 20 - 18
src/web/templates/pc/index.html

@@ -596,10 +596,12 @@
           <div class="app-btn" id="app-btn">立即预约演示</div>
         </div>
       </div>
+      {{ if ne .T.userCard "m"}}
       <!-- 底部广告位 -->
       <div class="pc-index-bottom">
         <img class="bottom-member-ad" adv_name="PC首页广告位-底部" src="" alt="底部广告位">
       </div>
+      {{ end }}
       {{include "/common/friend-link.html"}}
       {{include "/common/pcbottom.html"}}
 		</section>
@@ -1035,24 +1037,24 @@
   {{end}}
 
   // 首页活动弹窗迁移至工作桌面首页,此处活动弹窗不再展示
-  // var showDay = localStorage.tc;
-  // if(adv_img!=""){
-  //   if(localStorage.tc === undefined){
-  //     $("#index_tc").css("display","block");
-  //     $("#close2x").css("display","block");
-  //     $(".tans").css("display","block");
-  //   }else{
-  //     if(showDay != day){
-  //       $("#index_tc").css("display","block");
-  //       $("#close2x").css("display","block");
-  //       $(".tans").css("display","block");
-  //     }else{
-  //       $("#index_tc").css("display","none");
-  //       $("#close2x").css("display","none");
-  //       $(".tans").css("display","none");
-  //     }
-  //   }
-  // }
+  var showDay = localStorage.tc;
+  if(adv_img!=""){
+    if(localStorage.tc === undefined){
+      $("#index_tc").css("display","block");
+      $("#close2x").css("display","block");
+      $(".tans").css("display","block");
+    }else{
+      if(showDay != day){
+        $("#index_tc").css("display","block");
+        $("#close2x").css("display","block");
+        $(".tans").css("display","block");
+      }else{
+        $("#index_tc").css("display","none");
+        $("#close2x").css("display","none");
+        $(".tans").css("display","none");
+      }
+    }
+  }
 
   // 首页底部广告位
   {{$bottom:=(Ad "jy_pc_index_bottom" -1 .Host)}}