Skip to content
This repository was archived by the owner on Feb 11, 2020. It is now read-only.

Commit fa2f5ef

Browse files
committed
Fix update view
1 parent ba543d9 commit fa2f5ef

File tree

4 files changed

+39
-4
lines changed

4 files changed

+39
-4
lines changed

core/models/item_impression_entity_repository.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -44,14 +44,14 @@ func (r *ItemImpressionRepository) UpdateByID(ent *ItemImpression) error {
4444
return nil
4545
}
4646

47-
func (r *ItemImpressionRepository) UpdateCountByID(itemID uint64, view int) error {
47+
func (r *ItemImpressionRepository) UpdateCountByID(itemID uint64, view uint) error {
4848
if err := r.Orm.Model(&ItemImpression{}).Where("item_id = ?", itemID).Update("view", view).Error; err != nil {
4949
return err
5050
}
5151
return nil
5252
}
5353

54-
func (r *ItemImpressionRepository) UpdateStarByID(itemID uint64, star int) error {
54+
func (r *ItemImpressionRepository) UpdateStarByID(itemID uint64, star uint) error {
5555
if err := r.Orm.Model(&ItemImpression{}).Where("item_id = ?", itemID).Update("star", star).Error; err != nil {
5656
return err
5757
}

internal/controllers/api/api_controllers.go

+26
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,32 @@ func (c *APIMeController) LoginMe() {
7979
}
8080

8181
func (c *APIItemController) GetItem(id string) {
82+
//// Apply Request Parameters
83+
param := parameters.NewGetItemRequest()
84+
if ok := c.API().Preprocess(&param); !ok {
85+
return
86+
}
87+
88+
itemFacade := facades.NewItemFacade(c.GetContext())
89+
// Parse string id to uint64
90+
uint64ID := c.ParseUint64(id)
91+
if uint64ID <= 0 {
92+
return
93+
}
94+
95+
if err := itemFacade.UpdateItemImpressionView(uint64ID); err != nil {
96+
c.API().InternalServerError(map[string]interface{}{
97+
"status": "NG",
98+
"func": "UpdateItemImpressionCount::ItemFacade",
99+
"message": err,
100+
})
101+
return
102+
}
103+
104+
// Render result
105+
c.API().OK(map[string]interface{}{
106+
"status": "OK",
107+
})
82108
}
83109

84110
func (c *APIItemController) ConvertItems(items []models.Item) ([]responses.ItemResponse, error) {

internal/facades/item_facade.go

+9
Original file line numberDiff line numberDiff line change
@@ -129,3 +129,12 @@ func (f ItemFacade) FindItemTagIDsMap(itemIDs []uint64) (map[uint64][]uint64, er
129129
}
130130
return res, nil
131131
}
132+
133+
func (f ItemFacade) UpdateItemImpressionView(itemID uint64) error {
134+
itemImpressionService := services.NewItemImpressionService(f.ctx)
135+
itemImp, err := itemImpressionService.GetItemImpressionByID(itemID)
136+
if err != nil {
137+
return err
138+
}
139+
return itemImpressionService.UpdateItemImpressionViewByID(itemID, uint(itemImp.View+1))
140+
}

internal/services/item_impression_service.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ func (s ItemImpressionService) CreateItemImpression(itemID uint64, star uint) (*
3232
return itemImpRepository.Create(itemImp)
3333
}
3434

35-
func (s ItemImpressionService) UpdateItemImpressionCountByID(itemID uint64, count int) error {
35+
func (s ItemImpressionService) UpdateItemImpressionViewByID(itemID uint64, view uint) error {
3636
itemImpRepository := models.NewItemImpressionRepository(s.ctx)
37-
return itemImpRepository.UpdateCountByID(itemID, count)
37+
return itemImpRepository.UpdateCountByID(itemID, view)
3838
}

0 commit comments

Comments
 (0)