Explorar el Código

feat:远程调用、商品评论

zhangwei hace 1 semana
padre
commit
2350abaa95
Se han modificado 79 ficheros con 523 adiciones y 195 borrados
  1. 11 0
      .idea/ApifoxUploaderProjectSetting.xml
  2. 41 0
      edu-travel-adapter/edu-travel-adapter-tenant/pom.xml
  3. 27 0
      edu-travel-adapter/edu-travel-adapter-tenant/src/main/java/edu/travel/adapter/service/tenant/TenantAdapter.java
  4. 1 0
      edu-travel-adapter/pom.xml
  5. 7 6
      edu-travel-common/edu-travel-common-elastic/src/main/java/edu/travel/elastic/EsClient.java
  6. 5 0
      edu-travel-remote/edu-travel-remote-commodity/pom.xml
  7. 1 1
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/dto/AddShopCartDto.java
  8. 1 1
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/dto/BaseDto.java
  9. 1 1
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/dto/GetProductByTypeDto.java
  10. 1 1
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/dto/ProductSpecDto.java
  11. 1 1
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/dto/SearchProductDto.java
  12. 9 0
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/dto/SearchRecordListDto.java
  13. 2 2
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/dto/ShopTypeDto.java
  14. 1 1
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/dto/UpdateAddressDto.java
  15. 1 1
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/vo/ProductImageVo.java
  16. 1 1
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/vo/ProductSkuVo.java
  17. 1 1
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/vo/ProductSpecVo.java
  18. 1 1
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/vo/SearchRecordsVo.java
  19. 1 1
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/vo/ShopAddressVo.java
  20. 5 5
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/vo/ShopCartListVo.java
  21. 1 1
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/vo/ShopFavoriteVo.java
  22. 1 1
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/vo/ShopParametersVo.java
  23. 1 1
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/vo/ShopProductVo.java
  24. 69 0
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/vo/ShopReviewVo.java
  25. 1 1
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/vo/ShopSkuSpecValueVo.java
  26. 1 1
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/vo/ShopTypeVo.java
  27. 26 0
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/vo/SpecOneVo.java
  28. 1 1
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/vo/SpecSortVo.java
  29. 1 1
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/vo/SpecValueSortVo.java
  30. 11 7
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/vo/SpecValueVo.java
  31. 5 0
      edu-travel-remote/edu-travel-remote-country/pom.xml
  32. 1 1
      edu-travel-remote/edu-travel-remote-tenant/src/main/java/edu/travel/remote/feign/mode/vo/banner/BannerVo.java
  33. 1 1
      edu-travel-remote/edu-travel-remote-tenant/src/main/java/edu/travel/tenant/SysMenuRemoteController.java
  34. 1 1
      edu-travel-remote/edu-travel-remote-tenant/src/main/java/edu/travel/tenant/SysRoleRemoteController.java
  35. 10 3
      edu-travel-remote/edu-travel-remote-tenant/src/main/java/edu/travel/tenant/TenantRemoteController.java
  36. 15 0
      edu-travel-service/edu-travel-service-commodity/pom.xml
  37. 2 0
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/CommodityApplication.java
  38. 0 9
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/dto/SearchRecordListDto.java
  39. 17 0
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/entity/ShopReview.java
  40. 1 1
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/entity/ShopShoppingCart.java
  41. 2 2
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/mapper/ShopProductSpecMapper.java
  42. 3 3
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/ShopAddressService.java
  43. 3 3
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/ShopCategoryService.java
  44. 2 3
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/ShopFavoriteService.java
  45. 2 2
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/ShopParametersService.java
  46. 6 4
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/ShopProductService.java
  47. 1 1
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/ShopProductSkuService.java
  48. 7 2
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/ShopProductSpecService.java
  49. 6 0
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/ShopReviewService.java
  50. 2 2
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/ShopSearchRecordsService.java
  51. 3 3
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/ShopShoppingCartService.java
  52. 0 27
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/impl/BaseCountryServeServiceImpl.java
  53. 3 3
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/impl/ShopAddressServiceImpl.java
  54. 3 3
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/impl/ShopCategoryServiceImpl.java
  55. 2 4
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/impl/ShopFavoriteServiceImpl.java
  56. 2 2
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/impl/ShopParametersServiceImpl.java
  57. 8 5
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/impl/ShopProductServiceImpl.java
  58. 2 2
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/impl/ShopProductSkuServiceImpl.java
  59. 3 4
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/impl/ShopProductSpecServiceImpl.java
  60. 56 0
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/impl/ShopReviewServiceImpl.java
  61. 2 2
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/impl/ShopSearchRecordsServiceImpl.java
  62. 38 29
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/impl/ShopShoppingCartServiceImpl.java
  63. 20 0
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/utils/StringToListUtil.java
  64. 3 3
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopAddressController.java
  65. 3 3
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopCategoryController.java
  66. 3 4
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopFavoriteController.java
  67. 2 2
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopParametersController.java
  68. 5 4
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopProductController.java
  69. 2 3
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopProductSpecController.java
  70. 18 1
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopReviewController.java
  71. 2 2
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopSearchRecordsController.java
  72. 3 3
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopShoppingCartController.java
  73. 1 1
      edu-travel-service/edu-travel-service-commodity/src/main/resources/mapper/ShopProductSpecMapper.xml
  74. 3 1
      edu-travel-service/edu-travel-service-commodity/src/main/resources/mapper/ShopReviewMapper.xml
  75. 2 1
      edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/TenantApplication.java
  76. 1 1
      edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/service/ShopBannerService.java
  77. 1 1
      edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/service/impl/ShopBannerServiceImpl.java
  78. 1 1
      edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/web/ShopBannerController.java
  79. 12 4
      edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/web/TenantController.java

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 11 - 0
.idea/ApifoxUploaderProjectSetting.xml


+ 41 - 0
edu-travel-adapter/edu-travel-adapter-tenant/pom.xml

@@ -0,0 +1,41 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>edu.travel</groupId>
+        <artifactId>edu-travel-adapter</artifactId>
+        <version>1.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>edu-travel-adapter-tenant</artifactId>
+    <packaging>jar</packaging>
+
+    <name>edu-travel-adapter-tenant</name>
+    <url>http://maven.apache.org</url>
+
+    <properties>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-web</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-aop</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>edu.travel</groupId>
+            <artifactId>edu-travel-remote-tenant</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>edu.travel</groupId>
+            <artifactId>edu-travel-common-adapter</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
+    </dependencies>
+</project>

+ 27 - 0
edu-travel-adapter/edu-travel-adapter-tenant/src/main/java/edu/travel/adapter/service/tenant/TenantAdapter.java

@@ -0,0 +1,27 @@
+package edu.travel.adapter.service.tenant;
+
+import edu.travel.adapter.annotation.AdapterAnnotation;
+import edu.travel.remote.feign.mode.vo.tenant.EduTenantVo;
+import edu.travel.rpc.RPCBaseResponse;
+import edu.travel.tenant.TenantRemoteController;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Set;
+
+@Component
+public class TenantAdapter {
+    @Resource
+    private TenantRemoteController tenantRemoteController;
+
+    @AdapterAnnotation
+    public RPCBaseResponse<EduTenantVo> getTenantById(Long id) {
+        return tenantRemoteController.getTenantById(id);
+    }
+
+    @AdapterAnnotation
+    public RPCBaseResponse<List<EduTenantVo>> getTenantByIds(Set<String> id) {
+        return tenantRemoteController.getTenantByIds(id);
+    }
+}

+ 1 - 0
edu-travel-adapter/pom.xml

@@ -14,6 +14,7 @@
     <url>http://maven.apache.org</url>
     <modules>
         <module>edu-travel-adapter-upload</module>
+        <module>edu-travel-adapter-tenant</module>
     </modules>
 
     <properties>

+ 7 - 6
edu-travel-common/edu-travel-common-elastic/src/main/java/edu/travel/elastic/EsClient.java

