|
@@ -3,19 +3,32 @@ package com.chelvc.cloud.maintain.controller;
|
|
|
import javax.validation.Valid;
|
|
|
import javax.validation.constraints.Min;
|
|
|
|
|
|
+import com.chelvc.cloud.maintain.copier.FavoriteCopier;
|
|
|
+import com.chelvc.cloud.maintain.copier.MerchantCopier;
|
|
|
+import com.chelvc.cloud.maintain.copier.UserCouponCopier;
|
|
|
import com.chelvc.cloud.maintain.vo.FavoriteVO;
|
|
|
+import com.chelvc.cloud.maintain.vo.UserCouponVO;
|
|
|
import com.chelvc.cloud.vehicle.api.constant.FavoriteType;
|
|
|
+import com.chelvc.cloud.vehicle.api.dto.FavoriteDTO;
|
|
|
+import com.chelvc.cloud.vehicle.api.dto.UserCouponDTO;
|
|
|
import com.chelvc.cloud.vehicle.api.param.FavoritePagingParam;
|
|
|
+import com.chelvc.cloud.vehicle.api.param.FavoriteQueryParam;
|
|
|
+import com.chelvc.cloud.vehicle.api.param.UserCouponQueryParam;
|
|
|
import com.chelvc.cloud.vehicle.api.service.FavoriteService;
|
|
|
import com.chelvc.framework.base.annotation.ResponseWrapping;
|
|
|
import com.chelvc.framework.common.model.Pagination;
|
|
|
import org.apache.dubbo.config.annotation.DubboReference;
|
|
|
+import org.springframework.util.CollectionUtils;
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
|
import org.springframework.web.bind.annotation.DeleteMapping;
|
|
|
import org.springframework.web.bind.annotation.GetMapping;
|
|
|
import org.springframework.web.bind.annotation.PathVariable;
|
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
+import java.util.Collections;
|
|
|
+import java.util.List;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
/**
|
|
|
* 收藏接口
|
|
|
*
|
|
@@ -43,6 +56,32 @@ public class FavoriteController {
|
|
|
* 查询用户收藏列表
|
|
|
*
|
|
|
* @param param 查询参数
|
|
|
+ * @return 用户收藏信息列表
|
|
|
+ */
|
|
|
+ @GetMapping("/favorites")
|
|
|
+ public List<FavoriteVO> listUserFavorites(@Valid FavoriteQueryParam param) {
|
|
|
+ // 查询收藏的店铺
|
|
|
+ if (FavoriteType.MERCHANT.equals(param.getType())) {
|
|
|
+ List<FavoriteDTO> favoriteMerchants = this.favoriteService.listFavoriteMerchants(param);
|
|
|
+ if (CollectionUtils.isEmpty(favoriteMerchants)) {
|
|
|
+ return Collections.emptyList();
|
|
|
+ }
|
|
|
+ return favoriteMerchants
|
|
|
+ .stream()
|
|
|
+ .map(o -> {
|
|
|
+ FavoriteVO favoriteVO = FavoriteCopier.INSTANCE.copying(o);
|
|
|
+ favoriteVO.setSimpleMerchantVO(MerchantCopier.INSTANCE
|
|
|
+ .merchantDTOToSimpleMerchantVO(o.getMerchant()));
|
|
|
+ return favoriteVO;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ }
|
|
|
+ return Collections.emptyList();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询收藏列表
|
|
|
+ *
|
|
|
+ * @param param 查询参数
|
|
|
* @return 收藏分页信息
|
|
|
*/
|
|
|
@GetMapping("/favorite/paging")
|