Kaynağa Gözat

Merge remote-tracking branch 'origin/main'

classic_blue 1 hafta önce
ebeveyn
işleme
b69948325a
100 değiştirilmiş dosya ile 1036 ekleme ve 266 silme
  1. 41 0
      edu-travel-adapter/edu-travel-adapter-order/pom.xml
  2. 20 0
      edu-travel-adapter/edu-travel-adapter-order/src/main/java/edu/travel/adapter/service/order/OrderItemAdapter.java
  3. 21 0
      edu-travel-adapter/edu-travel-adapter-tenant/src/main/java/edu/travel/adapter/service/tenant/SysRoleAdapter.java
  4. 1 0
      edu-travel-adapter/pom.xml
  5. 4 1
      edu-travel-common/edu-travel-common-openfeign/pom.xml
  6. 1 0
      edu-travel-remote/edu-travel-remote-commodity/pom.xml
  7. 45 0
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/remote/dto/AddReviewDto.java
  8. 1 1
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/remote/dto/AddShopCartDto.java
  9. 1 1
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/remote/dto/BaseDto.java
  10. 1 1
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/remote/dto/GetProductByTypeDto.java
  11. 1 1
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/remote/dto/ProductSpecDto.java
  12. 1 1
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/remote/dto/SearchProductDto.java
  13. 1 1
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/remote/dto/SearchRecordListDto.java
  14. 1 1
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/remote/dto/ShopTypeDto.java
  15. 1 1
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/remote/dto/UpdateAddressDto.java
  16. 1 1
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/remote/vo/ProductImageVo.java
  17. 1 1
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/remote/vo/ProductSkuVo.java
  18. 1 1
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/remote/vo/ProductSpecVo.java
  19. 1 1
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/remote/vo/SearchRecordsVo.java
  20. 1 2
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/remote/vo/ShopAddressVo.java
  21. 1 1
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/remote/vo/ShopCartListVo.java
  22. 1 1
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/remote/vo/ShopFavoriteVo.java
  23. 1 1
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/remote/vo/ShopParametersVo.java
  24. 1 1
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/remote/vo/ShopProductVo.java
  25. 2 2
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/remote/vo/ShopReviewVo.java
  26. 1 1
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/remote/vo/ShopSkuSpecValueVo.java
  27. 1 1
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/remote/vo/ShopTypeVo.java
  28. 3 7
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/remote/vo/SpecOneVo.java
  29. 1 1
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/remote/vo/SpecSortVo.java
  30. 1 1
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/remote/vo/SpecValueSortVo.java
  31. 2 2
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/remote/vo/SpecValueVo.java
  32. 0 3
      edu-travel-remote/edu-travel-remote-country/src/main/java/edu/travel/remote/BaseCountryServeRemoteController.java
  33. 70 0
      edu-travel-remote/edu-travel-remote-order/pom.xml
  34. 28 0
      edu-travel-remote/edu-travel-remote-order/src/main/java/edu/travel/remote/dto/AddShopOrderDto.java
  35. 15 0
      edu-travel-remote/edu-travel-remote-order/src/main/java/edu/travel/remote/dto/GetOrderItemDto.java
  36. 11 0
      edu-travel-remote/edu-travel-remote-order/src/main/java/edu/travel/remote/dto/ShowOrderInfoDto.java
  37. 20 0
      edu-travel-remote/edu-travel-remote-order/src/main/java/edu/travel/remote/order/ShopOrderItemRemoteController.java
  38. 64 0
      edu-travel-remote/edu-travel-remote-order/src/main/java/edu/travel/remote/vo/OrderItemVo.java
  39. 40 0
      edu-travel-remote/edu-travel-remote-order/src/main/java/edu/travel/remote/vo/ShopSnapshotVo.java
  40. 108 0
      edu-travel-remote/edu-travel-remote-order/src/main/java/edu/travel/remote/vo/ShowOrderInfoVo.java
  41. 6 0
      edu-travel-remote/edu-travel-remote-tenant/pom.xml
  42. 39 0
      edu-travel-remote/edu-travel-remote-tenant/src/main/java/edu/travel/remote/feign/mode/dto/tenant/SysRoleDto.java
  43. 9 1
      edu-travel-remote/edu-travel-remote-tenant/src/main/java/edu/travel/tenant/SysRoleRemoteController.java
  44. 5 2
      edu-travel-remote/edu-travel-remote-tenant/src/main/java/edu/travel/tenant/TenantRemoteController.java
  45. 71 0
      edu-travel-remote/edu-travel-remote-warehouse/src/main/java/edu/travel/dto/ShopWarehouseStaffDto.java
  46. 83 0
      edu-travel-remote/edu-travel-remote-warehouse/src/main/java/edu/travel/vo/ShopWarehouseStaffVo.java
  47. 1 0
      edu-travel-remote/pom.xml
  48. 5 0
      edu-travel-service/edu-travel-service-commodity/pom.xml
  49. 0 41
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/entity/ShopMgLabel.java
  50. 5 1
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/entity/ShopProductParameters.java
  51. 5 0
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/entity/ShopSpec.java
  52. 0 7
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/mapper/ShopMgLabelMapper.java
  53. 2 1
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/mapper/ShopProductSpecMapper.java
  54. 3 3
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/ShopAddressService.java
  55. 3 3
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/ShopCategoryService.java
  56. 2 2
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/ShopFavoriteService.java
  57. 0 8
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/ShopMgLabelService.java
  58. 2 2
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/ShopParametersService.java
  59. 3 3
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/ShopProductService.java
  60. 1 1
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/ShopProductSkuService.java
  61. 3 3
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/ShopProductSpecService.java
  62. 4 2
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/ShopReviewService.java
  63. 2 2
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/ShopSearchRecordsService.java
  64. 3 3
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/ShopShoppingCartService.java
  65. 3 3
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/impl/ShopAddressServiceImpl.java
  66. 3 3
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/impl/ShopCategoryServiceImpl.java
  67. 2 2
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/impl/ShopFavoriteServiceImpl.java
  68. 0 12
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/impl/ShopMgLabelServiceImpl.java
  69. 2 2
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/impl/ShopParametersServiceImpl.java
  70. 3 3
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/impl/ShopProductServiceImpl.java
  71. 1 1
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/impl/ShopProductSkuServiceImpl.java
  72. 2 2
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/impl/ShopProductSpecServiceImpl.java
  73. 56 7
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/impl/ShopReviewServiceImpl.java
  74. 2 2
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/impl/ShopSearchRecordsServiceImpl.java
  75. 5 5
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/impl/ShopShoppingCartServiceImpl.java
  76. 0 20
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/utils/StringToListUtil.java
  77. 26 0
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/utils/StringUtil.java
  78. 3 4
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopAddressController.java
  79. 3 3
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopCategoryController.java
  80. 2 2
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopFavoriteController.java
  81. 0 23
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopMgLabelController.java
  82. 2 2
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopParametersController.java
  83. 3 3
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopProductController.java
  84. 11 0
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopProductSkuController.java
  85. 3 3
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopProductSpecController.java
  86. 13 3
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopReviewController.java
  87. 2 2
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopSearchRecordsController.java
  88. 3 3
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopShoppingCartController.java
  89. 0 22
      edu-travel-service/edu-travel-service-commodity/src/main/resources/mapper/ShopMgLabelMapper.xml
  90. 2 1
      edu-travel-service/edu-travel-service-commodity/src/main/resources/mapper/ShopProductParametersMapper.xml
  91. 6 3
      edu-travel-service/edu-travel-service-commodity/src/main/resources/mapper/ShopProductSpecMapper.xml
  92. 2 1
      edu-travel-service/edu-travel-service-commodity/src/main/resources/mapper/ShopSpecMapper.xml
  93. 1 1
      edu-travel-service/edu-travel-service-country/src/main/java/edu/travel/country/web/BaseCountryController.java
  94. 5 0
      edu-travel-service/edu-travel-service-order/pom.xml
  95. 2 0
      edu-travel-service/edu-travel-service-order/src/main/java/edu/travel/OrderApplication.java
  96. 32 3
      edu-travel-service/edu-travel-service-order/src/main/java/edu/travel/order/controller/ShopOrderController.java
  97. 39 1
      edu-travel-service/edu-travel-service-order/src/main/java/edu/travel/order/controller/ShopOrderItemController.java
  98. 5 0
      edu-travel-service/edu-travel-service-order/src/main/java/edu/travel/order/controller/ShopOrderTypeChangeController.java
  99. 10 1
      edu-travel-service/edu-travel-service-order/src/main/java/edu/travel/order/entity/ShopOrder.java
  100. 8 1
      edu-travel-service/edu-travel-service-order/src/main/java/edu/travel/order/entity/ShopOrderItem.java

