添加excel导入

This commit is contained in:
桀尼龟 2025-07-07 19:35:54 +08:00
parent f6164cd455
commit 493624dfcb
4 changed files with 1518 additions and 1380 deletions

File diff suppressed because it is too large Load Diff

View File

@ -5,11 +5,11 @@ package bundle
import ( import (
fmt "fmt" fmt "fmt"
math "math"
proto "github.com/golang/protobuf/proto" proto "github.com/golang/protobuf/proto"
_ "github.com/mwitkow/go-proto-validators" _ "github.com/mwitkow/go-proto-validators"
github_com_mwitkow_go_proto_validators "github.com/mwitkow/go-proto-validators"
_ "google.golang.org/protobuf/types/descriptorpb" _ "google.golang.org/protobuf/types/descriptorpb"
math "math" github_com_mwitkow_go_proto_validators "github.com/mwitkow/go-proto-validators"
) )
// Reference imports to suppress errors if they are not otherwise used. // Reference imports to suppress errors if they are not otherwise used.

View File

@ -1,7 +1,7 @@
// Code generated by protoc-gen-go-triple. DO NOT EDIT. // Code generated by protoc-gen-go-triple. DO NOT EDIT.
// versions: // versions:
// - protoc-gen-go-triple v1.0.8 // - protoc-gen-go-triple v1.0.8
// - protoc v5.26.1 // - protoc v4.24.0--rc1
// source: pb/bundle.proto // source: pb/bundle.proto
package bundle package bundle

View File

