diff --git a/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/ProdApi.java b/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/ProdApi.java new file mode 100644 index 0000000..5e8d79d --- /dev/null +++ b/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/ProdApi.java @@ -0,0 +1,51 @@ +package com.tashow.cloud.productapi.api.product; + +import com.tashow.cloud.common.pojo.PageResult; +import com.tashow.cloud.productapi.api.product.dto.CategoryDO; +import com.tashow.cloud.productapi.api.product.dto.ProdDO; +import com.tashow.cloud.productapi.api.product.dto.ShopDetailDO; +import com.tashow.cloud.productapi.api.product.vo.prod.ProdListVO; +import com.tashow.cloud.productapi.api.product.vo.prod.ProdPageReqVO; +import com.tashow.cloud.productapi.api.product.vo.prod.ProdServiceVO; +import com.tashow.cloud.productapi.enums.ApiConstants; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; + +import java.util.List; + +@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +/** RPC 服务 - 参数配置 */ +public interface ProdApi { + + String PREFIX = ApiConstants.PREFIX + "/prod"; + /** + * 获取商品详情 + * + * @param id 商品id + * @return 编号 + */ + + @GetMapping(PREFIX + "/getProdInfo") + ProdDO getProdInfo(@RequestParam(value = "id", required = false) Long id); + + /** + * 获取商品服务配置 + * + * @param id 商品id + * @return 编号 + */ + @GetMapping(PREFIX + "/getProdService") + ProdServiceVO getProdService(@RequestParam(value = "id", required = false) Long id); + + /** + * 获得商品分页 + * + * @param pageReqVO 分页查询 + * @return 商品分页 + */ + @GetMapping(PREFIX + "/getProdPage") + PageResult getProdPage(ProdPageReqVO pageReqVO); + + +} diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/api/ProdImpl.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/api/ProdImpl.java new file mode 100644 index 0000000..e4abebc --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/api/ProdImpl.java @@ -0,0 +1,40 @@ +package com.tashow.cloud.product.api; + +import com.tashow.cloud.common.pojo.PageResult; +import com.tashow.cloud.product.service.ProdService; +import com.tashow.cloud.product.service.ShopDetailService; +import com.tashow.cloud.productapi.api.product.ProdApi; +import com.tashow.cloud.productapi.api.product.ShopDetailApi; +import com.tashow.cloud.productapi.api.product.dto.ProdDO; +import com.tashow.cloud.productapi.api.product.dto.ShopDetailDO; +import com.tashow.cloud.productapi.api.product.vo.prod.ProdListVO; +import com.tashow.cloud.productapi.api.product.vo.prod.ProdPageReqVO; +import com.tashow.cloud.productapi.api.product.vo.prod.ProdServiceVO; +import jakarta.annotation.Resource; +import jakarta.validation.Valid; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RestController; + +@RestController // 提供 RESTful API 接口,给 Feign 调用 +@Validated +public class ProdImpl implements ProdApi { + + @Resource + private ProdService prodService; + + @Override + public ProdDO getProdInfo(Long id) { + return prodService.getProd(id); + } + + @Override + public ProdServiceVO getProdService(Long id) { + return prodService.getProdService(id); + } + + @Override + public PageResult getProdPage(ProdPageReqVO pageReqVO) { + return prodService.getProdPage(pageReqVO); + } + +} diff --git a/tashow-module/tashow-module-product/src/main/resources/mapper/product/ProdMapper.xml b/tashow-module/tashow-module-product/src/main/resources/mapper/product/ProdMapper.xml index 7aed837..9e271d2 100644 --- a/tashow-module/tashow-module-product/src/main/resources/mapper/product/ProdMapper.xml +++ b/tashow-module/tashow-module-product/src/main/resources/mapper/product/ProdMapper.xml @@ -551,6 +551,7 @@ + @@ -604,7 +605,7 @@ AND tp.create_time BETWEEN #{createTime[0]} AND #{createTime[1]} - + AND tp.prod_name = #{prodName}