+ 41 - 0
edu-travel-adapter/edu-travel-adapter-order/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-order</artifactId>
+    <packaging>jar</packaging>
+
+    <name>edu-travel-adapter-order</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-order</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>

+ 20 - 0
edu-travel-adapter/edu-travel-adapter-order/src/main/java/edu/travel/adapter/service/order/OrderItemAdapter.java

@@ -0,0 +1,20 @@
+package edu.travel.adapter.service.order;
+
+import edu.travel.adapter.annotation.AdapterAnnotation;
+import edu.travel.remote.dto.GetOrderItemDto;
+import edu.travel.remote.order.ShopOrderItemRemoteController;
+import edu.travel.remote.vo.OrderItemVo;
+import edu.travel.rpc.RPCBaseResponse;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+@Component
+public class OrderItemAdapter {
+    @Autowired
+    private ShopOrderItemRemoteController shopOrderItemRemoteController;
+
+    @AdapterAnnotation
+    public RPCBaseResponse<OrderItemVo> getOrderItemVo(GetOrderItemDto params) {
+        return shopOrderItemRemoteController.getOrderItemVo(params);
+    }
+}

+ 21 - 0
edu-travel-adapter/edu-travel-adapter-tenant/src/main/java/edu/travel/adapter/service/tenant/SysRoleAdapter.java

@@ -0,0 +1,21 @@
+package edu.travel.adapter.service.tenant;
+
+import edu.travel.adapter.annotation.AdapterAnnotation;
+import edu.travel.remote.feign.mode.vo.tenant.SysRoleVo;
+import edu.travel.rpc.RPCBaseResponse;
+import edu.travel.tenant.SysRoleRemoteController;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+@Component
+public class SysRoleAdapter {
+    @Resource
+    private SysRoleRemoteController sysRoleRemoteController;
+    /**
+     * 通过id查找角色
+     */
+    @AdapterAnnotation
+    public RPCBaseResponse<SysRoleVo> getFormId(String id){
+        return sysRoleRemoteController.getFormId(id);
+    };
+}

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

@@ -15,6 +15,7 @@
     <modules>
         <module>edu-travel-adapter-upload</module>
         <module>edu-travel-adapter-tenant</module>
+        <module>edu-travel-adapter-order</module>
     </modules>
 
     <properties>

+ 4 - 1
edu-travel-common/edu-travel-common-openfeign/pom.xml

@@ -26,7 +26,10 @@
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-web</artifactId>
         </dependency>
-
+        <dependency>
+            <groupId>io.github.openfeign</groupId>
+            <artifactId>feign-httpclient</artifactId>
+        </dependency>
         <!-- 或使用 OkHttp -->
         <dependency>
             <groupId>io.github.openfeign</groupId>

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

@@ -66,5 +66,6 @@
             <artifactId>edu-travel-remote-tenant</artifactId>
             <version>1.0-SNAPSHOT</version>
         </dependency>
+
     </dependencies>
 </project>

+ 45 - 0
edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/remote/dto/AddReviewDto.java

@@ -0,0 +1,45 @@
+package edu.travel.remote.dto;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 类功能描述:
+ *  新增评论
+ * @author 大春
+ * @date 2025/03/04
+ */
+
+@Data
+public class AddReviewDto {
+    /**
+     * 订单号
+     */
+    private String orderId;
+
+    /**
+     *  评论内容
+     */
+    private String content;
+
+    /**
+     * 评论图片
+     */
+    private List<String> image;
+
+    /**
+     * 商品ID
+     */
+    private String productId;
+
+    /**
+     * sku
+     */
+    private String skuId;
+
+    /**
+     * 评级1-5
+     */
+    private Integer rating;
+}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@@ -1,4 +1,4 @@
-package edu.travel.vo;
+package edu.travel.remote.vo;
 
 import lombok.Data;
 
