Selaa lähdekoodia

Merge remote-tracking branch 'origin/main'

1 viikko sitten
vanhempi
commit
3b3e67c00d
58 muutettua tiedostoa jossa 871 lisäystä ja 252 poistoa
  1. 14 0
      edu-travel-common/edu-travel-common-resp/src/main/java/edu/travel/rpc/RPCBaseResponse.java
  2. 109 0
      edu-travel-remote/edu-travel-remote-country/src/main/java/edu/travel/dto/BaseCountryServeCurrencyDto.java
  3. 16 0
      edu-travel-remote/edu-travel-remote-country/src/main/java/edu/travel/dto/ShopCurrencyDto.java
  4. 60 0
      edu-travel-remote/edu-travel-remote-country/src/main/java/edu/travel/entity/ShopCurrency.java
  5. 7 0
      edu-travel-remote/edu-travel-remote-country/src/main/java/edu/travel/mapper/ShopCurrencyMapper.java
  6. 0 4
      edu-travel-remote/edu-travel-remote-country/src/main/java/edu/travel/remote/BaseCountryServeRemoteController.java
  7. 111 0
      edu-travel-remote/edu-travel-remote-country/src/main/java/edu/travel/vo/BaseCountryServeCurrencyVo.java
  8. 12 1
      edu-travel-remote/edu-travel-remote-country/src/main/java/edu/travel/vo/BaseCountryServeVo.java
  9. 16 0
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/dto/SearchProductDto.java
  10. 9 0
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/dto/SearchRecordListDto.java
  11. 6 0
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/entity/ShopFavorite.java
  12. 5 0
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/entity/ShopProductSku.java
  13. 20 0
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/enums/SearchType.java
  14. 0 7
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/mapper/ShopProductSkuMapper.java
  15. 3 2
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/ShopCategoryService.java
  16. 7 0
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/ShopFavoriteService.java
  17. 3 0
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/ShopProductService.java
  18. 3 4
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/ShopProductSkuService.java
  19. 7 0
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/ShopSearchRecordsService.java
  20. 59 2
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/impl/ShopFavoriteServiceImpl.java
  21. 1 1
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/impl/ShopOpinionTypeServiceImpl.java
  22. 4 1
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/impl/ShopParametersServiceImpl.java
  23. 6 4
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/impl/ShopProductServiceImpl.java
  24. 14 37
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/impl/ShopProductSkuServiceImpl.java
  25. 45 0
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/impl/ShopSearchRecordsServiceImpl.java
  26. 14 16
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/impl/ShopShoppingCartServiceImpl.java
  27. 19 0
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/utils/ObjectUtils.java
  28. 7 1
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/utils/PageUtil.java
  29. 0 5
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/vo/ProductSkuVo.java
  30. 34 0
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/vo/SearchRecordsVo.java
  31. 7 0
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/vo/ShopCartListVo.java
  32. 49 0
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/vo/ShopFavoriteVo.java
  33. 1 1
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/vo/ShopParametersVo.java
  34. 4 0
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/vo/ShopProductVo.java
  35. 0 22
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/vo/SortSpecVo.java
  36. 0 1
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/vo/SpecValueSortVo.java
  37. 9 3
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/vo/SpecValueVo.java
  38. 0 22
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/vo/SpecVo.java
  39. 8 4
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopAddressController.java
  40. 10 7
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopCategoryController.java
  41. 14 2
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopFavoriteController.java
  42. 6 3
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopParametersController.java
  43. 15 2
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopProductController.java
  44. 5 2
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopProductSpecController.java
  45. 2 0
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopReviewController.java
  46. 30 1
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopSearchRecordsController.java
  47. 9 6
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopShoppingCartController.java
  48. 2 48
      edu-travel-service/edu-travel-service-commodity/src/main/resources/mapper/ShopProductSkuMapper.xml
  49. 7 0
      edu-travel-service/edu-travel-service-country/src/main/java/edu/travel/country/entity/BaseCountryServe.java
  50. 4 0
      edu-travel-service/edu-travel-service-country/src/main/java/edu/travel/country/entity/ShopCurrency.java
  51. 3 3
      edu-travel-service/edu-travel-service-country/src/main/java/edu/travel/country/service/BaseCountryServeService.java
  52. 16 13
      edu-travel-service/edu-travel-service-country/src/main/java/edu/travel/country/service/impl/BaseCountryServeServiceImpl.java
  53. 22 20
      edu-travel-service/edu-travel-service-country/src/main/java/edu/travel/country/web/BaseCountryServeController.java
  54. 3 3
      edu-travel-service/edu-travel-service-country/src/main/java/edu/travel/country/web/ShopCurrencyController.java
  55. 0 1
      edu-travel-service/edu-travel-service-country/src/main/java/edu/travel/country/web/ShopLanguageController.java
  56. 1 1
      edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/service/impl/ShopBannerServiceImpl.java
  57. 28 0
      edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/vo/BannerVo.java
  58. 5 2
      edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/web/ShopBannerController.java

+ 14 - 0
edu-travel-common/edu-travel-common-resp/src/main/java/edu/travel/rpc/RPCBaseResponse.java

@@ -13,4 +13,18 @@ public class RPCBaseResponse<T> implements Serializable {
     private Integer code;
     private String msg;
     private T data;
+
+
+    public static <T> RPCBaseResponse<T> success(T data) {
+        return new RPCBaseResponse<>(0, "success", data);
+    }
+    public static <T> RPCBaseResponse<T> success() {
+        return new RPCBaseResponse<>(200, "success",null);
+    }
+    public static <T> RPCBaseResponse<T> success(String message) {
+        return new RPCBaseResponse<>(200, message, null);
+    }
+    public static <T> RPCBaseResponse<T> success(String message,T data) {
+        return new RPCBaseResponse<>(200, message, data);
+    }
 }

+ 109 - 0
edu-travel-remote/edu-travel-remote-country/src/main/java/edu/travel/dto/BaseCountryServeCurrencyDto.java

@@ -0,0 +1,109 @@
+package edu.travel.dto;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import edu.travel.po.PagePO;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 服务国家表
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class BaseCountryServeCurrencyDto extends PagePO {
+    /**
+     * ID
+     */
+    private Long id;
+
+    /**
+     * 所属洲
+     */
+    private Long parentId;
+
+    /**
+     * 关联国家id
+     */
+    private Long countryId;
+
+    /**
+     * 服务费比率
+     */
+    private BigDecimal serviceChargeValue;
+
+    /**
+     * 结算显示方式 -0 CNY100 -1 ¥100 -2 100RMB
+     */
+    private Integer payViewWay;
+
+    /**
+     * 中文国家/洲名称
+     */
+    private String countryNameZh;
+
+    /**
+     * 英文国家/洲名称
+     */
+    private String countryNameEn;
+
+    /**
+     * 本地国家/洲名称
+     */
+    private String countryNameLocal;
+
+    /**
+     * 服务状态,默认0,-0未开通,-1开通
+     */
+    private Integer serveEnable;
+
+
+    /**
+     * 货币表id
+     */
+    private Long currencyId;
+    /**
+     * 创建时间
+     */
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    /**
+     * 更新时间
+     */
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
+    /**
+     * 货币名称_en
+     */
+    @TableField(value = "currency_name_en")
+    private String currencyNameEn;
+
+    /**
+     * 货币名称_zh
+     */
+    @TableField(value = "currency_name_zh")
+    private String currencyNameZh;
+
+    /**
+     * 货币代码
+     */
+    @TableField(value = "currency_code")
+    private String currencyCode;
+
+    /**
+     * 货币符号
+     * */
+    @TableField(value = "currency_symbol")
+    private String currencySymbol;
+    /**
+     * 货币单位
+     * */
+    @TableField(value = "currency_unit")
+    private String currencyUnit;
+}

+ 16 - 0
edu-travel-remote/edu-travel-remote-country/src/main/java/edu/travel/dto/ShopCurrencyDto.java

