作者 陈志颖

fix:修复活动时间筛选问题

@@ -3,13 +3,12 @@ package command @@ -3,13 +3,12 @@ package command
3 import ( 3 import (
4 "fmt" 4 "fmt"
5 "github.com/astaxie/beego/validation" 5 "github.com/astaxie/beego/validation"
6 - "time"  
7 ) 6 )
8 7
9 type SearchExchangeCashActivityCommand struct { 8 type SearchExchangeCashActivityCommand struct {
10 ActivityNameMatch string `json:"activityNameMatch"` // 兑换现金活动名称 9 ActivityNameMatch string `json:"activityNameMatch"` // 兑换现金活动名称
11 CompanyId int64 `json:"companyId"` // 公司id 10 CompanyId int64 `json:"companyId"` // 公司id
12 - Deadline time.Time `json:"deadline,omitempty"` // 截止时间筛选 11 + Deadline string `json:"deadline,omitempty"` // 截止时间筛选
13 Offset int `json:"offset,omitempty"` // 查询偏移量 12 Offset int `json:"offset,omitempty"` // 查询偏移量
14 Limit int `json:"limit,omitempty"` // 查询限制条目 13 Limit int `json:"limit,omitempty"` // 查询限制条目
15 } 14 }
@@ -289,7 +289,7 @@ func (cashPoolService *CashPoolService) CreateExchangeCashActivity(createExchang @@ -289,7 +289,7 @@ func (cashPoolService *CashPoolService) CreateExchangeCashActivity(createExchang
289 // 时间格式化 289 // 时间格式化
290 var deadline = createExchangeCashActivityCommand.Deadline 290 var deadline = createExchangeCashActivityCommand.Deadline
291 var t1 = time.Now() 291 var t1 = time.Now()
292 - var t2 = time.Date(deadline.Year(), deadline.Month(), deadline.Day(), 23, 59, 59, 0, time.Now().Location()) 292 + var t2 = time.Date(deadline.Year(), deadline.Month(), deadline.Day(), 23, 59, 59, 0, time.UTC)
293 293
294 // 创建兑换活动命令 294 // 创建兑换活动命令
295 newActivity := &domain.ExchangeCashActivity{ 295 newActivity := &domain.ExchangeCashActivity{
@@ -393,6 +393,8 @@ func (cashPoolService *CashPoolService) SearchExchangeCashActivity(activityComma @@ -393,6 +393,8 @@ func (cashPoolService *CashPoolService) SearchExchangeCashActivity(activityComma
393 exchangeActivityRepository = value 393 exchangeActivityRepository = value
394 } 394 }
395 395
  396 + //fmt.Printf("查找活动命令:%+v\n", activityCommand)
  397 +
396 // 查找兑换现金活动 398 // 查找兑换现金活动
397 if count, activities, err := exchangeActivityRepository.Find(tool_funs.SimpleStructToMap(activityCommand)); err != nil { 399 if count, activities, err := exchangeActivityRepository.Find(tool_funs.SimpleStructToMap(activityCommand)); err != nil {
398 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) 400 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
@@ -81,16 +81,20 @@ func (repository *ExchangeCashActivityRepository) Find(queryOptions map[string]i @@ -81,16 +81,20 @@ func (repository *ExchangeCashActivityRepository) Find(queryOptions map[string]i
81 var exchangeCashActivityModels []*models.ExchangeCashActivity 81 var exchangeCashActivityModels []*models.ExchangeCashActivity
82 exchangeCashActivities := make([]*domain.ExchangeCashActivity, 0) 82 exchangeCashActivities := make([]*domain.ExchangeCashActivity, 0)
83 query := tx.Model(&exchangeCashActivityModels) 83 query := tx.Model(&exchangeCashActivityModels)
  84 + fmt.Printf("查询:%+v\n", queryOptions)
84 if companyId, ok := queryOptions["companyId"]; ok { 85 if companyId, ok := queryOptions["companyId"]; ok {
85 query = query.Where(`exchange_cash_activity.company_id = ?`, companyId) 86 query = query.Where(`exchange_cash_activity.company_id = ?`, companyId)
86 } 87 }
87 if activityNameMatch, ok := queryOptions["activityNameMatch"]; ok && (activityNameMatch != "") { 88 if activityNameMatch, ok := queryOptions["activityNameMatch"]; ok && (activityNameMatch != "") {
88 query = query.Where(`exchange_cash_activity.activity_name LIKE ?`, fmt.Sprintf("%%%s%%", activityNameMatch.(string))) 89 query = query.Where(`exchange_cash_activity.activity_name LIKE ?`, fmt.Sprintf("%%%s%%", activityNameMatch.(string)))
89 } 90 }
90 - if deadline, ok := queryOptions["deadline"]; ok && !deadline.(time.Time).IsZero() {  
91 - var t = deadline.(time.Time)  
92 - newDeadline := time.Date(t.Year(), t.Month(), t.Day(), 23, 59, 59, 0, time.Now().Location())  
93 - query = query.Where(`exchange_cash_activity.deadline >= ?`, newDeadline) 91 + if deadline, ok := queryOptions["deadline"]; ok && deadline != "" {
  92 + fmt.Print(deadline, "\n")
  93 + t, _ := time.ParseInLocation("2006-01-02", deadline.(string), time.UTC)
  94 + fmt.Print(t, "\n")
  95 + //newDeadline := time.Date(t.Year(), t.Month(), t.Day(), 23, 59, 59, 0, time.UTC)
  96 + //fmt.Print(newDeadline, "\n")
  97 + query = query.Where(`exchange_cash_activity.deadline >= ?`, t)
94 } 98 }
95 if offset, ok := queryOptions["offset"]; ok { 99 if offset, ok := queryOptions["offset"]; ok {
96 offset := offset.(int) 100 offset := offset.(int)
@@ -198,6 +198,7 @@ func (controller *SuMoneyController) SearchExchangeActivities () { @@ -198,6 +198,7 @@ func (controller *SuMoneyController) SearchExchangeActivities () {
198 cashPoolService := service.NewCashPoolService(nil) 198 cashPoolService := service.NewCashPoolService(nil)
199 searchExchangeCashActivityCommand := &command.SearchExchangeCashActivityCommand{} 199 searchExchangeCashActivityCommand := &command.SearchExchangeCashActivityCommand{}
200 json.Unmarshal(controller.Ctx.Input.GetData("requestBody").([]byte), searchExchangeCashActivityCommand) 200 json.Unmarshal(controller.Ctx.Input.GetData("requestBody").([]byte), searchExchangeCashActivityCommand)
  201 + fmt.Printf("命令:%+v\n", searchExchangeCashActivityCommand)
201 data, err := cashPoolService.SearchExchangeCashActivity(searchExchangeCashActivityCommand) 202 data, err := cashPoolService.SearchExchangeCashActivity(searchExchangeCashActivityCommand)
202 var response utils.JsonResponse 203 var response utils.JsonResponse
203 if err != nil { 204 if err != nil {