Преглед на файлове

UserTag support copy from tag

guozhaoshun преди 6 години
родител
ревизия
af8fd89f3b

+ 30 - 0
rankin-cms-web/src/main/java/cn/rankin/cmsweb/controller/user/UserTagController.java

@@ -3,6 +3,7 @@ package cn.rankin.cmsweb.controller.user;
 import cn.rankin.cmsweb.assist.resolver.NeedUser;
 import cn.rankin.cmsweb.entity.UserDetails;
 import cn.rankin.cmsweb.service.product.MerchantProductService;
+import cn.rankin.cmsweb.service.product.TagService;
 import cn.rankin.cmsweb.service.user.UserTagProductRelationServiceInterface;
 import cn.rankin.cmsweb.service.user.UserTagServiceInterface;
 import cn.rankin.common.utils.api.model.APICode;
@@ -10,6 +11,7 @@ import cn.rankin.common.utils.api.model.APIResult;
 import cn.rankin.common.utils.api.page.Page;
 import cn.rankin.common.utils.util.BeanUtil;
 import cn.rankin.data.api.product.entity.MerchantProduct;
+import cn.rankin.data.api.product.vo.TagVo;
 import cn.rankin.data.api.user.dto.UserTagDTO;
 import cn.rankin.data.api.user.dto.UserTagSearchDTO;
 import cn.rankin.data.api.user.entity.UserTag;
@@ -29,6 +31,9 @@ import java.util.List;
 public class UserTagController {
 
     @Autowired
+    private TagService tagService;
+
+    @Autowired
     private UserTagServiceInterface userTagService;
 
     @Autowired
@@ -114,4 +119,29 @@ public class UserTagController {
             return APIResult.error(APICode.OPERATE_ERROR);
         }
     }
+
+    @RequestMapping(value = "/copy" , method = RequestMethod.GET)
+    public APIResult<UserTag> copyTag(@RequestParam("userTagId") String userTagId,@RequestParam("tagId") String tagId) {
+        TagVo tagVo = tagService.getTagInfo(tagId);
+        if(null == tagVo){
+            log.error("{copyTag} not found Tag by id, id={}", tagId);
+            return APIResult.error(APICode.NOT_EXISTS);
+        }
+        List<MerchantProduct> productList = tagVo.getProductList();
+        List<String> productIdList = new ArrayList<>();
+
+        productList.forEach(product -> productIdList.add(product.getPid()));
+
+        UserTagDTO dto =new UserTagDTO();
+        dto.setId(userTagId);
+        dto.setProductList(productIdList);
+
+        UserTag userTag = userTagService.update(dto);
+        if (userTag != null) {
+            log.error("{copyTag}  update UserTag is error, id={}", dto.getId());
+            return APIResult.ok(userTag);
+        }else{
+            return APIResult.error(APICode.NOT_EXISTS);
+        }
+    }
 }

+ 3 - 0
rankin-cms-web/src/main/java/cn/rankin/cmsweb/service/product/TagService.java

@@ -26,4 +26,7 @@ public interface TagService {
 
     @RequestMapping(value = "/tag/{id}", method = RequestMethod.GET)
     APIResult<TagVo> getTag(@PathVariable("id") String id);
+
+    @RequestMapping(value = "/v2/tag/{id}", method = RequestMethod.GET)
+    TagVo getTagInfo(@PathVariable("id") String id);
 }

+ 5 - 6
rankin-product-service/src/main/java/cn/rankin/productservice/controller/app/ItemControllerV0.java

@@ -10,6 +10,11 @@ import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
 
+/**
+ * 已弃用,
+ *
+ * 以 cn.rankin.productservice.controller.ItemController 替代
+ */
 @RestController
 @RequestMapping(value = "/v0/app/item")
 public class ItemControllerV0 {
@@ -33,10 +38,4 @@ public class ItemControllerV0 {
         return itemService.findPageByTagIdAndPids(merchantId, tagId, productIdList, pageNo, pageSize);
     }
 
-    @RequestMapping(value = "/pids", method = RequestMethod.POST)
-    public List<ItemVo> findItemByPids(@RequestBody List<String> productIdList, @RequestParam("merchantId") String merchantId) {
-        List<ItemVo> itemVoList = itemService.findByIds(merchantId,productIdList);
-        return itemVoList;
-    }
-
 }

+ 5 - 0
rankin-product-service/src/main/java/cn/rankin/productservice/controller/cms/TagController.java

@@ -57,4 +57,9 @@ public class TagController {
         return tagService.delete(tagId);
     }
 
+    @RequestMapping(value = "/v2/{tagId}", method = RequestMethod.GET)
+    public Tag getTagInfo(@PathVariable("tagId") String tagId) {
+        return tagService.getTagInfo(tagId);
+    }
+
 }

+ 9 - 0
rankin-product-service/src/main/java/cn/rankin/productservice/service/TagService.java

@@ -217,4 +217,13 @@ public class TagService {
             tag.setSort(index);
         }
     }
+
+    public Tag getTagInfo(String tagId) {
+        Tag tag = tagRepository.find(tagId);
+        String merchantId = tag.getMerchantId();
+
+        List<MerchantProduct> merchantProductList = getMerchantProductList(tagId, merchantId);
+        tag.setProductList(merchantProductList);
+        return tag;
+    }
 }