@@ -9,7 +9,6 @@ public class ShopAddressVo {
      */
     private String id;
 
-
     /**
      * 国家id
      */

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

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

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

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

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

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

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

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

+ 2 - 2
edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/vo/ShopReviewVo.java → edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/remote/vo/ShopReviewVo.java

@@ -1,4 +1,4 @@
-package edu.travel.vo;
+package edu.travel.remote.vo;
 
 import edu.travel.remote.feign.mode.vo.tenant.EduTenantVo;
 import lombok.Data;
@@ -42,7 +42,7 @@ public class ShopReviewVo {
     /**
      * sku详情
      */
-    private SpecOneVo specOneVo;
+    private List<SpecOneVo> specOneVo;
 
     /**
      * 评级

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

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

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

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

+ 3 - 7
edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/vo/SpecOneVo.java → edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/remote/vo/SpecOneVo.java

@@ -1,4 +1,4 @@
-package edu.travel.vo;
+package edu.travel.remote.vo;
 
 import lombok.Data;
 
@@ -11,14 +11,10 @@ import lombok.Data;
 
 @Data
 public class SpecOneVo {
-    /**
-     *
-     */
-    private String id;
 
-    private String specName;
+    private String specId;
 
-    private Integer sortOrder;
+    private String specName;
 
     private String specValue;
 

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

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

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

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

+ 2 - 2
edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/vo/SpecValueVo.java → edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/remote/vo/SpecValueVo.java

@@ -1,10 +1,10 @@
-package edu.travel.vo;
+package edu.travel.remote.vo;
 
 import lombok.Data;
 
 /**
  * 类功能描述:
- *      购物车商品规格值
+ *     购物车商品规格值
  * @author 大春
  * @date 2025/02/28
  */

+ 0 - 3
edu-travel-remote/edu-travel-remote-country/src/main/java/edu/travel/remote/BaseCountryServeRemoteController.java

@@ -6,9 +6,6 @@ import edu.travel.rpc.RPCBaseResponse;
 import edu.travel.vo.BaseCountryServeVo;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
 
 import java.util.List;
 @FeignClient(path = "/baseCountryServe",name = "country-dev")

+ 70 - 0
edu-travel-remote/edu-travel-remote-order/pom.xml

@@ -0,0 +1,70 @@
+<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-remote</artifactId>
+        <version>1.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>edu-travel-remote-order</artifactId>
+    <packaging>jar</packaging>
+
+    <name>edu-travel-remote-order</name>
+    <url>http://maven.apache.org</url>
+
+    <properties>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>edu.travel</groupId>
+            <artifactId>edu-travel-common-resp</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>edu.travel</groupId>
+            <artifactId>edu-travel-common-openfeign</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-web</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>edu.travel</groupId>
+            <artifactId>edu-travel-model-base</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>jakarta.validation</groupId>
+            <artifactId>jakarta.validation-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.hibernate</groupId>
+            <artifactId>hibernate-validator</artifactId>
+            <version>6.0.13.Final</version>
+        </dependency>
+        <dependency>
+            <groupId>edu.travel</groupId>
+            <artifactId>edu-travel-common-core</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-extension</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>edu.travel</groupId>
+            <artifactId>edu-travel-remote-base</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>edu.travel</groupId>
+            <artifactId>edu-travel-remote-commodity</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
+    </dependencies>
+</project>

+ 28 - 0
edu-travel-remote/edu-travel-remote-order/src/main/java/edu/travel/remote/dto/AddShopOrderDto.java

@@ -0,0 +1,28 @@
+package edu.travel.remote.dto;
+
+import lombok.Data;
+
+@Data
+public class AddShopOrderDto {
+
+    /**地区id*/
+    private String countryId;
+
+    /**商品ID*/
+    private String productId;
+
+    /**
+     * sku
+     */
+    private String skuId;
+
+    /**
+     * 数量
+     */
+    private Integer quantity;
+
+    /**
+     * 备注
+     */
+    private String remark;
+}

+ 15 - 0
edu-travel-remote/edu-travel-remote-order/src/main/java/edu/travel/remote/dto/GetOrderItemDto.java

@@ -0,0 +1,15 @@
+package edu.travel.remote.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class GetOrderItemDto implements Serializable {
+
+    private String orderId;
+
+    private String skuId;
+
+    private String productId;
+}

+ 11 - 0
edu-travel-remote/edu-travel-remote-order/src/main/java/edu/travel/remote/dto/ShowOrderInfoDto.java

@@ -0,0 +1,11 @@
+package edu.travel.remote.dto;
+
+import lombok.Data;
+
+@Data
+public class ShowOrderInfoDto extends BaseDto{
+    /**
+     * 状态
+     */
+    private String state;
+}

+ 20 - 0
edu-travel-remote/edu-travel-remote-order/src/main/java/edu/travel/remote/order/ShopOrderItemRemoteController.java

@@ -0,0 +1,20 @@
+package edu.travel.remote.order;
+
+import edu.travel.remote.dto.GetOrderItemDto;
+import edu.travel.remote.vo.OrderItemVo;
+import edu.travel.rpc.RPCBaseResponse;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+
+@FeignClient(name = "order-dev",path = "/shopOrderItem")
+public interface ShopOrderItemRemoteController {
+
+    /**
+     *  查询订单商品详情
+     * @param params
+     * @return {@link RPCBaseResponse }<{@link OrderItemVo }>
+     */
+    @GetMapping("/getOrderItemVo")
+    public RPCBaseResponse<OrderItemVo> getOrderItemVo(GetOrderItemDto params);
+
+}

+ 64 - 0
edu-travel-remote/edu-travel-remote-order/src/main/java/edu/travel/remote/vo/OrderItemVo.java

@@ -0,0 +1,64 @@
+package edu.travel.remote.vo;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class OrderItemVo {
+
+    /**
+     * 订单商品表ID
+     */
+    private String id;
+
+    /**
+     * 订单表ID
+     */
+    private String orderId;
+
+    /**
+     * SKU
+     */
+    private String skuId;
+
+    /**
+     * 数量
+     */
+    private String quantity;
+
+    /**
+     * 单价
+     */
+    private BigDecimal price;
+
+    /**
+     * 使用的用户优惠券ID
+     */
+    private String userCouponId;
+
+    /**
+     * 优惠券抵扣金额
+     */
+    private BigDecimal couponDiscount;
+
+    /**
+     * 商品快照
+     */
+    private String snapshot;
+    /**
+     * 商品快照对象
+     */
+    private ShopSnapshotVo shopSnapshotVo;
+
+    /**
+     * 订单商品状态 默认0 -0正常;-1退货
+     */
+    private Integer state;
+
+    /**
+     * 商品ID
+     */
+    private String productId;
+
+}

+ 40 - 0
edu-travel-remote/edu-travel-remote-order/src/main/java/edu/travel/remote/vo/ShopSnapshotVo.java

@@ -0,0 +1,40 @@
+package edu.travel.remote.vo;
+
+import lombok.Data;
+
+import java.util.List;
+
+
+/**
+ * 类功能描述:
+ *  商品快照对象
+ * @author 大春
+ * @date 2025/03/05
+ */
+
+@Data
+public class ShopSnapshotVo {
+    /**
+     * SKU
+     */
+    private String skuId;
+
+    /**
+     * 商品名称
+     */
+    private String productName;
+
+    /**
+     * 商品描述
+     */
+    private String description;
+    /**
+     * 商品SkU的图片
+     */
+    private String imageUrl;
+    /**
+     * 商品快照规格
+     */
+    private List<SpecValueVo> snapshotSpec;
+
+}

+ 108 - 0
edu-travel-remote/edu-travel-remote-order/src/main/java/edu/travel/remote/vo/ShowOrderInfoVo.java

@@ -0,0 +1,108 @@
+package edu.travel.remote.vo;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+@Data
+public class ShowOrderInfoVo {
+    /**
+     * 订单表ID 订单号
+     */
+    private String id;
+
+    /**
+     * 仓库ID
+     */
+    private String warehouseId;
+
+    /**
+     * 订单备注
+     */
+    private String orderRemark;
+
+    /**
+     * 国家id
+     */
+    private String countryId;
+
+    /**
+     * 服务费id
+     */
+    private String serviceChargeId;
+
+    /**
+     * 服务费比率
+     */
+    private BigDecimal serviceChargeValue;
+
+    /**
+     * 支付方式id
+     */
+    private String payId;
+
+    /**
+     * 支付方法值
+     */
+    private String payWayValue;
+
+    /**
+     * 用户ID
+     */
+    private String userId;
+
+    /**
+     * 收货地址
+     */
+    private String addressId;
+
+    /**
+     * 收货地址
+     */
+    private String address;
+    /**
+     * 订单号
+     */
+    private String orderNumber;
+
+    /**
+     * 累计金额
+     */
+    private BigDecimal totalAmount;
+
+    /**
+     * 货币
+     */
+    private String currencyId;
+
+    /**
+     * 汇率
+     */
+    private BigDecimal exchangeRate;
+
+    /**
+     * 0待付款, 1已下单, 2待发货,3待收货,4待评价,5已完成,6已取消
+     */
+    private Integer status;
+
+    /**
+     * 支付时间
+     */
+    private Date paymentTime;
+
+    /**
+     * 优惠券抵扣金额
+     */
+    private BigDecimal couponDiscount;
+
+    /**
+     * 平台优惠券ID
+     */
+    private String globalCouponId;
+    /**
+     * 订单商品详情
+     */
+    private List<OrderItemVo> orderItemVoList;
+}

+ 6 - 0
edu-travel-remote/edu-travel-remote-tenant/pom.xml

@@ -51,5 +51,11 @@
             <artifactId>edu-travel-common-core</artifactId>
             <version>1.0-SNAPSHOT</version>
         </dependency>
+        <dependency>
+            <groupId>edu.travel</groupId>
+            <artifactId>edu-travel-remote-base</artifactId>
+            <version>1.0-SNAPSHOT</version>
+            <scope>compile</scope>
+        </dependency>
     </dependencies>
 </project>

+ 39 - 0
edu-travel-remote/edu-travel-remote-tenant/src/main/java/edu/travel/remote/feign/mode/dto/tenant/SysRoleDto.java

@@ -0,0 +1,39 @@
+package edu.travel.remote.feign.mode.dto.tenant;
+
+import edu.travel.entity.BaseEntity;
+import lombok.Data;
+
+/**
+ * SysRoloVo 类。
+ * <p>
+ * 描述:
+ *
+ * @author huangwenwen
+ * @date 2025/2/12
+ */
+
+@Data
+public class SysRoleDto extends BaseEntity {
+    /**
+     * 主键id
+     */
+    private String id;
+
+    /**
+     * 角色名称
+     */
+    private String name;
+
+    /**
+     * 角色描述
+     */
+    private String remark;
+
+    /**
+     * 状态 0禁用1启用
+     */
+    private Byte status;
+
+}
+
+

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

@@ -1,10 +1,13 @@
 package edu.travel.tenant;
 
+import edu.travel.remote.base.RemoteBaseController;
 import edu.travel.remote.feign.mode.dto.tenant.AddOrUpdateRoleDto;
 import edu.travel.remote.feign.mode.dto.tenant.AssignRolesOrMenusDto;
+import edu.travel.remote.feign.mode.dto.tenant.SysRoleDto;
 import edu.travel.remote.feign.mode.dto.tenant.SysRolePageDto;
 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;
@@ -14,7 +17,12 @@ import org.springframework.web.bind.annotation.RequestParam;
 import java.util.List;
 
 @FeignClient(name = "tenant-dev",path = "/sysRole")
-public interface SysRoleRemoteController {
+public interface SysRoleRemoteController extends RemoteBaseController<SysRoleVo, SysRoleDto> {
+    /**
+     * 通过id查找角色
+     */
+    @GetMapping("/getFormId")
+    public RPCBaseResponse<SysRoleVo> getFormId(@RequestParam("id") String id);
     /**
      * 新增管理角色并分配菜单
      */

+ 5 - 2
edu-travel-remote/edu-travel-remote-tenant/src/main/java/edu/travel/tenant/TenantRemoteController.java

@@ -1,5 +1,6 @@
 package edu.travel.tenant;
 
+import edu.travel.remote.base.RemoteBaseController;
 import edu.travel.remote.feign.mode.dto.tenant.AddOrUpdateTenantDto;
 import edu.travel.remote.feign.mode.dto.tenant.AssignRolesOrMenusDto;
 import edu.travel.remote.feign.mode.dto.tenant.EduTenantPageDto;
@@ -12,11 +13,13 @@ 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 org.springframework.web.bind.annotation.RequestParam;
+
 import java.util.List;
 import java.util.Set;
 
 @FeignClient(name = "tenant-dev",path = "/user")
-public interface TenantRemoteController {
+public interface TenantRemoteController  extends RemoteBaseController<EduTenantVo, AddOrUpdateTenantDto> {
 
     @GetMapping("/getTenantByPhoneNumber")
 //    @PreAuthorize("hasRole('超级管理员')")
@@ -53,7 +56,7 @@ public interface TenantRemoteController {
      */
     @GetMapping("/getTenantById")
 //    @PreAuthorize("hasRole('超级管理员')")
-    public RPCBaseResponse<EduTenantVo> getTenantById(Long id);
+    public RPCBaseResponse<EduTenantVo> getTenantById(@RequestParam("id") Long id);
     /**
      * 通过id查询商城用户信息
      */

+ 71 - 0
edu-travel-remote/edu-travel-remote-warehouse/src/main/java/edu/travel/dto/ShopWarehouseStaffDto.java

@@ -0,0 +1,71 @@
+package edu.travel.dto;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import edu.travel.po.PagePO;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+
+/**
+ * 库房人员关联表
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@TableName(value = "shop_warehouse_staff")
+public class ShopWarehouseStaffDto extends PagePO {
+    /**
+     * ID
+     */
+    private Long id;
+
+    /**
+     * 库房ID
+     */
+    private Long warehouseId;
+
+    /**
+     * 用户ID
+     */
+    private Long userId;
+
+    /**
+     * 角色
+     */
+    private Long roleId;
+
+    /**
+     * 系统标识
+     */
+    private String project;
+
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+
+    /**
+     * 创建人
+     */
+    private String createUserId;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * 更新人id
+     */
+    private String updateUserId;
+
+    /**
+     * 删除标记 0正常 1删除
+     */
+    private Integer deleteFlag;
+}

+ 83 - 0
edu-travel-remote/edu-travel-remote-warehouse/src/main/java/edu/travel/vo/ShopWarehouseStaffVo.java

@@ -0,0 +1,83 @@
+package edu.travel.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import edu.travel.entity.BaseEntity;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+
+/**
+ * 库房人员关联表
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@TableName(value = "shop_warehouse_staff")
+public class ShopWarehouseStaffVo extends BaseEntity {
+    /**
+     * ID
+     */
+    private Long id;
+
+    /**
+     * 库房ID
+     */
+    private Long warehouseId;
+
+    /**
+     * 用户ID
+     */
+    private Long userId;
+    /**
+     * 用户名
+     */
+    private String tenantName;
+
+    /**
+     * 角色id
+     */
+    private Long roleId;
+    /**
+     * 姓
+     */
+    private String tenantSurname;
+    /**
+     * 名
+     */
+    private String name;
+
+    /**
+     * 系统标识
+     */
+    private String project;
+
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+
+    /**
+     * 创建人
+     */
+    private String createUserId;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * 更新人id
+     */
+    private String updateUserId;
+
+    /**
+     * 删除标记 0正常 1删除
+     */
+    private Integer deleteFlag;
+}

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

@@ -18,6 +18,7 @@
         <module>edu-travel-remote-base</module>
         <module>edu-travel-remote-commodity</module>
         <module>edu-travel-remote-country</module>
+        <module>edu-travel-remote-order</module>
     </modules>
 
     <properties>

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

@@ -125,6 +125,11 @@
         </dependency>
         <dependency>
             <groupId>edu.travel</groupId>
+            <artifactId>edu-travel-adapter-order</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>edu.travel</groupId>
             <artifactId>edu-travel-remote-commodity</artifactId>
             <version>1.0-SNAPSHOT</version>
         </dependency>

+ 0 - 41
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/entity/ShopMgLabel.java

@@ -1,41 +0,0 @@
-package edu.travel.commodity.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import java.util.Date;
-
-import edu.travel.entity.BaseEntity;
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-/**
- * 商品评论表
- */
-@Data
-@AllArgsConstructor
-@NoArgsConstructor
-@TableName(value = "shop_mg_label")
-public class ShopMgLabel extends BaseEntity {
-    /**
-     * 商品评论表ID
-     */
-    @TableId(value = "id", type = IdType.ASSIGN_ID)
-    private Long id;
-
-    /**
-     * 父级ID、0为一级评论
-     */
-    @TableField(value = "review_id")
-    private Long reviewId;
-
-    /**
-     * 图片地址
-     */
-    @TableField(value = "img_url")
-    private String imgUrl;
-
-
-}

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

@@ -43,5 +43,9 @@ public class ShopProductParameters extends BaseEntity {
     @TableField(value = "parameters_value")
     private String parametersValue;
 
-
+    /**
+     * 国家ID
+     */
+    @TableField(value = "country_id")
+    private Long countryId;
 }

+ 5 - 0
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/entity/ShopSpec.java

@@ -31,5 +31,10 @@ public class ShopSpec extends BaseEntity {
     @TableField(value = "spec_name")
     private String specName;
 
+    /**
+     * 国家ID
+     */
+    @TableField(value = "country_id")
+    private Long countryId;
 
 }

+ 0 - 7
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/mapper/ShopMgLabelMapper.java

@@ -1,7 +0,0 @@
-package edu.travel.commodity.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import edu.travel.commodity.entity.ShopMgLabel;
-
-public interface ShopMgLabelMapper extends BaseMapper<ShopMgLabel> {
-}

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

@@ -2,7 +2,7 @@ package edu.travel.commodity.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import edu.travel.commodity.entity.ShopProductSpec;
-import edu.travel.vo.ShopSkuSpecValueVo;
+import edu.travel.remote.vo.ShopSkuSpecValueVo;
 
 import java.util.List;
 import java.util.Set;
@@ -10,4 +10,5 @@ import java.util.Set;
 public interface ShopProductSpecMapper extends BaseMapper<ShopProductSpec> {
 
     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

@@ -3,9 +3,9 @@ package edu.travel.commodity.service;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import edu.travel.commodity.entity.ShopAddress;
 import com.baomidou.mybatisplus.extension.service.IService;
-import edu.travel.dto.BaseDto;
-import edu.travel.dto.UpdateAddressDto;
-import edu.travel.vo.ShopAddressVo;
+import edu.travel.remote.dto.BaseDto;
+import edu.travel.remote.dto.UpdateAddressDto;
+import edu.travel.remote.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

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

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

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

+ 0 - 8
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/ShopMgLabelService.java

@@ -1,8 +0,0 @@
-package edu.travel.commodity.service;
-
-import edu.travel.commodity.entity.ShopMgLabel;
-import com.baomidou.mybatisplus.extension.service.IService;
-public interface ShopMgLabelService extends IService<ShopMgLabel>{
-
-
-}

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

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

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

@@ -3,9 +3,9 @@ package edu.travel.commodity.service;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import edu.travel.commodity.entity.ShopProduct;
 import com.baomidou.mybatisplus.extension.service.IService;
-import edu.travel.dto.GetProductByTypeDto;
-import edu.travel.dto.SearchProductDto;
-import edu.travel.vo.ShopProductVo;
+import edu.travel.remote.dto.GetProductByTypeDto;
+import edu.travel.remote.dto.SearchProductDto;
+import edu.travel.remote.vo.ShopProductVo;
 
 import java.io.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.vo.ShopSkuSpecValueVo;
+import edu.travel.remote.vo.ShopSkuSpecValueVo;
 
 import java.util.List;
 import java.util.Map;

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

@@ -2,9 +2,9 @@ package edu.travel.commodity.service;
 
 import edu.travel.commodity.entity.ShopProductSpec;
 import com.baomidou.mybatisplus.extension.service.IService;
-import edu.travel.dto.ProductSpecDto;
-import edu.travel.vo.ProductSpecVo;
-import edu.travel.vo.SpecSortVo;
+import edu.travel.remote.dto.ProductSpecDto;
+import edu.travel.remote.vo.ProductSpecVo;
+import edu.travel.remote.vo.SpecSortVo;
 
 import java.util.List;
 

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

@@ -3,12 +3,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;
+import edu.travel.remote.dto.AddReviewDto;
+import edu.travel.remote.dto.ProductSpecDto;
+import edu.travel.remote.vo.ShopReviewVo;
 
 public interface ShopReviewService extends IService<ShopReview>{
 
 
     Page<ShopReviewVo> getShopReview(ProductSpecDto params);
 
+    String addReview(AddReviewDto params);
 }

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

@@ -3,8 +3,8 @@ package edu.travel.commodity.service;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import edu.travel.commodity.entity.ShopSearchRecords;
 import com.baomidou.mybatisplus.extension.service.IService;
-import edu.travel.dto.SearchRecordListDto;
-import edu.travel.vo.SearchRecordsVo;
+import edu.travel.remote.dto.SearchRecordListDto;
+import edu.travel.remote.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

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

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

@@ -11,9 +11,9 @@ 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.dto.BaseDto;
-import edu.travel.dto.UpdateAddressDto;
-import edu.travel.vo.ShopAddressVo;
+import edu.travel.remote.dto.BaseDto;
+import edu.travel.remote.dto.UpdateAddressDto;
+import edu.travel.remote.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

@@ -14,9 +14,9 @@ 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.dto.BaseDto;
-import edu.travel.dto.ShopTypeDto;
-import edu.travel.vo.ShopTypeVo;
+import edu.travel.remote.dto.BaseDto;
+import edu.travel.remote.dto.ShopTypeDto;
+import edu.travel.remote.vo.ShopTypeVo;
 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/ShopFavoriteServiceImpl.java

@@ -11,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.dto.BaseDto;
+import edu.travel.remote.dto.BaseDto;
 import edu.travel.service.SysServiceImpl;
-import edu.travel.vo.ShopFavoriteVo;
+import edu.travel.remote.vo.ShopFavoriteVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 

+ 0 - 12
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/impl/ShopMgLabelServiceImpl.java

@@ -1,12 +0,0 @@
-package edu.travel.commodity.service.impl;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import edu.travel.commodity.entity.ShopMgLabel;
-import edu.travel.commodity.mapper.ShopMgLabelMapper;
-import edu.travel.commodity.service.ShopMgLabelService;
-import org.springframework.stereotype.Service;
-
-@Service
-public class ShopMgLabelServiceImpl extends ServiceImpl<ShopMgLabelMapper, ShopMgLabel> implements ShopMgLabelService {
-
-}

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

@@ -10,8 +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.dto.ProductSpecDto;
-import edu.travel.vo.ShopParametersVo;
+import edu.travel.remote.dto.ProductSpecDto;
+import edu.travel.remote.vo.ShopParametersVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 

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

@@ -10,9 +10,9 @@ 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.dto.GetProductByTypeDto;
-import edu.travel.dto.SearchProductDto;
-import edu.travel.vo.ShopProductVo;
+import edu.travel.remote.dto.GetProductByTypeDto;
+import edu.travel.remote.dto.SearchProductDto;
+import edu.travel.remote.vo.ShopProductVo;
 import org.springframework.stereotype.Service;
 
 import java.io.IOException;

+ 1 - 1
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.vo.ShopSkuSpecValueVo;
+import edu.travel.remote.vo.ShopSkuSpecValueVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.web.context.request.RequestContextHolder;

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

@@ -9,8 +9,8 @@ import edu.travel.commodity.constant.BaseConstant;
 import edu.travel.commodity.entity.*;
 import edu.travel.commodity.mapper.ShopProductSpecMapper;
 import edu.travel.commodity.service.*;
-import edu.travel.dto.ProductSpecDto;
-import edu.travel.vo.*;
+import edu.travel.remote.dto.ProductSpecDto;
+import edu.travel.remote.vo.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.web.context.request.RequestContextHolder;

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

@@ -1,23 +1,27 @@
 package edu.travel.commodity.service.impl;
 
+import cn.hutool.core.bean.BeanUtil;
 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.order.OrderItemAdapter;
 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.commodity.utils.StringUtil;
+import edu.travel.commodity.utils.TokenData;
+import edu.travel.remote.dto.AddReviewDto;
+import edu.travel.remote.dto.GetOrderItemDto;
+import edu.travel.remote.dto.ProductSpecDto;
 import edu.travel.exception.BaseException;
 import edu.travel.remote.feign.mode.vo.tenant.EduTenantVo;
+import edu.travel.remote.vo.*;
 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;
 
@@ -31,6 +35,8 @@ import java.util.stream.Collectors;
 public class ShopReviewServiceImpl extends ServiceImpl<ShopReviewMapper, ShopReview> implements ShopReviewService {
     @Autowired
     private TenantAdapter tenantAdapter;
+    @Autowired
+    private OrderItemAdapter orderItemAdapter;
     @Override
     public Page<ShopReviewVo> getShopReview(ProductSpecDto params) {
         LambdaQueryWrapper<ShopReview> query = Wrappers.<ShopReview>lambdaQuery()
@@ -56,13 +62,56 @@ public class ShopReviewServiceImpl extends ServiceImpl<ShopReviewMapper, ShopRev
             users.put(datum.getId(), datum);
         }
         for (ShopReviewVo record : records) {
-            List<String> list = StringToListUtil.toList(record.getImage());
+            List<String> list = StringUtil.toList(record.getImage());
             record.setImageUrls(list);
-            SpecOneVo bean = JSONUtil.toBean(record.getSkuDetails(), SpecOneVo.class);
-            record.setSpecOneVo(bean);
+            if(!ObjectUtil.isEmpty(record.getSkuDetails())){
+                String jsonPrettyStr = JSONUtil.toJsonPrettyStr(record.getSkuDetails());
+                List<SpecOneVo> list1 = JSONUtil.toList(jsonPrettyStr, SpecOneVo.class);
+                record.setSpecOneVo(list1);
+            }
             EduTenantVo eduTenantVo = users.get(record.getUserId());
             record.setEduTenantVo(eduTenantVo);
         }
         return pageEntity;
     }
+
+    @Override
+    public String addReview(AddReviewDto params) {
+        String userId = TokenData.getUserId();
+        LambdaQueryWrapper<ShopReview> query = Wrappers.<ShopReview>lambdaQuery().eq(ShopReview::getUserId, userId)
+                .eq(ShopReview::getOrderId, params.getOrderId())
+                .eq(ShopReview::getProductId, params.getProductId());
+        List<ShopReview> list = list(query);
+        if(!ObjectUtil.isEmpty(list)){
+            return "您已经评价过了";
+        }
+        ShopReview bean = BeanUtil.toBean(params, ShopReview.class);
+        bean.setUserId(Long.valueOf(userId));
+        String image = StringUtil.toListString(params.getImage());
+        bean.setImage(image);
+        //获取商品sku快照 SpecOneVo JSON
+        GetOrderItemDto getOrderItemDto = new GetOrderItemDto();
+        getOrderItemDto.setOrderId(params.getOrderId());
+        getOrderItemDto.setSkuId(params.getSkuId());
+        getOrderItemDto.setProductId(params.getProductId());
+        RPCBaseResponse<OrderItemVo> result = orderItemAdapter.getOrderItemVo(getOrderItemDto);
+        if(result.getCode()!=200){
+            throw new BaseException(result.getCode(), result.getMsg());
+        }
+        OrderItemVo data = result.getData();
+        if(data == null){
+            return "订单信息有误";
+        }
+        String snapshot = data.getSnapshot();
+        if(!ObjectUtil.isEmpty(snapshot)){
+            //订单快照对象
+            ShopSnapshotVo bean1 = JSONUtil.toBean(snapshot, ShopSnapshotVo.class);
+            List<SpecValueVo> snapshot1 = bean1.getSnapshotSpec();
+            String jsonStr = JSONUtil.toJsonStr(snapshot1);
+            bean.setSkuDetails(jsonStr);
+        }
+        bean.setUpdateUserId(userId);
+        save(bean);
+        return "评价成功";
+    }
 }

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

@@ -8,8 +8,8 @@ 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.dto.SearchRecordListDto;
-import edu.travel.vo.SearchRecordsVo;
+import edu.travel.remote.dto.SearchRecordListDto;
+import edu.travel.remote.vo.SearchRecordsVo;
 import org.springframework.stereotype.Service;
 
 import java.util.Date;

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

@@ -17,12 +17,12 @@ 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.dto.AddShopCartDto;
-import edu.travel.dto.BaseDto;
+import edu.travel.remote.dto.AddShopCartDto;
+import edu.travel.remote.dto.BaseDto;
 import edu.travel.exception.BaseException;
-import edu.travel.vo.ShopCartListVo;
-import edu.travel.vo.ShopSkuSpecValueVo;
-import edu.travel.vo.SpecValueVo;
+import edu.travel.remote.vo.ShopCartListVo;
+import edu.travel.remote.vo.ShopSkuSpecValueVo;
+import edu.travel.remote.vo.SpecValueVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.web.context.request.RequestContextHolder;

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

@@ -1,20 +0,0 @@
-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;
-    }
-}

+ 26 - 0
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/utils/StringUtil.java

@@ -0,0 +1,26 @@
+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 StringUtil {
+
+    public static List<String> toList(String str){
+        if(!ObjectUtil.isEmpty(str)){
+            return Arrays.asList(str.split(","));
+        }
+        return new ArrayList<>();
+    }
+    public static String toListString(List<String> list){
+        String result="";
+        for (String s : list) {
+            result=s+",";
+        }
+        return result;
+    }
+}

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

@@ -3,18 +3,17 @@ package edu.travel.commodity.web;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import edu.travel.commodity.entity.ShopAddress;
 import edu.travel.commodity.service.ShopAddressService;
-import edu.travel.dto.BaseDto;
-import edu.travel.dto.UpdateAddressDto;
+import edu.travel.remote.dto.BaseDto;
+import edu.travel.remote.dto.UpdateAddressDto;
 import edu.travel.resp.BaseResponse;
 import edu.travel.rpc.RPCBaseResponse;
-import edu.travel.vo.ShopAddressVo;
+import edu.travel.remote.vo.ShopAddressVo;
 import edu.travel.web.BaseController;
 import org.springframework.web.bind.annotation.*;
 
 import org.springframework.beans.factory.annotation.Autowired;
 
 import static edu.travel.rpc.RPCBaseResponse.success;
-import static org.bouncycastle.asn1.cmc.CMCStatus.success;
 
 /**
 * 地址表(shop_address)表控制层

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

@@ -2,12 +2,12 @@ package edu.travel.commodity.web;
 
 import edu.travel.commodity.entity.ShopCategory;
 import edu.travel.commodity.service.ShopCategoryService;
-import edu.travel.dto.BaseDto;
-import edu.travel.dto.ShopTypeDto;
+import edu.travel.remote.dto.BaseDto;
+import edu.travel.remote.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.remote.vo.ShopTypeVo;
 import edu.travel.web.BaseController;
 import org.springframework.web.bind.annotation.*;
 

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

@@ -2,9 +2,9 @@ package edu.travel.commodity.web;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import edu.travel.commodity.service.ShopFavoriteService;
-import edu.travel.dto.BaseDto;
+import edu.travel.remote.dto.BaseDto;
 import edu.travel.rpc.RPCBaseResponse;
-import edu.travel.vo.ShopFavoriteVo;
+import edu.travel.remote.vo.ShopFavoriteVo;
 import org.springframework.web.bind.annotation.*;
 
 import org.springframework.beans.factory.annotation.Autowired;

+ 0 - 23
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopMgLabelController.java

@@ -1,23 +0,0 @@
-package edu.travel.commodity.web;
-
-import edu.travel.commodity.service.ShopMgLabelService;
-import org.springframework.web.bind.annotation.*;
-
-import org.springframework.beans.factory.annotation.Autowired;
-
-/**
-* 商品评论表(shop_mg_label)表控制层
-*
-* @author xxxxx
-*/
-@RestController
-@RequestMapping("/shop_mg_label")
-public class ShopMgLabelController {
-/**
-* 服务对象
-*/
-    @Autowired
-    private ShopMgLabelService shopMgLabelService;
-
-
-}

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

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

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

@@ -3,11 +3,11 @@ package edu.travel.commodity.web;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import edu.travel.commodity.entity.ShopProduct;
 import edu.travel.commodity.service.ShopProductService;
-import edu.travel.dto.GetProductByTypeDto;
-import edu.travel.dto.SearchProductDto;
+import edu.travel.remote.dto.GetProductByTypeDto;
+import edu.travel.remote.dto.SearchProductDto;
 import edu.travel.resp.BaseResponse;
 import edu.travel.rpc.RPCBaseResponse;
-import edu.travel.vo.ShopProductVo;
+import edu.travel.remote.vo.ShopProductVo;
 import edu.travel.web.BaseController;
 import org.springframework.web.bind.annotation.*;
 

+ 11 - 0
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopProductSkuController.java

@@ -2,11 +2,17 @@ package edu.travel.commodity.web;
 
 import edu.travel.commodity.entity.ShopProductSku;
 import edu.travel.commodity.service.ShopProductSkuService;
+import edu.travel.remote.vo.ShopSkuSpecValueVo;
+import edu.travel.rpc.RPCBaseResponse;
 import edu.travel.web.BaseController;
 import org.springframework.web.bind.annotation.*;
 
 import org.springframework.beans.factory.annotation.Autowired;
 
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
 /**
 * 商品SKU表(shop_product_sku)表控制层
 *
@@ -21,6 +27,11 @@ public class ShopProductSkuController extends BaseController<ShopProductSku> {
     @Autowired
     private ShopProductSkuService shopProductSkuService;
 
+    @GetMapping("/getSkuValuesById")
+    public RPCBaseResponse<Map<String, List<ShopSkuSpecValueVo>>> getSkuValuesById(Set<String> skuId){
+        return RPCBaseResponse.success(shopProductSkuService.getSkuValuesById(skuId));
+    }
+
 
 
 }

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

@@ -2,10 +2,10 @@ package edu.travel.commodity.web;
 
 import edu.travel.commodity.entity.ShopProductSpec;
 import edu.travel.commodity.service.ShopProductSpecService;
-import edu.travel.dto.ProductSpecDto;
+import edu.travel.remote.dto.ProductSpecDto;
 import edu.travel.resp.BaseResponse;
 import edu.travel.rpc.RPCBaseResponse;
-import edu.travel.vo.ProductSpecVo;
+import edu.travel.remote.vo.ProductSpecVo;
 import edu.travel.web.BaseController;
 import org.springframework.web.bind.annotation.*;
 
@@ -32,7 +32,7 @@ public class ShopProductSpecController extends BaseController<ShopProductSpec> {
     /**
      * 查询商品详情
      * @param param
-     * @return {@link BaseResponse }<{@link List }<{@link ShopProductVo }>>
+     * @return {@link BaseResponse }<{@link List }<{@link ProductSpecVo }>>
      */
     @GetMapping("/getShopSpec")
     public RPCBaseResponse<ProductSpecVo> getShopSpec(ProductSpecDto param){

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

@@ -2,14 +2,14 @@ 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.remote.dto.AddReviewDto;
+import edu.travel.remote.dto.ProductSpecDto;
 import edu.travel.rpc.RPCBaseResponse;
-import edu.travel.vo.ShopReviewVo;
+import edu.travel.remote.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;
 
@@ -38,4 +38,14 @@ public class ShopReviewController {
     public RPCBaseResponse<Page<ShopReviewVo>> getShopReview(ProductSpecDto params) {
         return success(shopReviewService.getShopReview(params));
     }
+
+    /**
+     * 发表评论
+     * @param params
+     * @return {@link RPCBaseResponse }<{@link String }>
+     */
+    @PostMapping("/addReview")
+    public RPCBaseResponse<String> addReview(@RequestBody AddReviewDto params) {
+        return success(shopReviewService.addReview(params));
+    }
 }

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

@@ -3,9 +3,9 @@ package edu.travel.commodity.web;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import edu.travel.commodity.entity.ShopSearchRecords;
 import edu.travel.commodity.service.ShopSearchRecordsService;
-import edu.travel.dto.SearchRecordListDto;
+import edu.travel.remote.dto.SearchRecordListDto;
 import edu.travel.rpc.RPCBaseResponse;
-import edu.travel.vo.SearchRecordsVo;
+import edu.travel.remote.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

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

+ 0 - 22
edu-travel-service/edu-travel-service-commodity/src/main/resources/mapper/ShopMgLabelMapper.xml

@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="edu.travel.commodity.mapper.ShopMgLabelMapper">
-  <resultMap id="BaseResultMap" type="edu.travel.commodity.entity.ShopMgLabel">
-    <!--@mbg.generated-->
-    <!--@Table shop_mg_label-->
-    <id column="id" jdbcType="BIGINT" property="id" />
-    <result column="review_id" jdbcType="BIGINT" property="reviewId" />
-    <result column="img_url" jdbcType="VARCHAR" property="imgUrl" />
-    <result column="project" jdbcType="VARCHAR" property="project" />
-    <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
-    <result column="create_user_id" jdbcType="VARCHAR" property="createUserId" />
-    <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" />
-  </resultMap>
-  <sql id="Base_Column_List">
-    <!--@mbg.generated-->
-    id, review_id, img_url, project, create_time, create_user_id, update_time, update_user_id, 
-    delete_flag
-  </sql>
-</mapper>

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

@@ -14,10 +14,11 @@
     <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="country_id" jdbcType="BIGINT" property="countryId" />
   </resultMap>
   <sql id="Base_Column_List">
     <!--@mbg.generated-->
     id, product_id, parameters_id, parameters_value, project, create_time, create_user_id, 
-    update_time, update_user_id, delete_flag
+    update_time, update_user_id, delete_flag,country_id
   </sql>
 </mapper>

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

@@ -22,13 +22,13 @@
     delete_flag,sort_order,spec_id
   </sql>
 
-  <select id="getSkuValue" resultType="edu.travel.vo.ShopSkuSpecValueVo">
+  <select id="getSkuValue" resultType="edu.travel.remote.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
-    inner JOIN shop_product_spec sp
+    INNER JOIN shop_product_spec sp
         on sp.id=sk.spec_id
-    inner JOIN shop_spec_value sv
+    INNER JOIN shop_spec_value sv
         on sv.id=sk.spec_value_id
     WHERE
     sk.project=#{project}
@@ -39,5 +39,8 @@
     <foreach collection="skus" item="sku" open="IN(" separator="," close=")">
       #{sku}
     </foreach>
+    ORDER BY
+    sp.sort_order ASC;
+    sv.sort_order ASC;
     </select>
 </mapper>

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

@@ -12,10 +12,11 @@
     <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="country_id" jdbcType="BIGINT" property="countryId" />
   </resultMap>
   <sql id="Base_Column_List">
     <!--@mbg.generated-->
     id, spec_name, project, create_time, create_user_id, update_time, update_user_id, 
-    delete_flag
+    delete_flag,country_id
   </sql>
 </mapper>

+ 1 - 1
edu-travel-service/edu-travel-service-country/src/main/java/edu/travel/country/web/BaseCountryController.java

@@ -52,7 +52,7 @@ public class BaseCountryController extends BaseController<BaseCountry> implement
      * 通过id查询国家
      */
     @Override
-    @GetMapping("/getCountryFormId")
+    @GetMapping("/getFormId")
     public RPCBaseResponse<BaseCountryVo> getFormId(String id) {
         RPCBaseResponse<BaseCountry> countryRPCBaseResponse = super.getId(id);
         RPCBaseResponse<BaseCountryVo> baseCountryVoRPCBaseResponse = new RPCBaseResponse<>();

+ 5 - 0
edu-travel-service/edu-travel-service-order/pom.xml

@@ -140,6 +140,11 @@
             <version>1.2.6</version>
             <scope>compile</scope>
         </dependency>
+        <dependency>
+            <groupId>edu.travel</groupId>
+            <artifactId>edu-travel-remote-order</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
         <!--        <dependency>-->
         <!--            <groupId>jakarta.validation</groupId>-->
         <!--            <artifactId>jakarta.validation-api</artifactId>-->

+ 2 - 0
edu-travel-service/edu-travel-service-order/src/main/java/edu/travel/OrderApplication.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.order.mapper")
 @EnableRedisCache
+@EnableFeignClients
 public class OrderApplication {
     public static void main(String[] args) {
         SpringApplication.run(OrderApplication.class, args);

+ 32 - 3
edu-travel-service/edu-travel-service-order/src/main/java/edu/travel/order/controller/ShopOrderController.java

@@ -1,15 +1,44 @@
 package edu.travel.order.controller;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import edu.travel.order.entity.ShopOrder;
+import edu.travel.order.service.ShopOrderService;
+import edu.travel.remote.dto.AddReviewDto;
+import edu.travel.remote.dto.ShowOrderInfoDto;
+import edu.travel.remote.vo.ShowOrderInfoVo;
+import edu.travel.rpc.RPCBaseResponse;
 import edu.travel.web.BaseController;
-import org.checkerframework.checker.units.qual.A;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+import static edu.travel.rpc.RPCBaseResponse.success;
 
 
 @RestController
 @RequestMapping("/shopOrder")
 public class ShopOrderController extends BaseController<ShopOrder> {
+    @Autowired
+    private ShopOrderService shopOrderService;
 
+    /**
+     *  状态查询我的订单
+     * @param params
+     * @return {@link RPCBaseResponse }<{@link Page }<{@link ShowOrderInfoVo }>>
+     */
+    @GetMapping("/showOrderInfo")
+    public RPCBaseResponse<Page<ShowOrderInfoVo>> showOrderInfo(ShowOrderInfoDto params){
+        return success(shopOrderService.showOrderInfo(params));
+    }
 
+    /**
+     *  下单
+     * @param params
+     * @return {@link RPCBaseResponse }<{@link Void }>
+     */
+    @PostMapping("/addOrder")
+    public RPCBaseResponse<String> addOrder(@RequestBody List<AddReviewDto> params){
+        return success(shopOrderService.addOrder(params));
+    }
 }

+ 39 - 1
edu-travel-service/edu-travel-service-order/src/main/java/edu/travel/order/controller/ShopOrderItemController.java

@@ -1,13 +1,51 @@
 package edu.travel.order.controller;
 
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.json.JSONUtil;
+import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
 import edu.travel.order.entity.ShopOrderItem;
+import edu.travel.order.service.ShopOrderItemService;
+import edu.travel.remote.dto.GetOrderItemDto;
+import edu.travel.remote.order.ShopOrderItemRemoteController;
+import edu.travel.remote.vo.OrderItemVo;
+import edu.travel.remote.vo.ShopSnapshotVo;
+import edu.travel.remote.vo.SpecValueVo;
+import edu.travel.rpc.RPCBaseResponse;
 import edu.travel.web.BaseController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
+
+import static edu.travel.rpc.RPCBaseResponse.success;
+
 
 @RestController
 @RequestMapping("/shopOrderItem")
-public class ShopOrderItemController extends BaseController<ShopOrderItem> {
+public class ShopOrderItemController extends BaseController<ShopOrderItem> implements ShopOrderItemRemoteController {
+
+    @Autowired
+    private ShopOrderItemService shopOrderItemService;
+
+    @GetMapping("/getOrderItemVo")
+    public RPCBaseResponse<OrderItemVo> getOrderItemVo(@RequestBody GetOrderItemDto params) {
+
+        LambdaQueryChainWrapper<ShopOrderItem> query = shopOrderItemService.lambdaQuery().eq(ShopOrderItem::getSkuId, params.getSkuId())
+                .eq(ShopOrderItem::getOrderId, params.getOrderId())
+                .eq(ShopOrderItem::getProductId, params.getProductId());
+        ShopOrderItem shopOrderItem = query.one();
+        OrderItemVo bean = BeanUtil.toBean(shopOrderItem, OrderItemVo.class);
+        if(!ObjectUtil.isEmpty(shopOrderItem) && !ObjectUtil.isEmpty(shopOrderItem.getSnapshot())){
+            ShopSnapshotVo bean1 = JSONUtil.toBean(shopOrderItem.getSnapshot(), ShopSnapshotVo.class);
+            bean.setShopSnapshotVo(bean1);
+        }
+        //订单快照对象
+        return success(bean);
+    }
+
 
 }

+ 5 - 0
edu-travel-service/edu-travel-service-order/src/main/java/edu/travel/order/controller/ShopOrderTypeChangeController.java

@@ -1,12 +1,17 @@
 package edu.travel.order.controller;
 
 import edu.travel.order.entity.ShopOrderTypeChange;
+import edu.travel.order.service.ShopOrderTypeChangeService;
 import edu.travel.web.BaseController;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 @RestController
 @RequestMapping("/shopOrderTypeChange")
 public class ShopOrderTypeChangeController extends BaseController<ShopOrderTypeChange> {
+    @Autowired
+    private ShopOrderTypeChangeService shopOrderTypeChangeService;
+
 
 }

+ 10 - 1
edu-travel-service/edu-travel-service-order/src/main/java/edu/travel/order/entity/ShopOrder.java

@@ -81,6 +81,11 @@ public class ShopOrder extends BaseEntity {
     private Long addressId;
 
     /**
+     * 收货地址
+     */
+    @TableField(value = "address")
+    private String address;
+    /**
      * 订单号
      */
     @TableField(value = "order_number")
@@ -97,7 +102,11 @@ public class ShopOrder extends BaseEntity {
      */
     @TableField(value = "currency_id")
     private Long currencyId;
-
+    /**
+     * 货币
+     */
+    @TableField(value = "currency")
+    private String currency;
     /**
      * 汇率
      */

+ 8 - 1
edu-travel-service/edu-travel-service-order/src/main/java/edu/travel/order/entity/ShopOrderItem.java

@@ -30,7 +30,7 @@ public class ShopOrderItem extends BaseEntity {
      * 订单表ID
      */
     @TableField(value = "order_id")
-    private Long orderId;
+    private String orderId;
 
     /**
      * SKU
@@ -74,4 +74,11 @@ public class ShopOrderItem extends BaseEntity {
     @TableField(value = "`state`")
     private Integer state;
 
+    /**
+     * 商品ID
+     */
+    @TableField(value = "product_id")
+    private Long productId;
+
+
 }

Bu fark içinde çok fazla dosya değişikliği olduğu için bazı dosyalar gösterilmiyor