正在显示
3 个修改的文件
包含
38 行增加
和
7 行删除
@@ -147,12 +147,14 @@ func (creditAccountService *CreditAccountService) CreateCreditAccount(createCred | @@ -147,12 +147,14 @@ func (creditAccountService *CreditAccountService) CreateCreditAccount(createCred | ||
147 | // 预算明细 | 147 | // 预算明细 |
148 | var creditAccounts []*domain.CreditAccount | 148 | var creditAccounts []*domain.CreditAccount |
149 | var accountDetail []*domain.AccountDetail | 149 | var accountDetail []*domain.AccountDetail |
150 | + var settlementAmount float64 | ||
150 | for _, dividendsEstimate := range dividendsEstimates { | 151 | for _, dividendsEstimate := range dividendsEstimates { |
151 | accountDetail = append(accountDetail, &domain.AccountDetail{ | 152 | accountDetail = append(accountDetail, &domain.AccountDetail{ |
152 | DividendsEstimateOrderNumber: dividendsEstimate.DividendsEstimateOrderNumber, | 153 | DividendsEstimateOrderNumber: dividendsEstimate.DividendsEstimateOrderNumber, |
153 | DividendsType: dividendsEstimate.DividendsType, | 154 | DividendsType: dividendsEstimate.DividendsType, |
154 | DividendsAmount: dividendsEstimate.DividendsAmount, | 155 | DividendsAmount: dividendsEstimate.DividendsAmount, |
155 | }) | 156 | }) |
157 | + settlementAmount = settlementAmount + dividendsEstimate.DividendsAmount | ||
156 | } | 158 | } |
157 | 159 | ||
158 | // 生成账期结算单号 | 160 | // 生成账期结算单号 |
@@ -167,7 +169,7 @@ func (creditAccountService *CreditAccountService) CreateCreditAccount(createCred | @@ -167,7 +169,7 @@ func (creditAccountService *CreditAccountService) CreateCreditAccount(createCred | ||
167 | CreditAccountOrderNum: creditAccountNumber, | 169 | CreditAccountOrderNum: creditAccountNumber, |
168 | PaymentStatus: 1, | 170 | PaymentStatus: 1, |
169 | PaymentTime: time.Time{}, | 171 | PaymentTime: time.Time{}, |
170 | - SettlementAmount: dividendsEstimates[0].DividendsAmount, | 172 | + SettlementAmount: settlementAmount, |
171 | SettlementTime: time.Now(), | 173 | SettlementTime: time.Now(), |
172 | Participator: &domain.Participator{ // 共创参与 | 174 | Participator: &domain.Participator{ // 共创参与 |
173 | UserId: dividendsEstimates[0].DividendsUser.UserId, | 175 | UserId: dividendsEstimates[0].DividendsUser.UserId, |
@@ -183,7 +185,7 @@ func (creditAccountService *CreditAccountService) CreateCreditAccount(createCred | @@ -183,7 +185,7 @@ func (creditAccountService *CreditAccountService) CreateCreditAccount(createCred | ||
183 | Status: dividendsEstimates[0].DividendsUser.Status, | 185 | Status: dividendsEstimates[0].DividendsUser.Status, |
184 | Company: dividendsEstimates[0].DividendsUser.Company, | 186 | Company: dividendsEstimates[0].DividendsUser.Company, |
185 | }, | 187 | }, |
186 | - AccountDetail: accountDetail, | 188 | + AccountDetail: accountDetail, // 结算明细,多笔分红预算单 |
187 | PaymentDocumentAttachment: nil, | 189 | PaymentDocumentAttachment: nil, |
188 | Org: organization, | 190 | Org: organization, |
189 | Company: company, | 191 | Company: company, |
@@ -318,8 +320,11 @@ func (creditAccountService *CreditAccountService) PayCreditAccount(payCreditAcco | @@ -318,8 +320,11 @@ func (creditAccountService *CreditAccountService) PayCreditAccount(payCreditAcco | ||
318 | defer func() { | 320 | defer func() { |
319 | _ = transactionContext.RollbackTransaction() | 321 | _ = transactionContext.RollbackTransaction() |
320 | }() | 322 | }() |
323 | + | ||
321 | // 参数类型转换 | 324 | // 参数类型转换 |
322 | creditAccountId, _ := strconv.ParseInt(payCreditAccountCommand.CreditAccountId, 10, 64) | 325 | creditAccountId, _ := strconv.ParseInt(payCreditAccountCommand.CreditAccountId, 10, 64) |
326 | + | ||
327 | + // 账期结算仓储初始化 | ||
323 | var creditAccountRepository domain.CreditAccountRepository | 328 | var creditAccountRepository domain.CreditAccountRepository |
324 | if value, err1 := factory.CreateCreditAccountRepository(map[string]interface{}{ | 329 | if value, err1 := factory.CreateCreditAccountRepository(map[string]interface{}{ |
325 | "transactionContext": transactionContext, | 330 | "transactionContext": transactionContext, |
@@ -328,6 +333,7 @@ func (creditAccountService *CreditAccountService) PayCreditAccount(payCreditAcco | @@ -328,6 +333,7 @@ func (creditAccountService *CreditAccountService) PayCreditAccount(payCreditAcco | ||
328 | } else { | 333 | } else { |
329 | creditAccountRepository = value | 334 | creditAccountRepository = value |
330 | } | 335 | } |
336 | + | ||
331 | // 获取待支付的账期结算单 | 337 | // 获取待支付的账期结算单 |
332 | creditAccount, err := creditAccountRepository.FindOne(map[string]interface{}{"creditAccountId": creditAccountId}) | 338 | creditAccount, err := creditAccountRepository.FindOne(map[string]interface{}{"creditAccountId": creditAccountId}) |
333 | if err != nil { | 339 | if err != nil { |
@@ -339,8 +345,11 @@ func (creditAccountService *CreditAccountService) PayCreditAccount(payCreditAcco | @@ -339,8 +345,11 @@ func (creditAccountService *CreditAccountService) PayCreditAccount(payCreditAcco | ||
339 | if err2 := creditAccount.Update(tool_funs.SimpleStructToMap(payCreditAccountCommand)); err2 != nil { | 345 | if err2 := creditAccount.Update(tool_funs.SimpleStructToMap(payCreditAccountCommand)); err2 != nil { |
340 | return nil, application.ThrowError(application.BUSINESS_ERROR, err2.Error()) | 346 | return nil, application.ThrowError(application.BUSINESS_ERROR, err2.Error()) |
341 | } | 347 | } |
342 | - // 支付状态设置 | 348 | + |
349 | + // 支付更新设置 | ||
343 | creditAccount.PaymentStatus = 2 | 350 | creditAccount.PaymentStatus = 2 |
351 | + creditAccount.PaymentTime = time.Now() | ||
352 | + | ||
344 | if creditAccountSaved, err4 := creditAccountRepository.Save(creditAccount); err4 != nil { | 353 | if creditAccountSaved, err4 := creditAccountRepository.Save(creditAccount); err4 != nil { |
345 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err4.Error()) | 354 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err4.Error()) |
346 | } else { | 355 | } else { |
@@ -4,6 +4,7 @@ import ( | @@ -4,6 +4,7 @@ import ( | ||
4 | "fmt" | 4 | "fmt" |
5 | "github.com/go-pg/pg/v10" | 5 | "github.com/go-pg/pg/v10" |
6 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/infrastructure/utils" | 6 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/infrastructure/utils" |
7 | + "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/log" | ||
7 | "time" | 8 | "time" |
8 | 9 | ||
9 | "github.com/linmadan/egglib-go/persistent/pg/sqlbuilder" | 10 | "github.com/linmadan/egglib-go/persistent/pg/sqlbuilder" |
@@ -208,15 +209,20 @@ func (repository *DividendsOrderRepository) Save(dividendsOrder *domain.Dividend | @@ -208,15 +209,20 @@ func (repository *DividendsOrderRepository) Save(dividendsOrder *domain.Dividend | ||
208 | OrgId: goodDomain.OrgId, | 209 | OrgId: goodDomain.OrgId, |
209 | CompanyId: goodDomain.CompanyId, | 210 | CompanyId: goodDomain.CompanyId, |
210 | OrderGoodDividendsStatus: goodDomain.OrderGoodDividendsStatus, | 211 | OrderGoodDividendsStatus: goodDomain.OrderGoodDividendsStatus, |
211 | - CreatedAt: time.Time{}, | 212 | + CreatedAt: time.Now(), |
212 | DeletedAt: time.Time{}, | 213 | DeletedAt: time.Time{}, |
213 | - UpdatedAt: time.Now(), | 214 | + UpdatedAt: time.Time{}, |
214 | }) | 215 | }) |
215 | } | 216 | } |
216 | // 添加分红订单产品 | 217 | // 添加分红订单产品 |
218 | + log.Logger.Info("待添加的分红订单产品", map[string]interface{}{ | ||
219 | + "orderGoodsToAddModels": orderGoodsToAddModels, | ||
220 | + }) | ||
221 | + if len(orderGoodsToAddModels) > 0 { | ||
217 | if _, err := tx.Model(&orderGoodsToAddModels).Insert(); err != nil { | 222 | if _, err := tx.Model(&orderGoodsToAddModels).Insert(); err != nil { |
218 | return nil, err | 223 | return nil, err |
219 | } | 224 | } |
225 | + } | ||
220 | 226 | ||
221 | // 待更新或者删除的ids | 227 | // 待更新或者删除的ids |
222 | var orderGoodIdsToUpdateOrDelete []int64 | 228 | var orderGoodIdsToUpdateOrDelete []int64 |
@@ -234,9 +240,14 @@ func (repository *DividendsOrderRepository) Save(dividendsOrder *domain.Dividend | @@ -234,9 +240,14 @@ func (repository *DividendsOrderRepository) Save(dividendsOrder *domain.Dividend | ||
234 | } | 240 | } |
235 | } | 241 | } |
236 | } | 242 | } |
243 | + log.Logger.Info("待更新的分红订单产品", map[string]interface{}{ | ||
244 | + "orderGoodModelsToUpdate": orderGoodModelsToUpdate, | ||
245 | + }) | ||
246 | + if len(orderGoodModelsToUpdate) > 0 { | ||
237 | if _, err := tx.Model(&orderGoodModelsToUpdate).WherePK().Update(); err != nil { | 247 | if _, err := tx.Model(&orderGoodModelsToUpdate).WherePK().Update(); err != nil { |
238 | return nil, err | 248 | return nil, err |
239 | } | 249 | } |
250 | + } | ||
240 | 251 | ||
241 | // 待删除的分红订单产品id | 252 | // 待删除的分红订单产品id |
242 | orderGoodIdsToDelete := utils.Difference(orderGoodIdsFetched, orderGoodIdsToUpdateOrDelete) | 253 | orderGoodIdsToDelete := utils.Difference(orderGoodIdsFetched, orderGoodIdsToUpdateOrDelete) |
@@ -248,10 +259,15 @@ func (repository *DividendsOrderRepository) Save(dividendsOrder *domain.Dividend | @@ -248,10 +259,15 @@ func (repository *DividendsOrderRepository) Save(dividendsOrder *domain.Dividend | ||
248 | } | 259 | } |
249 | } | 260 | } |
250 | } | 261 | } |
251 | - if _, err := tx.Model(&orderGoodModelsToDelete).WherePK().Delete(); err != nil { | 262 | + log.Logger.Info("待删除的订单产品", map[string]interface{}{ |
263 | + "orderGoodModelsToDelete": orderGoodModelsToDelete, | ||
264 | + }) | ||
265 | + if len(orderGoodModelsToDelete) > 0 { | ||
266 | + if _, err := tx.Model(&orderGoodModelsToDelete).Delete(); err != nil { | ||
252 | return nil, err | 267 | return nil, err |
253 | } | 268 | } |
254 | } | 269 | } |
270 | + } | ||
255 | return dividendsOrder, nil | 271 | return dividendsOrder, nil |
256 | } | 272 | } |
257 | 273 |
@@ -224,9 +224,11 @@ func (repository *DividendsReturnedOrderRepository) Save(dividendsReturnedOrder | @@ -224,9 +224,11 @@ func (repository *DividendsReturnedOrderRepository) Save(dividendsReturnedOrder | ||
224 | }) | 224 | }) |
225 | } | 225 | } |
226 | // 添加分红退货订单产品 | 226 | // 添加分红退货订单产品 |
227 | + if len(orderGoodsToAddModels) > 0 { | ||
227 | if _, err := tx.Model(&orderGoodsToAddModels).Insert(); err != nil { | 228 | if _, err := tx.Model(&orderGoodsToAddModels).Insert(); err != nil { |
228 | return nil, err | 229 | return nil, err |
229 | } | 230 | } |
231 | + } | ||
230 | 232 | ||
231 | // 待更新或者删除的ids | 233 | // 待更新或者删除的ids |
232 | var orderGoodIdsToUpdateOrDelete []int64 | 234 | var orderGoodIdsToUpdateOrDelete []int64 |
@@ -244,9 +246,11 @@ func (repository *DividendsReturnedOrderRepository) Save(dividendsReturnedOrder | @@ -244,9 +246,11 @@ func (repository *DividendsReturnedOrderRepository) Save(dividendsReturnedOrder | ||
244 | } | 246 | } |
245 | } | 247 | } |
246 | } | 248 | } |
249 | + if len(orderGoodModelsToUpdate) > 0 { | ||
247 | if _, err := tx.Model(&orderGoodModelsToUpdate).WherePK().Update(); err != nil { | 250 | if _, err := tx.Model(&orderGoodModelsToUpdate).WherePK().Update(); err != nil { |
248 | return nil, err | 251 | return nil, err |
249 | } | 252 | } |
253 | + } | ||
250 | 254 | ||
251 | // 待删除的分红退货订单产品id | 255 | // 待删除的分红退货订单产品id |
252 | orderGoodIdsToDelete := utils.Difference(orderGoodIdsFetched, orderGoodIdsToUpdateOrDelete) | 256 | orderGoodIdsToDelete := utils.Difference(orderGoodIdsFetched, orderGoodIdsToUpdateOrDelete) |
@@ -258,10 +262,12 @@ func (repository *DividendsReturnedOrderRepository) Save(dividendsReturnedOrder | @@ -258,10 +262,12 @@ func (repository *DividendsReturnedOrderRepository) Save(dividendsReturnedOrder | ||
258 | } | 262 | } |
259 | } | 263 | } |
260 | } | 264 | } |
261 | - if _, err := tx.Model(&orderGoodModelsToDelete).WherePK().Delete(); err != nil { | 265 | + if len(orderGoodModelsToDelete) > 0 { |
266 | + if _, err := tx.Model(&orderGoodModelsToDelete).Delete(); err != nil { | ||
262 | return nil, err | 267 | return nil, err |
263 | } | 268 | } |
264 | } | 269 | } |
270 | + } | ||
265 | return dividendsReturnedOrder, nil | 271 | return dividendsReturnedOrder, nil |
266 | } | 272 | } |
267 | 273 |
-
请 注册 或 登录 后发表评论