@@ -4,12 +4,15 @@ 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 com.fasterxml.jackson.annotation.JsonFormat;
 import edu.travel.entity.BaseEntity;
 import edu.travel.po.PagePO;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
+import java.util.Date;
+
 /**
  * 货币表
  */
@@ -58,4 +61,17 @@ public class ShopCurrencyDto extends PagePO {
      * */
     @TableField(value = "status")
     private String status;
+    /**
+     * 创建时间
+     */
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+
+    /**
+     * 更新时间
+     */
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
+
 }

+ 60 - 0
edu-travel-remote/edu-travel-remote-country/src/main/java/edu/travel/entity/ShopCurrency.java

@@ -0,0 +1,60 @@
+package edu.travel.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 lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 货币表
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@TableName(value = "shop_currency")
+public class ShopCurrency extends BaseEntity {
+    /**
+     * ID
+     */
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+
+    /**
+     * 货币名称_en
+     */
+    @TableField(value = "currency_name_en")
+    private String currencyNameEn;
+
+    /**
+     * 货币名称_zh
+     */
+    @TableField(value = "currency_name_zh")
+    private String currencyNameZh;
+
+    /**
+     * 货币代码
+     */
+    @TableField(value = "currency_code")
+    private String currencyCode;
+
+    /**
+     * 货币符号
+     * */
+    @TableField(value = "currency_symbol")
+    private String currencySymbol;
+    /**
+     * 货币单位
+     * */
+    @TableField(value = "currency_unit")
+    private String currencyUnit;
+
+    /**
+     * 状态 -0启用  -1禁用
+     * */
+    @TableField(value = "status")
+    private String status;
+
+}

+ 7 - 0
edu-travel-remote/edu-travel-remote-country/src/main/java/edu/travel/mapper/ShopCurrencyMapper.java

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

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

@@ -1,6 +1,5 @@
 package edu.travel.remote;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import edu.travel.dto.BaseCountryServeDto;
 import edu.travel.remote.base.RemoteBaseController;
 import edu.travel.rpc.RPCBaseResponse;
@@ -13,9 +12,6 @@ import java.util.List;
 
 @FeignClient(path = "/baseCountryServe",name = "commodity")
 public interface BaseCountryServeRemoteController extends RemoteBaseController<BaseCountryServeVo, BaseCountryServeDto> {
-    //分页
-    @GetMapping("/getCountryServePage")
-    public RPCBaseResponse<IPage<BaseCountryServeVo>> getCountryServePage(BaseCountryServeDto dto);
     //服务国家树
     @GetMapping("/getCountryServeTree")
     public RPCBaseResponse<List<BaseCountryServeVo>> getCountryServeTree();

+ 111 - 0
edu-travel-remote/edu-travel-remote-country/src/main/java/edu/travel/vo/BaseCountryServeCurrencyVo.java

@@ -0,0 +1,111 @@
+package edu.travel.vo;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import edu.travel.entity.BaseEntity;
+import edu.travel.po.PagePO;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 服务国家货币表
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class BaseCountryServeCurrencyVo extends BaseEntity {
+    /**
+     * ID
+     */
+    private Long id;
+
+    /**
+     * 所属洲
+     */
+    private Long parentId;
+
+    /**
+     * 关联国家id
+     */
+    private Long countryId;
+
+    /**
+     * 服务费比率
+     */
+    private BigDecimal serviceChargeValue;
+
+    /**
+     * 结算显示方式 -0 CNY100 -1 ¥100 -2 100RMB
+     */
+    private Integer payViewWay;
+
+    /**
+     * 中文国家/洲名称
+     */
+    private String countryNameZh;
+
+    /**
+     * 英文国家/洲名称
+     */
+    private String countryNameEn;
+
+    /**
+     * 本地国家/洲名称
+     */
+    private String countryNameLocal;
+
+    /**
+     * 服务状态,默认0,-0未开通,-1开通
+     */
+    private Integer serveEnable;
+
+
+    /**
+     * 货币表id
+     */
+    private Long currencyId;
+    /**
+     * 创建时间
+     */
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    /**
+     * 更新时间
+     */
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
+    /**
+     * 货币名称_en
+     */
+    @TableField(value = "currency_name_en")
+    private String currencyNameEn;
+
+    /**
+     * 货币名称_zh
+     */
+    @TableField(value = "currency_name_zh")
+    private String currencyNameZh;
+
+    /**
+     * 货币代码
+     */
+    @TableField(value = "currency_code")
+    private String currencyCode;
+
+    /**
+     * 货币符号
+     * */
+    @TableField(value = "currency_symbol")
+    private String currencySymbol;
+    /**
+     * 货币单位
+     * */
+    @TableField(value = "currency_unit")
+    private String currencyUnit;
+
+}

+ 12 - 1
edu-travel-remote/edu-travel-remote-country/src/main/java/edu/travel/vo/BaseCountryServeVo.java

@@ -1,6 +1,9 @@
 package edu.travel.vo;
 
+import com.baomidou.mybatisplus.annotation.TableField;
+import edu.travel.annotation.LinkOne;
 import edu.travel.entity.BaseEntity;
+import edu.travel.mapper.ShopCurrencyMapper;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
@@ -8,6 +11,7 @@ import lombok.NoArgsConstructor;
 import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 服务国家表
@@ -74,8 +78,15 @@ public class BaseCountryServeVo extends BaseEntity {
      * 区号
      */
     private String areaCode;
+
+    /**
+     *map
+     */
+    @TableField(exist = false)
+    @LinkOne(linkField = "currencyId", linkMapper = ShopCurrencyMapper.class, linkPrimaryField = "id")
+    private Map<String, Object> map;
     /**
      * 子类
      */
     private List<BaseCountryServeVo> children = new ArrayList<>();
-}
+}

+ 16 - 0
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/dto/SearchProductDto.java

@@ -0,0 +1,16 @@
+package edu.travel.commodity.dto;
+
+import lombok.Data;
+
+/**
+ * 类功能描述:
+ *  收拾商品
+ * @author 大春
+ * @date 2025/03/03
+ */
+
+@Data
+public class SearchProductDto extends BaseDto{
+    /**搜索关键词*/
+    private String searchKeyword;
+}

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

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

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

@@ -5,7 +5,10 @@ import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import java.util.Date;
+import java.util.Map;
 
+import edu.travel.annotation.LinkOne;
+import edu.travel.commodity.mapper.ShopProductMapper;
 import edu.travel.entity.BaseEntity;
 import lombok.AllArgsConstructor;
 import lombok.Data;
@@ -37,4 +40,7 @@ public class ShopFavorite extends BaseEntity {
     @TableField(value = "product_id")
     private Long productId;
 
+    @TableField(exist = false)
+    @LinkOne(linkField="productId",linkMapper= ShopProductMapper.class,linkPrimaryField="id")
+    private Map<String,Object> productIdMap;
 }

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

@@ -89,5 +89,10 @@ public class ShopProductSku extends BaseEntity {
      */
     @TableField(value = "cost_price")
     private BigDecimal costPrice;
+    /**
+     * 计件单位id
+     */
+    @TableField(value = "unit_id")
+    private Long unitId;
 
 }

+ 20 - 0
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/enums/SearchType.java

@@ -0,0 +1,20 @@
+package edu.travel.commodity.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * 类功能描述:
+ *  搜索历史模块类型
+ * @author 大春
+ * @date 2025/03/03
+ */
+@Getter
+@AllArgsConstructor
+public enum SearchType {
+    HOME_PAGE("首页",1);
+
+    private final String name;
+    private final Integer code;
+
+}

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

@@ -2,15 +2,8 @@ package edu.travel.commodity.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import edu.travel.commodity.entity.ShopProductSku;
-import edu.travel.commodity.vo.SortSpecVo;
-import edu.travel.commodity.vo.SpecVo;
 
-import java.util.List;
-import java.util.Set;
 
 public interface ShopProductSkuMapper extends BaseMapper<ShopProductSku> {
 
-    List<SpecVo> getSkuValuesById(Set<String> skuId);
-
-    List<SortSpecVo> getValuesByProductIds(Set<String> shopProductSkuIds);
 }

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

@@ -7,10 +7,11 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import edu.travel.commodity.vo.ShopTypeVo;
 
 import java.util.List;
+import java.util.concurrent.ExecutionException;
 
 public interface ShopCategoryService extends IService<ShopCategory>{
 
-    List<ShopTypeVo> getShopType(ShopTypeDto param);
+    List<ShopTypeVo> getShopType(ShopTypeDto param) throws ExecutionException;
 
-    List<ShopTypeVo> getLevelToShopType(BaseDto param);
+    List<ShopTypeVo> getLevelToShopType(BaseDto param) throws ExecutionException;
 }

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

@@ -1,8 +1,15 @@
 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;
+
 public interface ShopFavoriteService extends IService<ShopFavorite>{
 
 
+    Page<ShopFavoriteVo> getFavorite(BaseDto baseDto);
+
 }

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

@@ -2,6 +2,7 @@ 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;
@@ -10,4 +11,6 @@ import edu.travel.commodity.vo.ShopProductVo;
 public interface ShopProductService extends IService<ShopProduct>{
 
     Page<ShopProductVo> getHotProduct(GetProductByTypeDto param);
+
+    Page<ShopProductVo> searchProduct(SearchProductDto param);
 }

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

@@ -2,8 +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.SortSpecVo;
-import edu.travel.commodity.vo.SpecVo;
+import edu.travel.commodity.vo.ShopSkuSpecValueVo;
 
 import java.util.List;
 import java.util.Map;
@@ -11,7 +10,7 @@ import java.util.Set;
 
 public interface ShopProductSkuService extends IService<ShopProductSku>{
 
-    Map<String,List<SpecVo>> getSkuValuesById(Set<String> skuId);
+    Map<String, List<ShopSkuSpecValueVo>> getSkuValuesById(Set<String> skuId);
+
 
-    Map<String,List<SortSpecVo>> getShopProductSkuId(Set<String> shopProductSkuId);
 }

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

@@ -1,8 +1,15 @@
 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;
+
 public interface ShopSearchRecordsService extends IService<ShopSearchRecords>{
 
 
+    void clearSearchRecords(SearchRecordListDto baseDto);
+
+    Page<SearchRecordsVo> searchRecordList(SearchRecordListDto baseDto);
 }

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

@@ -1,12 +1,69 @@
 package edu.travel.commodity.service.impl;
 
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+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;
 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.service.SysServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.stream.Collectors;
+
+
 @Service
-public class ShopFavoriteServiceImpl extends ServiceImpl<ShopFavoriteMapper, ShopFavorite> implements ShopFavoriteService {
+public class ShopFavoriteServiceImpl extends SysServiceImpl<ShopFavoriteMapper, ShopFavorite> implements ShopFavoriteService {
+    @Autowired
+    private ShopProductService shopProductService;
+
+    @Override
+    public Page<ShopFavoriteVo> getFavorite(BaseDto baseDto) {
+        String userId = TokenData.getUserId();
+        LambdaQueryWrapper<ShopFavorite> query = Wrappers.<ShopFavorite>lambdaQuery()
+                .eq(ShopFavorite::getUserId, userId).orderByDesc(ShopFavorite::getCreateTime);
+        Page<ShopFavorite> page = page(new Page<>(baseDto.getCurrentPage(), baseDto.getPageSize()), query);
+        Page<ShopFavoriteVo> pageEntity = PageUtil.toPageEntity(page, ShopFavoriteVo.class);
+        List<ShopFavoriteVo> records = pageEntity.getRecords();
+        if(ObjectUtil.isEmpty(records)){
+            return pageEntity;
+        }
+        //商品Ids
+        Set<String> productIds = records.stream().map(ShopFavoriteVo::getProductId).collect(Collectors.toSet());
 
+        List<ShopProduct> shopProducts = shopProductService.getBaseMapper().selectBatchIds(productIds);
+        Map<String, ShopProduct> map = new HashMap<>();
+        for (ShopProduct shopProduct : shopProducts) {
+            map.put(shopProduct.getId().toString(), shopProduct);
+        }
+        //填充商品详情信息
+        for (ShopFavoriteVo shopProductVo : records) {
+            ShopProduct shopProduct = map.get(shopProductVo.getProductId());
+            if(!ObjectUtil.isEmpty(shopProduct)){
+                shopProductVo.setProductName(shopProduct.getProductName());
+                shopProductVo.setDescription(shopProduct.getDescription());
+                shopProductVo.setMainImageUrl(shopProduct.getDescription());
+                shopProductVo.setHeatValue(shopProduct.getHeatValue());
+                shopProductVo.setSalesVolume(shopProduct.getSalesVolume());
+                shopProductVo.setDefaultPrice(shopProduct.getDefaultPrice());
+                shopProductVo.setScoring(shopProduct.getScoring());
+                shopProductVo.setCountryId(shopProduct.getCountryId().toString());
+            }
+        }
+        return pageEntity;
+    }
 }

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

@@ -1,4 +1,4 @@
-package edu.travel.commodity.serviceImpl;
+package edu.travel.commodity.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import edu.travel.commodity.entity.ShopOpinionType;

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

@@ -9,6 +9,7 @@ import edu.travel.commodity.entity.ShopProductParameters;
 import edu.travel.commodity.mapper.ShopParametersMapper;
 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 org.springframework.beans.factory.annotation.Autowired;
@@ -23,6 +24,8 @@ import java.util.stream.Collectors;
 public class ShopParametersServiceImpl extends ServiceImpl<ShopParametersMapper, ShopParameters> implements ShopParametersService {
     @Autowired
     private ShopProductParametersService shopProductParametersService;
+    @Autowired
+    private ShopProductService shopProductService;
     @Override
     public Page<ShopParametersVo> getShopParameters(ProductSpecDto param) {
         Page<ShopProductParameters> page = shopProductParametersService.lambdaQuery().eq(ShopProductParameters::getProductId, param.getProductId())
@@ -44,7 +47,7 @@ public class ShopParametersServiceImpl extends ServiceImpl<ShopParametersMapper,
         //封装返回结果
         for (ShopParametersVo shopParametersVo : list) {
             ShopParameters shopParameters = map.get(shopParametersVo.getParametersId());
-            if(!ObjectUtil.isNotEmpty(shopParameters)){
+            if(ObjectUtil.isNotEmpty(shopParameters)){
                 shopParametersVo.setParametersName(shopParameters.getParametersName());
                 shopParametersVo.setIsNecessary(shopParameters.getIsNecessary());
             }

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

@@ -3,13 +3,12 @@ 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.injector.methods.SelectPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
 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;
@@ -17,8 +16,6 @@ import edu.travel.commodity.utils.PageUtil;
 import edu.travel.commodity.vo.ShopProductVo;
 import org.springframework.stereotype.Service;
 
-import java.util.List;
-
 @Service
 public class ShopProductServiceImpl extends ServiceImpl<ShopProductMapper, ShopProduct> implements ShopProductService {
 
@@ -36,4 +33,9 @@ public class ShopProductServiceImpl extends ServiceImpl<ShopProductMapper, ShopP
 
         return PageUtil.toPageEntity(shopProductPage, ShopProductVo.class);
     }
+
+    @Override
+    public Page<ShopProductVo> searchProduct(SearchProductDto param) {
+        return null;
+    }
 }

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

@@ -3,61 +3,38 @@ package edu.travel.commodity.service.impl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 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.service.ShopSkuSpecValueService;
-import edu.travel.commodity.service.ShopSpecService;
-import edu.travel.commodity.service.ShopSpecValueService;
-import edu.travel.commodity.vo.SortSpecVo;
-import edu.travel.commodity.vo.SpecValueVo;
-import edu.travel.commodity.vo.SpecVo;
+import edu.travel.commodity.vo.ShopSkuSpecValueVo;
 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;
 
 @Service
 public class ShopProductSkuServiceImpl extends ServiceImpl<ShopProductSkuMapper, ShopProductSku> implements ShopProductSkuService {
 
-    @Autowired
-    private ShopProductSkuService shopProductSkuService;
-    @Autowired
-    private ShopSkuSpecValueService shopSkuSpecValueService;
-    @Autowired
-    private ShopSpecValueService shopSpecValueService;
-    @Autowired
-    private ShopSpecService shopSpecService;
-    @Autowired
-    private ShopProductSkuMapper shopProductSkuMapper;
 
+    @Autowired
+    private ShopProductSpecMapper shopProductSpecMapper;
 
     /**
      *  查询SKU下的规格和对应的规格值 规格 排序  规格值排序
+     *  sku -> 规格 ->规格值
      * @param skuId
      * @return {@link Map }<{@link String },{@link List }<{@link SpecVo }>>
      */
     @Override
-    public Map<String,List<SpecVo>> getSkuValuesById(Set<String> skuId) {
-        List<SpecVo> list=shopProductSkuMapper.getSkuValuesById(skuId);
-        return list.stream().collect(Collectors.groupingBy(SpecVo::getSkuId));
+    public Map<String, List<ShopSkuSpecValueVo>> getSkuValuesById(Set<String> skuId) {
+        HttpServletRequest request = ((ServletRequestAttributes) (RequestContextHolder.currentRequestAttributes())).getRequest();
+        String project = request.getHeader("project");
+        List<ShopSkuSpecValueVo> list = shopProductSpecMapper.getSkuValue(skuId, project);
+        return  list.stream().collect(Collectors.groupingBy(ShopSkuSpecValueVo::getSkuId));
     }
 
-    /**
-     *  商品和sku关联表ID  ->sku详情
-     * @param shopProductSkuIds 商品和sku关联表ID
-     * @return {@link Map }<{@link String },{@link SpecValueVo }>
-     */
-    @Override
-    public Map<String,List<SortSpecVo>> getShopProductSkuId(Set<String> shopProductSkuIds) {
-        List<SortSpecVo> list=shopProductSkuMapper.getValuesByProductIds(shopProductSkuIds);
-        Map<String, List<SortSpecVo>> collect = list.stream().collect(Collectors.groupingBy(SortSpecVo::getSkuId));
-
-        collect.forEach((k,v)->
-        {
-            List<SortSpecVo> collect1 = v.stream().sorted(Comparator.comparing(SortSpecVo::getSpecOrder)
-                    .thenComparing(SortSpecVo::getValueSort)).collect(Collectors.toList());
-            collect.put(k,collect1);
-        });
-        return collect;
-    }
+
 }

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

@@ -1,12 +1,57 @@
 package edu.travel.commodity.service.impl;
 
+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 org.springframework.stereotype.Service;
 
+import java.util.Date;
+
 @Service
 public class ShopSearchRecordsServiceImpl extends ServiceImpl<ShopSearchRecordsMapper, ShopSearchRecords> implements ShopSearchRecordsService {
 
+    @Override
+    public void clearSearchRecords(SearchRecordListDto baseDto) {
+        LambdaQueryWrapper<ShopSearchRecords> query = Wrappers.<ShopSearchRecords>lambdaQuery();
+        query.eq(ShopSearchRecords::getCountryId, baseDto.getCountryId());
+        query.eq(ShopSearchRecords::getSearchType, baseDto.getSearchType());
+        remove(query);
+    }
+
+    @Override
+    public Page<SearchRecordsVo> searchRecordList(SearchRecordListDto baseDto) {
+
+        LambdaQueryWrapper<ShopSearchRecords> query = Wrappers.<ShopSearchRecords>lambdaQuery();
+        query.eq(ShopSearchRecords::getCountryId, baseDto.getCountryId());
+        query.eq(ShopSearchRecords::getSearchType, baseDto.getSearchType());
+        query.orderByDesc(ShopSearchRecords::getSearchTime);
+
+        Page<ShopSearchRecords> page = this.page(new Page<>(baseDto.getCurrentPage(), baseDto.getPageSize()), query);
+
+        return PageUtil.toPageEntity(page, SearchRecordsVo.class);
+    }
+
+
+    public void add(String searchString, Long countryId,Integer searchType){
+        LambdaQueryWrapper<ShopSearchRecords> query = Wrappers.<ShopSearchRecords>lambdaQuery();
+        query.eq(ShopSearchRecords::getCountryId, countryId);
+        query.eq(ShopSearchRecords::getSearchType, searchType);
+        query.eq(ShopSearchRecords::getSearchKeyword, searchString);
+        ShopSearchRecords one = getOne(query);
+        if(one==null){
+            ShopSearchRecords shopSearchRecords = new ShopSearchRecords();
+            shopSearchRecords.setSearchCount(1);
+            shopSearchRecords.setSearchKeyword(searchString);
+            shopSearchRecords.setCountryId(countryId);
+            shopSearchRecords.setSearchTime(new Date());
+            save(shopSearchRecords);
+        }
+    }
 }

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

@@ -18,8 +18,6 @@ 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.commodity.vo.SortSpecVo;
-import edu.travel.commodity.vo.SpecValueVo;
 import edu.travel.exception.BaseException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -84,7 +82,7 @@ public class ShopShoppingCartServiceImpl extends ServiceImpl<ShopShoppingCartMap
         for (ShopProductSku shopProduct : shopProductSkus) {
             productSkuMap.put(shopProduct.getId().toString(), shopProduct);
         }
-        Map<String, List<SortSpecVo>> Specmap = shopProductSkuService.getShopProductSkuId(collect1);
+//        Map<String, List<SortSpecVo>> Specmap = shopProductSkuService.getShopProductSkuId(collect1);
 
         //封装结果集
         for (ShopCartListVo record : records) {
@@ -99,19 +97,19 @@ public class ShopShoppingCartServiceImpl extends ServiceImpl<ShopShoppingCartMap
                     record.setPrice(shopProductSku.getPrice());
                 }
                 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);
+//                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;

+ 19 - 0
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/utils/ObjectUtils.java

@@ -0,0 +1,19 @@
+package edu.travel.commodity.utils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class ObjectUtils {
+
+
+    public static <T> List<T> castList(Object obj, Class<T> clazz) {
+        List<T> result = new ArrayList<T>();
+        if (obj instanceof List<?>) {
+            for (Object o : (List<?>) obj) {
+                result.add(clazz.cast(o));
+            }
+            return result;
+        }
+        return null;
+    }
+}

+ 7 - 1
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/utils/PageUtil.java

@@ -1,6 +1,7 @@
 package edu.travel.commodity.utils;
 
 import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.springframework.beans.BeanUtils;
 
@@ -18,5 +19,10 @@ public class PageUtil{
         target.setRecords(BeanUtil.copyToList(source.getRecords(), type));
         return target;
     }
-
+    public static <T,E> Page<E> toPageEntity(IPage<T> source, Class<E> type) {
+        Page<E> target = new Page<E>();
+        BeanUtils.copyProperties(source, target);
+        target.setRecords(BeanUtil.copyToList(source.getRecords(), type));
+        return target;
+    }
 }

+ 0 - 5
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/vo/ProductSkuVo.java

@@ -1,10 +1,5 @@
 package edu.travel.commodity.vo;
 
-
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
 import lombok.Data;
 
 import java.math.BigDecimal;

+ 34 - 0
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/vo/SearchRecordsVo.java

@@ -0,0 +1,34 @@
+package edu.travel.commodity.vo;
+
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class SearchRecordsVo {
+    /**
+     * 主键id
+     */
+    private String id;
+
+
+    /**
+     * 搜索关键词
+     */
+    private String searchKeyword;
+
+    /**
+     * 搜索次数
+     */
+    private Integer searchCount;
+
+    /**
+     * 搜索源
+     */
+    private Integer searchType;
+
+    /**
+     * 搜索时间
+     */
+    private Date searchTime;
+}

+ 7 - 0
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/vo/ShopCartListVo.java

@@ -5,6 +5,13 @@ import lombok.Data;
 import java.math.BigDecimal;
 import java.util.List;
 
+/**
+ * 类功能描述:
+ *  购物车列表
+ * @author 大春
+ * @date 2025/03/03
+ */
+
 @Data
 public class ShopCartListVo {
     /**

+ 49 - 0
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/vo/ShopFavoriteVo.java

@@ -0,0 +1,49 @@
+package edu.travel.commodity.vo;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+@Data
+public class ShopFavoriteVo {
+    /**
+     * 商品ID
+     */
+    private String productId;
+    /**
+     * 商品名称
+     */
+    private String productName;
+
+    /**
+     * 商品描述
+     */
+    private String description;
+
+    /**
+     * 列表展示图片
+     */
+    private String mainImageUrl;
+
+    /**
+     * 热度值
+     */
+    private Integer heatValue;
+
+    /**
+     * 销量
+     */
+    private Integer salesVolume;
+    /**
+     * 价格
+     */
+    private BigDecimal defaultPrice;
+
+    /**
+     * 评分满分五分
+     */
+    private Integer scoring;
+    /**
+     *  国家ID
+     */
+    private String countryId;
+}

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

@@ -16,7 +16,7 @@ public class ShopParametersVo {
     /**
      * 商品参数值ID
      */
-    private String Id;
+    private String id;
 
     /**
      * 参数值

+ 4 - 0
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/vo/ShopProductVo.java

@@ -44,4 +44,8 @@ public class ShopProductVo {
      * 评分满分五分
      */
     private Integer scoring;
+    /**
+     *  国家ID
+     */
+    private String countryId;
 }

+ 0 - 22
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/vo/SortSpecVo.java

@@ -1,22 +0,0 @@
-package edu.travel.commodity.vo;
-
-import lombok.Data;
-
-
-@Data
-public class SortSpecVo {
-    /**sku*/
-    private String skuId;
-    /**规格Id*/
-    private String specId;
-    /**规格名称*/
-    private String specName;
-    /**规格排序值*/
-    private String specOrder;
-    /**规格值ID*/
-    private String specValueId;
-    /**规格值*/
-    private String specValue;
-    /**规格值排序值*/
-    private String valueSort;
-}

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

@@ -6,7 +6,6 @@ import lombok.Data;
 public class SpecValueSortVo {
     /**商品规格和规格值关联ID*/
     private String id;
-
     /**规制值*/
     private String specValue;
     /**规格值排序*/

+ 9 - 3
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/vo/SpecValueVo.java

@@ -2,15 +2,21 @@ package edu.travel.commodity.vo;
 
 import lombok.Data;
 
+/**
+ * 类功能描述:
+ *      购物车商品规格值
+ * @author 大春
+ * @date 2025/02/28
+ */
+
 @Data
 public class SpecValueVo {
     /**规格ID*/
-    private String keyId;
+    private String specId;
     /**规格值*/
-    private String key;
+    private String specName;
     /**值ID*/
     private String valueId;
     /**值*/
     private String value;
-
 }

+ 0 - 22
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/vo/SpecVo.java

@@ -1,22 +0,0 @@
-package edu.travel.commodity.vo;
-
-import lombok.Data;
-
-@Data
-public class SpecVo {
-    /**商品和规格关联表Id*/
-    private String id;
-
-    /**skuId*/
-    private String skuId;
-
-    /**规格ID*/
-    private String specId;
-
-    /**规格名*/
-    private String specName;
-    /**规格值ID*/
-    private String specValueId;
-    /**规格值*/
-    private String specValue;
-}

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

@@ -7,11 +7,15 @@ import edu.travel.commodity.entity.ShopAddress;
 import edu.travel.commodity.service.ShopAddressService;
 import edu.travel.commodity.vo.ShopAddressVo;
 import edu.travel.resp.BaseResponse;
+import edu.travel.rpc.RPCBaseResponse;
 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)表控制层
 *
@@ -31,8 +35,8 @@ public class ShopAddressController extends BaseController<ShopAddress> {
      * @return {@link BaseResponse }<{@link Page }<{@link ShopAddress }>>
      */
     @GetMapping("/getShopAddress")
-    public BaseResponse<Page<ShopAddressVo>> getShopAddress(BaseDto dto) {
-        return new BaseResponse<>(200, "success", shopAddressService.getShopAddress(dto)) ;
+    public RPCBaseResponse<Page<ShopAddressVo>> getShopAddress(BaseDto dto) {
+        return success(shopAddressService.getShopAddress(dto)) ;
     }
 
     /**
@@ -41,8 +45,8 @@ public class ShopAddressController extends BaseController<ShopAddress> {
      * @return {@link BaseResponse }<{@link Void }>
      */
     @PostMapping("/savaOrUpdateAddressById")
-    public BaseResponse<Boolean> updateAddressById(@RequestBody UpdateAddressDto param) {
-        return new BaseResponse<>(200, "success", shopAddressService.updateAddressById(param)) ;
+    public RPCBaseResponse<Boolean> updateAddressById(@RequestBody UpdateAddressDto param) {
+        return success(shopAddressService.updateAddressById(param)) ;
     }
 
 

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

@@ -7,12 +7,16 @@ import edu.travel.commodity.service.ShopCategoryService;
 import edu.travel.commodity.vo.ShopTypeVo;
 import edu.travel.remote.feign.mode.vo.tenant.AddMenuVo;
 import edu.travel.resp.BaseResponse;
+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.concurrent.ExecutionException;
+
+import static edu.travel.rpc.RPCBaseResponse.success;
 
 /**
 * 商品类型(shop_category)表控制层
@@ -32,19 +36,18 @@ public class ShopCategoryController  extends BaseController<ShopCategory> {
      *  获取商品类型
      * @return {@link BaseResponse }<{@link AddMenuVo }>
      */
-    @GetMapping("getShopType")
-    public BaseResponse<List<ShopTypeVo>> getShopType(ShopTypeDto param){
-        return new BaseResponse<>(200,"success",shopCategoryService.getShopType(param));
+    @GetMapping("/getShopType")
+    public RPCBaseResponse<List<ShopTypeVo>> getShopType(ShopTypeDto param) throws ExecutionException {
+        return success(shopCategoryService.getShopType(param));
     }
 
     /**
      *  获取二级热门商品类型
      * @return {@link BaseResponse }<{@link AddMenuVo }>
      */
-    @GetMapping("getLevelToShopType")
-    public BaseResponse<List<ShopTypeVo>> getLevelToShopType(BaseDto param){
-
-        return new BaseResponse<>(200,"success",shopCategoryService.getLevelToShopType(param));
+    @GetMapping("/getLevelToShopType")
+    public RPCBaseResponse<List<ShopTypeVo>> getLevelToShopType(BaseDto param) throws ExecutionException {
+        return success(shopCategoryService.getLevelToShopType(param));
     }
 
 }

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

@@ -1,6 +1,11 @@
 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.rpc.RPCBaseResponse;
 import org.springframework.web.bind.annotation.*;
 
 import org.springframework.beans.factory.annotation.Autowired;
@@ -11,7 +16,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 * @author xxxxx
 */
 @RestController
-@RequestMapping("/shop_favorite")
+@RequestMapping("/shopFavorite")
 public class ShopFavoriteController {
 /**
 * 服务对象
@@ -19,5 +24,12 @@ public class ShopFavoriteController {
     @Autowired
     private ShopFavoriteService shopFavoriteService;
 
-
+    /**
+     *  获取收藏商品
+     * @return {@link RPCBaseResponse }<{@link Page }<{@link ShopProductVo }>>
+     */
+    @GetMapping("/getFavorite")
+    public RPCBaseResponse<Page<ShopFavoriteVo>> getFavorite(BaseDto baseDto){
+        return RPCBaseResponse.success(shopFavoriteService.getFavorite(baseDto));
+    }
 }

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

@@ -5,17 +5,20 @@ import edu.travel.commodity.dto.ProductSpecDto;
 import edu.travel.commodity.service.ShopParametersService;
 import edu.travel.commodity.vo.ShopParametersVo;
 import edu.travel.resp.BaseResponse;
+import edu.travel.rpc.RPCBaseResponse;
 import org.springframework.web.bind.annotation.*;
 
 import org.springframework.beans.factory.annotation.Autowired;
 
+import static edu.travel.rpc.RPCBaseResponse.success;
+
 /**
 * 商品参数(shop_parameters)表控制层
 *
 * @author xxxxx
 */
 @RestController
-@RequestMapping("/shop_parameters")
+@RequestMapping("/shopParameters")
 public class ShopParametersController {
 /**
 * 服务对象
@@ -29,7 +32,7 @@ public class ShopParametersController {
      * @return {@link BaseResponse }<{@link Page }<{@link ShopParametersVo }>>
      */
     @GetMapping("getShopParameters")
-    public BaseResponse<Page<ShopParametersVo>> getShopParameters(ProductSpecDto param){
-        return new BaseResponse<>(200,"success",shopParametersService.getShopParameters(param));
+    public RPCBaseResponse<Page<ShopParametersVo>> getShopParameters(ProductSpecDto param){
+        return success(shopParametersService.getShopParameters(param));
     }
 }

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

@@ -2,10 +2,12 @@ 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.resp.BaseResponse;
+import edu.travel.rpc.RPCBaseResponse;
 import edu.travel.web.BaseController;
 import org.springframework.web.bind.annotation.*;
 
@@ -13,6 +15,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 
 import java.util.List;
 
+import static edu.travel.rpc.RPCBaseResponse.success;
+
 /**
 * 商品表(shop_product)表控制层
 *
@@ -33,10 +37,19 @@ public class ShopProductController extends BaseController<ShopProduct> {
      * @return {@link BaseResponse }<{@link List }<{@link ShopProductVo }>>
      */
     @GetMapping("/getHotProduct")
-    public BaseResponse<Page<ShopProductVo>> getHotProduct(GetProductByTypeDto param){
-        return new BaseResponse<>(200,"success",shopProductService.getHotProduct(param));
+    public RPCBaseResponse<Page<ShopProductVo>> getHotProduct(GetProductByTypeDto param){
+        return success(shopProductService.getHotProduct(param));
     }
 
+    /**
+     *  搜索商品
+     * @param param 类型
+     * @return {@link BaseResponse }<{@link List }<{@link ShopProductVo }>>
+     */
+    @GetMapping("/searchProduct")
+    public RPCBaseResponse<Page<ShopProductVo>> searchProduct(SearchProductDto param){
+        return success(shopProductService.searchProduct(param));
+    }
 
 
 

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

@@ -6,6 +6,7 @@ import edu.travel.commodity.service.ShopProductSpecService;
 import edu.travel.commodity.vo.ProductSpecVo;
 import edu.travel.commodity.vo.ShopProductVo;
 import edu.travel.resp.BaseResponse;
+import edu.travel.rpc.RPCBaseResponse;
 import edu.travel.web.BaseController;
 import org.springframework.web.bind.annotation.*;
 
@@ -13,6 +14,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 
 import java.util.List;
 
+import static edu.travel.rpc.RPCBaseResponse.success;
+
 /**
 * 商品规格表(shop_product_spec)表控制层
 *
@@ -33,7 +36,7 @@ public class ShopProductSpecController extends BaseController<ShopProductSpec> {
      * @return {@link BaseResponse }<{@link List }<{@link ShopProductVo }>>
      */
     @GetMapping("/getShopSpec")
-    public BaseResponse<ProductSpecVo> getShopSpec(ProductSpecDto param){
-        return new BaseResponse<>(200,"success",shopProductSpecService.getShopSpec(param));
+    public RPCBaseResponse<ProductSpecVo> getShopSpec(ProductSpecDto param){
+        return success(shopProductSpecService.getShopSpec(param));
     }
 }

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

@@ -5,6 +5,7 @@ import org.springframework.web.bind.annotation.*;
 
 import org.springframework.beans.factory.annotation.Autowired;
 
+
 /**
 * 商品评论表(shop_review)表控制层
 *
@@ -19,4 +20,5 @@ public class ShopReviewController {
     @Autowired
     private ShopReviewService shopReviewService;
 
+
 }

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

@@ -1,10 +1,18 @@
 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.rpc.RPCBaseResponse;
+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;
+
 /**
 * 列表搜索记录表(shop_search_records)表控制层
 *
@@ -12,7 +20,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 */
 @RestController
 @RequestMapping("/shop_search_records")
-public class ShopSearchRecordsController {
+public class ShopSearchRecordsController extends BaseController<ShopSearchRecords> {
 /**
 * 服务对象
 */
@@ -20,4 +28,25 @@ public class ShopSearchRecordsController {
     private ShopSearchRecordsService shopSearchRecordsService;
 
 
+    /**
+     * 清空游记历史搜索记录(searchType:1)
+     * @return 结果
+     */
+    @PostMapping("/clearSearchRecord")
+    public RPCBaseResponse<Void> clearProjectSearchRecords(@RequestBody SearchRecordListDto clear){
+        shopSearchRecordsService.clearSearchRecords(clear);
+        return success();
+    }
+
+
+    /**
+     * 获取游记搜索记录列表
+     * @param baseDto 参数DTO对象
+     * @return 结果
+     */
+    @GetMapping("/searchRecordList")
+    public RPCBaseResponse<Page<SearchRecordsVo>> searchRecordList(SearchRecordListDto baseDto){
+        return success(shopSearchRecordsService.searchRecordList(baseDto));
+    }
+
 }

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

@@ -6,17 +6,20 @@ import edu.travel.commodity.dto.BaseDto;
 import edu.travel.commodity.service.ShopShoppingCartService;
 import edu.travel.commodity.vo.ShopCartListVo;
 import edu.travel.resp.BaseResponse;
+import edu.travel.rpc.RPCBaseResponse;
 import org.springframework.web.bind.annotation.*;
 
 import org.springframework.beans.factory.annotation.Autowired;
 
+import static edu.travel.rpc.RPCBaseResponse.success;
+
 /**
 * 购物车表(shop_shopping_cart)表控制层
 *
 * @author xxxxx
 */
 @RestController
-@RequestMapping("/shop_shopping_cart")
+@RequestMapping("/shopShoppingCart")
 public class ShopShoppingCartController {
 /**
 * 服务对象
@@ -31,8 +34,8 @@ public class ShopShoppingCartController {
      * @return {@link BaseResponse }<{@link Boolean }>
      */
     @PostMapping("/addShopCart")
-    public BaseResponse<Boolean> addShopCart(@RequestBody AddShopCartDto params) {
-        return new BaseResponse<>(200,"success",shopShoppingCartService.addShopCart(params));
+    public RPCBaseResponse<Boolean> addShopCart(@RequestBody AddShopCartDto params) {
+        return success(shopShoppingCartService.addShopCart(params));
     }
 
     /**
@@ -41,9 +44,9 @@ public class ShopShoppingCartController {
      * @return {@link BaseResponse }<{@link Page }<{@link ShopCartListVo }>>
      */
 
-    @PostMapping("/getShopCartList")
-    public BaseResponse<Page<ShopCartListVo>> getShopCartList(BaseDto params) {
-        return new BaseResponse<>(200,"success",shopShoppingCartService.getShopCartList(params));
+    @GetMapping("/getShopCartList")
+    public RPCBaseResponse<Page<ShopCartListVo>> getShopCartList(BaseDto params) {
+        return success(shopShoppingCartService.getShopCartList(params));
     }
 
 

+ 2 - 48
edu-travel-service/edu-travel-service-commodity/src/main/resources/mapper/ShopProductSkuMapper.xml

@@ -22,58 +22,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="unit_id" jdbcType="BIGINT" property="unitId" />
   </resultMap>
   <sql id="Base_Column_List">
     <!--@mbg.generated-->
     id, sku_id, product_id, warehouse_id, `freeze`, inventory, `status`, price, project, image_url,sales_volume,barcodes,
-    create_time, create_user_id, update_time, update_user_id, delete_flag,cost_price
+    create_time, create_user_id, update_time, update_user_id, delete_flag,cost_price,unit_id
   </sql>
 
-  <select id="getSkuValuesById" resultType="edu.travel.commodity.vo.SpecVo">
-    SELECT
-      sv.id,
-      sv.spec_name,
-      sv.spec_id,
-      s.spec_value,
-      s.id as spec_value_id,
-      ssv.sku_id
-    FROM
-      shop_sku_spec_value ssv
-        JOIN shop_spec_value s ON ssv.spec_value_id = s.id
-        JOIN shop_product_spec sv ON ssv.spec_id = sv.id
-    <where>
-      <if test="skuId !=null and skuId.size()>0">
-        ssv.sku_id
-        <foreach collection="skuId" item="sku" open="IN(" separator="," close=")">
-          #{sku}
-        </foreach>
-      </if>
-    </where>
-    ORDER BY
-      sv.sort_order ASC
-  </select>
-
-  <select id="getValuesByProductIds" resultType="edu.travel.commodity.vo.SortSpecVo">
-    SELECT
-      p.sku_id,
-      ss.spec_id,sv.spec_name,
-      ss.spec_value_id,s.spec_value,sv.sort_order as value_order,
-      s.sort_order as spec_order
-    FROM
-      shop_product_sku as p
-        JOIN shop_sku_spec_value ss on p.sku_id=ss.sku_id
-        JOIN shop_spec_value s ON ss.spec_value_id = s.id
-        JOIN shop_product_spec sv ON ss.spec_id = sv.id
-      <where>
-        <if test="shopProductSkuIds !=null and shopProductSkuIds.size()>0">
-          p.product_id
-          <foreach collection="shopProductSkuIds" item="productId" open="IN(" separator="," close=")">
-            #{productId}
-          </foreach>
-        </if>
-      </where>
-    ORDER BY
-      sv.sort_order ASC,
-      s.sort_order ASC
-  </select>
 </mapper>

+ 7 - 0
edu-travel-service/edu-travel-service-country/src/main/java/edu/travel/country/entity/BaseCountryServe.java

@@ -6,7 +6,10 @@ import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import java.math.BigDecimal;
 import java.util.Date;
+import java.util.Map;
 
+import edu.travel.annotation.LinkOne;
+import edu.travel.country.mapper.ShopCurrencyMapper;
 import edu.travel.entity.BaseEntity;
 import lombok.AllArgsConstructor;
 import lombok.Data;
@@ -115,4 +118,8 @@ public class BaseCountryServe extends BaseEntity {
      */
     @TableField(value = "currency_id")
     private Long currencyId;
+
+    @TableField(exist = false)
+    @LinkOne(linkField = "currencyId", linkMapper = ShopCurrencyMapper.class, linkPrimaryField = "id")
+    private Map<String, Object> map;
 }

+ 4 - 0
edu-travel-service/edu-travel-service-country/src/main/java/edu/travel/country/entity/ShopCurrency.java

@@ -5,11 +5,14 @@ import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 
+import edu.travel.annotation.LinkOne;
 import edu.travel.entity.BaseEntity;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
+import java.util.Map;
+
 /**
  * 货币表
  */
@@ -58,4 +61,5 @@ public class ShopCurrency extends BaseEntity {
      * */
     @TableField(value = "status")
     private String status;
+
 }

+ 3 - 3
edu-travel-service/edu-travel-service-country/src/main/java/edu/travel/country/service/BaseCountryServeService.java

@@ -1,6 +1,5 @@
 package edu.travel.country.service;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import edu.travel.country.entity.BaseCountryServe;
 import edu.travel.dto.BaseCountryServeDto;
@@ -11,8 +10,9 @@ import java.util.List;
 
 public interface BaseCountryServeService extends IService<BaseCountryServe>{
 
-    //分页
-    RPCBaseResponse<IPage<BaseCountryServeVo>> getCountryServePage(BaseCountryServeDto dto);
+
 //服务国家树
     RPCBaseResponse<List<BaseCountryServeVo>> getCountryServeTree();
+//分页
+    RPCBaseResponse<List<BaseCountryServe>> getCountryServeCurrencyPageForm(BaseCountryServeDto dto);
 }

+ 16 - 13
edu-travel-service/edu-travel-service-country/src/main/java/edu/travel/country/service/impl/BaseCountryServeServiceImpl.java

@@ -1,6 +1,5 @@
 package edu.travel.country.service.impl;
 
-import com.alibaba.nacos.client.naming.utils.CollectionUtils;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -9,6 +8,7 @@ import edu.travel.country.entity.BaseCountry;
 import edu.travel.country.entity.BaseCountryServe;
 import edu.travel.country.mapper.BaseCountryMapper;
 import edu.travel.country.mapper.BaseCountryServeMapper;
+import edu.travel.country.mapper.ShopCurrencyMapper;
 import edu.travel.country.service.BaseCountryServeService;
 import edu.travel.dto.BaseCountryServeDto;
 import edu.travel.rpc.RPCBaseResponse;
@@ -20,21 +20,24 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.*;
-import java.util.stream.Collectors;
 
 @Service
 public class BaseCountryServeServiceImpl extends SysServiceImpl<BaseCountryServeMapper, BaseCountryServe> implements BaseCountryServeService {
     @Autowired
     private BaseCountryMapper baseCountryMapper;
-    //分页
-    @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);
-        return new RPCBaseResponse<>(200,"SUCCESS",result);
-    }
+    @Autowired
+    private ShopCurrencyMapper shopCurrencyMapper;
+
+//分页连表
+@Override
+public RPCBaseResponse<List<BaseCountryServe>> getCountryServeCurrencyPageForm(BaseCountryServeDto dto) {
+    // 查询所有国家服务数据
+    LambdaQueryWrapper<BaseCountryServe> queryWrapper = new LambdaQueryWrapper<>();
+    // 查询所有的数据
+    List<BaseCountryServe> baseCountryServeList = super.getListLink(queryWrapper);
+    return new RPCBaseResponse <>(200, "SUCCESS", baseCountryServeList);
+}
+
 
     /**
      * 服务国家树
@@ -46,7 +49,6 @@ public class BaseCountryServeServiceImpl extends SysServiceImpl<BaseCountryServe
         LambdaQueryWrapper<BaseCountryServe> queryWrapper = new LambdaQueryWrapper<>();
         List<BaseCountryServe> baseCountryServeList = super.getListLink(queryWrapper);
 
-
         // 构建树形结构
         List<BaseCountryServeVo> baseCountryServeTree = buildCountryServeTree(baseCountryServeList);
 
@@ -54,6 +56,8 @@ public class BaseCountryServeServiceImpl extends SysServiceImpl<BaseCountryServe
         return new RPCBaseResponse<>(200, "SUCCESS", baseCountryServeTree);
     }
 
+
+
     // 树构建方法
     private List<BaseCountryServeVo> buildCountryServeTree(List<BaseCountryServe> baseCountryServeList) {
         Map<Long, BaseCountryServeVo> serveMap = new HashMap<>();
@@ -103,5 +107,4 @@ public class BaseCountryServeServiceImpl extends SysServiceImpl<BaseCountryServe
 
         return rootCountries;
     }
-
 }

+ 22 - 20
edu-travel-service/edu-travel-service-country/src/main/java/edu/travel/country/web/BaseCountryServeController.java

@@ -1,7 +1,6 @@
 package edu.travel.country.web;
 
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import edu.travel.country.entity.BaseCountryServe;
 import edu.travel.country.service.BaseCountryServeService;
 import edu.travel.dto.BaseCountryServeDto;
@@ -16,41 +15,40 @@ import org.springframework.web.bind.annotation.*;
 import java.util.List;
 
 /**
-* 服务国家表(base_country_serve)表控制层
-*
-* @author xxxxx
-*/
+ * 服务国家表(base_country_serve)表控制层
+ *
+ * @author xxxxx
+ */
 @RestController
 @RequestMapping("/baseCountryServe")
-public class BaseCountryServeController  extends BaseController<BaseCountryServe> implements BaseCountryServeRemoteController {
+public class BaseCountryServeController extends BaseController<BaseCountryServe> implements BaseCountryServeRemoteController {
 
     /**
      * 服务国家表(base_country_serve)表控制层
-     *
      */
-
     @Autowired
     private BaseCountryServeService baseCountryServeService;
 
     /**
-     * 分页
-     * @param dto
-     * @return
+     * 分页连表
      */
-    @GetMapping("/getCountryServePage")
-    public RPCBaseResponse<IPage<BaseCountryServeVo>> getCountryServePage(BaseCountryServeDto dto) {
-        return baseCountryServeService.getCountryServePage(dto);
+    @GetMapping("/getCountryServeCurrencyPageForm")
+    public RPCBaseResponse<List<BaseCountryServe>> getCountryServeCurrencyPageForm(BaseCountryServeDto dto) {
+        return baseCountryServeService.getCountryServeCurrencyPageForm(dto);
     }
-/**
- * 服务国家树
- */
+
+
+    /**
+     * 服务国家树
+     */
     @GetMapping("/getCountryServeTree")
- public RPCBaseResponse<List<BaseCountryServeVo>> getCountryServeTree(){
-        System.out.println("获取服务国家树");
+    public RPCBaseResponse<List<BaseCountryServeVo>> getCountryServeTree() {
         return baseCountryServeService.getCountryServeTree();
     }
+
     /**
      * 获取服务国家信息
+     *
      * @param id
      * @return
      */
@@ -65,6 +63,7 @@ public class BaseCountryServeController  extends BaseController<BaseCountryServe
 
     /**
      * 更新服务国家信息
+     *
      * @param entity
      * @return
      */
@@ -81,6 +80,7 @@ public class BaseCountryServeController  extends BaseController<BaseCountryServe
 
     /**
      * 新增服务国家信息
+     *
      * @param entity
      * @return
      */
@@ -97,12 +97,13 @@ public class BaseCountryServeController  extends BaseController<BaseCountryServe
 
     /**
      * 删除服务国家信息
+     *
      * @param ids
      * @return
      */
     @Override
     @PostMapping("/deleteCountryServeFormId")
-    public RPCBaseResponse<BaseCountryServeVo> deleteTargetFormId(@RequestBody  List<String> ids) {
+    public RPCBaseResponse<BaseCountryServeVo> deleteTargetFormId(@RequestBody List<String> ids) {
         RPCBaseResponse<BaseCountryServe> baseCountryServeRPCBaseResponse = super.deleteTargetById(ids);
         RPCBaseResponse<BaseCountryServeVo> baseCountryServeVoRPCBaseResponse = new RPCBaseResponse<>();
         BeanUtils.copyProperties(baseCountryServeRPCBaseResponse, baseCountryServeVoRPCBaseResponse);
@@ -111,6 +112,7 @@ public class BaseCountryServeController  extends BaseController<BaseCountryServe
 
     /**
      * 获取服务国家列表
+     *
      * @return
      */
     @Override

+ 3 - 3
edu-travel-service/edu-travel-service-country/src/main/java/edu/travel/country/web/ShopCurrencyController.java

@@ -59,7 +59,7 @@ public class ShopCurrencyController extends BaseController<ShopCurrency> impleme
      */
     @Override
     @PostMapping("/updateCurrencyFormId")
-    public RPCBaseResponse<ShopCurrencyVo> updateTargetFormId(ShopCurrencyDto entity) {
+    public RPCBaseResponse<ShopCurrencyVo> updateTargetFormId(@RequestBody ShopCurrencyDto entity) {
         ShopCurrency shopCurrency = new ShopCurrency();
         BeanUtils.copyProperties(entity, shopCurrency);
         RPCBaseResponse<ShopCurrency> shopCurrencyRPCBaseResponse = super.updateTargetById(shopCurrency);
@@ -75,7 +75,7 @@ public class ShopCurrencyController extends BaseController<ShopCurrency> impleme
      */
     @Override
     @PostMapping("/saveCurrencyForm")
-    public RPCBaseResponse<ShopCurrencyVo> saveFormTarget(ShopCurrencyDto entity) {
+    public RPCBaseResponse<ShopCurrencyVo> saveFormTarget(@RequestBody ShopCurrencyDto entity) {
         ShopCurrency shopCurrency = new ShopCurrency();
         BeanUtils.copyProperties(entity, shopCurrency);
         RPCBaseResponse<ShopCurrency> shopCurrencyRPCBaseResponse = super.saveTarget(shopCurrency);
@@ -91,7 +91,7 @@ public class ShopCurrencyController extends BaseController<ShopCurrency> impleme
      */
     @Override
     @PostMapping("/deleteCurrencyFormId")
-    public RPCBaseResponse<ShopCurrencyVo> deleteTargetFormId(List<String> ids) {
+    public RPCBaseResponse<ShopCurrencyVo> deleteTargetFormId(@RequestBody List<String> ids) {
         RPCBaseResponse<ShopCurrency> shopCurrencyRPCBaseResponse = super.deleteTargetById(ids);
         RPCBaseResponse<ShopCurrencyVo> shopCurrencyVoRPCBaseResponse = new RPCBaseResponse<>();
         BeanUtils.copyProperties(shopCurrencyRPCBaseResponse, shopCurrencyVoRPCBaseResponse);

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

@@ -12,7 +12,6 @@ import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
-import javax.servlet.http.HttpServletRequest;
 import java.util.List;
 
 /**

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

@@ -25,7 +25,7 @@ public class ShopBannerServiceImpl extends ServiceImpl<ShopBannerMapper, ShopBan
         if(ObjectUtil.isEmpty(mode.getMode()))return list;
         LambdaQueryWrapper<ShopBanner> query = Wrappers.lambdaQuery();
 
-        query.eq(ShopBanner::getMode,mode.getMode()).eq(ShopBanner::getEnable,1).eq(ShopBanner::getCountryId,mode.getCountryId())
+        query.eq(ShopBanner::getMode,mode.getMode()).eq(ShopBanner::getEnable,0).eq(ShopBanner::getCountryId,mode.getCountryId())
                 .and(
                 item->item.le(ShopBanner::getEndTime,new Date()).or().eq(ShopBanner::getIsDefault,1)
         );

+ 28 - 0
edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/vo/BannerVo.java

@@ -4,5 +4,33 @@ import lombok.Data;
 
 @Data
 public class BannerVo {
+    /**
+     * 轮播图ID
+     */
+    private String id;
+
+    /**
+     * 图片/视频
+     */
+    private String url;
+
+    /**
+     * 判断图片/视频,默认0,0图片,1视频
+     */
+    private Integer urlType;
+
+    /**
+     * 名称
+     */
+    private String content;
+    /**
+     * 国家
+     */
+    private String countryId;
+
+    /**
+     * 链接地址
+     */
+    private String linkUrl;
 
 }

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

@@ -1,6 +1,7 @@
 package edu.travel.tenant.web;
 
 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;
@@ -13,6 +14,8 @@ import org.springframework.web.bind.annotation.RestController;
 
 import java.util.List;
 
+import static edu.travel.rpc.RPCBaseResponse.success;
+
 /**
 * 轮播图(shop_banner)表控制层
 *
@@ -34,8 +37,8 @@ public class ShopBannerController extends BaseController<ShopBanner>{
      * @return {@link BaseResponse }<{@link List }<{@link BannerVo }>>
      */
     @GetMapping("/getBanner")
-    public BaseResponse<List<BannerVo>> getBanner(BannerDto banner){
-        return new BaseResponse<>(200,"success",shopBannerService.getBanner(banner));
+    public RPCBaseResponse<List<BannerVo>> getBanner(BannerDto banner){
+        return success(shopBannerService.getBanner(banner));
     }