@@ -49,12 +49,13 @@ public class EsClient {
     private HttpHost[] getEsHost() {
         // 拆分地址(es为多节点时,不同host以逗号间隔)
         List<HttpHost> hostLists = new ArrayList<>();
-        String[] hostList = elasticsearchConfig.getHosts().split(",");
-        for (String addr : hostList) {
-            String host = addr.split(":")[0];
-            String port = addr.split(":")[1];
-            hostLists.add(new HttpHost(host, Integer.parseInt(port), elasticsearchConfig.getScheme()));
-        }
+//        String[] hostList = elasticsearchConfig.getHosts().split(",");
+//        for (String addr : hostList) {
+//            String host = addr.split(":")[0];
+//            String port = addr.split(":")[1];
+//            hostLists.add(new HttpHost(host, Integer.parseInt(port), elasticsearchConfig.getScheme()));
+//        }
+        hostLists.add(new HttpHost("192.168.1.73", 9200, elasticsearchConfig.getScheme()));
         // 转换成 HttpHost 数组
         return hostLists.toArray(new HttpHost[]{});
     }

+ 5 - 0
edu-travel-remote/edu-travel-remote-commodity/pom.xml

@@ -61,5 +61,10 @@
             <artifactId>edu-travel-remote-base</artifactId>
             <version>1.0-SNAPSHOT</version>
         </dependency>
+        <dependency>
+            <groupId>edu.travel</groupId>
+            <artifactId>edu-travel-remote-tenant</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
     </dependencies>
 </project>

+ 1 - 1
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/dto/AddShopCartDto.java → edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/dto/AddShopCartDto.java

@@ -1,4 +1,4 @@
-package edu.travel.commodity.dto;
+package edu.travel.dto;
 
 import lombok.Data;
 

+ 1 - 1
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/dto/BaseDto.java → edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/dto/BaseDto.java

@@ -1,4 +1,4 @@
-package edu.travel.commodity.dto;
+package edu.travel.dto;
 
 import edu.travel.po.PagePO;
 import lombok.Data;

+ 1 - 1
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/dto/GetProductByTypeDto.java → edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/dto/GetProductByTypeDto.java

@@ -1,4 +1,4 @@
-package edu.travel.commodity.dto;
+package edu.travel.dto;
 
 import lombok.Data;
 

+ 1 - 1
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/dto/ProductSpecDto.java → edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/dto/ProductSpecDto.java

@@ -1,4 +1,4 @@
-package edu.travel.commodity.dto;
+package edu.travel.dto;
 
 import lombok.Data;
 

+ 1 - 1
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/dto/SearchProductDto.java → edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/dto/SearchProductDto.java

@@ -1,4 +1,4 @@
-package edu.travel.commodity.dto;
+package edu.travel.dto;
 
 import lombok.Data;
 

+ 9 - 0
edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/dto/SearchRecordListDto.java

@@ -0,0 +1,9 @@
+package edu.travel.dto;
+
+import lombok.Data;
+
+@Data
+public class SearchRecordListDto extends BaseDto {
+    /**模块*/
+    private String searchType;
+}

+ 2 - 2
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/dto/ShopTypeDto.java → edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/dto/ShopTypeDto.java

@@ -1,9 +1,9 @@
-package edu.travel.commodity.dto;
+package edu.travel.dto;
 
 import lombok.Data;
 
 @Data
-public class ShopTypeDto extends BaseDto{
+public class ShopTypeDto extends BaseDto {
     /**是否是热门类别 0 是 1 否*/
     private String isHeat;
 }

+ 1 - 1
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/dto/UpdateAddressDto.java → edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/dto/UpdateAddressDto.java

@@ -1,4 +1,4 @@
-package edu.travel.commodity.dto;
+package edu.travel.dto;
 
 import lombok.Data;
 

+ 1 - 1
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/vo/ProductImageVo.java → edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/vo/ProductImageVo.java

@@ -1,4 +1,4 @@
-package edu.travel.commodity.vo;
+package edu.travel.vo;
 
 import lombok.Data;
 

+ 1 - 1
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/vo/ProductSkuVo.java → edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/vo/ProductSkuVo.java

@@ -1,4 +1,4 @@
-package edu.travel.commodity.vo;
+package edu.travel.vo;
 
 import lombok.Data;
 

+ 1 - 1
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/vo/ProductSpecVo.java → edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/vo/ProductSpecVo.java

@@ -1,4 +1,4 @@
-package edu.travel.commodity.vo;
+package edu.travel.vo;
 
 
 

+ 1 - 1
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/vo/SearchRecordsVo.java → edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/vo/SearchRecordsVo.java

@@ -1,4 +1,4 @@
-package edu.travel.commodity.vo;
+package edu.travel.vo;
 
 import lombok.Data;
 

+ 1 - 1
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/vo/ShopAddressVo.java → edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/vo/ShopAddressVo.java

@@ -1,4 +1,4 @@
-package edu.travel.commodity.vo;
+package edu.travel.vo;
 
 import lombok.Data;
 

+ 5 - 5
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/vo/ShopCartListVo.java → edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/vo/ShopCartListVo.java

@@ -1,4 +1,4 @@
-package edu.travel.commodity.vo;
+package edu.travel.vo;
 
 import lombok.Data;
 
@@ -46,18 +46,18 @@ public class ShopCartListVo {
     private String skuImage;
 
     /**
-     * 
+     * 
      */
-    private Integer salesVolume;
+    private Integer quantity;
     /**
      * 价格
      */
     private BigDecimal price;
 
     /**
-     * 数量
+     * 库存
      */
-    private Integer quantity;
+    private Integer inventory;
 
     /**
      * 规格值

+ 1 - 1
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/vo/ShopFavoriteVo.java → edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/vo/ShopFavoriteVo.java

@@ -1,4 +1,4 @@
-package edu.travel.commodity.vo;
+package edu.travel.vo;
 
 import lombok.Data;
 

+ 1 - 1
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/vo/ShopParametersVo.java → edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/vo/ShopParametersVo.java

@@ -1,4 +1,4 @@
-package edu.travel.commodity.vo;
+package edu.travel.vo;
 
 import lombok.Data;
 

+ 1 - 1
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/vo/ShopProductVo.java → edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/vo/ShopProductVo.java

@@ -1,4 +1,4 @@
-package edu.travel.commodity.vo;
+package edu.travel.vo;
 
 
 import lombok.Data;

+ 69 - 0
edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/vo/ShopReviewVo.java

@@ -0,0 +1,69 @@
+package edu.travel.vo;
+
+import edu.travel.remote.feign.mode.vo.tenant.EduTenantVo;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class ShopReviewVo {
+    /**
+     * 商品评论表ID
+     */
+    private String id;
+
+    /**
+     * 父级ID、0为一级评论
+     */
+    private String parentId;
+
+    /**
+     * 用户ID
+     */
+    private String userId;
+    /**
+     * 用户详情
+     */
+    private EduTenantVo eduTenantVo;
+    /**
+     * 商品ID
+     */
+    private String productId;
+    /**
+     * 订单号
+     */
+    private String orderId;
+    /**
+     * SKU
+     */
+    private String skuId;
+
+    private String skuDetails;
+    /**
+     * sku详情
+     */
+    private SpecOneVo specOneVo;
+
+    /**
+     * 评级
+     */
+    private Integer rating;
+
+    /**
+     * 评论内容
+     */
+    private String content;
+
+    /**
+     * 评论图片
+     */
+    private String image;
+    /**
+     * 图片集合
+     */
+    private List<String> imageUrls;
+    /**
+     * 是否置顶
+     */
+    private String isTop;
+}

+ 1 - 1
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/vo/ShopSkuSpecValueVo.java → edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/vo/ShopSkuSpecValueVo.java

@@ -1,4 +1,4 @@
-package edu.travel.commodity.vo;
+package edu.travel.vo;
 
 import lombok.Data;
 

+ 1 - 1
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/vo/ShopTypeVo.java → edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/vo/ShopTypeVo.java

@@ -1,4 +1,4 @@
-package edu.travel.commodity.vo;
+package edu.travel.vo;
 
 import lombok.Data;
 

+ 26 - 0
edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/vo/SpecOneVo.java

@@ -0,0 +1,26 @@
+package edu.travel.vo;
+
+import lombok.Data;
+
+/**
+ * 类功能描述:
+ *  评论sku规格详情
+ * @author 大春
+ * @date 2025/03/04
+ */
+
+@Data
+public class SpecOneVo {
+    /**
+     *
+     */
+    private String id;
+
+    private String specName;
+
+    private Integer sortOrder;
+
+    private String specValue;
+
+    private String specValueId;
+}

+ 1 - 1
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/vo/SpecSortVo.java → edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/vo/SpecSortVo.java

@@ -1,4 +1,4 @@
-package edu.travel.commodity.vo;
+package edu.travel.vo;
 
 import lombok.Data;
 

+ 1 - 1
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/vo/SpecValueSortVo.java → edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/vo/SpecValueSortVo.java

@@ -1,4 +1,4 @@
-package edu.travel.commodity.vo;
+package edu.travel.vo;
 
 import lombok.Data;
 

+ 11 - 7
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/vo/SpecValueVo.java → edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/vo/SpecValueVo.java

@@ -1,4 +1,4 @@
-package edu.travel.commodity.vo;
+package edu.travel.vo;
 
 import lombok.Data;
 
@@ -11,12 +11,16 @@ import lombok.Data;
 
 @Data
 public class SpecValueVo {
-    /**规格ID*/
-    private String specId;
+    /**
+     * 规格值id
+     */
+    private String specValueId;
     /**规格值*/
+    private String specValue;
+    /**
+     * 规格值id
+     */
+    private String specId;
+    /**规格名称*/
     private String specName;
-    /**值ID*/
-    private String valueId;
-    /**值*/
-    private String value;
 }

+ 5 - 0
edu-travel-remote/edu-travel-remote-country/pom.xml

@@ -61,5 +61,10 @@
             <artifactId>edu-travel-remote-base</artifactId>
             <version>1.0-SNAPSHOT</version>
         </dependency>
+        <dependency>
+            <groupId>edu.travel</groupId>
+            <artifactId>edu-travel-common-datasource</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
     </dependencies>
 </project>

+ 1 - 1
edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/vo/BannerVo.java → edu-travel-remote/edu-travel-remote-tenant/src/main/java/edu/travel/remote/feign/mode/vo/banner/BannerVo.java

@@ -1,4 +1,4 @@
-package edu.travel.tenant.vo;
+package edu.travel.remote.feign.mode.vo.banner;
 
 import lombok.Data;
 

+ 1 - 1
edu-travel-remote/edu-travel-remote-tenant/src/main/java/edu/travel/tenant/SysMenuRemoteController.java

@@ -13,7 +13,7 @@ import org.springframework.web.bind.annotation.RequestParam;
 
 import java.util.List;
 
-@FeignClient(name = "tenant",path = "/sysMenu")
+@FeignClient(name = "tenant-dev",path = "/sysMenu")
 public interface SysMenuRemoteController {
 
     /**

+ 1 - 1
edu-travel-remote/edu-travel-remote-tenant/src/main/java/edu/travel/tenant/SysRoleRemoteController.java

@@ -13,7 +13,7 @@ import org.springframework.web.bind.annotation.RequestParam;
 
 import java.util.List;
 
-@FeignClient(name = "tenant",path = "/sysRole")
+@FeignClient(name = "tenant-dev",path = "/sysRole")
 public interface SysRoleRemoteController {
     /**
      * 新增管理角色并分配菜单

+ 10 - 3
edu-travel-remote/edu-travel-remote-tenant/src/main/java/edu/travel/tenant/TenantRemoteController.java

@@ -7,13 +7,15 @@ import edu.travel.remote.feign.mode.vo.tenant.AdminInfoRoleMenuVo;
 import edu.travel.remote.feign.mode.vo.tenant.EduTenantVo;
 import edu.travel.remote.feign.mode.vo.tenant.SysRoleVo;
 import edu.travel.resp.BaseResponse;
+import edu.travel.rpc.RPCBaseResponse;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import java.util.List;
+import java.util.Set;
 
-@FeignClient(value = "/tenant",path = "/user")
+@FeignClient(name = "tenant-dev",path = "/user")
 public interface TenantRemoteController {
 
     @GetMapping("/getTenantByPhoneNumber")
@@ -51,8 +53,13 @@ public interface TenantRemoteController {
      */
     @GetMapping("/getTenantById")
 //    @PreAuthorize("hasRole('超级管理员')")
-    public BaseResponse<EduTenantVo> getTenantById(Long id);
-
+    public RPCBaseResponse<EduTenantVo> getTenantById(Long id);
+    /**
+     * 通过id查询商城用户信息
+     */
+    @PostMapping("/getTenantByIds")
+//    @PreAuthorize("hasRole('超级管理员')")
+    public RPCBaseResponse<List<EduTenantVo>> getTenantByIds(@RequestBody Set<String> id);
 
     /**
      * 查询登录用户信息

+ 15 - 0
edu-travel-service/edu-travel-service-commodity/pom.xml

@@ -115,6 +115,21 @@
         </dependency>
         <dependency>
             <groupId>edu.travel</groupId>
+            <artifactId>edu-travel-common-guava</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>edu.travel</groupId>
+            <artifactId>edu-travel-adapter-tenant</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>edu.travel</groupId>
+            <artifactId>edu-travel-remote-commodity</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>edu.travel</groupId>
             <artifactId>edu-travel-common-datasource</artifactId>
             <version>1.0-SNAPSHOT</version>
         </dependency>

+ 2 - 0
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/CommodityApplication.java

@@ -5,11 +5,13 @@ import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
+import org.springframework.cloud.openfeign.EnableFeignClients;
 
 @SpringBootApplication
 @EnableDiscoveryClient
 @MapperScan("edu.travel.commodity.mapper")
 @EnableRedisCache
+@EnableFeignClients
 public class CommodityApplication {
     public static void main(String[] args) {
         SpringApplication.run(CommodityApplication.class, args);

+ 0 - 9
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/dto/SearchRecordListDto.java

@@ -1,9 +0,0 @@
-package edu.travel.commodity.dto;
-
-import lombok.Data;
-
-@Data
-public class SearchRecordListDto extends BaseDto{
-    /**模块*/
-    private String searchType;
-}

+ 17 - 0
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/entity/ShopReview.java

@@ -65,5 +65,22 @@ public class ShopReview extends BaseEntity {
     @TableField(value = "content")
     private String content;
 
+    /**
+     * 评论图片
+     */
+    @TableField(value = "image")
+    private String image;
+
+    /**
+     * 是否置顶
+     */
+    @TableField(value = "is_top")
+    private String isTop;
+
+    /**
+     * sku详情
+     */
+    @TableField(value = "sku_details")
+    private String skuDetails;
 
 }

+ 1 - 1
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/entity/ShopShoppingCart.java

@@ -44,7 +44,7 @@ public class ShopShoppingCart extends BaseEntity {
     private Integer quantity;
 
     /**
-     * 产品sku_ID
+     * 产品
      */
     @TableField(value = "product_id")
     private Long productId;

+ 2 - 2
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/mapper/ShopProductSpecMapper.java

@@ -2,12 +2,12 @@ package edu.travel.commodity.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import edu.travel.commodity.entity.ShopProductSpec;
-import edu.travel.commodity.vo.ShopSkuSpecValueVo;
+import edu.travel.vo.ShopSkuSpecValueVo;
 
 import java.util.List;
 import java.util.Set;
 
 public interface ShopProductSpecMapper extends BaseMapper<ShopProductSpec> {
 
-    List<ShopSkuSpecValueVo> getSkuValue(Set<String> skus,String project);
+    List<ShopSkuSpecValueVo> getSkuValue(Set<String> skus, String project);
 }

+ 3 - 3
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/ShopAddressService.java

@@ -1,11 +1,11 @@
 package edu.travel.commodity.service;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import edu.travel.commodity.dto.BaseDto;
-import edu.travel.commodity.dto.UpdateAddressDto;
 import edu.travel.commodity.entity.ShopAddress;
 import com.baomidou.mybatisplus.extension.service.IService;
-import edu.travel.commodity.vo.ShopAddressVo;
+import edu.travel.dto.BaseDto;
+import edu.travel.dto.UpdateAddressDto;
+import edu.travel.vo.ShopAddressVo;
 
 public interface ShopAddressService extends IService<ShopAddress>{
 

+ 3 - 3
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/ShopCategoryService.java

@@ -1,10 +1,10 @@
 package edu.travel.commodity.service;
 
-import edu.travel.commodity.dto.BaseDto;
-import edu.travel.commodity.dto.ShopTypeDto;
 import edu.travel.commodity.entity.ShopCategory;
 import com.baomidou.mybatisplus.extension.service.IService;
-import edu.travel.commodity.vo.ShopTypeVo;
+import edu.travel.dto.BaseDto;
+import edu.travel.dto.ShopTypeDto;
+import edu.travel.vo.ShopTypeVo;
 
 import java.util.List;
 import java.util.concurrent.ExecutionException;

+ 2 - 3
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/ShopFavoriteService.java

@@ -1,11 +1,10 @@
 package edu.travel.commodity.service;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import edu.travel.commodity.dto.BaseDto;
 import edu.travel.commodity.entity.ShopFavorite;
 import com.baomidou.mybatisplus.extension.service.IService;
-import edu.travel.commodity.vo.ShopFavoriteVo;
-import edu.travel.commodity.vo.ShopProductVo;
+import edu.travel.dto.BaseDto;
+import edu.travel.vo.ShopFavoriteVo;
 
 public interface ShopFavoriteService extends IService<ShopFavorite>{
 

+ 2 - 2
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/ShopParametersService.java

@@ -1,10 +1,10 @@
 package edu.travel.commodity.service;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import edu.travel.commodity.dto.ProductSpecDto;
 import edu.travel.commodity.entity.ShopParameters;
 import com.baomidou.mybatisplus.extension.service.IService;
-import edu.travel.commodity.vo.ShopParametersVo;
+import edu.travel.dto.ProductSpecDto;
+import edu.travel.vo.ShopParametersVo;
 
 public interface ShopParametersService extends IService<ShopParameters>{
 

+ 6 - 4
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/ShopProductService.java

@@ -1,16 +1,18 @@
 package edu.travel.commodity.service;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import edu.travel.commodity.dto.GetProductByTypeDto;
-import edu.travel.commodity.dto.SearchProductDto;
 import edu.travel.commodity.entity.ShopProduct;
 import com.baomidou.mybatisplus.extension.service.IService;
-import edu.travel.commodity.vo.ShopProductVo;
+import edu.travel.dto.GetProductByTypeDto;
+import edu.travel.dto.SearchProductDto;
+import edu.travel.vo.ShopProductVo;
+
+import java.io.IOException;
 
 
 public interface ShopProductService extends IService<ShopProduct>{
 
     Page<ShopProductVo> getHotProduct(GetProductByTypeDto param);
 
-    Page<ShopProductVo> searchProduct(SearchProductDto param);
+    Page<ShopProductVo> searchProduct(SearchProductDto param) throws IOException;
 }

+ 1 - 1
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/ShopProductSkuService.java

@@ -2,7 +2,7 @@ package edu.travel.commodity.service;
 
 import edu.travel.commodity.entity.ShopProductSku;
 import com.baomidou.mybatisplus.extension.service.IService;
-import edu.travel.commodity.vo.ShopSkuSpecValueVo;
+import edu.travel.vo.ShopSkuSpecValueVo;
 
 import java.util.List;
 import java.util.Map;

+ 7 - 2
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/ShopProductSpecService.java

@@ -1,12 +1,17 @@
 package edu.travel.commodity.service;
 
-import edu.travel.commodity.dto.ProductSpecDto;
 import edu.travel.commodity.entity.ShopProductSpec;
 import com.baomidou.mybatisplus.extension.service.IService;
-import edu.travel.commodity.vo.ProductSpecVo;
+import edu.travel.dto.ProductSpecDto;
+import edu.travel.vo.ProductSpecVo;
+import edu.travel.vo.SpecSortVo;
+
+import java.util.List;
 
 public interface ShopProductSpecService extends IService<ShopProductSpec>{
 
 
     ProductSpecVo getShopSpec(ProductSpecDto param);
+
+    List<SpecSortVo> getSpecSortVoList(String productId);
 }

+ 6 - 0
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/ShopReviewService.java

@@ -1,8 +1,14 @@
 package edu.travel.commodity.service;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import edu.travel.commodity.entity.ShopReview;
 import com.baomidou.mybatisplus.extension.service.IService;
+import edu.travel.dto.ProductSpecDto;
+import edu.travel.vo.ShopReviewVo;
+
 public interface ShopReviewService extends IService<ShopReview>{
 
 
+    Page<ShopReviewVo> getShopReview(ProductSpecDto params);
+
 }

+ 2 - 2
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/ShopSearchRecordsService.java

@@ -1,10 +1,10 @@
 package edu.travel.commodity.service;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import edu.travel.commodity.dto.SearchRecordListDto;
 import edu.travel.commodity.entity.ShopSearchRecords;
 import com.baomidou.mybatisplus.extension.service.IService;
-import edu.travel.commodity.vo.SearchRecordsVo;
+import edu.travel.dto.SearchRecordListDto;
+import edu.travel.vo.SearchRecordsVo;
 
 public interface ShopSearchRecordsService extends IService<ShopSearchRecords>{
 

+ 3 - 3
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/ShopShoppingCartService.java

@@ -1,11 +1,11 @@
 package edu.travel.commodity.service;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import edu.travel.commodity.dto.AddShopCartDto;
-import edu.travel.commodity.dto.BaseDto;
 import edu.travel.commodity.entity.ShopShoppingCart;
 import com.baomidou.mybatisplus.extension.service.IService;
-import edu.travel.commodity.vo.ShopCartListVo;
+import edu.travel.dto.AddShopCartDto;
+import edu.travel.dto.BaseDto;
+import edu.travel.vo.ShopCartListVo;
 
 public interface ShopShoppingCartService extends IService<ShopShoppingCart>{
 

+ 0 - 27
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/impl/BaseCountryServeServiceImpl.java

@@ -1,27 +0,0 @@
-package edu.travel.commodity.service.impl;
-
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import edu.travel.commodity.entity.BaseCountryServe;
-import edu.travel.commodity.mapper.BaseCountryServeMapper;
-import edu.travel.commodity.service.BaseCountryServeService;
-import edu.travel.dto.BaseCountryServeDto;
-import edu.travel.rpc.RPCBaseResponse;
-import edu.travel.service.SysServiceImpl;
-import edu.travel.vo.BaseCountryServeVo;
-import org.springframework.beans.BeanUtils;
-import org.springframework.stereotype.Service;
-
-@Service
-public class BaseCountryServeServiceImpl extends SysServiceImpl<BaseCountryServeMapper, BaseCountryServe> implements BaseCountryServeService {
-    @Override
-    public RPCBaseResponse<IPage<BaseCountryServeVo>> getCountryServePage(BaseCountryServeDto dto) {
-        Page<BaseCountryServe> baseCountryServePage = new Page<>(dto.getCurrentPage(), dto.getPageSize());
-        IPage<BaseCountryServe> pageLink = super.getPageLink(new LambdaQueryWrapper<BaseCountryServe>(), baseCountryServePage);
-        IPage<BaseCountryServeVo> result = new Page<>();
-        BeanUtils.copyProperties(pageLink, result);
-        RPCBaseResponse<IPage<BaseCountryServeVo>> pageRPCPageResponse = new RPCBaseResponse<>(200,"SUCCESS",result);
-        return pageRPCPageResponse;
-    }
-}

+ 3 - 3
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/impl/ShopAddressServiceImpl.java

@@ -6,14 +6,14 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import edu.travel.commodity.dto.BaseDto;
-import edu.travel.commodity.dto.UpdateAddressDto;
 import edu.travel.commodity.entity.ShopAddress;
 import edu.travel.commodity.mapper.ShopAddressMapper;
 import edu.travel.commodity.service.ShopAddressService;
 import edu.travel.commodity.utils.PageUtil;
 import edu.travel.commodity.utils.TokenData;
-import edu.travel.commodity.vo.ShopAddressVo;
+import edu.travel.dto.BaseDto;
+import edu.travel.dto.UpdateAddressDto;
+import edu.travel.vo.ShopAddressVo;
 import org.springframework.stereotype.Service;
 
 

+ 3 - 3
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/impl/ShopCategoryServiceImpl.java

@@ -10,13 +10,13 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import edu.travel.commodity.constant.BaseConstant;
 import edu.travel.commodity.constant.RedisKey;
-import edu.travel.commodity.dto.BaseDto;
-import edu.travel.commodity.dto.ShopTypeDto;
 import edu.travel.commodity.entity.ShopCategory;
 import edu.travel.commodity.mapper.ShopCategoryMapper;
 import edu.travel.commodity.service.ShopCategoryService;
 import edu.travel.commodity.utils.RedisUtil;
-import edu.travel.commodity.vo.ShopTypeVo;
+import edu.travel.dto.BaseDto;
+import edu.travel.dto.ShopTypeDto;
+import edu.travel.vo.ShopTypeVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 

+ 2 - 4
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/impl/ShopFavoriteServiceImpl.java

@@ -1,11 +1,9 @@
 package edu.travel.commodity.service.impl;
 
-import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import edu.travel.commodity.dto.BaseDto;
 import edu.travel.commodity.entity.ShopFavorite;
 import edu.travel.commodity.entity.ShopProduct;
 import edu.travel.commodity.mapper.ShopFavoriteMapper;
@@ -13,9 +11,9 @@ import edu.travel.commodity.service.ShopFavoriteService;
 import edu.travel.commodity.service.ShopProductService;
 import edu.travel.commodity.utils.PageUtil;
 import edu.travel.commodity.utils.TokenData;
-import edu.travel.commodity.vo.ShopFavoriteVo;
-import edu.travel.commodity.vo.ShopProductVo;
+import edu.travel.dto.BaseDto;
 import edu.travel.service.SysServiceImpl;
+import edu.travel.vo.ShopFavoriteVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 

+ 2 - 2
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/impl/ShopParametersServiceImpl.java

@@ -3,7 +3,6 @@ package edu.travel.commodity.service.impl;
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import edu.travel.commodity.dto.ProductSpecDto;
 import edu.travel.commodity.entity.ShopParameters;
 import edu.travel.commodity.entity.ShopProductParameters;
 import edu.travel.commodity.mapper.ShopParametersMapper;
@@ -11,7 +10,8 @@ import edu.travel.commodity.service.ShopParametersService;
 import edu.travel.commodity.service.ShopProductParametersService;
 import edu.travel.commodity.service.ShopProductService;
 import edu.travel.commodity.utils.PageUtil;
-import edu.travel.commodity.vo.ShopParametersVo;
+import edu.travel.dto.ProductSpecDto;
+import edu.travel.vo.ShopParametersVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 

+ 8 - 5
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/impl/ShopProductServiceImpl.java

@@ -1,24 +1,26 @@
 package edu.travel.commodity.service.impl;
 
-import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import edu.travel.commodity.constant.BaseConstant;
-import edu.travel.commodity.dto.GetProductByTypeDto;
-import edu.travel.commodity.dto.SearchProductDto;
 import edu.travel.commodity.entity.ShopProduct;
 import edu.travel.commodity.mapper.ShopProductMapper;
 import edu.travel.commodity.service.ShopProductService;
 import edu.travel.commodity.utils.PageUtil;
-import edu.travel.commodity.vo.ShopProductVo;
+import edu.travel.dto.GetProductByTypeDto;
+import edu.travel.dto.SearchProductDto;
+import edu.travel.vo.ShopProductVo;
 import org.springframework.stereotype.Service;
 
+import java.io.IOException;
+
 @Service
 public class ShopProductServiceImpl extends ServiceImpl<ShopProductMapper, ShopProduct> implements ShopProductService {
 
+
     @Override
     public Page<ShopProductVo> getHotProduct(GetProductByTypeDto type) {
         LambdaQueryWrapper<ShopProduct> query = Wrappers.<ShopProduct>lambdaQuery()
@@ -35,7 +37,8 @@ public class ShopProductServiceImpl extends ServiceImpl<ShopProductMapper, ShopP
     }
 
     @Override
-    public Page<ShopProductVo> searchProduct(SearchProductDto param) {
+    public Page<ShopProductVo> searchProduct(SearchProductDto param) throws IOException {
+
         return null;
     }
 }

+ 2 - 2
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/impl/ShopProductSkuServiceImpl.java

@@ -5,7 +5,7 @@ import edu.travel.commodity.entity.ShopProductSku;
 import edu.travel.commodity.mapper.ShopProductSkuMapper;
 import edu.travel.commodity.mapper.ShopProductSpecMapper;
 import edu.travel.commodity.service.ShopProductSkuService;
-import edu.travel.commodity.vo.ShopSkuSpecValueVo;
+import edu.travel.vo.ShopSkuSpecValueVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.web.context.request.RequestContextHolder;
@@ -26,7 +26,7 @@ public class ShopProductSkuServiceImpl extends ServiceImpl<ShopProductSkuMapper,
      *  查询SKU下的规格和对应的规格值 规格 排序  规格值排序
      *  sku -> 规格 ->规格值
      * @param skuId
-     * @return {@link Map }<{@link String },{@link List }<{@link SpecVo }>>
+     * @return {@link Map }<{@link String },{@link List }<{@link ShopSkuSpecValueVo }>>
      */
     @Override
     public Map<String, List<ShopSkuSpecValueVo>> getSkuValuesById(Set<String> skuId) {

+ 3 - 4
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/impl/ShopProductSpecServiceImpl.java

@@ -4,14 +4,13 @@ import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import edu.travel.commodity.constant.BaseConstant;
-import edu.travel.commodity.dto.ProductSpecDto;
 import edu.travel.commodity.entity.*;
 import edu.travel.commodity.mapper.ShopProductSpecMapper;
 import edu.travel.commodity.service.*;
-import edu.travel.commodity.vo.*;
+import edu.travel.dto.ProductSpecDto;
+import edu.travel.vo.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.web.context.request.RequestContextHolder;
@@ -91,7 +90,7 @@ public class ShopProductSpecServiceImpl extends ServiceImpl<ShopProductSpecMappe
     }
 
 
-    public  List<SpecSortVo> getSpecSortVoList(String productId){
+    public List<SpecSortVo> getSpecSortVoList(String productId){
         List<ShopProductSpec> specs = shopProductSpecService.lambdaQuery().eq(ShopProductSpec::getProductId, productId).orderByAsc(ShopProductSpec::getSortOrder).list();
         List<SpecSortVo> list = BeanUtil.copyToList(specs, SpecSortVo.class);
         if(ObjectUtil.isEmpty(list)){

+ 56 - 0
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/impl/ShopReviewServiceImpl.java

@@ -1,12 +1,68 @@
 package edu.travel.commodity.service.impl;
 
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.json.JSONUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import edu.travel.adapter.service.tenant.TenantAdapter;
 import edu.travel.commodity.entity.ShopReview;
 import edu.travel.commodity.mapper.ShopReviewMapper;
 import edu.travel.commodity.service.ShopReviewService;
+import edu.travel.commodity.utils.PageUtil;
+import edu.travel.commodity.utils.StringToListUtil;
+import edu.travel.dto.ProductSpecDto;
+import edu.travel.exception.BaseException;
+import edu.travel.remote.feign.mode.vo.tenant.EduTenantVo;
+import edu.travel.rpc.RPCBaseResponse;
+import edu.travel.vo.ShopReviewVo;
+import edu.travel.vo.SpecOneVo;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.HashMap;
+import java.util.List;
+import java.util.Set;
+import java.util.stream.Collectors;
+
+
 @Service
 public class ShopReviewServiceImpl extends ServiceImpl<ShopReviewMapper, ShopReview> implements ShopReviewService {
+    @Autowired
+    private TenantAdapter tenantAdapter;
+    @Override
+    public Page<ShopReviewVo> getShopReview(ProductSpecDto params) {
+        LambdaQueryWrapper<ShopReview> query = Wrappers.<ShopReview>lambdaQuery()
+                .eq(ShopReview::getProductId, params.getProductId())
+                .orderByDesc(ShopReview::getIsTop).orderByDesc(ShopReview::getCreateTime);
+
+        Page<ShopReview> page = page(new Page<>(params.getCurrentPage(), params.getPageSize()), query);
 
+        Page<ShopReviewVo> pageEntity = PageUtil.toPageEntity(page, ShopReviewVo.class);
+        List<ShopReviewVo> records = pageEntity.getRecords();
+        if(ObjectUtil.isEmpty(records)){
+            return pageEntity;
+        }
+        Set<String> collect = records.stream().map(ShopReviewVo::getUserId).collect(Collectors.toSet());
+        RPCBaseResponse<List<EduTenantVo>> tenantByIds = tenantAdapter.getTenantByIds(collect);
+        //继续抛出
+        if(tenantByIds.getCode()!=200){
+            throw new BaseException(tenantByIds.getCode(), tenantByIds.getMsg());
+        }
+        List<EduTenantVo> data = tenantByIds.getData();
+        HashMap<String, EduTenantVo> users = new HashMap<>();
+        for (EduTenantVo datum : data) {
+            users.put(datum.getId(), datum);
+        }
+        for (ShopReviewVo record : records) {
+            List<String> list = StringToListUtil.toList(record.getImage());
+            record.setImageUrls(list);
+            SpecOneVo bean = JSONUtil.toBean(record.getSkuDetails(), SpecOneVo.class);
+            record.setSpecOneVo(bean);
+            EduTenantVo eduTenantVo = users.get(record.getUserId());
+            record.setEduTenantVo(eduTenantVo);
+        }
+        return pageEntity;
+    }
 }

+ 2 - 2
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/impl/ShopSearchRecordsServiceImpl.java

@@ -4,12 +4,12 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import edu.travel.commodity.dto.SearchRecordListDto;
 import edu.travel.commodity.entity.ShopSearchRecords;
 import edu.travel.commodity.mapper.ShopSearchRecordsMapper;
 import edu.travel.commodity.service.ShopSearchRecordsService;
 import edu.travel.commodity.utils.PageUtil;
-import edu.travel.commodity.vo.SearchRecordsVo;
+import edu.travel.dto.SearchRecordListDto;
+import edu.travel.vo.SearchRecordsVo;
 import org.springframework.stereotype.Service;
 
 import java.util.Date;

+ 38 - 29
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/impl/ShopShoppingCartServiceImpl.java

@@ -1,27 +1,34 @@
 package edu.travel.commodity.service.impl;
 
+import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import edu.travel.commodity.constant.BaseConstant;
-import edu.travel.commodity.dto.AddShopCartDto;
-import edu.travel.commodity.dto.BaseDto;
 import edu.travel.commodity.entity.ShopProduct;
 import edu.travel.commodity.entity.ShopProductSku;
 import edu.travel.commodity.entity.ShopShoppingCart;
+import edu.travel.commodity.mapper.ShopProductSpecMapper;
 import edu.travel.commodity.mapper.ShopShoppingCartMapper;
 import edu.travel.commodity.service.ShopProductService;
 import edu.travel.commodity.service.ShopProductSkuService;
 import edu.travel.commodity.service.ShopShoppingCartService;
 import edu.travel.commodity.utils.PageUtil;
 import edu.travel.commodity.utils.TokenData;
-import edu.travel.commodity.vo.ShopCartListVo;
+import edu.travel.dto.AddShopCartDto;
+import edu.travel.dto.BaseDto;
 import edu.travel.exception.BaseException;
+import edu.travel.vo.ShopCartListVo;
+import edu.travel.vo.ShopSkuSpecValueVo;
+import edu.travel.vo.SpecValueVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
 
+import javax.servlet.http.HttpServletRequest;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -31,7 +38,8 @@ public class ShopShoppingCartServiceImpl extends ServiceImpl<ShopShoppingCartMap
     private ShopProductSkuService shopProductSkuService;
     @Autowired
     private ShopProductService shopProductService;
-
+    @Autowired
+    private ShopProductSpecMapper shopProductSpecMapper;
     @Override
     public Boolean addShopCart(AddShopCartDto params) {
         // 获取用户id
@@ -67,13 +75,7 @@ public class ShopShoppingCartServiceImpl extends ServiceImpl<ShopShoppingCartMap
         if(ObjectUtil.isEmpty(records)){
             return pageEntity;
         }
-        // 商品ID
-        Set<String> collect = records.stream().map(ShopCartListVo::getProductId).collect(Collectors.toSet());
-        List<ShopProduct> shopProducts = shopProductService.listByIds(collect);
-        HashMap<String, ShopProduct> map = new HashMap<>();
-        for (ShopProduct shopProduct : shopProducts) {
-            map.put(shopProduct.getId().toString(), shopProduct);
-        }
+
         //商品和sku关联表的id
         Set<String> collect1 = records.stream().map(ShopCartListVo::getProductSkuId).collect(Collectors.toSet());
 
@@ -82,34 +84,41 @@ public class ShopShoppingCartServiceImpl extends ServiceImpl<ShopShoppingCartMap
         for (ShopProductSku shopProduct : shopProductSkus) {
             productSkuMap.put(shopProduct.getId().toString(), shopProduct);
         }
-//        Map<String, List<SortSpecVo>> Specmap = shopProductSkuService.getShopProductSkuId(collect1);
+        // 商品ID
+        Set<String> collect = shopProductSkus.stream().map(item->item.getProductId().toString()).collect(Collectors.toSet());
+        Set<String> skus = shopProductSkus.stream().map(item->item.getSkuId().toString()).collect(Collectors.toSet());
+        HttpServletRequest request = ((ServletRequestAttributes) (RequestContextHolder.currentRequestAttributes())).getRequest();
+        String project = request.getHeader("project");
+        List<ShopSkuSpecValueVo> skuValue = shopProductSpecMapper.getSkuValue(skus, project);
+        Map<String, List<ShopSkuSpecValueVo>> sku = skuValue.stream().collect(Collectors.groupingBy(ShopSkuSpecValueVo::getSkuId));
+
 
+        List<ShopProduct> shopProducts = shopProductService.listByIds(collect);
+        HashMap<String, ShopProduct> map = new HashMap<>();
+        for (ShopProduct shopProduct : shopProducts) {
+            map.put(shopProduct.getId().toString(), shopProduct);
+        }
         //封装结果集
         for (ShopCartListVo record : records) {
             ShopProduct shopProduct = map.get(record.getProductId());
-            if(!ObjectUtil.isNotEmpty(shopProduct)){
+            if(ObjectUtil.isNotEmpty(shopProduct)){
                 record.setProductName(shopProduct.getProductName());
                 record.setDescription(shopProduct.getDescription());
                 ShopProductSku shopProductSku = productSkuMap.get(record.getProductSkuId());
-                if(!ObjectUtil.isNotEmpty(shopProductSku)){
+                if(ObjectUtil.isNotEmpty(shopProductSku)){
                     record.setSkuImage(shopProductSku.getImageUrl());
-                    record.setSalesVolume(shopProductSku.getSalesVolume());
+                    record.setProductSkuId(shopProductSku.getId().toString());
                     record.setPrice(shopProductSku.getPrice());
+                    record.setInventory(shopProductSku.getInventory());
+                    record.setSkuId(shopProductSku.getSkuId().toString());
+                }
+                String skuId = record.getSkuId();
+                if(ObjectUtil.isEmpty(skuId))continue;
+                List<ShopSkuSpecValueVo> shopSkuSpecValueVos = sku.get(skuId);
+                if(!ObjectUtil.isEmpty(shopSkuSpecValueVos)){
+                    List<SpecValueVo> specValueVos = BeanUtil.copyToList(shopSkuSpecValueVos, SpecValueVo.class);
+                    record.setSpecValue(specValueVos);
                 }
-                String productSkuId = record.getProductSkuId();
-//                List<SortSpecVo> sortSpecVos = Specmap.get(productSkuId);
-//                ArrayList<SpecValueVo> specValueVos = new ArrayList<>();
-//                if(ObjectUtil.isEmpty(sortSpecVos)){
-//                    for (SortSpecVo sortSpecVo : sortSpecVos) {
-//                        SpecValueVo specValueVo = new SpecValueVo();
-//                        specValueVo.setKeyId(sortSpecVo.getSpecId());
-//                        specValueVo.setKey(sortSpecVo.getSpecName());
-//                        specValueVo.setValueId(sortSpecVo.getSpecValueId());
-//                        specValueVo.setValue(sortSpecVo.getSpecValue());
-//                        specValueVos.add(specValueVo);
-//                    }
-//                }
-//                record.setSpecValue(specValueVos);
             }
         }
         return pageEntity;

+ 20 - 0
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/utils/StringToListUtil.java

@@ -0,0 +1,20 @@
+package edu.travel.commodity.utils;
+
+import cn.hutool.core.util.ObjectUtil;
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+@Data
+public class StringToListUtil {
+
+    public static List<String> toList(String str){
+        List<String> list = new ArrayList<>();
+        if(ObjectUtil.isEmpty(str)){
+            list = Arrays.asList(str.split(","));
+        }
+        return list;
+    }
+}

+ 3 - 3
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopAddressController.java

@@ -1,13 +1,13 @@
 package edu.travel.commodity.web;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import edu.travel.commodity.dto.BaseDto;
-import edu.travel.commodity.dto.UpdateAddressDto;
 import edu.travel.commodity.entity.ShopAddress;
 import edu.travel.commodity.service.ShopAddressService;
-import edu.travel.commodity.vo.ShopAddressVo;
+import edu.travel.dto.BaseDto;
+import edu.travel.dto.UpdateAddressDto;
 import edu.travel.resp.BaseResponse;
 import edu.travel.rpc.RPCBaseResponse;
+import edu.travel.vo.ShopAddressVo;
 import edu.travel.web.BaseController;
 import org.springframework.web.bind.annotation.*;
 

+ 3 - 3
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopCategoryController.java

@@ -1,13 +1,13 @@
 package edu.travel.commodity.web;
 
-import edu.travel.commodity.dto.BaseDto;
-import edu.travel.commodity.dto.ShopTypeDto;
 import edu.travel.commodity.entity.ShopCategory;
 import edu.travel.commodity.service.ShopCategoryService;
-import edu.travel.commodity.vo.ShopTypeVo;
+import edu.travel.dto.BaseDto;
+import edu.travel.dto.ShopTypeDto;
 import edu.travel.remote.feign.mode.vo.tenant.AddMenuVo;
 import edu.travel.resp.BaseResponse;
 import edu.travel.rpc.RPCBaseResponse;
+import edu.travel.vo.ShopTypeVo;
 import edu.travel.web.BaseController;
 import org.springframework.web.bind.annotation.*;
 

+ 3 - 4
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopFavoriteController.java

@@ -1,11 +1,10 @@
 package edu.travel.commodity.web;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import edu.travel.commodity.dto.BaseDto;
 import edu.travel.commodity.service.ShopFavoriteService;
-import edu.travel.commodity.vo.ShopFavoriteVo;
-import edu.travel.commodity.vo.ShopProductVo;
+import edu.travel.dto.BaseDto;
 import edu.travel.rpc.RPCBaseResponse;
+import edu.travel.vo.ShopFavoriteVo;
 import org.springframework.web.bind.annotation.*;
 
 import org.springframework.beans.factory.annotation.Autowired;
@@ -26,7 +25,7 @@ public class ShopFavoriteController {
 
     /**
      *  获取收藏商品
-     * @return {@link RPCBaseResponse }<{@link Page }<{@link ShopProductVo }>>
+     * @return {@link RPCBaseResponse }<{@link Page }<{@link ShopFavoriteVo }>>
      */
     @GetMapping("/getFavorite")
     public RPCBaseResponse<Page<ShopFavoriteVo>> getFavorite(BaseDto baseDto){

+ 2 - 2
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopParametersController.java

@@ -1,11 +1,11 @@
 package edu.travel.commodity.web;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import edu.travel.commodity.dto.ProductSpecDto;
 import edu.travel.commodity.service.ShopParametersService;
-import edu.travel.commodity.vo.ShopParametersVo;
+import edu.travel.dto.ProductSpecDto;
 import edu.travel.resp.BaseResponse;
 import edu.travel.rpc.RPCBaseResponse;
+import edu.travel.vo.ShopParametersVo;
 import org.springframework.web.bind.annotation.*;
 
 import org.springframework.beans.factory.annotation.Autowired;

+ 5 - 4
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopProductController.java

@@ -1,18 +1,19 @@
 package edu.travel.commodity.web;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import edu.travel.commodity.dto.GetProductByTypeDto;
-import edu.travel.commodity.dto.SearchProductDto;
 import edu.travel.commodity.entity.ShopProduct;
 import edu.travel.commodity.service.ShopProductService;
-import edu.travel.commodity.vo.ShopProductVo;
+import edu.travel.dto.GetProductByTypeDto;
+import edu.travel.dto.SearchProductDto;
 import edu.travel.resp.BaseResponse;
 import edu.travel.rpc.RPCBaseResponse;
+import edu.travel.vo.ShopProductVo;
 import edu.travel.web.BaseController;
 import org.springframework.web.bind.annotation.*;
 
 import org.springframework.beans.factory.annotation.Autowired;
 
+import java.io.IOException;
 import java.util.List;
 
 import static edu.travel.rpc.RPCBaseResponse.success;
@@ -47,7 +48,7 @@ public class ShopProductController extends BaseController<ShopProduct> {
      * @return {@link BaseResponse }<{@link List }<{@link ShopProductVo }>>
      */
     @GetMapping("/searchProduct")
-    public RPCBaseResponse<Page<ShopProductVo>> searchProduct(SearchProductDto param){
+    public RPCBaseResponse<Page<ShopProductVo>> searchProduct(SearchProductDto param) throws IOException {
         return success(shopProductService.searchProduct(param));
     }
 

+ 2 - 3
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopProductSpecController.java

@@ -1,12 +1,11 @@
 package edu.travel.commodity.web;
 
-import edu.travel.commodity.dto.ProductSpecDto;
 import edu.travel.commodity.entity.ShopProductSpec;
 import edu.travel.commodity.service.ShopProductSpecService;
-import edu.travel.commodity.vo.ProductSpecVo;
-import edu.travel.commodity.vo.ShopProductVo;
+import edu.travel.dto.ProductSpecDto;
 import edu.travel.resp.BaseResponse;
 import edu.travel.rpc.RPCBaseResponse;
+import edu.travel.vo.ProductSpecVo;
 import edu.travel.web.BaseController;
 import org.springframework.web.bind.annotation.*;
 

+ 18 - 1
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopReviewController.java

@@ -1,10 +1,18 @@
 package edu.travel.commodity.web;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import edu.travel.commodity.service.ShopReviewService;
+import edu.travel.dto.ProductSpecDto;
+import edu.travel.rpc.RPCBaseResponse;
+import edu.travel.vo.ShopReviewVo;
 import org.springframework.web.bind.annotation.*;
 
 import org.springframework.beans.factory.annotation.Autowired;
 
+import java.util.List;
+
+import static edu.travel.rpc.RPCBaseResponse.success;
+
 
 /**
 * 商品评论表(shop_review)表控制层
@@ -12,7 +20,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 * @author xxxxx
 */
 @RestController
-@RequestMapping("/shop_review")
+@RequestMapping("/shopReview")
 public class ShopReviewController {
 /**
 * 服务对象
@@ -20,5 +28,14 @@ public class ShopReviewController {
     @Autowired
     private ShopReviewService shopReviewService;
 
+    /**
+     *  获取商品评论
+     * @param params
+     * @return {@link RPCBaseResponse }<{@link Page }<{@link ShopReviewVo }>>
+     */
 
+    @GetMapping("/getShopReview")
+    public RPCBaseResponse<Page<ShopReviewVo>> getShopReview(ProductSpecDto params) {
+        return success(shopReviewService.getShopReview(params));
+    }
 }

+ 2 - 2
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopSearchRecordsController.java

@@ -1,11 +1,11 @@
 package edu.travel.commodity.web;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import edu.travel.commodity.dto.SearchRecordListDto;
 import edu.travel.commodity.entity.ShopSearchRecords;
 import edu.travel.commodity.service.ShopSearchRecordsService;
-import edu.travel.commodity.vo.SearchRecordsVo;
+import edu.travel.dto.SearchRecordListDto;
 import edu.travel.rpc.RPCBaseResponse;
+import edu.travel.vo.SearchRecordsVo;
 import edu.travel.web.BaseController;
 import org.springframework.web.bind.annotation.*;
 

+ 3 - 3
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopShoppingCartController.java

@@ -1,12 +1,12 @@
 package edu.travel.commodity.web;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import edu.travel.commodity.dto.AddShopCartDto;
-import edu.travel.commodity.dto.BaseDto;
 import edu.travel.commodity.service.ShopShoppingCartService;
-import edu.travel.commodity.vo.ShopCartListVo;
+import edu.travel.dto.AddShopCartDto;
+import edu.travel.dto.BaseDto;
 import edu.travel.resp.BaseResponse;
 import edu.travel.rpc.RPCBaseResponse;
+import edu.travel.vo.ShopCartListVo;
 import org.springframework.web.bind.annotation.*;
 
 import org.springframework.beans.factory.annotation.Autowired;

+ 1 - 1
edu-travel-service/edu-travel-service-commodity/src/main/resources/mapper/ShopProductSpecMapper.xml

@@ -22,7 +22,7 @@
     delete_flag,sort_order,spec_id
   </sql>
 
-  <select id="getSkuValue" resultType="edu.travel.commodity.vo.ShopSkuSpecValueVo">
+  <select id="getSkuValue" resultType="edu.travel.vo.ShopSkuSpecValueVo">
     SELECT sk.id,sk.sku_id,sk.spec_id,sp.spec_name,sk.spec_value_id,sv.spec_value
     FROM
         shop_sku_spec_value  sk

+ 3 - 1
edu-travel-service/edu-travel-service-commodity/src/main/resources/mapper/ShopReviewMapper.xml

@@ -18,10 +18,12 @@
     <result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
     <result column="update_user_id" jdbcType="VARCHAR" property="updateUserId" />
     <result column="delete_flag" jdbcType="INTEGER" property="deleteFlag" />
+    <result column="image" jdbcType="VARCHAR" property="image" />
+    <result column="is_top" jdbcType="INTEGER" property="isTop" />
   </resultMap>
   <sql id="Base_Column_List">
     <!--@mbg.generated-->
     id, parent_id, user_id, product_id, sku_id, rating, content, project, create_time, order_id,
-    create_user_id, update_time, update_user_id, delete_flag
+    create_user_id, update_time, update_user_id, delete_flag,image,is_top
   </sql>
 </mapper>

+ 2 - 1
edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/TenantApplication.java

@@ -1,16 +1,17 @@
 package edu.travel;
 
-import edu.travel.cache.annotation.EnableRedis;
 import edu.travel.cache.annotation.EnableRedisCache;
 import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
+import org.springframework.cloud.openfeign.EnableFeignClients;
 
 @SpringBootApplication
 @EnableDiscoveryClient
 @MapperScan("edu.travel.tenant.mapper")
 @EnableRedisCache
+@EnableFeignClients
 public class TenantApplication {
     public static void main(String[] args) {
         SpringApplication.run(TenantApplication.class, args);

+ 1 - 1
edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/service/ShopBannerService.java

@@ -1,9 +1,9 @@
 package edu.travel.tenant.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import edu.travel.remote.feign.mode.vo.banner.BannerVo;
 import edu.travel.tenant.dto.BannerDto;
 import edu.travel.tenant.entity.ShopBanner;
-import edu.travel.tenant.vo.BannerVo;
 
 import java.util.List;
 

+ 1 - 1
edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/service/impl/ShopBannerServiceImpl.java

@@ -5,11 +5,11 @@ import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import edu.travel.remote.feign.mode.vo.banner.BannerVo;
 import edu.travel.tenant.dto.BannerDto;
 import edu.travel.tenant.entity.ShopBanner;
 import edu.travel.tenant.mapper.ShopBannerMapper;
 import edu.travel.tenant.service.ShopBannerService;
-import edu.travel.tenant.vo.BannerVo;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;

+ 1 - 1
edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/web/ShopBannerController.java

@@ -1,11 +1,11 @@
 package edu.travel.tenant.web;
 
+import edu.travel.remote.feign.mode.vo.banner.BannerVo;
 import edu.travel.resp.BaseResponse;
 import edu.travel.rpc.RPCBaseResponse;
 import edu.travel.tenant.dto.BannerDto;
 import edu.travel.tenant.entity.ShopBanner;
 import edu.travel.tenant.service.ShopBannerService;
-import edu.travel.tenant.vo.BannerVo;
 import edu.travel.web.BaseController;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;

+ 12 - 4
edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/web/TenantController.java

@@ -15,6 +15,7 @@ import edu.travel.remote.feign.mode.vo.tenant.MenuTreeVo;
 import edu.travel.remote.feign.mode.vo.tenant.SysRoleVo;
 import edu.travel.resp.BaseResponse;
 import edu.travel.resp.PageResponse;
+import edu.travel.rpc.RPCBaseResponse;
 import edu.travel.tenant.TenantRemoteController;
 import edu.travel.tenant.entity.EduTenant;
 import edu.travel.tenant.entity.SysRole;
@@ -30,9 +31,11 @@ import org.springframework.web.bind.annotation.*;
 import java.util.*;
 import java.util.stream.Collectors;
 
+import static edu.travel.rpc.RPCBaseResponse.success;
+
 @RestController
 @RequestMapping("/user")
-public class TenantController  extends BaseController<EduTenant>  {
+public class TenantController  extends BaseController<EduTenant> implements TenantRemoteController{
     @Autowired
     private ITenantService tenantService;
     @Autowired
@@ -111,12 +114,17 @@ public class TenantController  extends BaseController<EduTenant>  {
      */
     @GetMapping("/getTenantById")
 ////    @PreAuthorize("hasRole('超级管理员')")
-    public BaseResponse<EduTenantVo> getTenantById(Long id) {
+    public RPCBaseResponse<EduTenantVo> getTenantById(Long id) {
         EduTenant tenant = tenantService.getTenantById(id);
         EduTenantVo eduTenantVo = BeanUtil.copyProperties(tenant, EduTenantVo.class);
-        return PageResponse.out(200, "success", eduTenantVo);
+        return success(eduTenantVo);
+    }
+    @PostMapping("/getTenantByIds")
+////    @PreAuthorize("hasRole('超级管理员')")
+    public RPCBaseResponse<List<EduTenantVo>> getTenantByIds(@RequestBody Set<String> ids) {
+        List<EduTenant> tenant = tenantService.getBaseMapper().selectBatchIds(ids);
+        return success(BeanUtil.copyToList(tenant, EduTenantVo.class));
     }
-
     /**
      * 查询登录用户信息
      *

Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio