Эх сурвалжийг харах

Merge branch 'feature/v4.10.2' of https://jygit.jydev.jianyu360.cn/qmx/jy into feature/v4.10.2

duxin 1 сар өмнө
parent
commit
0f9bdd672c
49 өөрчлөгдсөн 1379 нэмэгдсэн , 1078 устгасан
  1. 2 1
      src/config.json
  2. 8 8
      src/go.mod
  3. 16 16
      src/go.sum
  4. 5 3
      src/jfw/front/login.go
  5. 2 1
      src/jfw/front/org_structure.go
  6. 6 4
      src/jfw/front/otherAct.go
  7. 1 0
      src/jfw/front/pchelper.go
  8. 11 0
      src/jfw/front/swordfish.go
  9. 7 0
      src/jfw/modules/app/src/app/consts/consts.go
  10. 593 590
      src/jfw/modules/app/src/app/front/login.go
  11. 15 8
      src/jfw/modules/app/src/app/front/swordfish.go
  12. 2 1
      src/jfw/modules/app/src/config.json
  13. 8 8
      src/jfw/modules/app/src/go.mod
  14. 16 16
      src/jfw/modules/app/src/go.sum
  15. 14 2
      src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/js/vip_order_detail.js
  16. 3 3
      src/jfw/modules/app/src/web/templates/big-member/page_orderdetail_member.html
  17. 1 1
      src/jfw/modules/app/src/web/templates/commonPay/integral/integralDetail.html
  18. 2 1
      src/jfw/modules/bigmember/src/config.json
  19. 1 0
      src/jfw/modules/bigmember/src/config/config.go
  20. 7 7
      src/jfw/modules/bigmember/src/go.mod
  21. 14 14
      src/jfw/modules/bigmember/src/go.sum
  22. 363 294
      src/jfw/modules/bigmember/src/service/analysis/analysis.go
  23. 15 4
      src/jfw/modules/bigmember/src/service/follow/projectPdf.go
  24. 13 2
      src/jfw/modules/publicapply/src/bidcollection/entity/entity.go
  25. 2 1
      src/jfw/modules/publicapply/src/config.json
  26. 2 1
      src/jfw/modules/publicapply/src/config/config.go
  27. 10 1
      src/jfw/modules/publicapply/src/detail/dao/baseInfo.go
  28. 10 0
      src/jfw/modules/publicapply/src/entCreditReport/init.go
  29. 9 0
      src/jfw/modules/publicapply/src/entCreditReport/service/action.go
  30. 24 0
      src/jfw/modules/publicapply/src/entCreditReport/service/service.go
  31. 6 0
      src/jfw/modules/publicapply/src/entCreditReport/test.http
  32. 4 0
      src/jfw/modules/publicapply/src/filter/sessionfilter.go
  33. 8 8
      src/jfw/modules/publicapply/src/go.mod
  34. 16 16
      src/jfw/modules/publicapply/src/go.sum
  35. 1 0
      src/jfw/modules/publicapply/src/main.go
  36. 2 1
      src/jfw/modules/publicapply/src/oneclick/entity/entity.go
  37. 9 0
      src/jfw/modules/publicapply/src/userbase/entity/entity.go
  38. 2 3
      src/jfw/modules/subscribepay/src/entity/order.go
  39. 2 2
      src/jfw/modules/subscribepay/src/go.mod
  40. 2 2
      src/jfw/modules/subscribepay/src/go.sum
  41. 4 2
      src/jfw/modules/subscribepay/src/service/userAccountInfo.go
  42. 1 1
      src/web/staticres/common-module/order-list/js/order-detail.js
  43. 21 2
      src/web/staticres/common-module/order-list/js/order-list.js
  44. 64 37
      src/web/templates/frontRouter/wx/vipIntro/free/order_detail.html
  45. 1 1
      src/web/templates/order/pc/integral/integralDetail.html
  46. 1 1
      src/web/templates/pc/dataPack/packDetail.html
  47. 2 2
      src/web/templates/pc/member_orderDetail.html
  48. 36 11
      src/web/templates/pc/myOrder.html
  49. 15 2
      src/web/templates/pc/vip_orderDetail.html

+ 2 - 1
src/config.json

@@ -490,5 +490,6 @@
       "code": "16"
     }
   ],
-  "levelCacheTime": 259200
+  "levelCacheTime": 259200,
+  "ossServiceAddr": "172.31.31.203:1112"
 }

+ 8 - 8
src/go.mod