@ -5,8 +5,10 @@ import (
"fmt" "fmt"
"fonchain-fiee/api/accountFiee" "fonchain-fiee/api/accountFiee"
"fonchain-fiee/api/bundle" "fonchain-fiee/api/bundle"
"fonchain-fiee/cmd/config"
"fonchain-fiee/pkg/service" "fonchain-fiee/pkg/service"
"fonchain-fiee/pkg/service/bundle/common" "fonchain-fiee/pkg/service/bundle/common"
"fonchain-fiee/pkg/service/bundle/logic"
bundleModel "fonchain-fiee/pkg/service/bundle/model" bundleModel "fonchain-fiee/pkg/service/bundle/model"
"fonchain-fiee/pkg/utils" "fonchain-fiee/pkg/utils"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
@ -131,12 +133,46 @@ func AutoCreateUserAndOrder(c *gin.Context) {
fmt.Println("==================== 3333333333333") fmt.Println("==================== 3333333333333")
// TODO 2.匹配套餐并签约? [] // TODO 2.匹配套餐并签约? []
// 获取 最后一次的 合同编号
//主套餐1500固定的uuid写死,不同金额对应uuiid lastOrderRecord, _ := service.BundleProvider.OrderRecordsList(context.Background(), &bundle.OrderRecordsRequest{
// PageSize: 1,
//增3条-30条 Page: 1,
//map【美元金额】=uuid })
numMap := make(map[string]int) lastContractNo := ""
if lastOrderRecord.OrderRecords != nil {
for _, lastOrder := range lastOrderRecord.OrderRecords {
lastContractNo = lastOrder.ContractNo
}
}
BundleName := ""
BundleUuid := ""
videoUuid := ""
textAndImagesUuid := ""
reportUuid := ""
accountUuid := ""
durationUuid := ""
if config.AppConfig.System.AppMode == "prod" {
BundleName = "全球尊享版"
BundleUuid = "ac4c99c2951c2fcdbf417928d321554d"
videoUuid = "a29a1fa2862b2cdda1377b19066c8eb7"
textAndImagesUuid = "dfba176a40ae2d23aa4ef9b30b646bc8"
reportUuid = "1727557a85c92957a3e3332d18c713aa"
accountUuid = "e1cc219e4f682b3d8cb85929e540a0de"
durationUuid = "f002449ac57a2e71b0673da938c0354e"
} else {
BundleName = "测试导入全球尊享版"
BundleUuid = "5e84f86cb7f92a4ab785271e4a383aa5"
videoUuid = "1084c3406c852fb5a09be89918d568e6"
textAndImagesUuid = "51aa912412b22d68adb14f4151242df2"
reportUuid = "362d66d4877827fdafab7b3e66d62e74"
accountUuid = "9eb646957aff239e9f89e2c6ed6aeb23"
durationUuid = "8f20f3863a7c2a86bcd81d3fbacbf8f7"
}
var addRecords []*bundle.OrderCreateAddRecord
var addTotalPrice float32
var TotalPrice float32
var expirationDay string
numMap := make(map[string]int32)
numMap["3150"] = 3 numMap["3150"] = 3
numMap["5600"] = 8 numMap["5600"] = 8
numMap["6500"] = 10 numMap["6500"] = 10
@ -144,8 +180,100 @@ func AutoCreateUserAndOrder(c *gin.Context) {
numMap["10500"] = 20 numMap["10500"] = 20
numMap["11500"] = 25 numMap["11500"] = 25
numMap["14100"] = 30 numMap["14100"] = 30
incrMap := make(map[string]float32)
numMap["3150"] = 1650
numMap["5600"] = 4100
numMap["6500"] = 5000
numMap["8500"] = 7000
numMap["10500"] = 9000
numMap["11500"] = 10000
numMap["14100"] = 12600
addTotalPrice = incrMap[unfinishInfo.OrderPayAmount]
f64, err := strconv.ParseFloat(unfinishInfo.OrderPayAmount, 32)
TotalPrice = float32(f64)
addRecords = append(addRecords,
&bundle.OrderCreateAddRecord{ //视频
ServiceType: 1,
ValueUid: videoUuid,
CurrencyType: 2, //美元
Amount: addTotalPrice, //增值服务金额
Num: numMap[unfinishInfo.OrderPayAmount],
Unit: "个",
Source: 1,
PaymentStatus: 2,
}, &bundle.OrderCreateAddRecord{ //图文
ServiceType: 2,
ValueUid: textAndImagesUuid,
CurrencyType: 2, //美元
Amount: 0, //增值服务金额
Num: 120,
Unit: "个",
Source: 1,
PaymentStatus: 2,
}, &bundle.OrderCreateAddRecord{ //数据报表
ServiceType: 3,
ValueUid: reportUuid,
CurrencyType: 2, //美元
Amount: 0, //增值服务金额
Num: 12,
Unit: "个",
Source: 1,
PaymentStatus: 2,
}, &bundle.OrderCreateAddRecord{ //账号数
ServiceType: 3,
ValueUid: accountUuid,
CurrencyType: 2, //美元
Amount: 0, //增值服务金额
Num: 3,
Unit: "个",
Source: 1,
PaymentStatus: 2,
}, &bundle.OrderCreateAddRecord{ //可用时长
ServiceType: 3,
ValueUid: durationUuid,
CurrencyType: 2, //美元
Amount: 0, //增值服务金额
Num: 10,
Unit: "年",
Source: 1,
PaymentStatus: 2,
},
)
// 当前 未将 签名 写入合同中 todo 金额和有效时间待修改
contract := "https://e-cdn.fontree.cn/fonchain-main/prod/file/saas/contract/template-25032801.pdf"
expirationDay = t.AddDate(10, 0, 0).Format("2006-01-02")
signContract, signContractErr := logic.SignContractV2(userReq.UserNum, contract, TotalPrice, expirationDay)
if signContractErr != nil {
service.Error(c, signContractErr)
return
}
var orderReq bundle.OrderCreateRecord
orderReq.CustomerNum = userReq.UserNum
orderReq.CustomerName = userReq.UserName
orderReq.CustomerID = strconv.FormatInt(userResp.UserId, 10)
orderReq.BundleName = BundleName //套餐名称
orderReq.Amount = 1500
orderReq.AmountType = 2
//req.BundleCommonUid = bundleDetail.BundleCommonUid
orderReq.TotalAmount = TotalPrice
orderReq.ContractNo = common.GenerateContractNo(lastContractNo)
orderReq.SignContract = signContract
orderReq.SignedTime = common.GetBeijingTime()
orderReq.Status = bundleModel.OrderSigned
orderReq.AddRecords = addRecords
//req.ExpirationTime = expirationDay //过期日期取消 在完成支付是更新
orderReq.PayType = 1
//补充
orderReq.BundleUuid = BundleUuid
orderReq.Language = "en-US"
orderReq.OrderNo = unfinishInfo.OrderNo
_, err = service.BundleProvider.CreateOrderRecord(context.Background(), &orderReq)
if err != nil {
service.Error(c, err)
return
}
fmt.Println("==================== 44444444444444444") fmt.Println("==================== 44444444444444444")
// TODO 3.创建成功的订单和回调 [ok] // TODO 3.创建成功的订单和回调 [ok]
////创建对账单 todo 待修改 ////创建对账单 todo 待修改