作者 陈志颖

feat:新增榜单时间段管理

@@ -199,12 +199,11 @@ func (statisticsService *StatisticsService) PersonSuMoneyStatistics(personSuMone @@ -199,12 +199,11 @@ func (statisticsService *StatisticsService) PersonSuMoneyStatistics(personSuMone
199 } 199 }
200 } 200 }
201 201
202 -// TODO 获取系统素币统计 202 +// 系统素币统计
203 func (statisticsService *StatisticsService) SystemSuMoneyStatistics(systemSuMoneyStatisticsCommand *command.SystemSuMoneyStatisticsCommand) (interface{}, error) { 203 func (statisticsService *StatisticsService) SystemSuMoneyStatistics(systemSuMoneyStatisticsCommand *command.SystemSuMoneyStatisticsCommand) (interface{}, error) {
204 if err := systemSuMoneyStatisticsCommand.ValidateCommand(); err != nil { 204 if err := systemSuMoneyStatisticsCommand.ValidateCommand(); err != nil {
205 return nil, application.ThrowError(application.ARG_ERROR, err.Error()) 205 return nil, application.ThrowError(application.ARG_ERROR, err.Error())
206 } 206 }
207 -  
208 transactionContext, err := factory.CreateTransactionContext(nil) 207 transactionContext, err := factory.CreateTransactionContext(nil)
209 if err != nil { 208 if err != nil {
210 return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) 209 return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
@@ -215,7 +214,6 @@ func (statisticsService *StatisticsService) SystemSuMoneyStatistics(systemSuMone @@ -215,7 +214,6 @@ func (statisticsService *StatisticsService) SystemSuMoneyStatistics(systemSuMone
215 defer func() { 214 defer func() {
216 transactionContext.RollbackTransaction() 215 transactionContext.RollbackTransaction()
217 }() 216 }()
218 -  
219 var cashPoolDao *dao.CashPoolDao 217 var cashPoolDao *dao.CashPoolDao
220 if value, err := factory.CreateCashPoolDao(map[string]interface{}{ 218 if value, err := factory.CreateCashPoolDao(map[string]interface{}{
221 "transactionContext": transactionContext, 219 "transactionContext": transactionContext,
@@ -224,23 +222,47 @@ func (statisticsService *StatisticsService) SystemSuMoneyStatistics(systemSuMone @@ -224,23 +222,47 @@ func (statisticsService *StatisticsService) SystemSuMoneyStatistics(systemSuMone
224 } else { 222 } else {
225 cashPoolDao = value 223 cashPoolDao = value
226 } 224 }
227 -  
228 if systemSuMoneyStatistics, err := cashPoolDao.CalculateSystemCash(systemSuMoneyStatisticsCommand.CompanyId); err != nil { 225 if systemSuMoneyStatistics, err := cashPoolDao.CalculateSystemCash(systemSuMoneyStatisticsCommand.CompanyId); err != nil {
229 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) 226 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
230 } else { 227 } else {
231 if err := transactionContext.CommitTransaction(); err != nil { 228 if err := transactionContext.CommitTransaction(); err != nil {
232 return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) 229 return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
233 } 230 }
234 - //systemSuMoneyStatistics["currentSuMoney"] = employee.SuMoney  
235 return systemSuMoneyStatistics, nil 231 return systemSuMoneyStatistics, nil
236 } 232 }
237 } 233 }
238 234
239 -// TODO 获取系统现金统计 235 +// 系统现金统计
240 func (statisticsService *StatisticsService) SystemCashStatistics(systemCashStatisticsCommand *command.SystemCashStatisticsCommand) (interface{}, error) { 236 func (statisticsService *StatisticsService) SystemCashStatistics(systemCashStatisticsCommand *command.SystemCashStatisticsCommand) (interface{}, error) {
241 -  
242 -  
243 - return nil, nil 237 + if err := systemCashStatisticsCommand.ValidateCommand(); err != nil {
  238 + return nil, application.ThrowError(application.ARG_ERROR, err.Error())
  239 + }
  240 + transactionContext, err := factory.CreateTransactionContext(nil)
  241 + if err != nil {
  242 + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  243 + }
  244 + if err := transactionContext.StartTransaction(); err != nil {
  245 + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  246 + }
  247 + defer func() {
  248 + transactionContext.RollbackTransaction()
  249 + }()
  250 + var cashPoolDao *dao.CashPoolDao
  251 + if value, err := factory.CreateCashPoolDao(map[string]interface{}{
  252 + "transactionContext": transactionContext,
  253 + }); err != nil {
  254 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  255 + } else {
  256 + cashPoolDao = value
  257 + }
  258 + if systemCashStatistics, err := cashPoolDao.CalculateSystemCash(systemCashStatisticsCommand.CompanyId); err != nil {
  259 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  260 + } else {
  261 + if err := transactionContext.CommitTransaction(); err != nil {
  262 + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  263 + }
  264 + return systemCashStatistics, nil
  265 + }
244 } 266 }
245 267
246 func NewStatisticsService(options map[string]interface{}) *StatisticsService { 268 func NewStatisticsService(options map[string]interface{}) *StatisticsService {
@@ -156,15 +156,20 @@ func (cashPoolService *CashPoolService) CreateExchangeCashActivity(createExchang @@ -156,15 +156,20 @@ func (cashPoolService *CashPoolService) CreateExchangeCashActivity(createExchang
156 transactionContext.RollbackTransaction() 156 transactionContext.RollbackTransaction()
157 }() 157 }()
158 158
  159 + var timeNow = time.Now()
  160 + var deadline = createExchangeCashActivityCommand.Deadline
  161 + var t1 = time.Date(timeNow.Year(), timeNow.Month(), timeNow.Day(), 0, 0, 0, 0, time.Local)
  162 + var t2 = time.Date(deadline.Year(), deadline.Month(), deadline.Day(), 0, 0, 0, 0, time.Local)
  163 +
159 newActivity := &domain.ExchangeCashActivity{ 164 newActivity := &domain.ExchangeCashActivity{
160 ExchangeActivityName: createExchangeCashActivityCommand.ExchangeActivityName, 165 ExchangeActivityName: createExchangeCashActivityCommand.ExchangeActivityName,
161 CompanyId: createExchangeCashActivityCommand.CompanyId, 166 CompanyId: createExchangeCashActivityCommand.CompanyId,
162 ExchangedCash: 0, 167 ExchangedCash: 0,
163 ExchangedSuMoney: 0, 168 ExchangedSuMoney: 0,
164 Deadline: createExchangeCashActivityCommand.Deadline, 169 Deadline: createExchangeCashActivityCommand.Deadline,
165 - CountDown: 0, 170 + CountDown: int64(t2.Sub(t1).Hours() / 24),
166 Rate: createExchangeCashActivityCommand.ExchangeRate, 171 Rate: createExchangeCashActivityCommand.ExchangeRate,
167 - CreateTime: time.Now(), 172 + CreateTime: timeNow,
168 } 173 }
169 174
170 var exchangeCashActivityRepository domain.ExchangeActivityRepository 175 var exchangeCashActivityRepository domain.ExchangeActivityRepository
@@ -273,7 +278,6 @@ func (cashPoolService *CashPoolService) GetExchangeCashActivity(getExchangeCashA @@ -273,7 +278,6 @@ func (cashPoolService *CashPoolService) GetExchangeCashActivity(getExchangeCashA
273 if err := getExchangeCashActivityQuery.ValidateQuery(); err != nil { 278 if err := getExchangeCashActivityQuery.ValidateQuery(); err != nil {
274 return nil, application.ThrowError(application.ARG_ERROR, err.Error()) 279 return nil, application.ThrowError(application.ARG_ERROR, err.Error())
275 } 280 }
276 -  
277 transactionContext, err := factory.CreateTransactionContext(nil) 281 transactionContext, err := factory.CreateTransactionContext(nil)
278 if err != nil { 282 if err != nil {
279 return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) 283 return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
@@ -284,7 +288,6 @@ func (cashPoolService *CashPoolService) GetExchangeCashActivity(getExchangeCashA @@ -284,7 +288,6 @@ func (cashPoolService *CashPoolService) GetExchangeCashActivity(getExchangeCashA
284 defer func() { 288 defer func() {
285 transactionContext.RollbackTransaction() 289 transactionContext.RollbackTransaction()
286 }() 290 }()
287 -  
288 var exchangeCashActivityRepository domain.ExchangeActivityRepository 291 var exchangeCashActivityRepository domain.ExchangeActivityRepository
289 if value, err := factory.CreateExchangeCashActivityRepository(map[string]interface{}{ 292 if value, err := factory.CreateExchangeCashActivityRepository(map[string]interface{}{
290 "transactionContext": transactionContext, 293 "transactionContext": transactionContext,
@@ -340,25 +343,32 @@ func (cashPoolService *CashPoolService) UpdateExchangeCashActivity(updateExchang @@ -340,25 +343,32 @@ func (cashPoolService *CashPoolService) UpdateExchangeCashActivity(updateExchang
340 if activity == nil { 343 if activity == nil {
341 return nil, application.ThrowError(application.RES_NO_FIND_ERROR, fmt.Sprintf("%s", string(updateExchangeCashActivityCommand.ExchangeCashActivityId))) 344 return nil, application.ThrowError(application.RES_NO_FIND_ERROR, fmt.Sprintf("%s", string(updateExchangeCashActivityCommand.ExchangeCashActivityId)))
342 } 345 }
343 - if activity == nil {  
344 - return nil, application.ThrowError(application.RES_NO_FIND_ERROR, fmt.Sprintf("%s", string(updateExchangeCashActivityCommand.ExchangeCashActivityId)))  
345 - }  
346 if err := activity.Update(tool_funs.SimpleStructToMap(updateExchangeCashActivityCommand)); err != nil { 346 if err := activity.Update(tool_funs.SimpleStructToMap(updateExchangeCashActivityCommand)); err != nil {
347 return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error()) 347 return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error())
348 } 348 }
349 if activityUpdated, err := exchangeCashActivityRepository.Save(activity); err != nil { 349 if activityUpdated, err := exchangeCashActivityRepository.Save(activity); err != nil {
350 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) 350 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
351 } else { 351 } else {
  352 + // TODO 更新现金池已兑换素币、已兑换现金值、未兑换素币、未兑换现金值、平均汇率
  353 + //var cashPoolRepository domain.CashPoolRepository
  354 + //if value, err := factory.CreateCashPoolRepository(map[string]interface{}{
  355 + // "transactionContext": transactionContext,
  356 + //}); err != nil {
  357 + // return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  358 + //} else {
  359 + // cashPoolRepository = value
  360 + //}
  361 +
  362 +
  363 +
352 if err := transactionContext.CommitTransaction(); err != nil { 364 if err := transactionContext.CommitTransaction(); err != nil {
353 return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) 365 return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
354 } 366 }
355 - // TODO 更新现金池已兑换素币、已兑换现金值、未兑换素币、未兑换现金值、平均汇率  
356 -  
357 return activityUpdated, nil 367 return activityUpdated, nil
358 } 368 }
359 } 369 }
360 370
361 -// 新兑换现金人员 371 +// 新兑换现金人员
362 func (cashPoolService *CashPoolService) CreateExchangeCashPerson(createExchangeCashPersonCommand *command.CreateExchangeCashPersonCommand) (interface{}, error) { 372 func (cashPoolService *CashPoolService) CreateExchangeCashPerson(createExchangeCashPersonCommand *command.CreateExchangeCashPersonCommand) (interface{}, error) {
363 if err := createExchangeCashPersonCommand.ValidateCommand(); err != nil { 373 if err := createExchangeCashPersonCommand.ValidateCommand(); err != nil {
364 return nil, application.ThrowError(application.ARG_ERROR, err.Error()) 374 return nil, application.ThrowError(application.ARG_ERROR, err.Error())
@@ -375,15 +385,20 @@ func (cashPoolService *CashPoolService) CreateExchangeCashPerson(createExchangeC @@ -375,15 +385,20 @@ func (cashPoolService *CashPoolService) CreateExchangeCashPerson(createExchangeC
375 transactionContext.RollbackTransaction() 385 transactionContext.RollbackTransaction()
376 }() 386 }()
377 387
378 - // TODO 需要判断新增兑换现金人员的素币值是否合理(人员参与兑换的素币不得超过该人员还未兑换的素币总值) 388 + var exchangeCashActivityRepository domain.ExchangeActivityRepository
  389 + activity, err := exchangeCashActivityRepository.FindOne(map[string]interface{}{"activityId": createExchangeCashPersonCommand.ExchangeCashActivityId})
  390 + if err != nil {
  391 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  392 + }
  393 + if activity.Rate == 0 {
  394 + return nil, application.ThrowError(application.RES_NO_FIND_ERROR, fmt.Sprintf("%s", string("请设置汇率")))
  395 + }
379 396
380 - // TODO 判断活动的汇率是否为空,为空则不允许新建,提示:请设置汇率 397 + // TODO 清单中现金总额超过现金池时创建失败,提示:“已超过投入现金池的未兑换现金”
381 398
382 - // TODO 获取参与的兑换活动的汇率,计算已兑换的现金值  
383 399
384 - // TODO 清单中现金总额超过现金池时创建失败,提示:“已超过投入现金池的未兑换现金” 400 + // TODO 新增兑换人员时,判断成员是否存在,判断素币值是否超过本人持有的素币,以手机账号为判断依据
385 401
386 - // TODO 新增兑换人员时,判断成员是否存在,以手机账号为判断依据  
387 402
388 newPerson := &domain.ExchangeCashPersonList{ 403 newPerson := &domain.ExchangeCashPersonList{
389 EmployeeInfo: &domain.EmployeeInfo{ 404 EmployeeInfo: &domain.EmployeeInfo{
@@ -392,7 +407,7 @@ func (cashPoolService *CashPoolService) CreateExchangeCashPerson(createExchangeC @@ -392,7 +407,7 @@ func (cashPoolService *CashPoolService) CreateExchangeCashPerson(createExchangeC
392 }, 407 },
393 ExchangeCashActivityId: createExchangeCashPersonCommand.ExchangeCashActivityId, 408 ExchangeCashActivityId: createExchangeCashPersonCommand.ExchangeCashActivityId,
394 ExchangedSuMoney: createExchangeCashPersonCommand.ExchangedSuMoney, 409 ExchangedSuMoney: createExchangeCashPersonCommand.ExchangedSuMoney,
395 - 410 + ExchangedCash: createExchangeCashPersonCommand.ExchangedSuMoney * activity.Rate,
396 } 411 }
397 412
398 var exchangeCashPersonListRepository domain.ExchangeCashPersonListRepository 413 var exchangeCashPersonListRepository domain.ExchangeCashPersonListRepository
@@ -406,11 +421,12 @@ func (cashPoolService *CashPoolService) CreateExchangeCashPerson(createExchangeC @@ -406,11 +421,12 @@ func (cashPoolService *CashPoolService) CreateExchangeCashPerson(createExchangeC
406 if person, err := exchangeCashPersonListRepository.Save(newPerson); err != nil { 421 if person, err := exchangeCashPersonListRepository.Save(newPerson); err != nil {
407 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) 422 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
408 } else { 423 } else {
  424 + // TODO 更新活动已兑换素币值、已兑换现金值、兑换汇率
  425 +
  426 +
409 if err := transactionContext.CommitTransaction(); err != nil { 427 if err := transactionContext.CommitTransaction(); err != nil {
410 return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) 428 return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
411 } 429 }
412 - // TODO 更新活动已兑换素币值、已兑换现金值、兑换汇率  
413 -  
414 return person, nil 430 return person, nil
415 } 431 }
416 } 432 }
@@ -572,13 +588,14 @@ func (cashPoolService *CashPoolService) UpdateExchangeCashPerson(updateExchangeC @@ -572,13 +588,14 @@ func (cashPoolService *CashPoolService) UpdateExchangeCashPerson(updateExchangeC
572 if personUpdated, err := exchangeCashPersonListRepository.Save(person); err != nil { 588 if personUpdated, err := exchangeCashPersonListRepository.Save(person); err != nil {
573 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) 589 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
574 } else { 590 } else {
575 - if err := transactionContext.CommitTransaction(); err != nil {  
576 - return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())  
577 - }  
578 // TODO 更新个人当前可用素币值,生成素币兑换流水记录(获取更新前的已兑换素币值,判断是扣除还是增加),记录描述:参与素币兑换现金活动(红色表示取活动名称) 591 // TODO 更新个人当前可用素币值,生成素币兑换流水记录(获取更新前的已兑换素币值,判断是扣除还是增加),记录描述:参与素币兑换现金活动(红色表示取活动名称)
579 592
  593 +
580 // TODO 更新相应兑换活动已兑换素币值、已兑换现金值、兑换汇率 594 // TODO 更新相应兑换活动已兑换素币值、已兑换现金值、兑换汇率
581 595
  596 + if err := transactionContext.CommitTransaction(); err != nil {
  597 + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  598 + }
582 return personUpdated, nil 599 return personUpdated, nil
583 } 600 }
584 } 601 }
@@ -41,6 +41,8 @@ func (suMoneyService *SuMoneyService) OperationSuMoney(operationSuMoneyCommand * @@ -41,6 +41,8 @@ func (suMoneyService *SuMoneyService) OperationSuMoney(operationSuMoneyCommand *
41 if task, err := operationSuMoneyService.Operation(operationSuMoneyCommand.Uid, operationSuMoneyCommand.Operator, operationSuMoneyCommand.SuMoney, operationSuMoneyCommand.OperationType, operationSuMoneyCommand.OperationDescription); err != nil { 41 if task, err := operationSuMoneyService.Operation(operationSuMoneyCommand.Uid, operationSuMoneyCommand.Operator, operationSuMoneyCommand.SuMoney, operationSuMoneyCommand.OperationType, operationSuMoneyCommand.OperationDescription); err != nil {
42 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) 42 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
43 } else { 43 } else {
  44 + // TODO 增加、扣除素币和个人贡献值关联,兑换物资不与贡献值关联
  45 +
44 if err := transactionContext.CommitTransaction(); err != nil { 46 if err := transactionContext.CommitTransaction(); err != nil {
45 return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) 47 return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
46 } 48 }
@@ -11,7 +11,6 @@ type CashPool struct { @@ -11,7 +11,6 @@ type CashPool struct {
11 UnExchangeCash float64 `json:"unExchangeCash"` // 未兑换的现金 11 UnExchangeCash float64 `json:"unExchangeCash"` // 未兑换的现金
12 ExchangedSuMoney float64 `json:"exchangedSuMoney"` // 已兑换的素币 12 ExchangedSuMoney float64 `json:"exchangedSuMoney"` // 已兑换的素币
13 UnExchangeSuMoney float64 `json:"unExchangeSuMoney"` // 未兑换的素币 13 UnExchangeSuMoney float64 `json:"unExchangeSuMoney"` // 未兑换的素币
14 - //Operator *EmployeeInfo `json:"operator"` // 操作人  
15 Rate float64 `json:"rate"` // 平均兑换汇率 14 Rate float64 `json:"rate"` // 平均兑换汇率
16 CreateTime time.Time `json:"createTime"` // 现金投入现金池时间 15 CreateTime time.Time `json:"createTime"` // 现金投入现金池时间
17 } 16 }
@@ -21,6 +20,25 @@ type CashPoolRepository interface { @@ -21,6 +20,25 @@ type CashPoolRepository interface {
21 Find(queryOptions map[string]interface{}) (int64, []*CashPool, error) 20 Find(queryOptions map[string]interface{}) (int64, []*CashPool, error)
22 } 21 }
23 22
  23 +func (cashPool *CashPool) Update(data map[string]interface{}) error {
  24 + if exchangedCash, ok := data["exchangedCash"]; ok {
  25 + cashPool.ExchangedCash = exchangedCash.(float64)
  26 + }
  27 + if unExchangeCash, ok := data["unExchangeCash"]; ok {
  28 + cashPool.UnExchangeCash = unExchangeCash.(float64)
  29 + }
  30 + if exchangedSuMoney, ok := data["exchangedSuMoney"]; ok {
  31 + cashPool.ExchangedSuMoney = exchangedSuMoney.(float64)
  32 + }
  33 + if unExchangeSuMoney, ok := data["unExchangeSuMoney"]; ok {
  34 + cashPool.UnExchangeSuMoney = unExchangeSuMoney.(float64)
  35 + }
  36 + if rate, ok := data["rate"]; ok {
  37 + cashPool.Rate = rate.(float64)
  38 + }
  39 + return nil
  40 +}
  41 +
24 func (cashPool *CashPool) Identity() interface{} { 42 func (cashPool *CashPool) Identity() interface{} {
25 if cashPool.CashPoolId == 0 { 43 if cashPool.CashPoolId == 0 {
26 return nil 44 return nil
  1 +package domain
  2 +
  1 +package controllers
  2 +
  3 +import "github.com/astaxie/beego"
  4 +
  5 +type ListIntervalController struct {
  6 + beego.Controller
  7 +}
  8 +
  9 +// TODO 新增榜单时间段
  10 +func (controller *ListIntervalController) CreateListInterval() {
  11 +
  12 +}
  13 +
  14 +// TODO 更新榜单时间段
  15 +func (controller *ListIntervalController) UpdateListInterval() {
  16 +
  17 +}
  18 +
  19 +// TODO 获取榜单时间段
  20 +func (controller *ListIntervalController) GetListInterval() {
  21 +
  22 +}
  23 +
  24 +// TODO 获取榜单时间段列表
  25 +func (controller *ListIntervalController) ListListInterval() {
  26 +
  27 +}
  28 +
  29 +// TODO 移除榜单时间段
  30 +func (controller *ListIntervalController) RemoveListInterval() {
  31 +
  32 +}
  33 +
@@ -73,12 +73,32 @@ func (controller *StatisticsController) PersonNotificationStatistics() { @@ -73,12 +73,32 @@ func (controller *StatisticsController) PersonNotificationStatistics() {
73 controller.ServeJSON() 73 controller.ServeJSON()
74 } 74 }
75 75
76 -// TODO 系统素币统计  
77 func (controller *StatisticsController) SystemSuMoneyStatistics() { 76 func (controller *StatisticsController) SystemSuMoneyStatistics() {
78 - 77 + statisticsService := service.NewStatisticsService(nil)
  78 + systemSuMoneyStatisticsCommand := &command.SystemSuMoneyStatisticsCommand{}
  79 + json.Unmarshal(controller.Ctx.Input.GetData("requestBody").([]byte), systemSuMoneyStatisticsCommand)
  80 + data, err := statisticsService.SystemSuMoneyStatistics(systemSuMoneyStatisticsCommand)
  81 + var response utils.JsonResponse
  82 + if err != nil {
  83 + response = utils.ResponseError(controller.Ctx, err)
  84 + } else {
  85 + response = utils.ResponseData(controller.Ctx, data)
  86 + }
  87 + controller.Data["json"] = response
  88 + controller.ServeJSON()
79 } 89 }
80 90
81 -// TODO 系统现金统计  
82 func (controller *StatisticsController) SystemCashStatistics() { 91 func (controller *StatisticsController) SystemCashStatistics() {
83 - 92 + statisticsService := service.NewStatisticsService(nil)
  93 + systemCashStatisticsCommand := &command.SystemCashStatisticsCommand{}
  94 + json.Unmarshal(controller.Ctx.Input.GetData("requestBody").([]byte), systemCashStatisticsCommand)
  95 + data, err := statisticsService.SystemCashStatistics(systemCashStatisticsCommand)
  96 + var response utils.JsonResponse
  97 + if err != nil {
  98 + response = utils.ResponseError(controller.Ctx, err)
  99 + } else {
  100 + response = utils.ResponseData(controller.Ctx, data)
  101 + }
  102 + controller.Data["json"] = response
  103 + controller.ServeJSON()
84 } 104 }
@@ -359,7 +359,6 @@ func (controller *SuMoneyController) ImportExchangeList () { @@ -359,7 +359,6 @@ func (controller *SuMoneyController) ImportExchangeList () {
359 fmt.Println(err) 359 fmt.Println(err)
360 return 360 return
361 } 361 }
362 - // TODO 判断活动汇率是否为空  
363 362
364 var response utils.JsonResponse 363 var response utils.JsonResponse
365 dataList := make([]interface{}, 0) 364 dataList := make([]interface{}, 0)
  1 +package routers
  2 +
  3 +import (
  4 + "github.com/astaxie/beego"
  5 + "gitlab.fjmaimaimai.com/linmadan/mmm-worth/pkg/port/beego/controllers"
  6 +)
  7 +
  8 +func init() {
  9 + beego.Router("/list-interval/", &controllers.ListIntervalController{}, "Post:CreateListInterval")
  10 + beego.Router("/list-interval/:intervalId", &controllers.ListIntervalController{}, "Put:UpdateListInterval")
  11 + beego.Router("/list-interval/:intervalId", &controllers.ListIntervalController{}, "Get:GetListInterval")
  12 + beego.Router("/list-interval/:intervalId", &controllers.ListIntervalController{}, "Delete:RemoveListInterval")
  13 + beego.Router("/list-interval/", &controllers.ListIntervalController{}, "Get:ListListInterval")
  14 +}
@@ -23,10 +23,10 @@ func init() { @@ -23,10 +23,10 @@ func init() {
23 beego.Router("/cash-pool/activity", &controllers.SuMoneyController{}, "POST:CreateExchangeActivities") // 新增兑换活动 23 beego.Router("/cash-pool/activity", &controllers.SuMoneyController{}, "POST:CreateExchangeActivities") // 新增兑换活动
24 beego.Router("/cash-pool/activity/:activityId", &controllers.SuMoneyController{}, "DELETE:RemoveExchangeActivities") // 删除兑换活动 24 beego.Router("/cash-pool/activity/:activityId", &controllers.SuMoneyController{}, "DELETE:RemoveExchangeActivities") // 删除兑换活动
25 25
26 - beego.Router("/cash-pool/activity/exchange-list", &controllers.SuMoneyController{}, "GET:ListExchangeList") // 返回素币兑换清单  
27 - beego.Router("/cash-pool/activity/exchange-list/:listId", &controllers.SuMoneyController{}, "GET:GetExchangeCashPerson") // 返回素币兑换人员  
28 - beego.Router("/cash-pool/activity/exchange-list", &controllers.SuMoneyController{}, "POST:CreateExchangeList") // 新增素币兑换清单  
29 - beego.Router("/cash-pool/activity/exchange-list/:listId", &controllers.SuMoneyController{}, "PUT:UpdateExchangeList") // 编辑素币兑换清单  
30 - beego.Router("/cash-pool/activity/exchange-list/:listId", &controllers.SuMoneyController{}, "DELETE:RemoveExchangeCashPerson") // 删除素币兑换清单  
31 - beego.Router("/cash-pool/activity/exchange-list/import", &controllers.SuMoneyController{}, "POST:ImportExchangeList") // 导入素币兑换清单 26 + beego.Router("/cash-pool/activity/exchange-listInterval", &controllers.SuMoneyController{}, "GET:ListExchangeList") // 返回素币兑换清单
  27 + beego.Router("/cash-pool/activity/exchange-listInterval/:listId", &controllers.SuMoneyController{}, "GET:GetExchangeCashPerson") // 返回素币兑换人员
  28 + beego.Router("/cash-pool/activity/exchange-listInterval", &controllers.SuMoneyController{}, "POST:CreateExchangeList") // 新增素币兑换清单
  29 + beego.Router("/cash-pool/activity/exchange-listInterval/:listId", &controllers.SuMoneyController{}, "PUT:UpdateExchangeList") // 编辑素币兑换清单
  30 + beego.Router("/cash-pool/activity/exchange-listInterval/:listId", &controllers.SuMoneyController{}, "DELETE:RemoveExchangeCashPerson") // 删除素币兑换清单
  31 + beego.Router("/cash-pool/activity/exchange-listInterval/import", &controllers.SuMoneyController{}, "POST:ImportExchangeList") // 导入素币兑换清单
32 } 32 }