@@ -4,9 +4,9 @@ go 1.20
 
 require (
 	app.yhyue.com/moapp/jyMarketing v0.0.2-0.20230308011651-df591d32df88
-	app.yhyue.com/moapp/jybase v0.0.0-20250225094323-2f6419d0d916
+	app.yhyue.com/moapp/jybase v0.0.0-20250403014436-53740a2395aa
 	app.yhyue.com/moapp/jylog v0.0.0-20230522075550-05d7230ca545
-	app.yhyue.com/moapp/jypkg v1.33.6
+	app.yhyue.com/moapp/jypkg v1.33.13
 	bp.jydev.jianyu360.cn/BaseService/userCenter v1.2.21
 	github.com/SKatiyar/qr v0.0.0-20151201054752-25b6bdf44e67
 	github.com/bwmarrin/snowflake v0.3.0
@@ -17,6 +17,7 @@ require (
 	github.com/robfig/cron v1.2.0
 	github.com/zeromicro/go-zero v1.6.4
 	go.mongodb.org/mongo-driver v1.14.0
+	jygit.jydev.jianyu360.cn/BaseService/ossClient v0.0.0-20250617080435-854a73d39d01
 )
 
 require (
@@ -136,18 +137,17 @@ require (
 	golang.org/x/crypto v0.23.0 // indirect
 	golang.org/x/image v0.24.0 // indirect
 	golang.org/x/net v0.25.0 // indirect
-	golang.org/x/oauth2 v0.17.0 // indirect
+	golang.org/x/oauth2 v0.18.0 // indirect
 	golang.org/x/sync v0.11.0 // indirect
 	golang.org/x/sys v0.20.0 // indirect
 	golang.org/x/term v0.20.0 // indirect
 	golang.org/x/text v0.22.0 // indirect
 	golang.org/x/time v0.5.0 // indirect
 	google.golang.org/appengine v1.6.8 // indirect
-	google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de // indirect
-	google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de // indirect
-	google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de // indirect
-	google.golang.org/grpc v1.63.2 // indirect
-	google.golang.org/protobuf v1.33.0 // indirect
+	google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237 // indirect
+	google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237 // indirect
+	google.golang.org/grpc v1.64.0 // indirect
+	google.golang.org/protobuf v1.36.0 // indirect
 	gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc // indirect
 	gopkg.in/inf.v0 v0.9.1 // indirect
 	gopkg.in/ini.v1 v1.67.0 // indirect

+ 16 - 16
src/go.sum

@@ -15,13 +15,13 @@ app.yhyue.com/moapp/jybase v0.0.0-20230117032034-ad7c00ffe11a/go.mod h1:zB47XTeJ
 app.yhyue.com/moapp/jybase v0.0.0-20230419121327-bedf77840ba6/go.mod h1:zB47XTeJvpcbtBRYgkQuxOICWNexiZfbUO+7aUf6mNs=
 app.yhyue.com/moapp/jybase v0.0.0-20230901064756-2fc66b18db40/go.mod h1:Hv9U/7oHRucqH315Tr1+d03NCvS9mOKPfk8pwwlOIwQ=
 app.yhyue.com/moapp/jybase v0.0.0-20231025021840-2f91c944ecdd/go.mod h1:Hv9U/7oHRucqH315Tr1+d03NCvS9mOKPfk8pwwlOIwQ=
-app.yhyue.com/moapp/jybase v0.0.0-20250225094323-2f6419d0d916 h1:uhzwulALpCu8gZN6O6V/jo9sbbgxQqLNX3dd4qN4Ick=
-app.yhyue.com/moapp/jybase v0.0.0-20250225094323-2f6419d0d916/go.mod h1:/HT/UZ4dKuUKAQqqKrzBBfIZ4vD56DPV4u2QyfH+kbU=
+app.yhyue.com/moapp/jybase v0.0.0-20250403014436-53740a2395aa h1:F45Yi0O0W7ezagpb4EWc57CGNoQ60HN3Ut7npO/sto4=
+app.yhyue.com/moapp/jybase v0.0.0-20250403014436-53740a2395aa/go.mod h1:OEtMbsn7wY/7MLgV7yDUpVDKExUoj3B8h+4w4ZckJQQ=
 app.yhyue.com/moapp/jyfs v0.0.0-20231024061508-480c270480d4/go.mod h1:61hzZ3dZHXL28BNl8BOgZsvM2S5UVY5YFzOkEUPrSu4=
 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 v1.33.6 h1:KVxcO5SBK7da/xkiic+wlzohlUZF8BbvUmjiLLj6BPc=
-app.yhyue.com/moapp/jypkg v1.33.6/go.mod h1:m/OMjugcf4XK5c/2mErxnXEyAZ+WNya8HP0x8jFGw4U=
+app.yhyue.com/moapp/jypkg v1.33.13 h1:uym9U+WjiOzZ/U03bjTxiwuMmggFfbodgMmNA4Qfyds=
+app.yhyue.com/moapp/jypkg v1.33.13/go.mod h1:m/OMjugcf4XK5c/2mErxnXEyAZ+WNya8HP0x8jFGw4U=
 app.yhyue.com/moapp/message v0.0.0-20231204024949-8c7145bfc161 h1:WGi4OEIoqw6NpNFGioUEBZnjK9aBa+xJqf/5WY+QyhM=
 app.yhyue.com/moapp/message v0.0.0-20231204024949-8c7145bfc161/go.mod h1:0Oj8SB4pVjdCLD28sy2zyM3hS0WHGpNuVcakLW43GmI=
 bp.jydev.jianyu360.cn/BP/jynsq v0.0.0-20220222052708-ebc43af90698/go.mod h1:ojo/AUH9Yr1wzarEjOaNMkj1Cet/9r8IgLyba64Z52E=
@@ -2128,8 +2128,8 @@ golang.org/x/oauth2 v0.7.0/go.mod h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4
 golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE=
 golang.org/x/oauth2 v0.10.0/go.mod h1:kTpgurOux7LqtuxjuyZa4Gj2gdezIt/jQtGnNFfypQI=
 golang.org/x/oauth2 v0.11.0/go.mod h1:LdF7O/8bLR/qWK9DrpXmbHLTouvRHK0SgJl0GmDBchk=
-golang.org/x/oauth2 v0.17.0 h1:6m3ZPmLEFdVxKKWnKq4VqZ60gutO35zm+zrAHVmHyDQ=
-golang.org/x/oauth2 v0.17.0/go.mod h1:OzPDGQiuQMguemayvdylqddI7qcD9lnSDb+1FiwQ5HA=
+golang.org/x/oauth2 v0.18.0 h1:09qnuIAgzdx1XplqJvW6CQqMCtGZykZWcXzPMPUusvI=
+golang.org/x/oauth2 v0.18.0/go.mod h1:Wf7knwG0MPoWIMMBgFlEaSUDaKskp0dCfrlJRJXbBi8=
 golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -2656,8 +2656,6 @@ google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98/go.mod h1:S7mY02Oq
 google.golang.org/genproto v0.0.0-20230726155614-23370e0ffb3e/go.mod h1:0ggbjUrZYpy1q+ANUS30SEoGZ53cdfwtbuG7Ptgy108=
 google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5/go.mod h1:oH/ZOT02u4kWEp7oYBGYFFkCdKS/uYR9Z7+0/xuuFp8=
 google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d/go.mod h1:yZTlhN0tQnXo3h00fuXNCxJdLdIdnVFVBaRJ5LWBbw4=
-google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de h1:F6qOa9AZTYJXOUEr4jDysRDLrm4PHePlge4v4TGAlxY=
-google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:VUhTRKeHn9wwcdrk73nvdC9gF178Tzhmt/qyaFcPLSo=
 google.golang.org/genproto/googleapis/api v0.0.0-20230525234020-1aefcd67740a/go.mod h1:ts19tUU+Z0ZShN1y3aPyq2+O3d5FUNNgT6FtOzmrNn8=
 google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig=
 google.golang.org/genproto/googleapis/api v0.0.0-20230526203410-71b5a4ffd15e/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig=
@@ -2668,8 +2666,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20230711160842-782d3b101e98/go.
 google.golang.org/genproto/googleapis/api v0.0.0-20230726155614-23370e0ffb3e/go.mod h1:rsr7RhLuwsDKL7RmgDDCUc6yaGr1iqceVb5Wv6f6YvQ=
 google.golang.org/genproto/googleapis/api v0.0.0-20230803162519-f966b187b2e5/go.mod h1:5DZzOUPCLYL3mNkQ0ms0F3EuUNZ7py1Bqeq6sxzI7/Q=
 google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d/go.mod h1:KjSP20unUpOx5kyQUFa7k4OJg0qeJ7DEZflGDu2p6Bk=
-google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de h1:jFNzHPIeuzhdRwVhbZdiym9q0ory/xY3sA+v2wPg8I0=
-google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:5iCWqnniDlqZHrd3neWVTOwvh/v6s3232omMecelax8=
+google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237 h1:RFiFrvy37/mpSpdySBDrUdipW/dHwsRwh3J3+A9VgT4=
+google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237/go.mod h1:Z5Iiy3jtmioajWHDGFk7CeugTyHtPvMHA4UTmUkyalE=
 google.golang.org/genproto/googleapis/bytestream v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:ylj+BE99M198VPbBh6A8d9n3w8fChvyLK3wwBOjXBFA=
 google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234015-3fc162c6f38a/go.mod h1:xURIpW9ES5+/GZhnV6beoEtxQrnkRGIfP5VQG2tCBLc=
 google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA=
@@ -2682,8 +2680,8 @@ google.golang.org/genproto/googleapis/rpc v0.0.0-20230731190214-cbb8c96f2d6d/go.
 google.golang.org/genproto/googleapis/rpc v0.0.0-20230803162519-f966b187b2e5/go.mod h1:zBEcrKX2ZOcEkHWxBPAIvYUWOKKMIhYcmNiUIu2ji3I=
 google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M=
 google.golang.org/genproto/googleapis/rpc v0.0.0-20230913181813-007df8e322eb/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de h1:cZGRis4/ot9uVm639a+rHCUaG0JJHEsdyzSQTMX+suY=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:H4O17MA/PE9BsGx3w+a+W2VOLLD1Qf7oJneAoU6WktY=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237 h1:NnYq6UN9ReLM9/Y01KWNOWyI5xQ9kbIms5GGJVwS/Yc=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY=
 google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs=
 google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
 google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
@@ -2732,8 +2730,8 @@ google.golang.org/grpc v1.56.2/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpX
 google.golang.org/grpc v1.57.0/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo=
 google.golang.org/grpc v1.58.2/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0=
 google.golang.org/grpc v1.59.0/go.mod h1:aUPDwccQo6OTjy7Hct4AfBPD1GptF4fyUjIkQ9YtF98=
-google.golang.org/grpc v1.63.2 h1:MUeiw1B2maTVZthpU5xvASfTh3LDbxHd6IJ6QQVU+xM=
-google.golang.org/grpc v1.63.2/go.mod h1:WAX/8DgncnokcFUldAxq7GeB5DXHDbMF+lLvDomNkRA=
+google.golang.org/grpc v1.64.0 h1:KH3VH9y/MgNQg1dE7b3XfVK0GsPSIzJwdF617gUSbvY=
+google.golang.org/grpc v1.64.0/go.mod h1:oxjF8E3FBnjp+/gVFYdWacaLDx9na1aqy9oovLpxQYg=
 google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw=
 google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
 google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
@@ -2754,8 +2752,8 @@ google.golang.org/protobuf v1.28.2-0.20230222093303-bc1253ad3743/go.mod h1:HV8QO
 google.golang.org/protobuf v1.29.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
 google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
 google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
-google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI=
-google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
+google.golang.org/protobuf v1.36.0 h1:mjIs9gYtt56AzC4ZaffQuh88TZurBGhIJMBZGSxNerQ=
+google.golang.org/protobuf v1.36.0/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
 gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
 gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc h1:2gGKlE2+asNV9m7xrywl36YYNnBG5ZQ0r/BOOxqPpmk=
 gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc/go.mod h1:m7x9LTH6d71AHyAX77c9yqWCCa3UKHcVEj9y7hAtKDk=
@@ -2814,6 +2812,8 @@ honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9
 honnef.co/go/tools v0.1.3/go.mod h1:NgwopIslSNH47DimFoV78dnkksY2EFtX0ajyb3K/las=
 jygit.jydev.jianyu360.cn/ApplicationCenter/publicService v0.0.0-20231023011746-38dc3b6aded8 h1:mP1DxQ4EpsgKjRAOuw9qyWr2PRqQJ11QgKqvY3fyffc=
 jygit.jydev.jianyu360.cn/ApplicationCenter/publicService v0.0.0-20231023011746-38dc3b6aded8/go.mod h1:p/595fgbj4r6GhSJhHDpx3Ru1NkD5UASFL8OuIQw09E=
+jygit.jydev.jianyu360.cn/BaseService/ossClient v0.0.0-20250617080435-854a73d39d01 h1:66dFAyxndOQHDQUYTUR5n7vFfyfvEcTR2seaK2pvyJM=
+jygit.jydev.jianyu360.cn/BaseService/ossClient v0.0.0-20250617080435-854a73d39d01/go.mod h1:GamMXV9LlDWGyQQrHVojZUOJqZpxa5cuEA9W5D+PGG8=
 k8s.io/api v0.20.12/go.mod h1:A2brwyEkVLM3wQGNnzoAa5JsQRzHK0uoOQ+bsnv7V68=
 k8s.io/api v0.22.9/go.mod h1:rcjO/FPOuvc3x7nQWx29UcDrFJMx82RxDob71ntNH4A=
 k8s.io/api v0.26.3/go.mod h1:PXsqwPMXBSBcL1lJ9CYDKy7kIReUydukS5JiRlxC3qE=

+ 5 - 3
src/jfw/front/login.go

@@ -1,8 +1,6 @@
 package front
 
 import (
-	"app.yhyue.com/moapp/jybase/captcha"
-	"app.yhyue.com/moapp/jybase/gocaptcha"
 	"fmt"
 	"jy/src/jfw/config"
 	jutil "jy/src/jfw/jyutil"
@@ -12,6 +10,9 @@ import (
 	"strings"
 	"time"
 
+	"app.yhyue.com/moapp/jybase/captcha"
+	"app.yhyue.com/moapp/jybase/gocaptcha"
+
 	"app.yhyue.com/moapp/jybase/date"
 	"github.com/gogf/gf/v2/util/gconv"
 
@@ -243,7 +244,8 @@ func (l *Login) Login() error {
 							l.UserAgent(),
 							"jybx",
 							"",
-							referer)
+							referer,
+							"")
 						jy.ClearPhoneIdentSession(l.Session())
 						ok, _, userInfo := afterLogin(l.Request, phone, l.Session(), false)
 						userInfo["isNewUser"] = true

+ 2 - 1
src/jfw/front/org_structure.go

@@ -218,7 +218,8 @@ func (this *OrgStructure) AutoLogon() error {
 						this.UserAgent(),
 						"",
 						"",
-						referer)
+						referer,
+						"")
 					nsqPath, _ := config.Sysconfig["nsq"].(string)
 					nsq_topic, _ := config.Sysconfig["nsq_topic"].(string)
 					jy.Publish(public.Mgo_Log, nsqPath, nsq_topic, "task", id, jy.Jyweb_node2, map[string]interface{}{

+ 6 - 4
src/jfw/front/otherAct.go

@@ -1,16 +1,17 @@
 package front
 
 import (
-	"app.yhyue.com/moapp/jybase/gocaptcha"
-	"app.yhyue.com/moapp/jypkg/public"
 	"fmt"
-	"github.com/gogf/gf/v2/util/gconv"
 	"jy/src/jfw/config"
 	"jy/src/jfw/jyutil"
 	"log"
 	"regexp"
 	"time"
 
+	"app.yhyue.com/moapp/jybase/gocaptcha"
+	"app.yhyue.com/moapp/jypkg/public"
+	"github.com/gogf/gf/v2/util/gconv"
+
 	"app.yhyue.com/moapp/jypkg/common/src/qfw/util/jy"
 
 	util "app.yhyue.com/moapp/jybase/common"
@@ -178,7 +179,8 @@ func (f *Front) Lpsubmit() error {
 					f.UserAgent(),
 					"",
 					"",
-					referer)
+					referer,
+					"")
 				deleteIdentSession(f.Session())
 				return "y"
 			}

+ 1 - 0
src/jfw/front/pchelper.go

@@ -177,6 +177,7 @@ func (l *PcHelper) Login() error {
 								"",
 								"",
 								referer,
+								"",
 							)
 							jy.ClearPhoneIdentSession(l.Session())
 							reToken = getUToken(mac, phone)

+ 11 - 0
src/jfw/front/swordfish.go

@@ -16,6 +16,9 @@ import (
 	"strings"
 	"time"
 
+	"jygit.jydev.jianyu360.cn/BaseService/ossClient"
+	"jygit.jydev.jianyu360.cn/BaseService/ossClient/entity"
+
 	util "app.yhyue.com/moapp/jybase/common"
 	. "app.yhyue.com/moapp/jybase/date"
 	"app.yhyue.com/moapp/jybase/encrypt"
@@ -771,9 +774,11 @@ func ObjData(isPayUser bool, sid, content string, lent int) (t bool, obj map[str
 	aobj, ok := public.Mgo_Bidding.FindById(public.DbConf.Mongodb.Bidding.Collection, sid, nil)
 	if ok && (aobj == nil || *aobj == nil || len(*aobj) == 0) {
 		aobj, ok = public.Mgo_Bidding.FindById(public.DbConf.Mongodb.Bidding.Collection_back, sid, nil)
+		//mogo改为es查询
 	}
 	obj = *aobj
 	if ok && obj != nil && len(obj) > lent {
+
 		t = true
 		if !isPayUser && (content != "indexcontent") && (util.ObjToString(obj["subtype"]) == "拟建" || util.ObjToString(obj["subtype"]) == "采购意向") {
 			if lent == 0 {
@@ -801,6 +806,12 @@ func ObjData(isPayUser bool, sid, content string, lent int) (t bool, obj map[str
 			delete(obj, "href")
 			delete(obj, "competehref")
 		}
+		ossResult, err := ossClient.GetBidDetailByGrpc(config.Sysconfig["ossServiceAddr"].(string), &entity.Args{BucketID: "detail", ObjectName: sid})
+		if err != nil {
+			log.Println(sid, "从oss代理服务获取正文出错", err)
+		} else if ossResult != nil {
+			obj["detail"], _ = ossResult.Data.(string)
+		}
 		if strings.Trim(util.ObjToString(obj["detail"]), " ") == "" {
 			obj["detail"] = ""
 		} else if config.Sysconfig["detail_element"] != nil {

+ 7 - 0
src/jfw/modules/app/src/app/consts/consts.go

@@ -0,0 +1,7 @@
+package consts
+
+import "regexp"
+
+var (
+	MobileReg = regexp.MustCompile("(?i)(Android|Mobile|Phone)")
+)

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 593 - 590
src/jfw/modules/app/src/app/front/login.go


+ 15 - 8
src/jfw/modules/app/src/app/front/swordfish.go

@@ -6,6 +6,7 @@ import (
 	"app.yhyue.com/moapp/jybase/encrypt"
 	. "app.yhyue.com/moapp/jybase/mongodb"
 	"app.yhyue.com/moapp/jybase/redis"
+	"app.yhyue.com/moapp/jypkg/common/src/qfw/util/bidsearch"
 	"app.yhyue.com/moapp/jypkg/common/src/qfw/util/jy"
 	"app.yhyue.com/moapp/jypkg/public"
 	"fmt"
@@ -13,13 +14,13 @@ import (
 	. "jy/src/jfw/modules/app/src/app/jyutil"
 	utils "jy/src/jfw/modules/app/src/app/jyutil"
 	"jy/src/jfw/modules/app/src/jfw/config"
+	"jygit.jydev.jianyu360.cn/BaseService/ossClient"
+	"jygit.jydev.jianyu360.cn/BaseService/ossClient/entity"
 	"log"
 	"math/rand"
 	"strings"
 	"time"
 
-	"app.yhyue.com/moapp/jypkg/common/src/qfw/util/bidsearch"
-
 	"app.yhyue.com/moapp/jybase/go-xweb/httpsession"
 	"go.mongodb.org/mongo-driver/bson"
 	"go.mongodb.org/mongo-driver/bson/primitive"
@@ -302,10 +303,10 @@ func (m *Front) WxsearchlistPaging() {
 		maxprice := m.GetString("maxprice")
 		winner := "" //仅大会员用户可以查询中标企业
 		//高级筛选 仅vip用户可查询
-		var hasBuyerTel, hasWinnerTel string = "", "" //是否有采购单位电话、是否有中标单位电话 y:有 n:没有
-		buyerclass := ""                              //采购单位类别
-		var notkey string = ""                        //排除词
-		fileExists = m.GetString("fileExists")        //是否有附件--所有用户都可用此功能 0:全部;1:有附件;-1:无附件
+		var hasBuyerTel, hasWinnerTel = "", "" //是否有采购单位电话、是否有中标单位电话 y:有 n:没有
+		buyerclass := ""                       //采购单位类别
+		var notkey = ""                        //排除词
+		fileExists = m.GetString("fileExists") //是否有附件--所有用户都可用此功能 0:全部;1:有附件;-1:无附件
 		isPayedUser, publishtime, queryItems, pageNum, _ = bidsearch.PublicSearch(userid, selectType, publishtime, util.Int64All(config.Sysconfig["bidSearchOldUserLimit"]), pageNum, 50, m.Session(), *config.Middleground)
 		if isPayedUser {
 			buyerclass = m.GetString("buyerclass")
@@ -535,7 +536,7 @@ func wxvisitD(sid, userId string, isPayUser bool) (objdata map[string]interface{
 		obj = *aobj
 		if ok && obj != nil && len(obj) >= 3 {
 			if !isPayUser && (util.ObjToString(obj["subtype"]) == "拟建" || util.ObjToString(obj["subtype"]) == "采购意向") {
-				for k, _ := range obj {
+				for k := range obj {
 					if k != "title" && k != "area" && k != "subtype" && k != "detail" && k != "procurementlist" && k != "toptype" && k != "publishtime" && k != "budget" && k != "bidamount" && k != "site" && k != "spidercode" && k != "recommended_service" && k != "projectinfo" &&
 						k != "buyerclass" && k != "owner" && k != "total_investment" && k != "projectaddr" && k != "projectperiod" && k != "approvedept" && k != "approvecontent" && k != "approvecode" && k != "approvenumber" && k != "approvetime" && k != "approvestatus" && k != "project_scale" && k != "projectname" {
 						delete(obj, k)
@@ -580,6 +581,12 @@ func wxvisitD(sid, userId string, isPayUser bool) (objdata map[string]interface{
 			} else if config.Sysconfig["detail_element"] != nil {
 				//detail字段 缺少标签 处理
 				var arrTags = util.ObjArrToStringArr(config.Sysconfig["detail_element"].([]interface{}))
+				ossResult, err := ossClient.GetBidDetailByGrpc(config.Sysconfig["ossServiceAddr"].(string), &entity.Args{BucketID: "detail", ObjectName: sid})
+				if err != nil {
+					log.Println(sid, "从oss代理服务获取正文出错", err)
+				} else if ossResult != nil {
+					obj["detail"], _ = ossResult.Data.(string)
+				}
 				var _detail = util.ObjToString(obj["detail"])
 				for _, v := range arrTags {
 					var intOpen = strings.Count(_detail, "<"+v)
@@ -643,7 +650,7 @@ func saveBehaviorRecord(sess *httpsession.Session, data bson.M) bool {
 func (m *Front) DelWxHistorySearch() {
 	defer util.Catch()
 	//定义一个无用参数作为返回值
-	var rt string = "rt"
+	var rt = "rt"
 	userId := m.GetSession("userId")
 	history := redis.GetStr("other", "s_"+userId.(string))
 	if len(history) > 0 || history != "" {

+ 2 - 1
src/jfw/modules/app/src/config.json

@@ -253,5 +253,6 @@
     "approvecity": true
   },
   "ipInitAuthentication": "qwertyuiopzxcvbnm1234567890asdfghjkl",
-  "mainDomainName": "https://www.jianyu360.cn"
+  "mainDomainName": "https://www.jianyu360.cn",
+  "ossUrl": "172.17.162.27:1112"
 }

+ 8 - 8
src/jfw/modules/app/src/go.mod

@@ -3,15 +3,16 @@ module jy/src/jfw/modules/app/src
 go 1.20
 
 require (
-	app.yhyue.com/moapp/jybase v0.0.0-20250225094323-2f6419d0d916
+	app.yhyue.com/moapp/jybase v0.0.0-20250403014436-53740a2395aa
 	app.yhyue.com/moapp/jylog v0.0.0-20230522075550-05d7230ca545
-	app.yhyue.com/moapp/jypkg v1.33.6
+	app.yhyue.com/moapp/jypkg v1.33.12
 	bp.jydev.jianyu360.cn/BaseService/entManageApplication v0.0.0-20231226074509-942d80dc34eb
 	bp.jydev.jianyu360.cn/BaseService/userCenter v1.2.21
 	github.com/SKatiyar/qr v0.0.0-20151201054752-25b6bdf44e67
 	github.com/gogf/gf/v2 v2.7.0
 	github.com/pkg/errors v0.9.1
 	go.mongodb.org/mongo-driver v1.14.0
+	jygit.jydev.jianyu360.cn/BaseService/ossClient v0.0.0-20250617080435-854a73d39d01
 )
 
 require (
@@ -130,18 +131,17 @@ require (
 	golang.org/x/crypto v0.22.0 // indirect
 	golang.org/x/image v0.24.0 // indirect
 	golang.org/x/net v0.24.0 // indirect
-	golang.org/x/oauth2 v0.17.0 // indirect
+	golang.org/x/oauth2 v0.18.0 // indirect
 	golang.org/x/sync v0.11.0 // indirect
 	golang.org/x/sys v0.19.0 // indirect
 	golang.org/x/term v0.19.0 // indirect
 	golang.org/x/text v0.22.0 // indirect
 	golang.org/x/time v0.5.0 // indirect
 	google.golang.org/appengine v1.6.8 // indirect
-	google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de // indirect
-	google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de // indirect
-	google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de // indirect
-	google.golang.org/grpc v1.63.2 // indirect
-	google.golang.org/protobuf v1.33.0 // indirect
+	google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237 // indirect
+	google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237 // indirect
+	google.golang.org/grpc v1.64.0 // indirect
+	google.golang.org/protobuf v1.36.0 // indirect
 	gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc // indirect
 	gopkg.in/inf.v0 v0.9.1 // indirect
 	gopkg.in/ini.v1 v1.67.0 // indirect

+ 16 - 16
src/jfw/modules/app/src/go.sum

@@ -17,13 +17,13 @@ app.yhyue.com/moapp/jybase v0.0.0-20230117032034-ad7c00ffe11a/go.mod h1:zB47XTeJ
 app.yhyue.com/moapp/jybase v0.0.0-20230419121327-bedf77840ba6/go.mod h1:zB47XTeJvpcbtBRYgkQuxOICWNexiZfbUO+7aUf6mNs=
 app.yhyue.com/moapp/jybase v0.0.0-20230901064756-2fc66b18db40/go.mod h1:Hv9U/7oHRucqH315Tr1+d03NCvS9mOKPfk8pwwlOIwQ=
 app.yhyue.com/moapp/jybase v0.0.0-20231025021840-2f91c944ecdd/go.mod h1:Hv9U/7oHRucqH315Tr1+d03NCvS9mOKPfk8pwwlOIwQ=
-app.yhyue.com/moapp/jybase v0.0.0-20250225094323-2f6419d0d916 h1:uhzwulALpCu8gZN6O6V/jo9sbbgxQqLNX3dd4qN4Ick=
-app.yhyue.com/moapp/jybase v0.0.0-20250225094323-2f6419d0d916/go.mod h1:/HT/UZ4dKuUKAQqqKrzBBfIZ4vD56DPV4u2QyfH+kbU=
+app.yhyue.com/moapp/jybase v0.0.0-20250403014436-53740a2395aa h1:F45Yi0O0W7ezagpb4EWc57CGNoQ60HN3Ut7npO/sto4=
+app.yhyue.com/moapp/jybase v0.0.0-20250403014436-53740a2395aa/go.mod h1:OEtMbsn7wY/7MLgV7yDUpVDKExUoj3B8h+4w4ZckJQQ=
 app.yhyue.com/moapp/jyfs v0.0.0-20231024061508-480c270480d4/go.mod h1:61hzZ3dZHXL28BNl8BOgZsvM2S5UVY5YFzOkEUPrSu4=
 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 v1.33.6 h1:KVxcO5SBK7da/xkiic+wlzohlUZF8BbvUmjiLLj6BPc=
-app.yhyue.com/moapp/jypkg v1.33.6/go.mod h1:m/OMjugcf4XK5c/2mErxnXEyAZ+WNya8HP0x8jFGw4U=
+app.yhyue.com/moapp/jypkg v1.33.12 h1:EZq2so8acvizZ7thq99ClBdn/SgVoRaXzyeJ/+LAcCE=
+app.yhyue.com/moapp/jypkg v1.33.12/go.mod h1:m/OMjugcf4XK5c/2mErxnXEyAZ+WNya8HP0x8jFGw4U=
 app.yhyue.com/moapp/message v0.0.0-20231204024949-8c7145bfc161 h1:WGi4OEIoqw6NpNFGioUEBZnjK9aBa+xJqf/5WY+QyhM=
 app.yhyue.com/moapp/message v0.0.0-20231204024949-8c7145bfc161/go.mod h1:0Oj8SB4pVjdCLD28sy2zyM3hS0WHGpNuVcakLW43GmI=
 bp.jydev.jianyu360.cn/BP/jynsq v0.0.0-20220222052708-ebc43af90698/go.mod h1:ojo/AUH9Yr1wzarEjOaNMkj1Cet/9r8IgLyba64Z52E=
@@ -2123,8 +2123,8 @@ golang.org/x/oauth2 v0.7.0/go.mod h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4
 golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE=
 golang.org/x/oauth2 v0.10.0/go.mod h1:kTpgurOux7LqtuxjuyZa4Gj2gdezIt/jQtGnNFfypQI=
 golang.org/x/oauth2 v0.11.0/go.mod h1:LdF7O/8bLR/qWK9DrpXmbHLTouvRHK0SgJl0GmDBchk=
-golang.org/x/oauth2 v0.17.0 h1:6m3ZPmLEFdVxKKWnKq4VqZ60gutO35zm+zrAHVmHyDQ=
-golang.org/x/oauth2 v0.17.0/go.mod h1:OzPDGQiuQMguemayvdylqddI7qcD9lnSDb+1FiwQ5HA=
+golang.org/x/oauth2 v0.18.0 h1:09qnuIAgzdx1XplqJvW6CQqMCtGZykZWcXzPMPUusvI=
+golang.org/x/oauth2 v0.18.0/go.mod h1:Wf7knwG0MPoWIMMBgFlEaSUDaKskp0dCfrlJRJXbBi8=
 golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -2651,8 +2651,6 @@ google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98/go.mod h1:S7mY02Oq
 google.golang.org/genproto v0.0.0-20230726155614-23370e0ffb3e/go.mod h1:0ggbjUrZYpy1q+ANUS30SEoGZ53cdfwtbuG7Ptgy108=
 google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5/go.mod h1:oH/ZOT02u4kWEp7oYBGYFFkCdKS/uYR9Z7+0/xuuFp8=
 google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d/go.mod h1:yZTlhN0tQnXo3h00fuXNCxJdLdIdnVFVBaRJ5LWBbw4=
-google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de h1:F6qOa9AZTYJXOUEr4jDysRDLrm4PHePlge4v4TGAlxY=
-google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:VUhTRKeHn9wwcdrk73nvdC9gF178Tzhmt/qyaFcPLSo=
 google.golang.org/genproto/googleapis/api v0.0.0-20230525234020-1aefcd67740a/go.mod h1:ts19tUU+Z0ZShN1y3aPyq2+O3d5FUNNgT6FtOzmrNn8=
 google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig=
 google.golang.org/genproto/googleapis/api v0.0.0-20230526203410-71b5a4ffd15e/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig=
@@ -2663,8 +2661,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20230711160842-782d3b101e98/go.
 google.golang.org/genproto/googleapis/api v0.0.0-20230726155614-23370e0ffb3e/go.mod h1:rsr7RhLuwsDKL7RmgDDCUc6yaGr1iqceVb5Wv6f6YvQ=
 google.golang.org/genproto/googleapis/api v0.0.0-20230803162519-f966b187b2e5/go.mod h1:5DZzOUPCLYL3mNkQ0ms0F3EuUNZ7py1Bqeq6sxzI7/Q=
 google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d/go.mod h1:KjSP20unUpOx5kyQUFa7k4OJg0qeJ7DEZflGDu2p6Bk=
-google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de h1:jFNzHPIeuzhdRwVhbZdiym9q0ory/xY3sA+v2wPg8I0=
-google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:5iCWqnniDlqZHrd3neWVTOwvh/v6s3232omMecelax8=
+google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237 h1:RFiFrvy37/mpSpdySBDrUdipW/dHwsRwh3J3+A9VgT4=
+google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237/go.mod h1:Z5Iiy3jtmioajWHDGFk7CeugTyHtPvMHA4UTmUkyalE=
 google.golang.org/genproto/googleapis/bytestream v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:ylj+BE99M198VPbBh6A8d9n3w8fChvyLK3wwBOjXBFA=
 google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234015-3fc162c6f38a/go.mod h1:xURIpW9ES5+/GZhnV6beoEtxQrnkRGIfP5VQG2tCBLc=
 google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA=
@@ -2677,8 +2675,8 @@ google.golang.org/genproto/googleapis/rpc v0.0.0-20230731190214-cbb8c96f2d6d/go.
 google.golang.org/genproto/googleapis/rpc v0.0.0-20230803162519-f966b187b2e5/go.mod h1:zBEcrKX2ZOcEkHWxBPAIvYUWOKKMIhYcmNiUIu2ji3I=
 google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M=
 google.golang.org/genproto/googleapis/rpc v0.0.0-20230913181813-007df8e322eb/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de h1:cZGRis4/ot9uVm639a+rHCUaG0JJHEsdyzSQTMX+suY=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:H4O17MA/PE9BsGx3w+a+W2VOLLD1Qf7oJneAoU6WktY=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237 h1:NnYq6UN9ReLM9/Y01KWNOWyI5xQ9kbIms5GGJVwS/Yc=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY=
 google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs=
 google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
 google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
@@ -2727,8 +2725,8 @@ google.golang.org/grpc v1.56.2/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpX
 google.golang.org/grpc v1.57.0/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo=
 google.golang.org/grpc v1.58.2/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0=
 google.golang.org/grpc v1.59.0/go.mod h1:aUPDwccQo6OTjy7Hct4AfBPD1GptF4fyUjIkQ9YtF98=
-google.golang.org/grpc v1.63.2 h1:MUeiw1B2maTVZthpU5xvASfTh3LDbxHd6IJ6QQVU+xM=
-google.golang.org/grpc v1.63.2/go.mod h1:WAX/8DgncnokcFUldAxq7GeB5DXHDbMF+lLvDomNkRA=
+google.golang.org/grpc v1.64.0 h1:KH3VH9y/MgNQg1dE7b3XfVK0GsPSIzJwdF617gUSbvY=
+google.golang.org/grpc v1.64.0/go.mod h1:oxjF8E3FBnjp+/gVFYdWacaLDx9na1aqy9oovLpxQYg=
 google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw=
 google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
 google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
@@ -2749,8 +2747,8 @@ google.golang.org/protobuf v1.28.2-0.20230222093303-bc1253ad3743/go.mod h1:HV8QO
 google.golang.org/protobuf v1.29.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
 google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
 google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
-google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI=
-google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
+google.golang.org/protobuf v1.36.0 h1:mjIs9gYtt56AzC4ZaffQuh88TZurBGhIJMBZGSxNerQ=
+google.golang.org/protobuf v1.36.0/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
 gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
 gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc h1:2gGKlE2+asNV9m7xrywl36YYNnBG5ZQ0r/BOOxqPpmk=
 gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc/go.mod h1:m7x9LTH6d71AHyAX77c9yqWCCa3UKHcVEj9y7hAtKDk=
@@ -2809,6 +2807,8 @@ honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9
 honnef.co/go/tools v0.1.3/go.mod h1:NgwopIslSNH47DimFoV78dnkksY2EFtX0ajyb3K/las=
 jygit.jydev.jianyu360.cn/ApplicationCenter/publicService v0.0.0-20231023011746-38dc3b6aded8 h1:mP1DxQ4EpsgKjRAOuw9qyWr2PRqQJ11QgKqvY3fyffc=
 jygit.jydev.jianyu360.cn/ApplicationCenter/publicService v0.0.0-20231023011746-38dc3b6aded8/go.mod h1:p/595fgbj4r6GhSJhHDpx3Ru1NkD5UASFL8OuIQw09E=
+jygit.jydev.jianyu360.cn/BaseService/ossClient v0.0.0-20250617080435-854a73d39d01 h1:66dFAyxndOQHDQUYTUR5n7vFfyfvEcTR2seaK2pvyJM=
+jygit.jydev.jianyu360.cn/BaseService/ossClient v0.0.0-20250617080435-854a73d39d01/go.mod h1:GamMXV9LlDWGyQQrHVojZUOJqZpxa5cuEA9W5D+PGG8=
 k8s.io/api v0.20.12/go.mod h1:A2brwyEkVLM3wQGNnzoAa5JsQRzHK0uoOQ+bsnv7V68=
 k8s.io/api v0.22.9/go.mod h1:rcjO/FPOuvc3x7nQWx29UcDrFJMx82RxDob71ntNH4A=
 k8s.io/api v0.26.3/go.mod h1:PXsqwPMXBSBcL1lJ9CYDKy7kIReUydukS5JiRlxC3qE=

+ 14 - 2
src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/js/vip_order_detail.js

@@ -22,14 +22,26 @@ function calcAccountNum(order) {
     var filter_vip_new = order.new_filter ? JSON.parse(order.new_filter) : {}
     var buyAccountCount = filterInfo.buyAccountCount || filter_vip_new.buyAccountCount || 0
     var giftAccountCount = filterInfo.giftAccountCount || filter_vip_new.giftAccountCount || 0
-    var totalAccountCount = Number(buyAccountCount) + Number(giftAccountCount)
+    var totalAccountCount = Number(buyAccountCount) + Number(giftAccountCount) + 1
+
+    var addAreaCount = filterInfo.addAreaCount || filter_vip_new.addAreaCount || 0
+    var onlyAddCount = addAreaCount <= 0 // 仅增购子账号
+
     // 续费vip_type=1
     if (order.vip_type == 1 || order.service_type == 2) {
         // 人数就是购买人数
         buyNumber2 = filterInfo.buyAccountCount || filter_vip_new.finalAccountCount || 0
     } else if (order.vip_type == 2 || order.service_type == 3) {
         // 人数是升级人数/如果只补充服务,则人数就是购买人数
-        buyNumber2 = order.buyNum || totalAccountCount || filter_vip_new.finalAccountCount || 0
+        if (buyAccountCount == 0 && giftAccountCount == 0) {
+            buyNumber2 = order.buyNum || filter_vip_new.finalAccountCount || 0
+        } else {
+            // 仅增购子账号,不计算主账号数量
+            if (onlyAddCount) {
+                totalAccountCount -= 1
+            }
+            buyNumber2 = order.buyNum || totalAccountCount || filter_vip_new.finalAccountCount || 0
+        }
     } else {
         buyNumber2 = order.buy_count || order.buyNum || filter_vip_new.finalAccountCount || 0
     }

+ 3 - 3
src/jfw/modules/app/src/web/templates/big-member/page_orderdetail_member.html

@@ -284,8 +284,8 @@
             if (r) {
                 //订单信息
                 $(".orderCode").text(orderCode);
-                var filterObj = JSON.parse(r.data.filter);
-                var filterNewObj = JSON.parse(r.data.new_filter);
+                var filterObj = JSON.parse(r.data.filter || '{}');
+                var filterNewObj = JSON.parse(r.data.new_filter || '{}');
                 var source = "";
                 if(filterObj.source){
                   source = filterObj.source;
@@ -459,7 +459,7 @@
             //}
             $(".level_value").text(level_value);
             //
-            var cycle;
+            var cycle = '';
             if(filterObj.cycle ){
               if (filterObj.level == 4) {
                 $(".productType").text("大会员-试用版")

+ 1 - 1
src/jfw/modules/app/src/web/templates/commonPay/integral/integralDetail.html

@@ -166,7 +166,7 @@
                 //订单信息
                 $(".orderCode").text(orderCode);
                 var filterObj = JSON.parse(r.data.filter);
-                var filterNewObj = JSON.parse(r.data.new_filter);
+                var filterNewObj = JSON.parse(r.data.new_filter || '{}');
                 $(".count_value").text(formatMoney(filterObj.score||filterNewObj.num) + "枚");
                 $(".o-name").text("剑鱼币")
                 $(".order-img > img").attr("src", "/jyapp/commonPay/image/jianyubi.png")

+ 2 - 1
src/jfw/modules/bigmember/src/config.json

@@ -216,5 +216,6 @@
   "restrictionSwitch": true,
   "restrictionDoPool": 5,
   "restrictionWaitPool": 5,
-  "bidSearchOldUserLimit": 1626105600
+  "bidSearchOldUserLimit": 1626105600,
+  "ossUrl": "172.31.31.203:1111"
 }

+ 1 - 0
src/jfw/modules/bigmember/src/config/config.go

@@ -100,6 +100,7 @@ type config struct {
 	RestrictionDoPool     int
 	RestrictionWaitPool   int
 	BidSearchOldUserLimit int64 // p480  原/publicapply/bidcoll/power 接口返回值的isOld添加到isAdd接口
+	OssUrl                string
 }
 
 type CustomerInfo struct {

+ 7 - 7
src/jfw/modules/bigmember/src/go.mod

@@ -5,13 +5,14 @@ go 1.20
 require (
 	app.yhyue.com/moapp/jybase v0.0.0-20250507035343-3c1137179fde
 	app.yhyue.com/moapp/jylog v0.0.0-20230522075550-05d7230ca545
-	app.yhyue.com/moapp/jypkg v1.33.11
+	app.yhyue.com/moapp/jypkg v1.33.12
 	bp.jydev.jianyu360.cn/BaseService/powerCheckCenter v0.0.0-20241213060113-ac41966a58ec
 	bp.jydev.jianyu360.cn/BaseService/userCenter v1.2.21
 	github.com/donnie4w/go-logger v0.0.0-20230316073421-36a48f87a69a
 	github.com/gogf/gf/v2 v2.7.0
 	github.com/olivere/elastic/v7 v7.0.32
 	go.mongodb.org/mongo-driver v1.14.0
+	jygit.jydev.jianyu360.cn/BaseService/ossClient v0.0.0-20250617080435-854a73d39d01
 )
 
 require (
@@ -120,18 +121,17 @@ require (
 	go.uber.org/zap v1.24.0 // indirect
 	golang.org/x/crypto v0.22.0 // indirect
 	golang.org/x/net v0.24.0 // indirect
-	golang.org/x/oauth2 v0.17.0 // indirect
+	golang.org/x/oauth2 v0.18.0 // indirect
 	golang.org/x/sync v0.11.0 // indirect
 	golang.org/x/sys v0.19.0 // indirect
 	golang.org/x/term v0.19.0 // indirect
 	golang.org/x/text v0.22.0 // indirect
 	golang.org/x/time v0.5.0 // indirect
 	google.golang.org/appengine v1.6.8 // indirect
-	google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de // indirect
-	google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de // indirect
-	google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de // indirect
-	google.golang.org/grpc v1.63.2 // indirect
-	google.golang.org/protobuf v1.33.0 // indirect
+	google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237 // indirect
+	google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237 // indirect
+	google.golang.org/grpc v1.64.0 // indirect
+	google.golang.org/protobuf v1.36.0 // indirect
 	gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc // indirect
 	gopkg.in/inf.v0 v0.9.1 // indirect
 	gopkg.in/ini.v1 v1.67.0 // indirect

+ 14 - 14
src/jfw/modules/bigmember/src/go.sum

@@ -20,8 +20,8 @@ app.yhyue.com/moapp/jybase v0.0.0-20250507035343-3c1137179fde/go.mod h1:OEtMbsn7
 app.yhyue.com/moapp/jyfs v0.0.0-20231024061508-480c270480d4/go.mod h1:61hzZ3dZHXL28BNl8BOgZsvM2S5UVY5YFzOkEUPrSu4=
 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 v1.33.11 h1:lf+Ym5IDG9klispc980T+Fjx3Csha0eErTwSsVLIYoI=
-app.yhyue.com/moapp/jypkg v1.33.11/go.mod h1:m/OMjugcf4XK5c/2mErxnXEyAZ+WNya8HP0x8jFGw4U=
+app.yhyue.com/moapp/jypkg v1.33.12 h1:EZq2so8acvizZ7thq99ClBdn/SgVoRaXzyeJ/+LAcCE=
+app.yhyue.com/moapp/jypkg v1.33.12/go.mod h1:m/OMjugcf4XK5c/2mErxnXEyAZ+WNya8HP0x8jFGw4U=
 app.yhyue.com/moapp/message v0.0.0-20231204024949-8c7145bfc161 h1:WGi4OEIoqw6NpNFGioUEBZnjK9aBa+xJqf/5WY+QyhM=
 app.yhyue.com/moapp/message v0.0.0-20231204024949-8c7145bfc161/go.mod h1:0Oj8SB4pVjdCLD28sy2zyM3hS0WHGpNuVcakLW43GmI=
 bp.jydev.jianyu360.cn/BP/jynsq v0.0.0-20220222052708-ebc43af90698/go.mod h1:ojo/AUH9Yr1wzarEjOaNMkj1Cet/9r8IgLyba64Z52E=
@@ -2104,8 +2104,8 @@ golang.org/x/oauth2 v0.7.0/go.mod h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4
 golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE=
 golang.org/x/oauth2 v0.10.0/go.mod h1:kTpgurOux7LqtuxjuyZa4Gj2gdezIt/jQtGnNFfypQI=
 golang.org/x/oauth2 v0.11.0/go.mod h1:LdF7O/8bLR/qWK9DrpXmbHLTouvRHK0SgJl0GmDBchk=
-golang.org/x/oauth2 v0.17.0 h1:6m3ZPmLEFdVxKKWnKq4VqZ60gutO35zm+zrAHVmHyDQ=
-golang.org/x/oauth2 v0.17.0/go.mod h1:OzPDGQiuQMguemayvdylqddI7qcD9lnSDb+1FiwQ5HA=
+golang.org/x/oauth2 v0.18.0 h1:09qnuIAgzdx1XplqJvW6CQqMCtGZykZWcXzPMPUusvI=
+golang.org/x/oauth2 v0.18.0/go.mod h1:Wf7knwG0MPoWIMMBgFlEaSUDaKskp0dCfrlJRJXbBi8=
 golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -2631,8 +2631,6 @@ google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98/go.mod h1:S7mY02Oq
 google.golang.org/genproto v0.0.0-20230726155614-23370e0ffb3e/go.mod h1:0ggbjUrZYpy1q+ANUS30SEoGZ53cdfwtbuG7Ptgy108=
 google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5/go.mod h1:oH/ZOT02u4kWEp7oYBGYFFkCdKS/uYR9Z7+0/xuuFp8=
 google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d/go.mod h1:yZTlhN0tQnXo3h00fuXNCxJdLdIdnVFVBaRJ5LWBbw4=
-google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de h1:F6qOa9AZTYJXOUEr4jDysRDLrm4PHePlge4v4TGAlxY=
-google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:VUhTRKeHn9wwcdrk73nvdC9gF178Tzhmt/qyaFcPLSo=
 google.golang.org/genproto/googleapis/api v0.0.0-20230525234020-1aefcd67740a/go.mod h1:ts19tUU+Z0ZShN1y3aPyq2+O3d5FUNNgT6FtOzmrNn8=
 google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig=
 google.golang.org/genproto/googleapis/api v0.0.0-20230526203410-71b5a4ffd15e/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig=
@@ -2643,8 +2641,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20230711160842-782d3b101e98/go.
 google.golang.org/genproto/googleapis/api v0.0.0-20230726155614-23370e0ffb3e/go.mod h1:rsr7RhLuwsDKL7RmgDDCUc6yaGr1iqceVb5Wv6f6YvQ=
 google.golang.org/genproto/googleapis/api v0.0.0-20230803162519-f966b187b2e5/go.mod h1:5DZzOUPCLYL3mNkQ0ms0F3EuUNZ7py1Bqeq6sxzI7/Q=
 google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d/go.mod h1:KjSP20unUpOx5kyQUFa7k4OJg0qeJ7DEZflGDu2p6Bk=
-google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de h1:jFNzHPIeuzhdRwVhbZdiym9q0ory/xY3sA+v2wPg8I0=
-google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:5iCWqnniDlqZHrd3neWVTOwvh/v6s3232omMecelax8=
+google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237 h1:RFiFrvy37/mpSpdySBDrUdipW/dHwsRwh3J3+A9VgT4=
+google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237/go.mod h1:Z5Iiy3jtmioajWHDGFk7CeugTyHtPvMHA4UTmUkyalE=
 google.golang.org/genproto/googleapis/bytestream v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:ylj+BE99M198VPbBh6A8d9n3w8fChvyLK3wwBOjXBFA=
 google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234015-3fc162c6f38a/go.mod h1:xURIpW9ES5+/GZhnV6beoEtxQrnkRGIfP5VQG2tCBLc=
 google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA=
@@ -2657,8 +2655,8 @@ google.golang.org/genproto/googleapis/rpc v0.0.0-20230731190214-cbb8c96f2d6d/go.
 google.golang.org/genproto/googleapis/rpc v0.0.0-20230803162519-f966b187b2e5/go.mod h1:zBEcrKX2ZOcEkHWxBPAIvYUWOKKMIhYcmNiUIu2ji3I=
 google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M=
 google.golang.org/genproto/googleapis/rpc v0.0.0-20230913181813-007df8e322eb/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de h1:cZGRis4/ot9uVm639a+rHCUaG0JJHEsdyzSQTMX+suY=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:H4O17MA/PE9BsGx3w+a+W2VOLLD1Qf7oJneAoU6WktY=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237 h1:NnYq6UN9ReLM9/Y01KWNOWyI5xQ9kbIms5GGJVwS/Yc=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY=
 google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs=
 google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
 google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
@@ -2707,8 +2705,8 @@ google.golang.org/grpc v1.56.2/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpX
 google.golang.org/grpc v1.57.0/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo=
 google.golang.org/grpc v1.58.2/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0=
 google.golang.org/grpc v1.59.0/go.mod h1:aUPDwccQo6OTjy7Hct4AfBPD1GptF4fyUjIkQ9YtF98=
-google.golang.org/grpc v1.63.2 h1:MUeiw1B2maTVZthpU5xvASfTh3LDbxHd6IJ6QQVU+xM=
-google.golang.org/grpc v1.63.2/go.mod h1:WAX/8DgncnokcFUldAxq7GeB5DXHDbMF+lLvDomNkRA=
+google.golang.org/grpc v1.64.0 h1:KH3VH9y/MgNQg1dE7b3XfVK0GsPSIzJwdF617gUSbvY=
+google.golang.org/grpc v1.64.0/go.mod h1:oxjF8E3FBnjp+/gVFYdWacaLDx9na1aqy9oovLpxQYg=
 google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw=
 google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
 google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
@@ -2729,8 +2727,8 @@ google.golang.org/protobuf v1.28.2-0.20230222093303-bc1253ad3743/go.mod h1:HV8QO
 google.golang.org/protobuf v1.29.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
 google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
 google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
-google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI=
-google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
+google.golang.org/protobuf v1.36.0 h1:mjIs9gYtt56AzC4ZaffQuh88TZurBGhIJMBZGSxNerQ=
+google.golang.org/protobuf v1.36.0/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
 gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
 gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc h1:2gGKlE2+asNV9m7xrywl36YYNnBG5ZQ0r/BOOxqPpmk=
 gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc/go.mod h1:m7x9LTH6d71AHyAX77c9yqWCCa3UKHcVEj9y7hAtKDk=
@@ -2789,6 +2787,8 @@ honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9
 honnef.co/go/tools v0.1.3/go.mod h1:NgwopIslSNH47DimFoV78dnkksY2EFtX0ajyb3K/las=
 jygit.jydev.jianyu360.cn/ApplicationCenter/publicService v0.0.0-20231023011746-38dc3b6aded8 h1:mP1DxQ4EpsgKjRAOuw9qyWr2PRqQJ11QgKqvY3fyffc=
 jygit.jydev.jianyu360.cn/ApplicationCenter/publicService v0.0.0-20231023011746-38dc3b6aded8/go.mod h1:p/595fgbj4r6GhSJhHDpx3Ru1NkD5UASFL8OuIQw09E=
+jygit.jydev.jianyu360.cn/BaseService/ossClient v0.0.0-20250617080435-854a73d39d01 h1:66dFAyxndOQHDQUYTUR5n7vFfyfvEcTR2seaK2pvyJM=
+jygit.jydev.jianyu360.cn/BaseService/ossClient v0.0.0-20250617080435-854a73d39d01/go.mod h1:GamMXV9LlDWGyQQrHVojZUOJqZpxa5cuEA9W5D+PGG8=
 k8s.io/api v0.20.12/go.mod h1:A2brwyEkVLM3wQGNnzoAa5JsQRzHK0uoOQ+bsnv7V68=
 k8s.io/api v0.22.9/go.mod h1:rcjO/FPOuvc3x7nQWx29UcDrFJMx82RxDob71ntNH4A=
 k8s.io/api v0.26.3/go.mod h1:PXsqwPMXBSBcL1lJ9CYDKy7kIReUydukS5JiRlxC3qE=

+ 363 - 294
src/jfw/modules/bigmember/src/service/analysis/analysis.go

@@ -2,318 +2,387 @@
 package analysis
 
 import (
-	. "jy/src/jfw/modules/bigmember/src/config"
-	"jy/src/jfw/modules/bigmember/src/entity"
-	"jy/src/jfw/modules/bigmember/src/util"
-	"regexp"
-	"strconv"
-	"strings"
-	"time"
+    elastic "app.yhyue.com/moapp/jybase/es"
+    . "jy/src/jfw/modules/bigmember/src/config"
+    "jy/src/jfw/modules/bigmember/src/entity"
+    "jy/src/jfw/modules/bigmember/src/util"
+    "regexp"
+    "strconv"
+    "strings"
+    "time"
 
-	. "app.yhyue.com/moapp/jybase/api"
-	qutil "app.yhyue.com/moapp/jybase/common"
-	. "app.yhyue.com/moapp/jybase/date"
-	"app.yhyue.com/moapp/jybase/encrypt"
-	"app.yhyue.com/moapp/jybase/go-xweb/xweb"
+    . "app.yhyue.com/moapp/jybase/api"
+    qutil "app.yhyue.com/moapp/jybase/common"
+    . "app.yhyue.com/moapp/jybase/date"
+    "app.yhyue.com/moapp/jybase/encrypt"
+    "app.yhyue.com/moapp/jybase/go-xweb/xweb"
 )
 
 type Analysis struct {
-	*xweb.Action
-	pName            xweb.Mapper `xweb:"/analysis/projectName"`      //根据项目名称关键词连带项目名称
-	pInfo            xweb.Mapper `xweb:"/analysis/projectInfo"`      //根据项目名称获取项目信息
-	csORRsList       xweb.Mapper `xweb:"/potential/corList"`         //潜在客户customers or 潜在竞争对手rivals
-	rMyRivals        xweb.Mapper `xweb:"/potential/rMyRivals"`       //移除我的潜在竞争对手rivals
-	decInfo          xweb.Mapper `xweb:"/decision/decInfo"`          //投标决策分析
-	trialInfo        xweb.Mapper `xweb:"/decision/trialInfo"`        //投标决策分析-使用用户 剩余次数
-	forArea          xweb.Mapper `xweb:"/forecast/forArea"`          //新项目预测省份城市
-	forPList         xweb.Mapper `xweb:"/forecast/forPList"`         //新项目预测结果list
-	forPContent      xweb.Mapper `xweb:"/forecast/forPContent"`      //新项目预测结果详情
-	forDerive        xweb.Mapper `xweb:"/forecast/forDerive"`        //新项目预测导出
-	fWData           xweb.Mapper `xweb:"/forecast/forWData"`         //中标预测分析
-	fWStatus         xweb.Mapper `xweb:"/forecast/forWStatus"`       //查看中标预测状态
-	fWResult         xweb.Mapper `xweb:"/forecast/forWResult"`       //中标预测结果
-	fWOvertime       xweb.Mapper `xweb:"/forecast/forWOvertime"`     //中标预测超时处理
-	bdInfoStatus     xweb.Mapper `xweb:"/forecast/bdInfoStatus"`     //中标预测-项目是否已完成招标
-	freeDecInfo      xweb.Mapper `xweb:"/decision/freeDecInfo"`      //投标决策分析-免费用户
-	potIndex         xweb.Mapper `xweb:"/potential/index"`           //潜在客户customers or 潜在竞争对手rivals 首页接口
-	projectInfoByBW  xweb.Mapper `xweb:"/decision/projectInfoByBW"`  //投标决策分析-采购单位和中标企业 其他项目明细/类似项目明细
-	decReviewExperts xweb.Mapper `xweb:"/decision/decReviewExperts"` //投标决策分析-评标专家
-	getREProjects    xweb.Mapper `xweb:"/decision/getREProjects"`    //投标决策分析-评标专家de项目
-	hotWinnerTop     xweb.Mapper `xweb:"/decision/hotWinnerTop"`     //投标决策分析-同类热点中标企业top10
+    *xweb.Action
+    pName            xweb.Mapper `xweb:"/analysis/projectName"`      //根据项目名称关键词连带项目名称
+    pInfo            xweb.Mapper `xweb:"/analysis/projectInfo"`      //根据项目名称获取项目信息
+    csORRsList       xweb.Mapper `xweb:"/potential/corList"`         //潜在客户customers or 潜在竞争对手rivals
+    rMyRivals        xweb.Mapper `xweb:"/potential/rMyRivals"`       //移除我的潜在竞争对手rivals
+    decInfo          xweb.Mapper `xweb:"/decision/decInfo"`          //投标决策分析
+    trialInfo        xweb.Mapper `xweb:"/decision/trialInfo"`        //投标决策分析-使用用户 剩余次数
+    forArea          xweb.Mapper `xweb:"/forecast/forArea"`          //新项目预测省份城市
+    forPList         xweb.Mapper `xweb:"/forecast/forPList"`         //新项目预测结果list
+    forPContent      xweb.Mapper `xweb:"/forecast/forPContent"`      //新项目预测结果详情
+    forDerive        xweb.Mapper `xweb:"/forecast/forDerive"`        //新项目预测导出
+    fWData           xweb.Mapper `xweb:"/forecast/forWData"`         //中标预测分析
+    fWStatus         xweb.Mapper `xweb:"/forecast/forWStatus"`       //查看中标预测状态
+    fWResult         xweb.Mapper `xweb:"/forecast/forWResult"`       //中标预测结果
+    fWOvertime       xweb.Mapper `xweb:"/forecast/forWOvertime"`     //中标预测超时处理
+    bdInfoStatus     xweb.Mapper `xweb:"/forecast/bdInfoStatus"`     //中标预测-项目是否已完成招标
+    freeDecInfo      xweb.Mapper `xweb:"/decision/freeDecInfo"`      //投标决策分析-免费用户
+    potIndex         xweb.Mapper `xweb:"/potential/index"`           //潜在客户customers or 潜在竞争对手rivals 首页接口
+    projectInfoByBW  xweb.Mapper `xweb:"/decision/projectInfoByBW"`  //投标决策分析-采购单位和中标企业 其他项目明细/类似项目明细
+    decReviewExperts xweb.Mapper `xweb:"/decision/decReviewExperts"` //投标决策分析-评标专家
+    getREProjects    xweb.Mapper `xweb:"/decision/getREProjects"`    //投标决策分析-评标专家de项目
+    hotWinnerTop     xweb.Mapper `xweb:"/decision/hotWinnerTop"`     //投标决策分析-同类热点中标企业top10
 }
 
 const (
-	C_FW_qyxy       = "qyxy_std"            //中标预测-企业信息
-	C_FPContent     = "project_forecast"    //新项目预测表
-	C_FPList        = "pushprojectforecast" //新项目预测
-	FP_Limit        = 10                    //每页10条
-	C_ForecastData  = "forecast_info"       //中标预测数据
-	C_ForecastLog   = "forecast_log"        //中标预测日志
-	C_PTLog         = "potential_search"    //潜在竞争对手或客户日志表
-	C_FEnt          = "follow_ent_monitor"  //企业情报
-	C_Member        = "member"
-	C_User          = "user"
-	C_Entniche_Rule = "entniche_rule"
-	P_INDEX         = "projectset"
-	P_TYPE          = "projectset"
-	PSearch_PCount  = 500 //潜在客户和潜在竞争对手数量
-	PSearch_field   = `buyer`
-	P_limit         = 2000              //查询两千个客户
-	P_redis_time    = 15 * 24 * 60 * 60 //redis存15天
-	METHOD          = "POST"
+    C_FW_qyxy       = "qyxy_std"            //中标预测-企业信息
+    C_FPContent     = "project_forecast"    //新项目预测表
+    C_FPList        = "pushprojectforecast" //新项目预测
+    FP_Limit        = 10                    //每页10条
+    C_ForecastData  = "forecast_info"       //中标预测数据
+    C_ForecastLog   = "forecast_log"        //中标预测日志
+    C_PTLog         = "potential_search"    //潜在竞争对手或客户日志表
+    C_FEnt          = "follow_ent_monitor"  //企业情报
+    C_Member        = "member"
+    C_User          = "user"
+    C_Entniche_Rule = "entniche_rule"
+    P_INDEX         = "projectset"
+    P_TYPE          = "projectset"
+    PSearch_PCount  = 500 //潜在客户和潜在竞争对手数量
+    PSearch_field   = `buyer`
+    P_limit         = 2000              //查询两千个客户
+    P_redis_time    = 15 * 24 * 60 * 60 //redis存15天
+    METHOD          = "POST"
 )
 
 func init() {
-	now := time.Now()
-	newDate := time.Date(now.Year()-Config.TimeSpan, 1, 1, 0, 0, 0, 0, time.Local).Unix()
-	entity.P_Starttime = strconv.FormatInt(newDate, 10)
-	if Config.RegWinner != "" {
-		entity.RegWinner = regexp.MustCompile(Config.RegWinner)
-	}
-	entity.UIL = entity.NewUserInfoLock()
+    now := time.Now()
+    newDate := time.Date(now.Year()-Config.TimeSpan, 1, 1, 0, 0, 0, 0, time.Local).Unix()
+    entity.P_Starttime = strconv.FormatInt(newDate, 10)
+    if Config.RegWinner != "" {
+        entity.RegWinner = regexp.MustCompile(Config.RegWinner)
+    }
+    entity.UIL = entity.NewUserInfoLock()
 }
 
 // 根据项目名称获取项目信息
 func (this *Analysis) PInfo() {
-	defer qutil.Catch()
-	var regMap = Result{
-		Data:       []map[string]interface{}{},
-		Error_code: Error_code,
-		Error_msg:  "",
-	}
-	if this.Method() == METHOD {
-		userId, _ := this.GetSession("userId").(string)
-		var ptids = []string{}
-		if this.GetString("ptid") != "" {
-			ptids = encrypt.DecodeArticleId2ByCheck(this.GetString("ptid"))
-		}
-		var sourceinfoids = []string{}
-		if this.GetString("sourceinfoid") != "" {
-			sourceinfoids = encrypt.DecodeArticleId2ByCheck(this.GetString("sourceinfoid"))
-		}
-		// log.Println(ptids, "-----", sourceinfoids)
-		if len(ptids) > 0 || len(sourceinfoids) > 0 {
-			ptdatas := entity.GetProInfoById(ptids, sourceinfoids)
-			ArrPS := map[string]interface{}{}
-			if ptdatas != nil && len(ptdatas) > 0 {
-				ptdata := ptdatas[0]
-				projectname := qutil.ObjToString(ptdata["projectname"])
-				buyerclass := qutil.ObjToString(ptdata["buyerclass"])
-				purchasing := qutil.ObjToString(ptdata["purchasing"])
-				area := qutil.ObjToString(ptdata["area"])
-				city := qutil.ObjToString(ptdata["city"])
-				buyer := qutil.ObjToString(ptdata["buyer"]) //采购单位
-				ids := qutil.ObjArrToStringArr(ptdata["ids"].([]interface{}))
-				s_subscopeclass := qutil.ObjToString(ptdata["s_subscopeclass"]) //项目行业
-				buyerperson := qutil.ObjToString(ptdata["buyerperson"])         //采购联系人
-				buyertel := qutil.ObjToString(ptdata["buyertel"])               //采购联系方式
-				if this.GetString("D") == "" {
-					var keyArr []map[string]interface{}
-					var a_key []map[string]interface{}
+    defer qutil.Catch()
+    var regMap = Result{
+        Data:       []map[string]interface{}{},
+        Error_code: Error_code,
+        Error_msg:  "",
+    }
+    if this.Method() == METHOD {
+        userId, _ := this.GetSession("userId").(string)
+        var ptids = []string{}
+        if this.GetString("ptid") != "" {
+            ptids = encrypt.DecodeArticleId2ByCheck(this.GetString("ptid"))
+        }
+        var sourceinfoids = []string{}
+        if this.GetString("sourceinfoid") != "" {
+            sourceinfoids = encrypt.DecodeArticleId2ByCheck(this.GetString("sourceinfoid"))
+        }
+        // log.Println(ptids, "-----", sourceinfoids)
+        if len(ptids) > 0 || len(sourceinfoids) > 0 {
+            ptdatas := entity.GetProInfoById(ptids, sourceinfoids)
+            ArrPS := map[string]interface{}{}
+            if ptdatas != nil && len(ptdatas) > 0 {
+                ptdata := ptdatas[0]
+                projectname := qutil.ObjToString(ptdata["projectname"])
+                buyerclass := qutil.ObjToString(ptdata["buyerclass"])
+                purchasing := qutil.ObjToString(ptdata["purchasing"])
+                area := qutil.ObjToString(ptdata["area"])
+                city := qutil.ObjToString(ptdata["city"])
+                buyer := qutil.ObjToString(ptdata["buyer"]) //采购单位
+                ids := qutil.ObjArrToStringArr(ptdata["ids"].([]interface{}))
+                s_subscopeclass := qutil.ObjToString(ptdata["s_subscopeclass"]) //项目行业
+                buyerperson := qutil.ObjToString(ptdata["buyerperson"])         //采购联系人
+                buyertel := qutil.ObjToString(ptdata["buyertel"])               //采购联系方式
+                if this.GetString("D") == "" {
+                    var keyArr []map[string]interface{}
+                    var a_key []map[string]interface{}
 
-					//查库获得大会员用户的信息
-					o_mb := &map[string]interface{}{}
-					o_mb = Compatible.Select(userId, `{"o_member_jy":1,"s_member_mainid":1,"i_member_sub_status":1}`)
-					if o_mb != nil && (*o_mb) != nil && (*o_mb)["s_member_mainid"] != nil && qutil.IntAllDef((*o_mb)["i_member_sub_status"], 0) == 1 { //如果是子账号 查询主账号信息
-						mainId := qutil.ObjToString((*o_mb)["s_member_mainid"])
-						o_mb = Compatible.Select(mainId, `{"o_member_jy":1}`)
-					}
-					if o_mb != nil && (*o_mb)["o_member_jy"] != nil {
-						o_member_jy := qutil.ObjToMap((*o_mb)["o_member_jy"])
-						if (*o_member_jy)["a_items"] != nil {
-							a_items := qutil.ObjArrToMapArr((*o_member_jy)["a_items"].([]interface{}))
-							if len(a_items) > 0 {
-								for _, v := range a_items {
-									a_key = qutil.ObjArrToMapArr(v["a_key"].([]interface{}))
-								L:
-									for _, vv := range a_key {
-										keys := qutil.ObjArrToStringArr(vv["key"].([]interface{}))
-										for _, kv := range keys {
-											if strings.Contains(projectname, kv) || strings.Contains(purchasing, kv) {
-												keyArr = append(keyArr, vv)
-												break L
-											}
-										}
-									}
-								}
-							}
-						}
-					}
-					if len(keyArr) == 0 {
-						if purchasing != "" {
-							for _, v := range strings.Split(purchasing, ",") {
-								keyArr = append(keyArr, map[string]interface{}{
-									"key": []string{v},
-								})
-							}
-						}
-					}
-					ArrPS["buyerContent"] = keyArr
-					var industry_arr = []string{}
-					if s_subscopeclass != "" {
-						for _, v := range strings.Split(s_subscopeclass, ",") {
-							if v == "" {
-								continue
-							}
-							industry_arr = append(industry_arr, v)
-						}
-					}
-					ArrPS["industry"] = industry_arr
-					if purchasing != "" && len(strings.Split(purchasing, ",")) > 0 {
-						if len(strings.Split(purchasing, ",")) > 5 {
-							ArrPS["purchasing"] = strings.Split(purchasing, ",")[:5]
-						} else {
-							ArrPS["purchasing"] = strings.Split(purchasing, ",")
-						}
-					} else {
-						ArrPS["purchasing"] = []string{}
-					}
-					if area == "全国" {
-						ArrPS["area"] = map[string]interface{}{}
-					} else {
-						ArrPS["area"] = map[string]interface{}{
-							area: strings.Split(city, ","),
-						}
-					}
-				} else {
-					var keyArr []ViewKeyWord
-					if purchasing != "" {
-						key := strings.Split(purchasing, ",")
-						if len(key) > 0 {
-							//最多取10个
-							if len(key) > 10 {
-								key = key[:10]
-							}
-							for _, v := range key {
-								keyArr = append(keyArr, ViewKeyWord{
-									Keyword:  []string{v},
-									MatchWay: 1,
-								})
-							}
-						}
-					}
-					ArrPS["buyerContent"] = keyArr
-					if s_subscopeclass != "" {
-						ArrPS["s_subscopeclass"] = s_subscopeclass
-					} else {
-						ArrPS["s_subscopeclass"] = ""
-					}
-					ArrPS["bidamount"] = qutil.Float64All(ptdata["bidamount"]) //中标金额
-					ArrPS["agency"] = qutil.ObjToString(ptdata["agency"])      //招标代理机构
-					zbtime := ptdata["zbtime"]
-					if zbtime != nil {
-						ArrPS["zbtime"] = FormatDateWithObj(&zbtime, "2006/01/02") //招标时间
-					}
-					bidopentime := ptdata["bidopentime"]
-					if bidopentime != nil {
-						ArrPS["bidopentime"] = FormatDateWithObj(&bidopentime, "2006/01/02") //开标时间
-					}
-					ArrPS["area"] = area
-					ArrPS["city"] = city
-					ArrPS["bidcycle"] = ptdata["bidcycle"] //标书周期
-				}
-				var buyerclass_arr = []string{}
-				if buyerclass != "" {
-					for _, v := range strings.Split(buyerclass, ",") {
-						if v == "其它" || v == "" {
-							continue
-						}
-						buyerclass_arr = append(buyerclass_arr, v)
-					}
-				}
-				ArrPS["buyerclass"] = buyerclass_arr
-				ArrPS["projectname"] = projectname
-				if len(sourceinfoids) > 0 {
-					ArrPS["infoid"] = this.GetString("sourceinfoid")
-				} else if len(ids) > 0 && ids[0] != "" {
-					ArrPS["infoid"] = util.EncodeId(ids[0])
-				}
-				ArrPS["id"] = util.EncodeId(ptdata["_id"].(string))
-				ArrPS["buyer"] = buyer
-				ArrPS["budget"] = qutil.Float64All(ptdata["budget"]) //预算
-				ArrPS["buyerperson"] = buyerperson
-				ArrPS["buyertel"] = buyertel
-			}
-			regMap.Data = ArrPS
-		} else {
-			regMap.Error_code = Error_code_1002
-			regMap.Error_msg = Error_msg_1002
-		}
-	} else {
-		regMap.Error_code = Error_code_1005
-		regMap.Error_msg = Error_msg_1005
-	}
-	this.ServeJson(regMap)
+                    //查库获得大会员用户的信息
+                    o_mb := &map[string]interface{}{}
+                    o_mb = Compatible.Select(userId, `{"o_member_jy":1,"s_member_mainid":1,"i_member_sub_status":1}`)
+                    if o_mb != nil && (*o_mb) != nil && (*o_mb)["s_member_mainid"] != nil && qutil.IntAllDef((*o_mb)["i_member_sub_status"], 0) == 1 { //如果是子账号 查询主账号信息
+                        mainId := qutil.ObjToString((*o_mb)["s_member_mainid"])
+                        o_mb = Compatible.Select(mainId, `{"o_member_jy":1}`)
+                    }
+                    if o_mb != nil && (*o_mb)["o_member_jy"] != nil {
+                        o_member_jy := qutil.ObjToMap((*o_mb)["o_member_jy"])
+                        if (*o_member_jy)["a_items"] != nil {
+                            a_items := qutil.ObjArrToMapArr((*o_member_jy)["a_items"].([]interface{}))
+                            if len(a_items) > 0 {
+                                for _, v := range a_items {
+                                    a_key = qutil.ObjArrToMapArr(v["a_key"].([]interface{}))
+                                L:
+                                    for _, vv := range a_key {
+                                        keys := qutil.ObjArrToStringArr(vv["key"].([]interface{}))
+                                        for _, kv := range keys {
+                                            if strings.Contains(projectname, kv) || strings.Contains(purchasing, kv) {
+                                                keyArr = append(keyArr, vv)
+                                                break L
+                                            }
+                                        }
+                                    }
+                                }
+                            }
+                        }
+                    }
+                    if len(keyArr) == 0 {
+                        if purchasing != "" {
+                            for _, v := range strings.Split(purchasing, ",") {
+                                keyArr = append(keyArr, map[string]interface{}{
+                                    "key": []string{v},
+                                })
+                            }
+                        }
+                    }
+                    ArrPS["buyerContent"] = keyArr
+                    var industry_arr = []string{}
+                    if s_subscopeclass != "" {
+                        for _, v := range strings.Split(s_subscopeclass, ",") {
+                            if v == "" {
+                                continue
+                            }
+                            industry_arr = append(industry_arr, v)
+                        }
+                    }
+                    ArrPS["industry"] = industry_arr
+                    if purchasing != "" && len(strings.Split(purchasing, ",")) > 0 {
+                        if len(strings.Split(purchasing, ",")) > 5 {
+                            ArrPS["purchasing"] = strings.Split(purchasing, ",")[:5]
+                        } else {
+                            ArrPS["purchasing"] = strings.Split(purchasing, ",")
+                        }
+                    } else {
+                        ArrPS["purchasing"] = []string{}
+                    }
+                    if area == "全国" {
+                        ArrPS["area"] = map[string]interface{}{}
+                    } else {
+                        ArrPS["area"] = map[string]interface{}{
+                            area: strings.Split(city, ","),
+                        }
+                    }
+                } else {
+                    var keyArr []ViewKeyWord
+                    if purchasing != "" {
+                        key := strings.Split(purchasing, ",")
+                        if len(key) > 0 {
+                            //最多取10个
+                            if len(key) > 10 {
+                                key = key[:10]
+                            }
+                            for _, v := range key {
+                                keyArr = append(keyArr, ViewKeyWord{
+                                    Keyword:  []string{v},
+                                    MatchWay: 1,
+                                })
+                            }
+                        }
+                    }
+                    ArrPS["buyerContent"] = keyArr
+                    if s_subscopeclass != "" {
+                        ArrPS["s_subscopeclass"] = s_subscopeclass
+                    } else {
+                        ArrPS["s_subscopeclass"] = ""
+                    }
+                    ArrPS["bidamount"] = qutil.Float64All(ptdata["bidamount"]) //中标金额
+                    ArrPS["agency"] = qutil.ObjToString(ptdata["agency"])      //招标代理机构
+                    zbtime := ptdata["zbtime"]
+                    if zbtime != nil {
+                        ArrPS["zbtime"] = FormatDateWithObj(&zbtime, "2006/01/02") //招标时间
+                    }
+                    bidopentime := ptdata["bidopentime"]
+                    if bidopentime != nil {
+                        ArrPS["bidopentime"] = FormatDateWithObj(&bidopentime, "2006/01/02") //开标时间
+                    }
+                    ArrPS["area"] = area
+                    ArrPS["city"] = city
+                    ArrPS["bidcycle"] = ptdata["bidcycle"] //标书周期
+                }
+                var buyerclass_arr = []string{}
+                if buyerclass != "" {
+                    for _, v := range strings.Split(buyerclass, ",") {
+                        if v == "其它" || v == "" {
+                            continue
+                        }
+                        buyerclass_arr = append(buyerclass_arr, v)
+                    }
+                }
+                ArrPS["buyerclass"] = buyerclass_arr
+                ArrPS["projectname"] = projectname
+                if len(sourceinfoids) > 0 {
+                    ArrPS["infoid"] = this.GetString("sourceinfoid")
+                } else if len(ids) > 0 && ids[0] != "" {
+                    ArrPS["infoid"] = util.EncodeId(ids[0])
+                }
+                ArrPS["id"] = util.EncodeId(ptdata["_id"].(string))
+                ArrPS["buyer"] = buyer
+                ArrPS["budget"] = qutil.Float64All(ptdata["budget"]) //预算
+                ArrPS["buyerperson"] = buyerperson
+                ArrPS["buyertel"] = buyertel
+            } else if len(sourceinfoids) > 0 && strings.Contains(this.Refer(), "analysis_result") { //投标决策分析 如果没有项目,查询标讯信息
+                res := elastic.GetById(util.INDEX, util.TYPE, sourceinfoids[0])
+                if res != nil && len(*res) > 0 {
+                    ptdata := (*res)[0]
+                    projectname := qutil.ObjToString(ptdata["projectname"])
+                    buyerclass := qutil.ObjToString(ptdata["buyerclass"])
+                    purchasing := qutil.ObjToString(ptdata["purchasing"])
+                    area := qutil.ObjToString(ptdata["area"])
+                    city := qutil.ObjToString(ptdata["city"])
+                    buyer := qutil.ObjToString(ptdata["buyer"])                     //采购单位
+                    s_subscopeclass := qutil.ObjToString(ptdata["s_subscopeclass"]) //项目行业
+                    buyerperson := qutil.ObjToString(ptdata["buyerperson"])         //采购联系人
+                    buyertel := qutil.ObjToString(ptdata["buyertel"])               //采购联系方式
+                    var keyArr []ViewKeyWord
+                    if purchasing != "" {
+                        key := strings.Split(purchasing, ",")
+                        if len(key) > 0 {
+                            //最多取10个
+                            if len(key) > 10 {
+                                key = key[:10]
+                            }
+                            for _, v := range key {
+                                keyArr = append(keyArr, ViewKeyWord{
+                                    Keyword:  []string{v},
+                                    MatchWay: 1,
+                                })
+                            }
+                        }
+                    }
+                    ArrPS["buyerContent"] = keyArr
+                    if s_subscopeclass != "" {
+                        ArrPS["s_subscopeclass"] = s_subscopeclass
+                    } else {
+                        ArrPS["s_subscopeclass"] = ""
+                    }
+                    ArrPS["bidamount"] = qutil.Float64All(ptdata["bidamount"]) //中标金额
+                    ArrPS["agency"] = qutil.ObjToString(ptdata["agency"])      //招标代理机构
+                    zbtime := ptdata["bidstarttime"]
+                    if zbtime != nil {
+                        ArrPS["zbtime"] = FormatDateWithObj(&zbtime, "2006/01/02") //招标时间
+                    }
+                    bidopentime := ptdata["bidopentime"]
+                    if bidopentime != nil {
+                        ArrPS["bidopentime"] = FormatDateWithObj(&bidopentime, "2006/01/02") //开标时间
+                    }
+                    ArrPS["area"] = area
+                    ArrPS["city"] = city
+                    ArrPS["bidcycle"] = ptdata["bidcycle"] //标书周期
+                    var buyerclass_arr = []string{}
+                    if buyerclass != "" {
+                        for _, v := range strings.Split(buyerclass, ",") {
+                            if v == "其它" || v == "" {
+                                continue
+                            }
+                            buyerclass_arr = append(buyerclass_arr, v)
+                        }
+                    }
+                    ArrPS["buyerclass"] = buyerclass_arr
+                    ArrPS["projectname"] = projectname
+                    if len(sourceinfoids) > 0 {
+                        ArrPS["infoid"] = this.GetString("sourceinfoid")
+                    }
+                    ArrPS["id"] = util.EncodeId(ptdata["_id"].(string))
+                    ArrPS["buyer"] = buyer
+                    ArrPS["budget"] = qutil.Float64All(ptdata["budget"]) //预算
+                    ArrPS["buyerperson"] = buyerperson
+                    ArrPS["buyertel"] = buyertel
+                }
+            }
+            regMap.Data = ArrPS
+        } else {
+            regMap.Error_code = Error_code_1002
+            regMap.Error_msg = Error_msg_1002
+        }
+    } else {
+        regMap.Error_code = Error_code_1005
+        regMap.Error_msg = Error_msg_1005
+    }
+    this.ServeJson(regMap)
 }
 
 // 根据项目名称获取项目名称
 func (this *Analysis) PName() {
-	defer qutil.Catch()
-	var regMap = Result{
-		Data:       []map[string]interface{}{},
-		Error_code: Error_code,
-		Error_msg:  "",
-	}
-	if this.Method() == METHOD {
-		var pName = this.GetString("pName")
-		var sType = this.GetString("sType")
-		limit := Config.RdProLimit //匹配项目数量
-		if limit == 0 {
-			limit = 10
-		}
-		if pName != "" {
-			if len([]rune(pName)) > 2 {
-				pName = strings.ReplaceAll(pName, "\"", "")
-				data := entity.GetProNameImmediate(sType, pName, limit)
-				ArrPS := []map[string]interface{}{}
-				if data != nil && len(data) > 0 {
-					var pjtMap = map[string]bool{}
-					var buyerMap = map[string]bool{}
-					for _, r_data := range data {
-						//过滤重复名称
-						buyer := qutil.InterfaceToStr(r_data["buyer"])
-						projectname, _ := r_data["projectname"].(string)
-						if sType == "1" {
-							if buyer == "" || buyerMap[buyer] {
-								continue
-							}
-						} else {
-							if projectname == "" || pjtMap[projectname] {
-								continue
-							}
-						}
+    defer qutil.Catch()
+    var regMap = Result{
+        Data:       []map[string]interface{}{},
+        Error_code: Error_code,
+        Error_msg:  "",
+    }
+    if this.Method() == METHOD {
+        var pName = this.GetString("pName")
+        var sType = this.GetString("sType")
+        limit := Config.RdProLimit //匹配项目数量
+        if limit == 0 {
+            limit = 10
+        }
+        if pName != "" {
+            if len([]rune(pName)) > 2 {
+                pName = strings.ReplaceAll(pName, "\"", "")
+                data := entity.GetProNameImmediate(sType, pName, limit)
+                ArrPS := []map[string]interface{}{}
+                if data != nil && len(data) > 0 {
+                    var pjtMap = map[string]bool{}
+                    var buyerMap = map[string]bool{}
+                    for _, r_data := range data {
+                        //过滤重复名称
+                        buyer := qutil.InterfaceToStr(r_data["buyer"])
+                        projectname, _ := r_data["projectname"].(string)
+                        if sType == "1" {
+                            if buyer == "" || buyerMap[buyer] {
+                                continue
+                            }
+                        } else {
+                            if projectname == "" || pjtMap[projectname] {
+                                continue
+                            }
+                        }
 
-						if r_data["firsttime"] != nil {
-							firsttime := r_data["firsttime"]
-							r_data["firsttime"] = FormatDateWithObj(&firsttime, Date_Short_Layout)
-						}
-						if r_data["_id"] != nil {
-							r_data["s_id"] = util.EncodeId(r_data["_id"].(string))
-							delete(r_data, "_id")
-						}
-						if r_data["sourceinfoid"] != nil {
-							r_data["sourceinfoid"] = util.EncodeId(r_data["sourceinfoid"].(string))
-						}
-						if sType == "1" {
-							buyerMap[buyer] = true
-						} else {
-							pjtMap[projectname] = true
-						}
-						ArrPS = append(ArrPS, r_data)
-					}
-				}
-				regMap.Data = ArrPS
-			} else {
-				regMap.Error_code = Error_code_1003
-				regMap.Error_msg = Error_msg_1003
-			}
-		} else {
-			regMap.Error_code = Error_code_1002
-			regMap.Error_msg = Error_msg_1002
-		}
-	} else {
-		regMap.Error_code = Error_code_1005
-		regMap.Error_msg = Error_msg_1005
-	}
-	this.ServeJson(regMap)
+                        if r_data["firsttime"] != nil {
+                            firsttime := r_data["firsttime"]
+                            r_data["firsttime"] = FormatDateWithObj(&firsttime, Date_Short_Layout)
+                        }
+                        if r_data["_id"] != nil {
+                            r_data["s_id"] = util.EncodeId(r_data["_id"].(string))
+                            delete(r_data, "_id")
+                        }
+                        if r_data["sourceinfoid"] != nil {
+                            r_data["sourceinfoid"] = util.EncodeId(r_data["sourceinfoid"].(string))
+                        }
+                        if sType == "1" {
+                            buyerMap[buyer] = true
+                        } else {
+                            pjtMap[projectname] = true
+                        }
+                        ArrPS = append(ArrPS, r_data)
+                    }
+                }
+                regMap.Data = ArrPS
+            } else {
+                regMap.Error_code = Error_code_1003
+                regMap.Error_msg = Error_msg_1003
+            }
+        } else {
+            regMap.Error_code = Error_code_1002
+            regMap.Error_msg = Error_msg_1002
+        }
+    } else {
+        regMap.Error_code = Error_code_1005
+        regMap.Error_msg = Error_msg_1005
+    }
+    this.ServeJson(regMap)
 }

+ 15 - 4
src/jfw/modules/bigmember/src/service/follow/projectPdf.go

@@ -13,6 +13,8 @@ import (
 	"jy/src/jfw/modules/bigmember/src/config"
 	"jy/src/jfw/modules/bigmember/src/db"
 	"jy/src/jfw/modules/bigmember/src/util"
+	"jygit.jydev.jianyu360.cn/BaseService/ossClient"
+	"jygit.jydev.jianyu360.cn/BaseService/ossClient/entity"
 	"log"
 	"net"
 	"net/http"
@@ -52,7 +54,7 @@ func NewClient() *http.Client {
 	return &http.Client{Transport: transport}
 }
 
-//GetPdfFile 下载项目内容pdf文件
+// GetPdfFile 下载项目内容pdf文件
 func (this *FollowProject) GetPdfFile() {
 	userId := qutil.ObjToString(this.GetSession("userId"))
 	rData, errMsg := func() (interface{}, error) {
@@ -83,7 +85,7 @@ func (this *FollowProject) GetPdfFile() {
 	this.ServeJson(NewResult(rData, errMsg))
 }
 
-//GetPdfDetail 生成pdf文件程序查询接口
+// GetPdfDetail 生成pdf文件程序查询接口
 func (this *FollowProject) GetPdfDetail() {
 	rData, errMsg := func() (interface{}, error) {
 		//校验是否为合法请求
@@ -121,7 +123,7 @@ func (this *FollowProject) GetPdfDetail() {
 	this.ServeJson(NewResult(rData, errMsg))
 }
 
-//校验是否是付费用户
+// 校验是否是付费用户
 func checkPay(session *httpsession.Session) bool {
 	bigPower := jy.GetBigVipUserBaseMsg(session, *config.Middleground)
 	//userId := qutil.InterfaceToStr(session.Get("userId"))
@@ -157,13 +159,16 @@ func getPdfPageApi(pid string) (finalDate map[string]interface{}, err error) {
 	if ok_1 && len(idsList) > 0 {
 		//查询mongo数据库
 		idObj := []interface{}{}
+		idStrArr := []string{}
 		for _, id := range idsList {
 			idStr, _ := id.(string)
 			if idStr != "" {
+				idStrArr = append(idStrArr, idStr)
 				idObj = append(idObj, mongodb.StringTOBsonId(idStr))
 			}
 		}
 		bidRes, ok := db.Mgo_Bidding.Find(db.DbConf.Mongodb.Bidding.Collection, map[string]interface{}{"_id": map[string]interface{}{"$in": idObj}}, nil, `{"detail":1}`, false, -1, -1)
+		//mogo改为es查询
 		if ok && (bidRes != nil || len(*bidRes) != len(idObj)) {
 			bidBckResobj, ok := db.Mgo_Bidding.Find(db.DbConf.Mongodb.Bidding.Collection_change, map[string]interface{}{"_id": map[string]interface{}{"$in": idObj}}, nil, `{"detail":1}`, false, -1, -1)
 			if ok && (bidRes != nil || len(*bidRes) > 0) {
@@ -176,7 +181,13 @@ func getPdfPageApi(pid string) (finalDate map[string]interface{}, err error) {
 		}
 		if bidRes != nil && len(*bidRes) != 0 {
 			for _, m := range *bidRes {
-				detailMap[mongodb.BsonIdToSId(m["_id"])] = m["detail"]
+				_id := mongodb.BsonIdToSId(m["_id"])
+				ossResult, err := ossClient.GetBidDetailByGrpc(config.Config.OssUrl, &entity.Args{BucketID: "detail", ObjectName: _id})
+				if err != nil {
+					log.Println(_id, "从oss代理服务获取正文出错", err)
+				} else if ossResult != nil {
+					m["detail"] = ossResult.Data.(string)
+				}
 			}
 		}
 		//查询检索库

+ 13 - 2
src/jfw/modules/publicapply/src/bidcollection/entity/entity.go

@@ -4,6 +4,8 @@ import (
 	"fmt"
 	"jy/src/jfw/modules/publicapply/src/config"
 	"jy/src/jfw/modules/publicapply/src/db"
+	"jygit.jydev.jianyu360.cn/BaseService/ossClient"
+	"jygit.jydev.jianyu360.cn/BaseService/ossClient/entity"
 	"log"
 	"regexp"
 	"strconv"
@@ -118,7 +120,7 @@ func IsCollByBids(bids, userid string) []string {
 	}
 
 	if bids == "" {
-		for k, _ := range collBidMap {
+		for k := range collBidMap {
 			res = append(res, k)
 		}
 	} else {
@@ -578,19 +580,28 @@ func GetInfoById(Mgo_bidding mg.MongodbSim, bidding, bidding_back string, idlist
 	//mongodb bidding
 	//fmt.Println(1)
 	mgo_ids := []primitive.ObjectID{}
+	idStrArr := []string{}
 	for _, v := range es_ids {
 		if infos[v] == nil {
 			_id, _ := primitive.ObjectIDFromHex(v)
 			mgo_ids = append(mgo_ids, _id)
+			idStrArr = append(idStrArr, v)
 		}
 	}
 	mongoField := qu.If(isPay, mongodbFieldOfVipStr, mongodbFieldBaseStr)
 	if len(mgo_ids) > 0 {
+		//mogo改为es查询
 		list, ok := Mgo_bidding.Find(bidding, map[string]interface{}{"_id": map[string]interface{}{"$in": mgo_ids}}, nil, mongoField, false, -1, -1)
 		if ok && *list != nil {
 			for _, v := range *list {
 				_id := mg.BsonIdToSId(v["_id"])
 				v["_id"] = _id
+				ossResult, err := ossClient.GetBidDetailByGrpc(config.Config.OssUrl, &entity.Args{BucketID: "detail", ObjectName: _id})
+				if err != nil {
+					log.Println(_id, "从oss代理服务获取正文出错", err)
+				} else if ossResult != nil {
+					v["detail"], _ = ossResult.Data.(string)
+				}
 				v["isValidFile"], _ = v["isValidFile"].(bool)
 				infos[_id] = v
 			}
@@ -881,7 +892,7 @@ func UpdateCollListRedis(typ, userid string, list []string) bool {
 			delete(m, v)
 		}
 		if len(m) > 0 {
-			for k, _ := range m {
+			for k := range m {
 				Blist = append(Blist, k)
 			}
 		}

+ 2 - 1
src/jfw/modules/publicapply/src/config.json

@@ -93,5 +93,6 @@
   "frequentContinuous": 2,
   "screenNumb": 2,
   "stayTime ": 5,
-  "maxDetailLength": 50
+  "maxDetailLength": 50,
+  "ossUrl": "172.31.31.203:1112"
 }

+ 2 - 1
src/jfw/modules/publicapply/src/config/config.go

@@ -60,7 +60,8 @@ type config struct {
 	ScreenNumb         int64
 	FrequentContinuous int64
 	StayTime           int64
-	MaxDetailLength    int `json:"maxDetailLength"`
+	MaxDetailLength    int    `json:"maxDetailLength"`
+	OssUrl             string `json:"ossUrl"`
 }
 
 type tipInfo struct {

+ 10 - 1
src/jfw/modules/publicapply/src/detail/dao/baseInfo.go

@@ -19,6 +19,8 @@ import (
 	rest "jy/src/jfw/modules/publicapply/src/detail/restriction"
 	"jy/src/jfw/modules/publicapply/src/detail/timetask"
 	"jy/src/jfw/modules/publicapply/src/detail/util"
+	"jygit.jydev.jianyu360.cn/BaseService/ossClient"
+	oce "jygit.jydev.jianyu360.cn/BaseService/ossClient/entity"
 	"log"
 	"net/http"
 	"strings"
@@ -442,13 +444,20 @@ func (b *BaseInfo) GetBiddingData() (obj map[string]interface{}) {
 	if len([]rune(bId)) == 0 {
 		return
 	}
-	cObj, ok := db.Mgo_Bidding.FindById(db.DbConf.Mongodb.Bidding.Collection, bId, nil)
+	cObj, ok := db.Mgo_Bidding.FindById(db.DbConf.Mongodb.
+		Bidding.Collection, bId, nil)
 	if ok && (cObj == nil || *cObj == nil || len(*cObj) == 0) {
 		cObj, ok = db.Mgo_Bidding.FindById(db.DbConf.Mongodb.Bidding.Collection_change, bId, nil)
 	}
 	if cObj == nil || len(*cObj) == 0 {
 		return
 	}
+	ossResult, err := ossClient.GetBidDetailByGrpc(config.Config.OssUrl, &oce.Args{BucketID: "detail", ObjectName: bId})
+	if err != nil {
+		log.Println(bId, "从oss代理服务获取正文出错", err)
+	} else if ossResult != nil {
+		(*cObj)["detail"], _ = ossResult.Data.(string)
+	}
 	if !isCustomer {
 		obj = *cObj
 	} else {

+ 10 - 0
src/jfw/modules/publicapply/src/entCreditReport/init.go

@@ -0,0 +1,10 @@
+package entCreditReport
+
+import (
+	"app.yhyue.com/moapp/jybase/go-xweb/xweb"
+	"jy/src/jfw/modules/publicapply/src/entCreditReport/service"
+)
+
+func init() {
+	xweb.AddAction(&service.EntCreditReport{})
+}

+ 9 - 0
src/jfw/modules/publicapply/src/entCreditReport/service/action.go

@@ -0,0 +1,9 @@
+package service
+
+import "app.yhyue.com/moapp/jybase/go-xweb/xweb"
+
+type EntCreditReport struct {
+	*xweb.Action
+	keys xweb.Mapper `xweb:"/entCreditReport/keys"` // 企业信用报告引流关键词配置
+
+}

+ 24 - 0
src/jfw/modules/publicapply/src/entCreditReport/service/service.go

@@ -0,0 +1,24 @@
+package service
+
+import (
+	"app.yhyue.com/moapp/jybase/api"
+	"app.yhyue.com/moapp/jybase/common"
+	"app.yhyue.com/moapp/jybase/redis"
+)
+
+const (
+	RedisEntCreditReportKey = "ent_credit_report_keys"
+)
+
+// Keys 企业信用报告引流关键词配置接口
+func (d *EntCreditReport) Keys() {
+	defer common.Catch()
+	rs := api.Result{}
+	data := redis.Get("other", RedisEntCreditReportKey)
+	if tmp, b := data.(map[string]interface{}); b {
+		rs.Data = tmp
+	} else {
+		rs.Data = map[string]interface{}{}
+	}
+	d.ServeJson(rs)
+}

+ 6 - 0
src/jfw/modules/publicapply/src/entCreditReport/test.http

@@ -0,0 +1,6 @@
+POST http://127.0.0.1:828/publicapply/entCreditReport/keys
+Content-Type: application/json
+
+{}
+
+###

+ 4 - 0
src/jfw/modules/publicapply/src/filter/sessionfilter.go

@@ -30,6 +30,7 @@ var regMinDeatil = regexp.MustCompile("^/publicapply/detail/minBaseInfo$")
 var regCheckSub = regexp.MustCompile("^/publicapply/detail/checkSubscribe$")                 // p532 判断用户是否关注公众号
 var regCaptcha = regexp.MustCompile("^/publicapply/captcha/.*")                              //图形验证码
 var regWinuser = regexp.MustCompile("^/publicapply/activity/winusers$")                      //p718 中奖名单
+var entCreditReportKeys = regexp.MustCompile("^/publicapply/entCreditReport/keys$")          //p747 企业信用报告引流关键词配置
 func (l *sessionfilter) Do(w http.ResponseWriter, req *http.Request) bool {
 	session := l.App.SessionManager.Session(req, w)
 	getSession := session.GetMultiple()
@@ -69,6 +70,9 @@ func (l *sessionfilter) Do(w http.ResponseWriter, req *http.Request) bool {
 	if regWinuser.MatchString(req.URL.Path) {
 		return true
 	}
+	if entCreditReportKeys.MatchString(req.URL.Path) {
+		return true
+	}
 	userId, ok := getSession["userId"].(string)
 	if !ok || userId == "" {
 		R.ServeJson(w, req, &Result{Error_code_1004, Error_msg_1004, nil})

+ 8 - 8
src/jfw/modules/publicapply/src/go.mod

@@ -3,9 +3,9 @@ module jy/src/jfw/modules/publicapply/src
 go 1.20
 
 require (
-	app.yhyue.com/moapp/jybase v0.0.0-20250227020441-2a6731d90553
+	app.yhyue.com/moapp/jybase v0.0.0-20250403014436-53740a2395aa
 	app.yhyue.com/moapp/jylog v0.0.0-20230522075550-05d7230ca545
-	app.yhyue.com/moapp/jypkg v1.33.5
+	app.yhyue.com/moapp/jypkg v1.33.12
 	bp.jydev.jianyu360.cn/BaseService/powerCheckCenter v0.0.0-20241213060113-ac41966a58ec
 	bp.jydev.jianyu360.cn/BaseService/userCenter v1.2.21
 	github.com/ClickHouse/clickhouse-go/v2 v2.2.0
@@ -20,6 +20,7 @@ require (
 	github.com/olivere/elastic/v7 v7.0.22
 	github.com/zeromicro/go-zero v1.6.4
 	go.mongodb.org/mongo-driver v1.14.0
+	jygit.jydev.jianyu360.cn/BaseService/ossClient v0.0.0-20250617080435-854a73d39d01
 )
 
 require (
@@ -148,18 +149,17 @@ require (
 	golang.org/x/crypto v0.22.0 // indirect
 	golang.org/x/image v0.24.0 // indirect
 	golang.org/x/net v0.24.0 // indirect
-	golang.org/x/oauth2 v0.17.0 // indirect
+	golang.org/x/oauth2 v0.18.0 // indirect
 	golang.org/x/sync v0.11.0 // indirect
 	golang.org/x/sys v0.19.0 // indirect
 	golang.org/x/term v0.19.0 // indirect
 	golang.org/x/text v0.22.0 // indirect
 	golang.org/x/time v0.5.0 // indirect
 	google.golang.org/appengine v1.6.8 // indirect
-	google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de // indirect
-	google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de // indirect
-	google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de // indirect
-	google.golang.org/grpc v1.63.2 // indirect
-	google.golang.org/protobuf v1.33.0 // indirect
+	google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237 // indirect
+	google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237 // indirect
+	google.golang.org/grpc v1.64.0 // indirect
+	google.golang.org/protobuf v1.36.0 // indirect
 	gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc // indirect
 	gopkg.in/inf.v0 v0.9.1 // indirect
 	gopkg.in/ini.v1 v1.67.0 // indirect

+ 16 - 16
src/jfw/modules/publicapply/src/go.sum

@@ -15,13 +15,13 @@ app.yhyue.com/moapp/jybase v0.0.0-20230117032034-ad7c00ffe11a/go.mod h1:zB47XTeJ
 app.yhyue.com/moapp/jybase v0.0.0-20230419121327-bedf77840ba6/go.mod h1:zB47XTeJvpcbtBRYgkQuxOICWNexiZfbUO+7aUf6mNs=
 app.yhyue.com/moapp/jybase v0.0.0-20230901064756-2fc66b18db40/go.mod h1:Hv9U/7oHRucqH315Tr1+d03NCvS9mOKPfk8pwwlOIwQ=
 app.yhyue.com/moapp/jybase v0.0.0-20231025021840-2f91c944ecdd/go.mod h1:Hv9U/7oHRucqH315Tr1+d03NCvS9mOKPfk8pwwlOIwQ=
-app.yhyue.com/moapp/jybase v0.0.0-20250227020441-2a6731d90553 h1:D7EX1q1Jf5O/gfqePMXvz3IIqpBsBf4a+YyAwH5i7Nc=
-app.yhyue.com/moapp/jybase v0.0.0-20250227020441-2a6731d90553/go.mod h1:/HT/UZ4dKuUKAQqqKrzBBfIZ4vD56DPV4u2QyfH+kbU=
+app.yhyue.com/moapp/jybase v0.0.0-20250403014436-53740a2395aa h1:F45Yi0O0W7ezagpb4EWc57CGNoQ60HN3Ut7npO/sto4=
+app.yhyue.com/moapp/jybase v0.0.0-20250403014436-53740a2395aa/go.mod h1:OEtMbsn7wY/7MLgV7yDUpVDKExUoj3B8h+4w4ZckJQQ=
 app.yhyue.com/moapp/jyfs v0.0.0-20231024061508-480c270480d4/go.mod h1:61hzZ3dZHXL28BNl8BOgZsvM2S5UVY5YFzOkEUPrSu4=
 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 v1.33.5 h1:XVzoi4POBZ8Tprr9Sk/HSC0CB3WcbPFwMpuu0o3B4jI=
-app.yhyue.com/moapp/jypkg v1.33.5/go.mod h1:m/OMjugcf4XK5c/2mErxnXEyAZ+WNya8HP0x8jFGw4U=
+app.yhyue.com/moapp/jypkg v1.33.12 h1:EZq2so8acvizZ7thq99ClBdn/SgVoRaXzyeJ/+LAcCE=
+app.yhyue.com/moapp/jypkg v1.33.12/go.mod h1:m/OMjugcf4XK5c/2mErxnXEyAZ+WNya8HP0x8jFGw4U=
 app.yhyue.com/moapp/message v0.0.0-20231204024949-8c7145bfc161 h1:WGi4OEIoqw6NpNFGioUEBZnjK9aBa+xJqf/5WY+QyhM=
 app.yhyue.com/moapp/message v0.0.0-20231204024949-8c7145bfc161/go.mod h1:0Oj8SB4pVjdCLD28sy2zyM3hS0WHGpNuVcakLW43GmI=
 bp.jydev.jianyu360.cn/BP/jynsq v0.0.0-20220222052708-ebc43af90698/go.mod h1:ojo/AUH9Yr1wzarEjOaNMkj1Cet/9r8IgLyba64Z52E=
@@ -2171,8 +2171,8 @@ golang.org/x/oauth2 v0.7.0/go.mod h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4
 golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE=
 golang.org/x/oauth2 v0.10.0/go.mod h1:kTpgurOux7LqtuxjuyZa4Gj2gdezIt/jQtGnNFfypQI=
 golang.org/x/oauth2 v0.11.0/go.mod h1:LdF7O/8bLR/qWK9DrpXmbHLTouvRHK0SgJl0GmDBchk=
-golang.org/x/oauth2 v0.17.0 h1:6m3ZPmLEFdVxKKWnKq4VqZ60gutO35zm+zrAHVmHyDQ=
-golang.org/x/oauth2 v0.17.0/go.mod h1:OzPDGQiuQMguemayvdylqddI7qcD9lnSDb+1FiwQ5HA=
+golang.org/x/oauth2 v0.18.0 h1:09qnuIAgzdx1XplqJvW6CQqMCtGZykZWcXzPMPUusvI=
+golang.org/x/oauth2 v0.18.0/go.mod h1:Wf7knwG0MPoWIMMBgFlEaSUDaKskp0dCfrlJRJXbBi8=
 golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -2705,8 +2705,6 @@ google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98/go.mod h1:S7mY02Oq
 google.golang.org/genproto v0.0.0-20230726155614-23370e0ffb3e/go.mod h1:0ggbjUrZYpy1q+ANUS30SEoGZ53cdfwtbuG7Ptgy108=
 google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5/go.mod h1:oH/ZOT02u4kWEp7oYBGYFFkCdKS/uYR9Z7+0/xuuFp8=
 google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d/go.mod h1:yZTlhN0tQnXo3h00fuXNCxJdLdIdnVFVBaRJ5LWBbw4=
-google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de h1:F6qOa9AZTYJXOUEr4jDysRDLrm4PHePlge4v4TGAlxY=
-google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:VUhTRKeHn9wwcdrk73nvdC9gF178Tzhmt/qyaFcPLSo=
 google.golang.org/genproto/googleapis/api v0.0.0-20230525234020-1aefcd67740a/go.mod h1:ts19tUU+Z0ZShN1y3aPyq2+O3d5FUNNgT6FtOzmrNn8=
 google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig=
 google.golang.org/genproto/googleapis/api v0.0.0-20230526203410-71b5a4ffd15e/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig=
@@ -2717,8 +2715,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20230711160842-782d3b101e98/go.
 google.golang.org/genproto/googleapis/api v0.0.0-20230726155614-23370e0ffb3e/go.mod h1:rsr7RhLuwsDKL7RmgDDCUc6yaGr1iqceVb5Wv6f6YvQ=
 google.golang.org/genproto/googleapis/api v0.0.0-20230803162519-f966b187b2e5/go.mod h1:5DZzOUPCLYL3mNkQ0ms0F3EuUNZ7py1Bqeq6sxzI7/Q=
 google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d/go.mod h1:KjSP20unUpOx5kyQUFa7k4OJg0qeJ7DEZflGDu2p6Bk=
-google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de h1:jFNzHPIeuzhdRwVhbZdiym9q0ory/xY3sA+v2wPg8I0=
-google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:5iCWqnniDlqZHrd3neWVTOwvh/v6s3232omMecelax8=
+google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237 h1:RFiFrvy37/mpSpdySBDrUdipW/dHwsRwh3J3+A9VgT4=
+google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237/go.mod h1:Z5Iiy3jtmioajWHDGFk7CeugTyHtPvMHA4UTmUkyalE=
 google.golang.org/genproto/googleapis/bytestream v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:ylj+BE99M198VPbBh6A8d9n3w8fChvyLK3wwBOjXBFA=
 google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234015-3fc162c6f38a/go.mod h1:xURIpW9ES5+/GZhnV6beoEtxQrnkRGIfP5VQG2tCBLc=
 google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA=
@@ -2731,8 +2729,8 @@ google.golang.org/genproto/googleapis/rpc v0.0.0-20230731190214-cbb8c96f2d6d/go.
 google.golang.org/genproto/googleapis/rpc v0.0.0-20230803162519-f966b187b2e5/go.mod h1:zBEcrKX2ZOcEkHWxBPAIvYUWOKKMIhYcmNiUIu2ji3I=
 google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M=
 google.golang.org/genproto/googleapis/rpc v0.0.0-20230913181813-007df8e322eb/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de h1:cZGRis4/ot9uVm639a+rHCUaG0JJHEsdyzSQTMX+suY=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:H4O17MA/PE9BsGx3w+a+W2VOLLD1Qf7oJneAoU6WktY=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237 h1:NnYq6UN9ReLM9/Y01KWNOWyI5xQ9kbIms5GGJVwS/Yc=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY=
 google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs=
 google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
 google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
@@ -2781,8 +2779,8 @@ google.golang.org/grpc v1.56.2/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpX
 google.golang.org/grpc v1.57.0/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo=
 google.golang.org/grpc v1.58.2/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0=
 google.golang.org/grpc v1.59.0/go.mod h1:aUPDwccQo6OTjy7Hct4AfBPD1GptF4fyUjIkQ9YtF98=
-google.golang.org/grpc v1.63.2 h1:MUeiw1B2maTVZthpU5xvASfTh3LDbxHd6IJ6QQVU+xM=
-google.golang.org/grpc v1.63.2/go.mod h1:WAX/8DgncnokcFUldAxq7GeB5DXHDbMF+lLvDomNkRA=
+google.golang.org/grpc v1.64.0 h1:KH3VH9y/MgNQg1dE7b3XfVK0GsPSIzJwdF617gUSbvY=
+google.golang.org/grpc v1.64.0/go.mod h1:oxjF8E3FBnjp+/gVFYdWacaLDx9na1aqy9oovLpxQYg=
 google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw=
 google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
 google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
@@ -2803,8 +2801,8 @@ google.golang.org/protobuf v1.28.2-0.20230222093303-bc1253ad3743/go.mod h1:HV8QO
 google.golang.org/protobuf v1.29.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
 google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
 google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
-google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI=
-google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
+google.golang.org/protobuf v1.36.0 h1:mjIs9gYtt56AzC4ZaffQuh88TZurBGhIJMBZGSxNerQ=
+google.golang.org/protobuf v1.36.0/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
 gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
 gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc h1:2gGKlE2+asNV9m7xrywl36YYNnBG5ZQ0r/BOOxqPpmk=
 gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc/go.mod h1:m7x9LTH6d71AHyAX77c9yqWCCa3UKHcVEj9y7hAtKDk=
@@ -2865,6 +2863,8 @@ honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9
 honnef.co/go/tools v0.1.3/go.mod h1:NgwopIslSNH47DimFoV78dnkksY2EFtX0ajyb3K/las=
 jygit.jydev.jianyu360.cn/ApplicationCenter/publicService v0.0.0-20231023011746-38dc3b6aded8 h1:mP1DxQ4EpsgKjRAOuw9qyWr2PRqQJ11QgKqvY3fyffc=
 jygit.jydev.jianyu360.cn/ApplicationCenter/publicService v0.0.0-20231023011746-38dc3b6aded8/go.mod h1:p/595fgbj4r6GhSJhHDpx3Ru1NkD5UASFL8OuIQw09E=
+jygit.jydev.jianyu360.cn/BaseService/ossClient v0.0.0-20250617080435-854a73d39d01 h1:66dFAyxndOQHDQUYTUR5n7vFfyfvEcTR2seaK2pvyJM=
+jygit.jydev.jianyu360.cn/BaseService/ossClient v0.0.0-20250617080435-854a73d39d01/go.mod h1:GamMXV9LlDWGyQQrHVojZUOJqZpxa5cuEA9W5D+PGG8=
 k8s.io/api v0.20.12/go.mod h1:A2brwyEkVLM3wQGNnzoAa5JsQRzHK0uoOQ+bsnv7V68=
 k8s.io/api v0.22.9/go.mod h1:rcjO/FPOuvc3x7nQWx29UcDrFJMx82RxDob71ntNH4A=
 k8s.io/api v0.26.3/go.mod h1:PXsqwPMXBSBcL1lJ9CYDKy7kIReUydukS5JiRlxC3qE=

+ 1 - 0
src/jfw/modules/publicapply/src/main.go

@@ -31,6 +31,7 @@ import (
 	_ "jy/src/jfw/modules/publicapply/src/channel"
 	_ "jy/src/jfw/modules/publicapply/src/configuration"
 	_ "jy/src/jfw/modules/publicapply/src/detail"
+	_ "jy/src/jfw/modules/publicapply/src/entCreditReport"
 	_ "jy/src/jfw/modules/publicapply/src/feedback"
 	_ "jy/src/jfw/modules/publicapply/src/history"
 	_ "jy/src/jfw/modules/publicapply/src/shareFission"

+ 2 - 1
src/jfw/modules/publicapply/src/oneclick/entity/entity.go

@@ -442,7 +442,8 @@ func (o *OneClickInfo) phoneLogin(phone string) (map[string]interface{}, error)
 					client,
 					"",
 					"",
-					referer)
+					referer,
+					"")
 				//用户中台同步
 				func(userid string) {
 					if ok := jy.AddUser(db.Mgo, userid, pb.UserAddReq{

+ 9 - 0
src/jfw/modules/publicapply/src/userbase/entity/entity.go

@@ -7,6 +7,8 @@ import (
 	"jy/src/jfw/modules/publicapply/src/config"
 	"jy/src/jfw/modules/publicapply/src/db"
 	"jy/src/jfw/modules/publicapply/src/userbase/initjson"
+	"jygit.jydev.jianyu360.cn/BaseService/ossClient"
+	"jygit.jydev.jianyu360.cn/BaseService/ossClient/entity"
 	"log"
 	"net/url"
 	"strings"
@@ -607,6 +609,7 @@ func GetOriginalTextUrl(biddingId string) (href string) {
 	obj := map[string]interface{}{}
 	aobj, ok := db.Mgo_Bidding.FindById(db.DbConf.Mongodb.Bidding.Collection, biddingId, nil)
 	if ok && (aobj == nil || *aobj == nil || len(*aobj) == 0) {
+		//mogo改为es查询
 		aobj, ok = db.Mgo_Bidding.FindById(db.DbConf.Mongodb.Bidding.Collection_change, biddingId, nil)
 	}
 	if aobj == nil {
@@ -614,6 +617,12 @@ func GetOriginalTextUrl(biddingId string) (href string) {
 	}
 	obj = *aobj
 	if obj != nil && len(obj) > 0 {
+		ossResult, err := ossClient.GetBidDetailByGrpc(config.Config.OssUrl, &entity.Args{BucketID: "detail", ObjectName: biddingId})
+		if err != nil {
+			log.Println(biddingId, "从oss代理服务获取正文出错", err)
+		} else if ossResult != nil {
+			obj["detail"], _ = ossResult.Data.(string)
+		}
 		infoformat := util.IntAllDef(obj["infoformat"], 1)
 		obj["infoformat"] = infoformat
 		//精准字段(竞争对手的地址)

+ 2 - 3
src/jfw/modules/subscribepay/src/entity/order.go

@@ -1365,7 +1365,7 @@ func areaPackOrder(m map[string]interface{}, userId string, session *httpsession
 			orderinfo.VipStartTime = FormatDate(&startTime, Date_Full_Layout)
 			orderinfo.VipEndTime = FormatDate(&endTime, Date_Full_Layout)
 			service_type = 2
-			addAreaCount = num - filter.OldNum
+			addAreaCount = 0
 			//升级
 		} else if filter.OrderType == 2 {
 			s := time.Unix(start, 0)
@@ -1376,8 +1376,7 @@ func areaPackOrder(m map[string]interface{}, userId string, session *httpsession
 			o_buyset_p := qu.ObjToMap((*ojy)["o_buyset_p"])
 			filter.OldNum = qu.IntAllDef((*o_buyset_p)["areacount"], 0)
 			service_type = 3
-
-			addAreaCount = 0
+			addAreaCount = num - filter.OldNum
 		}
 	}
 

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

@@ -6,7 +6,7 @@ require (
 	app.yhyue.com/moapp/jyResourcesCenter v0.0.0-20250211075100-eb5d7cd299f8
 	app.yhyue.com/moapp/jybase v0.0.0-20250328063909-ff0268005add
 	app.yhyue.com/moapp/jylog v0.0.0-20230522075550-05d7230ca545
-	app.yhyue.com/moapp/jypkg v1.33.6
+	app.yhyue.com/moapp/jypkg v1.33.13
 	bp.jydev.jianyu360.cn/BaseService/jyMicroservices v0.0.2
 	bp.jydev.jianyu360.cn/BaseService/powerCheckCenter v0.0.0-20241213060113-ac41966a58ec
 	bp.jydev.jianyu360.cn/BaseService/pushpkg v0.0.0-20230911091604-2faa31032743
@@ -15,6 +15,7 @@ require (
 	github.com/SKatiyar/qr v0.0.0-20151201054752-25b6bdf44e67
 	github.com/gogf/gf/v2 v2.7.0
 	github.com/google/uuid v1.6.0
+	github.com/pkg/errors v0.9.1
 	github.com/shopspring/decimal v1.3.1
 	github.com/smartwalle/alipay/v3 v3.2.25
 	github.com/tealeg/xlsx v1.0.5
@@ -90,7 +91,6 @@ require (
 	github.com/paulmach/orb v0.7.1 // indirect
 	github.com/pelletier/go-toml/v2 v2.2.0 // indirect
 	github.com/pierrec/lz4/v4 v4.1.17 // indirect
-	github.com/pkg/errors v0.9.1 // indirect
 	github.com/prometheus/client_golang v1.18.0 // indirect
 	github.com/prometheus/client_model v0.5.0 // indirect
 	github.com/prometheus/common v0.45.0 // indirect

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

@@ -22,8 +22,8 @@ app.yhyue.com/moapp/jybase v0.0.0-20250328063909-ff0268005add/go.mod h1:OEtMbsn7
 app.yhyue.com/moapp/jyfs v0.0.0-20231024061508-480c270480d4/go.mod h1:61hzZ3dZHXL28BNl8BOgZsvM2S5UVY5YFzOkEUPrSu4=
 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 v1.33.6 h1:KVxcO5SBK7da/xkiic+wlzohlUZF8BbvUmjiLLj6BPc=
-app.yhyue.com/moapp/jypkg v1.33.6/go.mod h1:m/OMjugcf4XK5c/2mErxnXEyAZ+WNya8HP0x8jFGw4U=
+app.yhyue.com/moapp/jypkg v1.33.13 h1:uym9U+WjiOzZ/U03bjTxiwuMmggFfbodgMmNA4Qfyds=
+app.yhyue.com/moapp/jypkg v1.33.13/go.mod h1:m/OMjugcf4XK5c/2mErxnXEyAZ+WNya8HP0x8jFGw4U=
 app.yhyue.com/moapp/message v0.0.0-20231204024949-8c7145bfc161 h1:WGi4OEIoqw6NpNFGioUEBZnjK9aBa+xJqf/5WY+QyhM=
 app.yhyue.com/moapp/message v0.0.0-20231204024949-8c7145bfc161/go.mod h1:0Oj8SB4pVjdCLD28sy2zyM3hS0WHGpNuVcakLW43GmI=
 bp.jydev.jianyu360.cn/BP/jynsq v0.0.0-20220222052708-ebc43af90698/go.mod h1:ojo/AUH9Yr1wzarEjOaNMkj1Cet/9r8IgLyba64Z52E=

+ 4 - 2
src/jfw/modules/subscribepay/src/service/userAccountInfo.go

@@ -1,13 +1,11 @@
 package service
 
 import (
-	jycaptcha "app.yhyue.com/moapp/jybase/captcha"
 	"bytes"
 	"context"
 	"database/sql"
 	"encoding/base64"
 	"fmt"
-	"go.mongodb.org/mongo-driver/bson"
 	"jy/src/jfw/modules/subscribepay/src/config"
 	"jy/src/jfw/modules/subscribepay/src/entity"
 	"jy/src/jfw/modules/subscribepay/src/util"
@@ -18,6 +16,9 @@ import (
 	"strings"
 	"time"
 
+	jycaptcha "app.yhyue.com/moapp/jybase/captcha"
+	"go.mongodb.org/mongo-driver/bson"
+
 	"github.com/gogf/gf/v2/frame/g"
 	"github.com/gogf/gf/v2/util/gconv"
 
@@ -1136,6 +1137,7 @@ func (this *UserAccount) WxUnBind() {
 				"",
 				"",
 				referer,
+				"",
 			)
 
 			flushWxsession = true

+ 1 - 1
src/web/staticres/common-module/order-list/js/order-detail.js

@@ -766,7 +766,7 @@ var vm = new Vue({
     },
     getDataPackInfo: function (order) {
       var filterInfo = JSON.parse(order.filter)
-      var filterNewInfo = JSON.parse(order.new_filter)
+      var filterNewInfo = JSON.parse(order.new_filter || '{}')
       this.orderInfoFilter = filterInfo
       var specMap = {
         1: '标准字段包',

+ 21 - 2
src/web/staticres/common-module/order-list/js/order-list.js

@@ -2737,14 +2737,33 @@ var vm = new Vue({
       var filter_vip_new = this.getNewFilterInfo(order)
       var buyAccountCount = filterInfo.buyAccountCount || filter_vip_new.buyAccountCount || 0
       var giftAccountCount = filterInfo.giftAccountCount || filter_vip_new.giftAccountCount || 0
-      var totalAccountCount = Number(buyAccountCount) + Number(giftAccountCount)
+      var totalAccountCount = Number(buyAccountCount) + Number(giftAccountCount) + 1
+
+      var addAreaCount = filterInfo.addAreaCount || filter_vip_new.addAreaCount
+      var onlyAddCount = false
+      if (order.product_type === 'VIP订阅') {
+        onlyAddCount = addAreaCount <= 0 // 仅增购子账号
+      } else if (order.product_type === '大会员'){
+        // onlyAddCount = !supServiceIds
+        onlyAddCount = false
+      }
+
       // 续费vip_type=1
       if (order.vip_type == 1 || order.service_type == 2) {
         // 人数就是购买人数
         buyNumber2 = filterInfo.buyAccountCount || filter_vip_new.finalAccountCount || 0
       } else if (order.vip_type == 2 || order.service_type == 3) {
         // 人数是升级人数/如果只补充服务,则人数就是购买人数
-        buyNumber2 = order.buyNum || totalAccountCount || filter_vip_new.finalAccountCount || 0
+        // buyNumber2 = order.buyNum || totalAccountCount || filter_vip_new.finalAccountCount || 0
+        if (buyAccountCount == 0 && giftAccountCount == 0) {
+            buyNumber2 = order.buyNum || filter_vip_new.finalAccountCount || 0
+        } else {
+            // 仅增购子账号,不计算主账号数量
+            if (onlyAddCount) {
+                totalAccountCount -= 1
+            }
+            buyNumber2 = order.buyNum || totalAccountCount || filter_vip_new.finalAccountCount || 0
+        }
       } else {
         buyNumber2 = order.buy_count || order.buyNum || filter_vip_new.finalAccountCount || 0
       }

+ 64 - 37
src/web/templates/frontRouter/wx/vipIntro/free/order_detail.html

@@ -103,7 +103,7 @@
                         </p>
                         <p class="l-item">
                             <span class="dyhy">采购单位行业:</span>
-                            <span class="item-list-parents industryNum value"></span>
+                            <span class="item-list-parents industryNum value">全行业</span>
                         </p>
                         <p class="l-item">
                             <span class="dyzq">订阅周期:</span>
@@ -220,6 +220,16 @@
         }
         return cycle
     }
+    function calcAreaNum(filterObj) {
+        var buyCount = filterObj.finalAreaCount
+        var region_text = ''
+        if (buyCount>0&&buyCount<16){
+            region_vip = buyCount + '个省级区域'
+        }else {
+            region_vip = '全国'
+        }
+         return region_vip
+    }
     $(function () {
         var orderCode = getParam('orderCode')
         var token = getParam('token')
@@ -289,7 +299,16 @@
                 if (r.data.order.isUsedActiveCode) {
                     $(".discount-container").removeClass("hide");
                 }
-                var isNewOrder = r.data.order.isNewOrder
+                var order = r.data.order
+                var isNewOrder = order.isNewOrder
+                // 判断是升级或续费 vip_type取不到,取service_type
+                // vip_type: //0:购买 1:续费 2:升级 3:试用
+                // service_type: 1:购买 2:续费 3:升级 4:试用
+                var isBuy = order.vip_type === 0 || order.service_type === 1
+                var isTrial = order.vip_type === 3 || order.service_type === 4
+                var isRenew = order.vip_type === 1 || order.service_type === 2
+                var isUpgrade = order.vip_type === 2 || order.service_type === 3
+
                 //订单条件
                 if (r.data.order.filter) {
                     var filterObj = JSON.parse(r.data.order.filter || '{}');
@@ -335,7 +354,7 @@
                         }
                     }
 
-                    if ((r.data.order.vip_type != 2) && (r.data.order.vip_type != 1)) {
+                    if (!isRenew && !isUpgrade) {
                         if (!$.isEmptyObject(filterObj.newBuyset)) {	//p1
                             var newBuyset = filterObj.newBuyset
                             if (newBuyset.areacount != -1) {
@@ -400,7 +419,15 @@
                                 $(".industryNum").text("全行业");
                             }
                         }
-                    } else if (r.data.order.vip_type == 2) {
+
+                        if (filterObj.finalAreaCount) {
+                            var areaNumText = calcAreaNum(filterObj)
+                            if (areaNumText) {
+                                $(".areaNum").text(areaNumText);
+                            }
+                        }
+
+                    } else if (isUpgrade) {
                         //升级订单 单独处理
                         if (!$.isEmptyObject(filterObj.newBuyset)) {	//p1更新
                             var newBuyset = filterObj.newBuyset;
@@ -448,31 +475,17 @@
                                 areaText = "无";
                             }
                         }
-                        $(".areaNum").text(areaText);
-                        //行业
-                        var industry_vip = "";
-                        if (filterObj.addbuyerclasscount == undefined) {	//p1
-                            var buyerclasscount = newBuyset.buyerclasscount;
-                            if (buyerclasscount > 3) {
-                                buyerclasscount = filterObj.industry.length;
-                                industry_vip = "全行业(" + buyerclasscount + "个行业)";
-                            } else {
-                                industry_vip = buyerclasscount + "个行业";
-                            }
-                            if (buyerclasscount == -1) {
-                                industry_vip = "全行业";
+                        if (filterObj.finalAreaCount) {
+                            var areaNumText = calcAreaNum(filterObj)
+                            if (areaNumText) {
+                                $(".areaNum").text(areaNumText);
                             }
                         } else {
-                            industry_vip = filterObj.addbuyerclasscount + "个行业";
-                            if (filterObj.addbuyerclasscount == 0) {
-                                industry_vip = "无";
-                            }
-                            if (filterObj.addbuyerclasscount == -1) {
-                                industry_vip = "全行业";
-                            }
+                            $(".areaNum").text(areaText);
                         }
-                        $(".industryNum").text(industry_vip);
-                    } else if (r.data.order.vip_type == 1) {
+                        //行业
+                        $(".industryNum").text('全行业');
+                    } else if (isRenew) {
                         var renewal_market = 0; //续费市级地区
                         var buyset = filterObj.buyset;
                         var newBuyset = filterObj.newBuyset;
@@ -539,6 +552,11 @@
                                 }
                             }
                         }
+
+                        if (filterObj.finalAreaCount) {
+                            var areaNumText = calcAreaNum(filterObj)
+                            $(".areaNum").text(areaNumText);
+                        }
                     }
 
                 }
@@ -590,6 +608,8 @@
                         $(".cyclecount").text(filterObj.cyclecount + "天")
                     } else if (filterObj.cycleunit == 4) {
                         $(".cyclecount").text(filterObj.cyclecount + "季")
+                    } else {
+                        $('.cyclecount').text('不延期')
                     }
                 } else {
                     //未支付
@@ -601,20 +621,24 @@
                         $(".cyclecount").text(filterObj.cyclecount + "天")
                     } else if (filterObj.cycleunit == 4) {
                         $(".cyclecount").text(filterObj.cyclecount + "季")
+                    } else {
+                        $('.cyclecount').text('不延期')
                     }
                 }
 
                 if (!filterObj.cyclecount && isNewOrder) {
                     var t = calcBackOrderTime(filterObj)
-                    $('.cyclecount').text(t)
+                    if(t) [
+                        $('.cyclecount').text(t)
+                    ]
                 }
 
-                if (r.data.order.vip_type == 1) {
+                if (isRenew) {
                     $(".productType").text("超级订阅(续费)");
                     $(".dyqy").text("续费区域:");
                     $(".dyhy").text("续费采购单位行业:");
                     $(".dyzq").text("续费周期:");
-                } else if (r.data.order.vip_type == 2) {
+                } else if (isUpgrade) {
                     $(".productType").text("超级订阅(升级)");
                     if (filterObj.cycleunit == 1) {
                         $(".cyclecount").text(filterObj.cyclecount + "年")
@@ -694,14 +718,18 @@
                     }, 1000)
                     $(".invoice").hide();//隐藏开发票
                     $(".j-footer").show().html("<button class='j-button-confirm' style='width: 100%!important;' >去支付</button>").on("click", function () {
+                        var vipType = r.data.order.vip_type
                         //0试用用户、1续费、2升级、3购买
-                        var vipType = 0
-                        if (!r.data.order.vip_type) {
-                            if (r.data.order.order_money > 0) {
-                                vipType = 3
-                            }
+                        if (r.data.order.service_type) {
+                            vipType = r.data.order.service_type - 1
                         } else {
-                            vipType = r.data.order.vip_type
+                            if (!r.data.order.vip_type) {
+                                if (r.data.order.order_money > 0) {
+                                    vipType = 3
+                                }
+                            } else {
+                                vipType = r.data.order.vip_type
+                            }
                         }
                         window.location.href = `/weixin/pay/checkout_subvip?orderCode=${orderCode}&t=${vipType}&order_price=${orderPayPrice}&token=${token}&no_login=1`
                     })
@@ -806,8 +834,7 @@
                     $("html,body").removeClass("stop");
                 })
             }
-
-            if ((r.data.order.order_money == 0) && (r.data.order.out_trade_no == "") && (r.data.order.vip_type == 2)) {
+            if ((r.data.order.order_money == 0) && (r.data.order.out_trade_no == "") && isUpgrade) {
                 $(".line_transaction").hide();
                 $(".invoice").hide();
                 $(".line_payway").hide();

+ 1 - 1
src/web/templates/order/pc/integral/integralDetail.html

@@ -141,7 +141,7 @@
                     //订单信息
                     $(".order_code").text(orderCode);
                     var filterObj = JSON.parse(r.data.filter);
-                    var filterNewObj = JSON.parse(r.data.new_filter);
+                    var filterNewObj = JSON.parse(r.data.new_filter || '{}');
 
                     if (r.data.create_time) {
                         $(".order_time").text(r.data.create_time.replace("-", ".").replace("-", "."));

+ 1 - 1
src/web/templates/pc/dataPack/packDetail.html

@@ -149,7 +149,7 @@
                     //订单信息
                     $(".order_code").text(orderCode);
                     var filterObj = JSON.parse(r.data.order.filter);
-                    var filterNewObj = JSON.parse(r.data.order.new_filter);
+                    var filterNewObj = JSON.parse(r.data.order.new_filter || '{}');
                     if (r.data.order.create_time) {
                         $(".order_time").text(r.data.order.create_time.replace(/-/g, "."));
                     }

+ 2 - 2
src/web/templates/pc/member_orderDetail.html

@@ -224,7 +224,7 @@
                     //订单信息
                     $(".order_code").text(orderCode);
                     var filterObj = JSON.parse(r.data.filter);
-                    var filterNewObj = JSON.parse(r.data.new_filter);
+                    var filterNewObj = JSON.parse(r.data.new_filter || '{}');
                     var source = "";
                     if(filterObj.source){
                       source = filterObj.source;
@@ -300,7 +300,7 @@
                     //}
                     //启明星后台创建的订单 cycleType: 1-天  0-月  cycle:数量
                     $(".level").text(level);
-                    var cycle
+                    var cycle = ''
                   if(filterObj.cycle ){
                     cycle=filterObj.cycle;
                     if(filterObj.level==4||filterObj.cycleType===1){

+ 36 - 11
src/web/templates/pc/myOrder.html

@@ -996,6 +996,8 @@
                 console.warn(v.order_code,e)
               }
               v.filter = t || {}
+            } else {
+              v.filter = {}
             }
 
             if (v.newFilter) {
@@ -1006,6 +1008,8 @@
                 console.warn(v.order_code,e)
               }
               v.newFilter = t || {}
+            } else {
+              v.newFilter = {}
             }
 
 
@@ -1018,7 +1022,8 @@
               }
               var buyAccountCount = v.filter.buyAccountCount || v.newFilter.buyAccountCount || 0
               var giftAccountCount = v.filter.giftAccountCount || v.newFilter.giftAccountCount || 0
-              var totalAccountCount = Number(buyAccountCount) + Number(giftAccountCount)
+              // 购买数量要加上主账号
+              var totalAccountCount = Number(buyAccountCount) + Number(giftAccountCount) + 1
 
               // 续费vip_type=1
               if (v.vip_type == 1) {
@@ -1026,7 +1031,12 @@
                 v.buy_count = v.newFilter.finalAccountCount || 0
               } else if (v.vip_type == 2) {
                 // 人数是升级人数/如果只补充服务,则人数就是购买人数
-                v.newFilter.totalAccountCount = totalAccountCount || v.newFilter.finalAccountCount || 0
+                if (buyAccountCount == 0 && giftAccountCount == 0) {
+                    v.newFilter.totalAccountCount = v.newFilter.finalAccountCount || 0
+                } else {
+                    v.newFilter.totalAccountCount = totalAccountCount || v.newFilter.finalAccountCount || 0
+                }
+                // v.newFilter.totalAccountCount = totalAccountCount || v.newFilter.finalAccountCount || 0
               } else {
                 v.buy_count = v.newFilter.finalAccountCount || 0
               }
@@ -1154,18 +1164,22 @@
                 } else {
                   vipInfo.cycle = "-"
                 }
-              }else if(JSON.stringify(v.newFilter) !== JSON.stringify({})){
+              }else if(v.newFilter && Object.keys(v.newFilter).length>0){
+                  var cycle = ''
                   var cmap={1:"天",2:"月",3:"年",4:"季"}
                   if (v.newFilter.buy_type==v.newFilter.give_type){
-                    vipInfo.cycle = parseInt(v.newFilter.buy_cycle||0) +parseInt(v.newFilter.give_cycle||0) +cmap[v.newFilter.buy_type]
+                    cycle = parseInt(v.newFilter.buy_cycle||0) +parseInt(v.newFilter.give_cycle||0) +cmap[v.newFilter.buy_type]
                   }else{
                     if (v.newFilter.buy_cycle>0){
-                      vipInfo.cycle=v.newFilter.buy_cycle+cmap[v.newFilter.buy_type]
+                      cycle+=v.newFilter.buy_cycle+cmap[v.newFilter.buy_type]
                     }
                     if (v.newFilter.give_cycle>0){
-                      vipInfo.cycle+=v.newFilter.give_cycle+cmap[v.newFilter.give_type]
+                      cycle+=v.newFilter.give_cycle+cmap[v.newFilter.give_type]
                     }
                   }
+                  if (cycle) {
+                    vipInfo.cycle=cycle
+                  }
               }
               if (v.filter.cycleunit === 0 && v.filter.cyclecount === 0) {
                 vipInfo.cycle = "不延期";
@@ -1177,22 +1191,33 @@
                 v.vip_starttime = "-"
               }
               v.vipInfo = vipInfo
+
+              var addAreaCount = v.filter.addAreaCount || v.newFilter.addAreaCount || 0
+              if (addAreaCount <= 0) {
+                vipInfo.onlyAddCount = true
+              }
               
               // vip_type: //0:购买 1:续费 2:升级 3:试用
               var buyAccountCount = v.filter.buyAccountCount || v.newFilter.buyAccountCount || 0
               var giftAccountCount = v.filter.giftAccountCount || v.newFilter.giftAccountCount || 0
-              var totalAccountCount = Number(buyAccountCount) + Number(giftAccountCount)
+              var totalAccountCount = Number(buyAccountCount) + Number(giftAccountCount) + 1
               // 续费vip_type=1
               if (v.vip_type == 1) {
                 // 人数就是购买人数
                 v.buyAccountNum = v.buyNum||v.newFilter.finalAccountCount || 0
               } else if (v.vip_type == 2) {
                 // 人数是升级人数/如果只补充服务,则人数就是购买人数
-                v.buyAccountNum = v.buyNum||totalAccountCount||v.newFilter.finalAccountCount || 0
-                var addAreaCount = v.filter.addAreaCount || v.newFilter.addAreaCount || 0
-                if (addAreaCount <= 0) {
-                  vipInfo.onlyAddCount = true
+                if (buyAccountCount == 0 && giftAccountCount == 0) {
+                    v.buyAccountNum = v.buyNum||v.newFilter.finalAccountCount || 0
+                } else {
+                    // 仅增购子账号,不计算主账号数量
+                    if (vipInfo.onlyAddCount) {
+                      totalAccountCount -= 1
+                    }
+                    v.buyAccountNum = v.buyNum||totalAccountCount||v.newFilter.finalAccountCount || 0
                 }
+
+
               } else {
                 v.buyAccountNum = v.buyNum||v.newFilter.finalAccountCount || 0
               }

+ 15 - 2
src/web/templates/pc/vip_orderDetail.html

@@ -173,14 +173,27 @@
             var filter_vip_new = order.new_filter ? JSON.parse(order.new_filter) : {}
             var buyAccountCount = filterInfo.buyAccountCount || filter_vip_new.buyAccountCount || 0
             var giftAccountCount = filterInfo.giftAccountCount || filter_vip_new.giftAccountCount || 0
-            var totalAccountCount = Number(buyAccountCount) + Number(giftAccountCount)
+            var totalAccountCount = Number(buyAccountCount) + Number(giftAccountCount) + 1
+
+            var addAreaCount = v.filter.addAreaCount || v.newFilter.addAreaCount || 0
+            var onlyAddCount = addAreaCount <= 0 // 仅增购子账号
+            
             // 续费vip_type=1
             if (order.vip_type == 1 || order.service_type == 2) {
                 // 人数就是购买人数
                 buyNumber2 = filterInfo.buyAccountCount || filter_vip_new.finalAccountCount || 0
             } else if (order.vip_type == 2 || order.service_type == 3) {
                 // 人数是升级人数/如果只补充服务,则人数就是购买人数
-                buyNumber2 = order.buyNum || totalAccountCount || filter_vip_new.finalAccountCount || 0
+                // buyNumber2 = order.buyNum || totalAccountCount || filter_vip_new.finalAccountCount || 0
+                if (buyAccountCount == 0 && giftAccountCount == 0) {
+                    buyNumber2 = order.buyNum || filter_vip_new.finalAccountCount || 0
+                } else {
+                    // 仅增购子账号,不计算主账号数量
+                    if (onlyAddCount) {
+                        totalAccountCount -= 1
+                    }
+                    buyNumber2 = order.buyNum || totalAccountCount || filter_vip_new.finalAccountCount || 0
+                }
             } else {
                 buyNumber2 = order.buy_count || order.buyNum || filter_vip_new.finalAccountCount || 0
             }

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно