diff --git a/app/hdl/hdl_set_center.go b/app/hdl/hdl_set_center.go index 14fff43..0006c56 100644 --- a/app/hdl/hdl_set_center.go +++ b/app/hdl/hdl_set_center.go @@ -449,17 +449,21 @@ func AppletUnauthorized(c *gin.Context) { // @Router /api/setCenter/share/index [GET] func ShareIndex(c *gin.Context) { masterId := svc.GetMasterId(c) - userAppDomainDb := implement.NewUserAppDomainDb(db.Db) - agent, err := userAppDomainDb.GetAppDomainByType("agent", masterId) + + agent := new(model.UserAppDomain) + _, err := db.Db.Where("type =?", "agent").And("uuid =?", masterId).And("is_ssl =1").Get(agent) if err != nil { e.OutErr(c, e.ERR_DB_ORM, err.Error()) return } - medium, err := userAppDomainDb.GetAppDomainByType("medium", masterId) + + medium := new(model.UserAppDomain) + _, err = db.Db.Where("type =?", "medium").And("uuid =?", masterId).And("is_ssl =1").Get(agent) if err != nil { e.OutErr(c, e.ERR_DB_ORM, err.Error()) return } + agentDomain := "" if agent != nil { agentDomain = agent.Domain diff --git a/app/svc/svc_wx_data.go b/app/svc/svc_wx_data.go index a4f60ca..f77908d 100644 --- a/app/svc/svc_wx_data.go +++ b/app/svc/svc_wx_data.go @@ -93,7 +93,6 @@ func GenerateWxAdData(req md.GenerateWxAdData) (err error, generateWxAdData mode generateWxAdData = model.GenerateWxAdData{ MediumId: originalWxAdData.MediumId, Uuid: originalWxAdData.Uuid, - Platform: originalWxAdData.Platform, AppId: originalWxAdData.AppId, OriginalDataId: originalWxAdData.Id, SlotId: originalWxAdData.SlotId, @@ -122,6 +121,7 @@ func GenerateWxAdData(req md.GenerateWxAdData) (err error, generateWxAdData mode IsGenerateReport: 0, CreateAt: now.Format("2006-01-02 15:04:05"), UpdateAt: now.Format("2006-01-02 15:04:05"), + Platform: originalWxAdData.Platform, } generateWxAdDataDb := implement.NewGenerateWxAdDataDb(db.Db) _, err = generateWxAdDataDb.GenerateWxAdDataInsertBySession(session, &generateWxAdData) @@ -272,19 +272,24 @@ func SettlementWxAdData(req md.SettlementWxAdData) (err error) { if mediumSettlement == nil { //新增一条数据 mediumSettlement = &model.MediumSettlement{ - Uuid: originalWxAdData.Uuid, - MediumId: originalWxAdData.MediumId, - AppId: originalWxAdData.AppId, - BusinessKind: 1, - Kind: medium.SettlementType, - BasicIncome: generateWxAdData.MediaRevenue, - OtherIncome: 0, - State: mediumSettlementState, - PayState: mediumSettlementPayState, - StartDate: now.Format("2006-01-02"), - EndDate: "", - CreateAt: now.Format("2006-01-02 15:04:05"), - UpdateAt: now.Format("2006-01-02 15:04:05"), + Uuid: originalWxAdData.Uuid, + MediumId: originalWxAdData.MediumId, + AppId: originalWxAdData.AppId, + BusinessKind: 1, + Kind: medium.SettlementType, + BasicIncome: generateWxAdData.MediaRevenue, + OtherIncome: 0, + OriginalIncome: originalWxAdData.PublisherIncome, + PlatformRetention: generateWxAdData.PlatformRetention, + CommissionRetention: generateWxAdData.CommissionRetention, + PriceAdjustmentRetention: generateWxAdData.PriceAdjustmentRetention, + State: mediumSettlementState, + PayState: mediumSettlementPayState, + StartDate: now.Format("2006-01-02"), + EndDate: "", + CreateAt: now.Format("2006-01-02 15:04:05"), + UpdateAt: now.Format("2006-01-02 15:04:05"), + SettleFile: "", } _, err = mediumSettlementDb.MediumSettlementInsertBySession(session, mediumSettlement) if err != nil { @@ -293,14 +298,54 @@ func SettlementWxAdData(req md.SettlementWxAdData) (err error) { } } else { //更新数据 - basicIncomeBefore = mediumSettlement.BasicIncome - mediumSettlement.BasicIncome += generateWxAdData.MediaRevenue - mediumSettlement.State = mediumSettlementState - mediumSettlement.PayState = mediumSettlementPayState - _, err = mediumSettlementDb.UpdateMediumSettlementBySession(session, mediumSettlement, "basic_income", "pay_state", "state") - if err != nil { - _ = session.Rollback() - return + if medium.SettlementType != mediumSettlement.Kind { + //TODO::前后结算类型不一致,之前结算单状态自动变成"核算中" + mediumSettlement.State = enum.MediumSettlementStateForAccountingInProgress + //mediumSettlement.PayState = mediumSettlementPayState + _, err = mediumSettlementDb.UpdateMediumSettlementBySession(session, mediumSettlement, "state") + if err != nil { + _ = session.Rollback() + return + } + + //新增一条数据 + mediumSettlement = &model.MediumSettlement{ + Uuid: originalWxAdData.Uuid, + MediumId: originalWxAdData.MediumId, + AppId: originalWxAdData.AppId, + BusinessKind: 1, + Kind: medium.SettlementType, + BasicIncome: generateWxAdData.MediaRevenue, + OtherIncome: 0, + OriginalIncome: originalWxAdData.PublisherIncome, + PlatformRetention: generateWxAdData.PlatformRetention, + CommissionRetention: generateWxAdData.CommissionRetention, + PriceAdjustmentRetention: generateWxAdData.PriceAdjustmentRetention, + State: mediumSettlementState, + PayState: mediumSettlementPayState, + StartDate: now.Format("2006-01-02"), + EndDate: "", + CreateAt: now.Format("2006-01-02 15:04:05"), + UpdateAt: now.Format("2006-01-02 15:04:05"), + SettleFile: "", + } + _, err = mediumSettlementDb.MediumSettlementInsertBySession(session, mediumSettlement) + if err != nil { + _ = session.Rollback() + return + } + } else { + basicIncomeBefore = mediumSettlement.BasicIncome + mediumSettlement.BasicIncome += generateWxAdData.MediaRevenue + mediumSettlement.OriginalIncome += originalWxAdData.PublisherIncome + mediumSettlement.PlatformRetention += generateWxAdData.PlatformRetention + mediumSettlement.CommissionRetention += generateWxAdData.CommissionRetention + mediumSettlement.PriceAdjustmentRetention += generateWxAdData.PriceAdjustmentRetention + _, err = mediumSettlementDb.UpdateMediumSettlementBySession(session, mediumSettlement, "basic_income", "original_income", "platform_retention", "commission_retention", "price_adjustment_retention") + if err != nil { + _ = session.Rollback() + return + } } } if medium.SettlementType == enum.MediumSettlementTypeForPaymentInAdvance { @@ -378,17 +423,48 @@ func SettlementWxAdData(req md.SettlementWxAdData) (err error) { } } else { //更新数据 - agentBasicIncomeBefore = agentSettlement.BasicIncome - agentOtherIncomeBefore = agentSettlement.OtherIncome - agentSettlement.BasicIncome += v.AgentRevenue - agentSettlement.OtherIncome += v.ExtraRevenue - agentSettlement.State += agentSettlementState - agentSettlement.PayState += agentSettlementPayState + if agentMap[v.AgentId].SettlementType != agentSettlement.Kind { + //TODO::前后结算类型不一致,之前结算单状态自动变成"核算中" + agentSettlement.State = enum.AgentSettlementStateForAccountingInProgress + _, err = agentSettlementDb.UpdateAgentSettlementBySession(session, agentSettlement, "state") + if err != nil { + _ = session.Rollback() + return + } - _, err = agentSettlementDb.UpdateAgentSettlementBySession(session, agentSettlement, "basic_income", "other_income", "pay_state", "state") - if err != nil { - _ = session.Rollback() - return + //新增一条数据 + agentSettlement = &model.AgentSettlement{ + Uuid: v.Uuid, + AgentId: v.AgentId, + MediumId: originalWxAdData.MediumId, + AppId: v.AppId, + BusinessKind: 1, + Kind: agentMap[v.AgentId].SettlementType, + BasicIncome: v.AgentRevenue, + OtherIncome: v.ExtraRevenue, + State: agentSettlementState, + PayState: agentSettlementPayState, + StartDate: now.Format("2006-01-02"), + EndDate: "", + CreateAt: now.Format("2006-01-02 15:04:05"), + UpdateAt: now.Format("2006-01-02 15:04:05"), + } + _, err = agentSettlementDb.AgentSettlementInsertBySession(session, agentSettlement) + if err != nil { + _ = session.Rollback() + return + } + } else { + agentBasicIncomeBefore = agentSettlement.BasicIncome + agentOtherIncomeBefore = agentSettlement.OtherIncome + agentSettlement.BasicIncome += v.AgentRevenue + agentSettlement.OtherIncome += v.ExtraRevenue + + _, err = agentSettlementDb.UpdateAgentSettlementBySession(session, agentSettlement, "basic_income", "other_income") + if err != nil { + _ = session.Rollback() + return + } } } diff --git a/go.mod b/go.mod index e0e9445..5d4c8bf 100644 --- a/go.mod +++ b/go.mod @@ -2,7 +2,7 @@ module applet go 1.18 -//replace code.fnuoos.com/zhimeng/model.git => E:/company/ad/models +replace code.fnuoos.com/zhimeng/model.git => E:/company/ad/models require ( code.fnuoos.com/zhimeng/model.git v0.0.3-0.20240906014333-2fe6da0384ee