Bladeren bron

Merge remote-tracking branch 'origin/master' into admin

# Conflicts:
#	vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/GoodsServiceImpl.java
#	vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/MerchantServiceImpl.java
liude 1 jaar geleden
bovenliggende
commit
b5368269f5
42 gewijzigde bestanden met toevoegingen van 199 en 258 verwijderingen
  1. 3 5
      vehicle-api/pom.xml
  2. 2 2
      vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/constant/Adpage.java
  3. 2 2
      vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/constant/Adsource.java
  4. 2 2
      vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/constant/ArticleStatus.java
  5. 2 2
      vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/constant/CategoryType.java
  6. 2 2
      vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/constant/CouponStatus.java
  7. 2 2
      vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/constant/CouponType.java
  8. 2 2
      vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/constant/FavoriteType.java
  9. 2 2
      vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/constant/GoodsStatus.java
  10. 2 2
      vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/constant/MerchantStatus.java
  11. 2 2
      vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/constant/ReserveStatus.java
  12. 2 2
      vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/constant/Sort.java
  13. 1 1
      vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/dto/CommentDTO.java
  14. 1 1
      vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/dto/EnquireDTO.java
  15. 1 1
      vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/dto/GoodsDTO.java
  16. 1 1
      vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/dto/MerchantDTO.java
  17. 14 1
      vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/param/CategoryModifyParam.java
  18. 2 2
      vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/param/CategoryPagingParam.java
  19. 0 41
      vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/param/FavoriteModifyParam.java
  20. 7 8
      vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/param/GoodsPagingParam.java
  21. 2 0
      vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/param/LocationQueryParam.java
  22. 30 28
      vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/param/MerchantModifyParam.java
  23. 6 37
      vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/param/MerchantPagingParam.java
  24. 1 1
      vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/service/CategoryService.java
  25. 9 16
      vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/service/FavoriteService.java
  26. 6 4
      vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/service/MerchantService.java
  27. 3 9
      vehicle-server/pom.xml
  28. 7 25
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/copier/FavoriteCopier.java
  29. 5 2
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/copier/MerchantCopier.java
  30. 7 0
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/dao/FavoriteMapper.java
  31. 2 2
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/entity/Article.java
  32. 1 1
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/entity/Comment.java
  33. 1 1
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/entity/Enquire.java
  34. 1 1
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/entity/EnquireReply.java
  35. 1 1
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/entity/Goods.java
  36. 1 1
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/entity/Merchant.java
  37. 6 4
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/CategoryServiceImpl.java
  38. 19 25
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/FavoriteServiceImpl.java
  39. 2 1
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/GoodsServiceImpl.java
  40. 21 15
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/MerchantServiceImpl.java
  41. 8 1
      vehicle-server/src/main/resources/logback-spring.xml
  42. 8 0
      vehicle-server/src/main/resources/mapper/FavoriteMapper.xml

+ 3 - 5
vehicle-api/pom.xml

@@ -17,7 +17,7 @@
 
     <properties>
         <uc-api.version>1.0.0-SNAPSHOT</uc-api.version>
-        <framework-base.version>1.0.0-RELEASE</framework-base.version>
+        <framework-common.version>1.0.0-RELEASE</framework-common.version>
     </properties>
 
     <dependencies>
@@ -25,13 +25,11 @@
             <groupId>com.chelvc.cloud</groupId>
             <artifactId>uc-api</artifactId>
             <version>${uc-api.version}</version>
-            <optional>true</optional>
         </dependency>
         <dependency>
             <groupId>com.chelvc.framework</groupId>
-            <artifactId>framework-base</artifactId>
-            <version>${framework-base.version}</version>
-            <optional>true</optional>
+            <artifactId>framework-common</artifactId>
+            <version>${framework-common.version}</version>
         </dependency>
     </dependencies>
 </project>

+ 2 - 2
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/constant/Adpage.java

@@ -1,6 +1,6 @@
 package com.chelvc.cloud.vehicle.api.constant;
 
-import com.chelvc.framework.base.model.Enumerable;
+import com.chelvc.framework.common.model.Enumeration;
 import lombok.Getter;
 
 /**
@@ -10,7 +10,7 @@ import lombok.Getter;
  * @date 2023/5/7
  */
 @Getter
-public enum Adpage implements Enumerable {
+public enum Adpage implements Enumeration {
     /**
      * 职位首页
      */

+ 2 - 2
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/constant/Adsource.java

@@ -1,6 +1,6 @@
 package com.chelvc.cloud.vehicle.api.constant;
 
-import com.chelvc.framework.base.model.Enumerable;
+import com.chelvc.framework.common.model.Enumeration;
 import lombok.Getter;
 
 /**
@@ -10,7 +10,7 @@ import lombok.Getter;
  * @date 2023/5/7
  */
 @Getter
-public enum Adsource implements Enumerable {
+public enum Adsource implements Enumeration {
     /**
      * 腾讯
      */

+ 2 - 2
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/constant/ArticleStatus.java

@@ -1,6 +1,6 @@
 package com.chelvc.cloud.vehicle.api.constant;
 
-import com.chelvc.framework.base.model.Enumerable;
+import com.chelvc.framework.common.model.Enumeration;
 import lombok.Getter;
 
 /**
@@ -10,7 +10,7 @@ import lombok.Getter;
  * @date 2023/7/17
  */
 @Getter
-public enum ArticleStatus implements Enumerable {
+public enum ArticleStatus implements Enumeration {
     /**
      * 审核中
      */

+ 2 - 2
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/constant/CategoryType.java

@@ -1,6 +1,6 @@
 package com.chelvc.cloud.vehicle.api.constant;
 
-import com.chelvc.framework.base.model.Enumerable;
+import com.chelvc.framework.common.model.Enumeration;
 import lombok.Getter;
 
 /**
@@ -10,7 +10,7 @@ import lombok.Getter;
  * @date 2023/7/17
  */
 @Getter
-public enum CategoryType implements Enumerable {
+public enum CategoryType implements Enumeration {
     /**
      * 汽车美容
      */

+ 2 - 2
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/constant/CouponStatus.java

@@ -1,6 +1,6 @@
 package com.chelvc.cloud.vehicle.api.constant;
 
-import com.chelvc.framework.base.model.Enumerable;
+import com.chelvc.framework.common.model.Enumeration;
 import lombok.Getter;
 
 /**
@@ -10,7 +10,7 @@ import lombok.Getter;
  * @date 2023/7/17
  */
 @Getter
-public enum CouponStatus implements Enumerable {
+public enum CouponStatus implements Enumeration {
     /**
      * 已上线
      */

+ 2 - 2
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/constant/CouponType.java

@@ -1,6 +1,6 @@
 package com.chelvc.cloud.vehicle.api.constant;
 
-import com.chelvc.framework.base.model.Enumerable;
+import com.chelvc.framework.common.model.Enumeration;
 import lombok.Getter;
 
 /**
@@ -10,7 +10,7 @@ import lombok.Getter;
  * @date 2023/7/17
  */
 @Getter
-public enum CouponType implements Enumerable {
+public enum CouponType implements Enumeration {
     /**
      * 赠送
      */

+ 2 - 2
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/constant/FavoriteType.java

@@ -1,6 +1,6 @@
 package com.chelvc.cloud.vehicle.api.constant;
 
-import com.chelvc.framework.base.model.Enumerable;
+import com.chelvc.framework.common.model.Enumeration;
 import lombok.Getter;
 
 /**
@@ -10,7 +10,7 @@ import lombok.Getter;
  * @date 2023/7/17
  */
 @Getter
-public enum FavoriteType implements Enumerable {
+public enum FavoriteType implements Enumeration {
     /**
      * 商家
      */

+ 2 - 2
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/constant/GoodsStatus.java

@@ -1,6 +1,6 @@
 package com.chelvc.cloud.vehicle.api.constant;
 
-import com.chelvc.framework.base.model.Enumerable;
+import com.chelvc.framework.common.model.Enumeration;
 import lombok.Getter;
 
 /**
@@ -10,7 +10,7 @@ import lombok.Getter;
  * @date 2023/7/17
  */
 @Getter
-public enum GoodsStatus implements Enumerable {
+public enum GoodsStatus implements Enumeration {
     /**
      * 已上线
      */

+ 2 - 2
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/constant/MerchantStatus.java

@@ -1,6 +1,6 @@
 package com.chelvc.cloud.vehicle.api.constant;
 
-import com.chelvc.framework.base.model.Enumerable;
+import com.chelvc.framework.common.model.Enumeration;
 import lombok.Getter;
 
 /**
@@ -10,7 +10,7 @@ import lombok.Getter;
  * @date 2023/7/17
  */
 @Getter
-public enum MerchantStatus implements Enumerable {
+public enum MerchantStatus implements Enumeration {
     /**
      * 审核中
      */

+ 2 - 2
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/constant/ReserveStatus.java

@@ -1,6 +1,6 @@
 package com.chelvc.cloud.vehicle.api.constant;
 
-import com.chelvc.framework.base.model.Enumerable;
+import com.chelvc.framework.common.model.Enumeration;
 import lombok.Getter;
 
 /**
@@ -10,7 +10,7 @@ import lombok.Getter;
  * @date 2023/7/17
  */
 @Getter
-public enum ReserveStatus implements Enumerable {
+public enum ReserveStatus implements Enumeration {
     /**
      * 待处理
      */

+ 2 - 2
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/constant/Sort.java

@@ -1,6 +1,6 @@
 package com.chelvc.cloud.vehicle.api.constant;
 
-import com.chelvc.framework.base.model.Enumerable;
+import com.chelvc.framework.common.model.Enumeration;
 import lombok.Getter;
 
 /**
@@ -10,7 +10,7 @@ import lombok.Getter;
  * @date 2023/7/20
  */
 @Getter
-public enum Sort implements Enumerable {
+public enum Sort implements Enumeration {
     /**
      * 综合排序
      */

+ 1 - 1
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/dto/CommentDTO.java

@@ -5,7 +5,7 @@ import java.util.Date;
 import java.util.List;
 
 import com.chelvc.cloud.uc.api.dto.UserDTO;
-import com.chelvc.framework.base.model.File;
+import com.chelvc.framework.common.model.File;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;

+ 1 - 1
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/dto/EnquireDTO.java

@@ -4,7 +4,7 @@ import java.io.Serializable;
 import java.util.Date;
 import java.util.List;
 
-import com.chelvc.framework.base.model.File;
+import com.chelvc.framework.common.model.File;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;

+ 1 - 1
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/dto/GoodsDTO.java

@@ -6,7 +6,7 @@ import java.util.List;
 
 import com.chelvc.cloud.vehicle.api.constant.CategoryType;
 import com.chelvc.cloud.vehicle.api.constant.GoodsStatus;
-import com.chelvc.framework.base.model.File;
+import com.chelvc.framework.common.model.File;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;

+ 1 - 1
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/dto/MerchantDTO.java

@@ -5,7 +5,7 @@ import java.util.Date;
 import java.util.List;
 
 import com.chelvc.cloud.vehicle.api.constant.MerchantStatus;
-import com.chelvc.framework.base.model.File;
+import com.chelvc.framework.common.model.File;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;

+ 14 - 1
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/param/CategoryModifyParam.java

@@ -6,6 +6,7 @@ import javax.validation.constraints.NotEmpty;
 import javax.validation.constraints.NotNull;
 import javax.validation.constraints.Size;
 
+import com.chelvc.cloud.vehicle.api.constant.CategoryType;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
@@ -26,7 +27,7 @@ public class CategoryModifyParam implements Serializable {
      * 分类名称
      */
     @NotEmpty(message = "分类名称不能为空")
-    @Size(max = 100, message = "分类名称长度不能大于100")
+    @Size(max = 50, message = "分类名称长度不能大于50")
     private String name;
 
     /**
@@ -41,4 +42,16 @@ public class CategoryModifyParam implements Serializable {
      */
     @NotNull(message = "是否启用不能为空")
     private Boolean enabled;
+
+    /**
+     * 分类类型
+     */
+    @NotNull(message = "分类类型不能为空")
+    private CategoryType type;
+
+    /**
+     * 是否推荐
+     */
+    @NotNull(message = "是否推荐不能为空")
+    private Boolean recommend;
 }

+ 2 - 2
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/param/CategoryPagingParam.java

@@ -4,7 +4,7 @@ import java.io.Serializable;
 import javax.validation.constraints.NotNull;
 import javax.validation.constraints.Size;
 
-import com.chelvc.framework.base.model.Paging;
+import com.chelvc.framework.common.model.Paging;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
@@ -30,7 +30,7 @@ public class CategoryPagingParam implements Serializable {
     /**
      * 分类名称
      */
-    @Size(max = 100, message = "分类名称长度不能大于50")
+    @Size(max = 50, message = "分类名称长度不能大于50")
     private String name;
 
     /**

+ 0 - 41
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/param/FavoriteModifyParam.java

@@ -1,41 +0,0 @@
-package com.chelvc.cloud.vehicle.api.param;
-import com.chelvc.cloud.vehicle.api.constant.FavoriteType;
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-import lombok.experimental.SuperBuilder;
-
-import java.util.Date;
-
-/**
- * 用户收藏数据模型
- *
- * @author liude
- * @date 2023/7/19
- */
-@Data
-@SuperBuilder
-@NoArgsConstructor
-@AllArgsConstructor
-public class FavoriteModifyParam {
-
-    /**
-     * 用户ID
-     */
-    private Long userId;
-
-    /**
-     * 收藏类型
-     */
-    private FavoriteType type;
-
-    /**
-     * 收藏内容ID
-     */
-    private Long contentId;
-
-    /**
-     * 创建时间
-     */
-    private Date createTime;
-}

+ 7 - 8
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/param/GoodsPagingParam.java

@@ -1,18 +1,16 @@
 package com.chelvc.cloud.vehicle.api.param;
 
+import java.io.Serializable;
+import javax.validation.constraints.NotNull;
+import javax.validation.constraints.Size;
+
 import com.chelvc.cloud.vehicle.api.constant.GoodsStatus;
-import com.chelvc.framework.base.model.File;
-import com.chelvc.framework.base.model.Paging;
+import com.chelvc.framework.common.model.Paging;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 import lombok.experimental.SuperBuilder;
 
-import javax.validation.constraints.NotNull;
-import java.io.Serializable;
-import java.util.Date;
-import java.util.List;
-
 /**
  * 商品信息
  *
@@ -33,7 +31,9 @@ public class GoodsPagingParam implements Serializable {
     /**
      * 商品名称
      */
+    @Size(max = 100, message = "商品名称长度不能大于100")
     private String name;
+
     /**
      * 分类ID
      */
@@ -42,5 +42,4 @@ public class GoodsPagingParam implements Serializable {
      * 商品状态
      */
     private GoodsStatus status;
-
 }

+ 2 - 0
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/param/LocationQueryParam.java

@@ -1,6 +1,7 @@
 package com.chelvc.cloud.vehicle.api.param;
 
 import java.io.Serializable;
+import javax.validation.constraints.Max;
 import javax.validation.constraints.Min;
 import javax.validation.constraints.NotNull;
 
@@ -25,6 +26,7 @@ public class LocationQueryParam implements Serializable {
      */
     @NotNull(message = "地区编码不能为空")
     @Min(value = 100000, message = "地区编码不能小于100000")
+    @Max(value = 999999, message = "地区编码不能大于999999")
     private Integer region;
 
     /**

+ 30 - 28
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/param/MerchantModifyParam.java

@@ -1,11 +1,18 @@
 package com.chelvc.cloud.vehicle.api.param;
 
-import com.chelvc.cloud.vehicle.api.constant.MerchantStatus;
-import com.chelvc.framework.base.model.File;
-import lombok.*;
-import lombok.experimental.SuperBuilder;
-
+import java.io.Serializable;
 import java.util.List;
+import javax.validation.constraints.Max;
+import javax.validation.constraints.Min;
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import javax.validation.constraints.Size;
+
+import com.chelvc.framework.common.model.File;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.SuperBuilder;
 
 /**
  * 商家数据模型
@@ -17,22 +24,18 @@ import java.util.List;
 @SuperBuilder
 @NoArgsConstructor
 @AllArgsConstructor
-@ToString(callSuper = true)
-public class MerchantModifyParam { /**
-
-    /**
-     * 用户ID
-     */
-    private Long userId;
-
+public class MerchantModifyParam implements Serializable {
     /**
      * 商家名称
      */
+    @NotEmpty(message = "商家名称不能为空")
+    @Size(max = 100, message = "商家名称长度不能大于100")
     private String name;
 
     /**
      * 商家Logo
      */
+    @Size(max = 200, message = "商家Logo长度不能大于200")
     private String logo;
 
     /**
@@ -43,55 +46,54 @@ public class MerchantModifyParam { /**
     /**
      * 联系人
      */
+    @NotEmpty(message = "联系人不能为空")
+    @Size(max = 50, message = "联系人长度不能大于50")
     private String liaison;
 
     /**
      * 联系电话
      */
+    @NotEmpty(message = "联系电话不能为空")
+    @Size(max = 50, message = "联系电话长度不能大于50")
     private String mobile;
 
     /**
      * 营业时间
      */
+    @NotEmpty(message = "营业时间不能为空")
+    @Size(max = 50, message = "营业时间长度不能大于50")
     private String opening;
 
     /**
      * 详细地址
      */
+    @NotEmpty(message = "详细地址不能为空")
+    @Size(max = 200, message = "营业时间长度不能大于200")
     private String address;
 
-    /**
-     * 商家评分
-     */
-    private Double score;
-
-    /**
-     * 订单销量
-     */
-    private Integer sale;
-
     /**
      * 所属地区
      */
+    @NotNull(message = "所属地区不能为空")
+    @Min(value = 100000, message = "所属地区不能小于100000")
+    @Max(value = 999999, message = "所属地区不能大于999999")
     private Integer region;
 
     /**
      * 经度
      */
+    @NotNull(message = "经度不能为空")
     private Double longitude;
 
     /**
      * 纬度
      */
+    @NotNull(message = "纬度不能为空")
     private Double latitude;
 
     /**
      * 是否推荐
      */
+    @NotNull(message = "是否推荐不能为空")
     private Boolean recommend;
-
-    /**
-     * 商家状态
-     */
-    private MerchantStatus status;
 }

+ 6 - 37
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/param/MerchantPagingParam.java

@@ -1,18 +1,16 @@
 package com.chelvc.cloud.vehicle.api.param;
 
+import java.io.Serializable;
+import javax.validation.constraints.NotNull;
+import javax.validation.constraints.Size;
+
 import com.chelvc.cloud.vehicle.api.constant.MerchantStatus;
-import com.chelvc.framework.base.model.File;
-import com.chelvc.framework.base.model.Paging;
+import com.chelvc.framework.common.model.Paging;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 import lombok.experimental.SuperBuilder;
 
-import javax.validation.constraints.NotNull;
-import java.io.Serializable;
-import java.util.Date;
-import java.util.List;
-
 /**
  * 商家信息
  *
@@ -33,38 +31,9 @@ public class MerchantPagingParam implements Serializable {
     /**
      * 商家名称
      */
+    @Size(max = 100, message = "商家名称长度不能大于100")
     private String name;
 
-    /**
-     * 详细地址
-     */
-    private String address;
-
-    /**
-     * 商家评分
-     */
-    private Double score;
-
-    /**
-     * 订单销量
-     */
-    private Integer sale;
-
-    /**
-     * 距离(米)
-     */
-    private Integer distance;
-
-    /**
-     * 经度
-     */
-    private Double longitude;
-
-    /**
-     * 纬度
-     */
-    private Double latitude;
-
     /**
      * 是否推荐
      */

+ 1 - 1
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/service/CategoryService.java

@@ -5,7 +5,7 @@ import java.util.List;
 import com.chelvc.cloud.vehicle.api.dto.CategoryDTO;
 import com.chelvc.cloud.vehicle.api.param.CategoryModifyParam;
 import com.chelvc.cloud.vehicle.api.param.CategoryPagingParam;
-import com.chelvc.framework.base.model.Pagination;
+import com.chelvc.framework.common.model.Pagination;
 
 /**
  * 分类业务操作接口

+ 9 - 16
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/service/FavoriteService.java

@@ -1,6 +1,4 @@
 package com.chelvc.cloud.vehicle.api.service;
-import com.chelvc.cloud.vehicle.api.dto.FavoriteDTO;
-import com.chelvc.cloud.vehicle.api.param.FavoriteModifyParam;
 
 /**
  * 商品收藏接口
@@ -10,22 +8,17 @@ import com.chelvc.cloud.vehicle.api.param.FavoriteModifyParam;
  */
 public interface FavoriteService {
     /**
-     * 收藏
-     * @param param 收藏信息
+     * 收藏商家
+     *
+     * @param merchantId 商家ID
+     * @return 收藏ID
      */
-    Long addFavorite(FavoriteModifyParam param);
-    /**
-     * 取消收藏
-     * @param id
-     */
-    void deleteFavorite(Long id);
+    Long addMerchantFavorite(Long merchantId);
 
     /**
-     * 查询是否收藏
-     * @param id
-     * @return
+     * 取消我的收藏
+     *
+     * @param id 收藏ID
      */
-    FavoriteDTO getFavorite(Long id);
-
-
+    void deleteMineFavorite(Long id);
 }

+ 6 - 4
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/service/MerchantService.java

@@ -4,8 +4,11 @@ import java.util.List;
 
 import com.chelvc.cloud.vehicle.api.dto.MerchantDTO;
 import com.chelvc.cloud.vehicle.api.dto.MerchantDetailDTO;
-import com.chelvc.cloud.vehicle.api.param.*;
-import com.chelvc.framework.base.model.Pagination;
+import com.chelvc.cloud.vehicle.api.param.LocationQueryParam;
+import com.chelvc.cloud.vehicle.api.param.MerchantModifyParam;
+import com.chelvc.cloud.vehicle.api.param.MerchantPagingParam;
+import com.chelvc.cloud.vehicle.api.param.MerchantQueryParam;
+import com.chelvc.framework.common.model.Pagination;
 
 /**
  * 商家业务接口
@@ -36,7 +39,6 @@ public interface MerchantService {
      * 查询商家
      *
      * @param param 查询参数
-     * @param size  商家数量
      * @return 商家信息列表
      */
     List<MerchantDTO> listSimpleMerchants(MerchantQueryParam param);
@@ -76,7 +78,7 @@ public interface MerchantService {
      * 查询商家
      *
      * @param param 查询参数
-     * @return 分类分页信息
+     * @return 商家分页信息
      */
     Pagination<MerchantDTO> getMerchantPaging(MerchantPagingParam param);
 }

+ 3 - 9
vehicle-server/pom.xml

@@ -18,7 +18,7 @@
     <properties>
         <uc-api.version>1.0.0-SNAPSHOT</uc-api.version>
         <vehicle-api.version>1.0.0-SNAPSHOT</vehicle-api.version>
-        <framework-base.version>1.0.0-RELEASE</framework-base.version>
+        <framework-dubbo.version>1.0.0-RELEASE</framework-dubbo.version>
         <framework-redis.version>1.0.0-RELEASE</framework-redis.version>
         <framework-rocketmq.version>1.0.0-RELEASE</framework-rocketmq.version>
         <framework-database.version>1.0.0-RELEASE</framework-database.version>
@@ -29,37 +29,31 @@
             <groupId>com.chelvc.cloud</groupId>
             <artifactId>uc-api</artifactId>
             <version>${uc-api.version}</version>
-            <optional>true</optional>
         </dependency>
         <dependency>
             <groupId>com.chelvc.cloud</groupId>
             <artifactId>vehicle-api</artifactId>
             <version>${vehicle-api.version}</version>
-            <optional>true</optional>
         </dependency>
         <dependency>
             <groupId>com.chelvc.framework</groupId>
-            <artifactId>framework-base</artifactId>
-            <version>${framework-base.version}</version>
-            <optional>true</optional>
+            <artifactId>framework-dubbo</artifactId>
+            <version>${framework-dubbo.version}</version>
         </dependency>
         <dependency>
             <groupId>com.chelvc.framework</groupId>
             <artifactId>framework-redis</artifactId>
             <version>${framework-redis.version}</version>
-            <optional>true</optional>
         </dependency>
         <dependency>
             <groupId>com.chelvc.framework</groupId>
             <artifactId>framework-rocketmq</artifactId>
             <version>${framework-rocketmq.version}</version>
-            <optional>true</optional>
         </dependency>
         <dependency>
             <groupId>com.chelvc.framework</groupId>
             <artifactId>framework-database</artifactId>
             <version>${framework-database.version}</version>
-            <optional>true</optional>
         </dependency>
         <dependency>
             <groupId>mysql</groupId>

+ 7 - 25
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/copier/FavoriteCopier.java

@@ -1,18 +1,16 @@
 package com.chelvc.cloud.vehicle.server.copier;
 
-import com.chelvc.cloud.vehicle.api.constant.FavoriteType;
-import com.chelvc.cloud.vehicle.api.dto.CategoryDTO;
+import java.util.Collection;
+import java.util.List;
+
 import com.chelvc.cloud.vehicle.api.dto.FavoriteDTO;
-import com.chelvc.cloud.vehicle.api.param.CategoryModifyParam;
-import com.chelvc.cloud.vehicle.api.param.FavoriteModifyParam;
-import com.chelvc.cloud.vehicle.server.entity.Category;
 import com.chelvc.cloud.vehicle.server.entity.Favorite;
-import org.mapstruct.*;
+import org.mapstruct.Builder;
+import org.mapstruct.IterableMapping;
+import org.mapstruct.Mapper;
+import org.mapstruct.Named;
 import org.mapstruct.factory.Mappers;
 
-import java.util.Collection;
-import java.util.List;
-
 /**
  * 收藏信息拷贝接口
  *
@@ -43,20 +41,4 @@ public interface FavoriteCopier {
      */
     @IterableMapping(qualifiedByName = "entity2dto")
     List<FavoriteDTO> copying(Collection<Favorite> favorites);
-
-    /**
-     * 收藏信息拷贝
-     *
-     * @param param 收藏更新参数
-     * @return 收藏信息
-     */
-    Favorite copying(FavoriteModifyParam param);
-
-    /**
-     * 收藏信息拷贝
-     *
-     * @param param    收藏更新参数
-     * @param favorite 收藏信息
-     */
-    void copying(FavoriteModifyParam param, @MappingTarget Favorite favorite);
 }

+ 5 - 2
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/copier/MerchantCopier.java

@@ -6,6 +6,8 @@ import java.util.List;
 import com.chelvc.cloud.vehicle.api.dto.MerchantDTO;
 import com.chelvc.cloud.vehicle.api.param.MerchantModifyParam;
 import com.chelvc.cloud.vehicle.server.entity.Merchant;
+import org.mapstruct.Builder;
+import org.mapstruct.Mapper;
 import org.mapstruct.MappingTarget;
 import org.mapstruct.factory.Mappers;
 
@@ -15,6 +17,7 @@ import org.mapstruct.factory.Mappers;
  * @author Woody
  * @date 2023/7/20
  */
+@Mapper(builder = @Builder(disableBuilder = true))
 public interface MerchantCopier {
     /**
      * 对象拷贝接口实例
@@ -49,7 +52,7 @@ public interface MerchantCopier {
      * 商家信息拷贝
      *
      * @param param    商家更新参数
-     * @param  merchant 商家信息
+     * @param merchant 商家信息
      */
-    void copying( MerchantModifyParam param, @MappingTarget  Merchant merchant);
+    void copying(MerchantModifyParam param, @MappingTarget Merchant merchant);
 }

+ 7 - 0
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/dao/FavoriteMapper.java

@@ -12,4 +12,11 @@ import org.apache.ibatis.annotations.Mapper;
  */
 @Mapper
 public interface FavoriteMapper extends BaseMapper<Favorite> {
+    /**
+     * 创建或忽略收藏信息
+     *
+     * @param favorite 收藏信息
+     * @return true/false
+     */
+    boolean createOrIgnore(Favorite favorite);
 }

+ 2 - 2
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/entity/Article.java

@@ -5,8 +5,8 @@ import java.util.Date;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.chelvc.cloud.vehicle.api.constant.ArticleStatus;
-import com.chelvc.framework.base.model.Platform;
-import com.chelvc.framework.base.model.Terminal;
+import com.chelvc.framework.common.model.Platform;
+import com.chelvc.framework.common.model.Terminal;
 import com.chelvc.framework.database.entity.Entity;
 import lombok.AllArgsConstructor;
 import lombok.Data;

+ 1 - 1
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/entity/Comment.java

@@ -7,7 +7,7 @@ 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.chelvc.framework.base.model.File;
+import com.chelvc.framework.common.model.File;
 import com.chelvc.framework.database.entity.Entity;
 import com.chelvc.framework.database.interceptor.FilesTypeHandler;
 import lombok.AllArgsConstructor;

+ 1 - 1
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/entity/Enquire.java

@@ -6,7 +6,7 @@ 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.chelvc.framework.base.model.File;
+import com.chelvc.framework.common.model.File;
 import com.chelvc.framework.database.entity.ModifyEntity;
 import com.chelvc.framework.database.interceptor.FilesTypeHandler;
 import lombok.AllArgsConstructor;

+ 1 - 1
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/entity/EnquireReply.java

@@ -7,7 +7,7 @@ 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.chelvc.framework.base.model.File;
+import com.chelvc.framework.common.model.File;
 import com.chelvc.framework.database.entity.Entity;
 import com.chelvc.framework.database.interceptor.FilesTypeHandler;
 import lombok.AllArgsConstructor;

+ 1 - 1
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/entity/Goods.java

@@ -8,7 +8,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.chelvc.cloud.vehicle.api.constant.CategoryType;
 import com.chelvc.cloud.vehicle.api.constant.GoodsStatus;
-import com.chelvc.framework.base.model.File;
+import com.chelvc.framework.common.model.File;
 import com.chelvc.framework.database.entity.ModifyEntity;
 import com.chelvc.framework.database.interceptor.FilesTypeHandler;
 import com.chelvc.framework.database.interceptor.LongsTypeHandler;

+ 1 - 1
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/entity/Merchant.java

@@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.chelvc.cloud.vehicle.api.constant.MerchantStatus;
-import com.chelvc.framework.base.model.File;
+import com.chelvc.framework.common.model.File;
 import com.chelvc.framework.database.entity.ModifyEntity;
 import com.chelvc.framework.database.interceptor.FilesTypeHandler;
 import lombok.AllArgsConstructor;

+ 6 - 4
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/CategoryServiceImpl.java

@@ -13,9 +13,9 @@ import com.chelvc.cloud.vehicle.server.copier.CategoryCopier;
 import com.chelvc.cloud.vehicle.server.dao.CategoryMapper;
 import com.chelvc.cloud.vehicle.server.entity.Category;
 import com.chelvc.cloud.vehicle.server.service.CategoryService;
-import com.chelvc.framework.base.model.Pagination;
-import com.chelvc.framework.base.util.StringUtils;
-import com.chelvc.framework.database.context.DatabaseContextHolder;
+import com.chelvc.framework.base.util.ResourceUtils;
+import com.chelvc.framework.common.model.Pagination;
+import com.chelvc.framework.common.util.StringUtils;
 import com.chelvc.framework.database.util.PagingUtils;
 import lombok.NonNull;
 import org.apache.dubbo.config.annotation.DubboService;
@@ -31,6 +31,8 @@ public class CategoryServiceImpl extends ServiceImpl<CategoryMapper, Category> i
         com.chelvc.cloud.vehicle.api.service.CategoryService {
     @Override
     public Long addCategory(@NonNull CategoryModifyParam param) {
+        Integer count = this.lambdaQuery().eq(Category::getName, param.getName()).count();
+        ResourceUtils.available(count <= 0, "分类名称已存在");
         Category category = CategoryCopier.INSTANCE.copying(param);
         this.save(category);
         return category.getId();
@@ -38,7 +40,7 @@ public class CategoryServiceImpl extends ServiceImpl<CategoryMapper, Category> i
 
     @Override
     public void updateCategory(@NonNull Long id, @NonNull CategoryModifyParam param) {
-        Category category = DatabaseContextHolder.getRequireEntity(this, id, "分类不存在");
+        Category category = ResourceUtils.required(this.getById(id), "分类不存在");
         CategoryCopier.INSTANCE.copying(param, category);
         this.updateById(category);
     }

+ 19 - 25
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/FavoriteServiceImpl.java

@@ -1,21 +1,17 @@
 package com.chelvc.cloud.vehicle.server.service.impl;
 
+import java.util.Date;
+import java.util.Objects;
+
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.chelvc.cloud.vehicle.api.dto.FavoriteDTO;
-import com.chelvc.cloud.vehicle.api.param.CategoryModifyParam;
-import com.chelvc.cloud.vehicle.api.param.FavoriteModifyParam;
-import com.chelvc.cloud.vehicle.server.copier.CategoryCopier;
-import com.chelvc.cloud.vehicle.server.copier.FavoriteCopier;
+import com.chelvc.cloud.vehicle.api.constant.FavoriteType;
 import com.chelvc.cloud.vehicle.server.dao.FavoriteMapper;
-import com.chelvc.cloud.vehicle.server.dao.MerchantMapper;
-import com.chelvc.cloud.vehicle.server.entity.Category;
 import com.chelvc.cloud.vehicle.server.entity.Favorite;
-import com.chelvc.cloud.vehicle.server.entity.Merchant;
 import com.chelvc.cloud.vehicle.server.service.FavoriteService;
-import com.chelvc.cloud.vehicle.server.service.MerchantService;
-import com.chelvc.framework.database.context.DatabaseContextHolder;
+import com.chelvc.framework.base.context.SessionContextHolder;
+import com.chelvc.framework.base.util.ResourceUtils;
 import lombok.NonNull;
-import org.springframework.stereotype.Service;
+import org.apache.dubbo.config.annotation.DubboService;
 
 /**
  * 用户收藏业务操作实现
@@ -23,24 +19,22 @@ import org.springframework.stereotype.Service;
  * @author liude
  * @date 2023/7/20
  */
-@Service
+@DubboService(interfaceClass = com.chelvc.cloud.vehicle.api.service.FavoriteService.class)
 public class FavoriteServiceImpl extends ServiceImpl<FavoriteMapper, Favorite> implements FavoriteService,
         com.chelvc.cloud.vehicle.api.service.FavoriteService {
-
     @Override
-    public Long addFavorite(@NonNull FavoriteModifyParam param){
-        Favorite favorite = FavoriteCopier.INSTANCE.copying(param);
-        this.save(favorite);
-        return  favorite.getId();
-    }
-    @Override
-    public void deleteFavorite(@NonNull Long id) {
-        Favorite favorite = DatabaseContextHolder.getRequireEntity(this, id, "收藏不存在");
-        this.deleteFavorite(id);
+    public Long addMerchantFavorite(@NonNull Long merchantId) {
+        Favorite favorite = Favorite.builder().userId(SessionContextHolder.getId()).type(FavoriteType.MERCHANT)
+                .contentId(merchantId).createTime(new Date()).build();
+        boolean success = this.baseMapper.createOrIgnore(favorite);
+        ResourceUtils.available(success, "收藏信息已存在");
+        return favorite.getId();
     }
+
     @Override
-    public FavoriteDTO getFavorite(@NonNull Long id){
-        Favorite favorite = this.getById(id);
-        return FavoriteCopier.INSTANCE.copying(favorite);
+    public void deleteMineFavorite(@NonNull Long id) {
+        Favorite favorite = ResourceUtils.required(this.getById(id), "收藏信息不存在");
+        ResourceUtils.available(Objects.equals(favorite.getUserId(), SessionContextHolder.getId()), "非法操作");
+        this.removeById(id);
     }
 }

+ 2 - 1
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/GoodsServiceImpl.java

@@ -18,6 +18,7 @@ import com.chelvc.cloud.vehicle.server.service.CommentService;
 import com.chelvc.cloud.vehicle.server.service.CouponService;
 import com.chelvc.cloud.vehicle.server.service.GoodsService;
 import com.chelvc.framework.base.context.SessionContextHolder;
+import com.chelvc.framework.base.util.ResourceUtils;
 import com.chelvc.framework.base.model.Pagination;
 import com.chelvc.framework.base.util.StringUtils;
 import com.chelvc.framework.database.context.DatabaseContextHolder;
@@ -55,7 +56,7 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
         GoodsDetailDTO detail = GoodsDetailDTO.builder().build();
 
         // 获取商品信息
-        Goods goods = DatabaseContextHolder.getRequireEntity(this, id, "商品不存在");
+        Goods goods = ResourceUtils.required(this.getById(id), "商品不存在");
         detail.setGoods(GoodsCopier.INSTANCE.copying(goods));
 
         // 获取用户可用优惠券

+ 21 - 15
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/MerchantServiceImpl.java

@@ -1,22 +1,28 @@
 package com.chelvc.cloud.vehicle.server.service.impl;
 
 import java.util.List;
+import java.util.Objects;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.chelvc.cloud.vehicle.api.constant.CategoryType;
+import com.chelvc.cloud.vehicle.api.constant.MerchantStatus;
 import com.chelvc.cloud.vehicle.api.dto.GoodsDTO;
 import com.chelvc.cloud.vehicle.api.dto.MerchantDTO;
 import com.chelvc.cloud.vehicle.api.dto.MerchantDetailDTO;
-import com.chelvc.cloud.vehicle.api.param.*;
+import com.chelvc.cloud.vehicle.api.param.GoodsQueryParam;
+import com.chelvc.cloud.vehicle.api.param.LocationQueryParam;
+import com.chelvc.cloud.vehicle.api.param.MerchantModifyParam;
+import com.chelvc.cloud.vehicle.api.param.MerchantPagingParam;
+import com.chelvc.cloud.vehicle.api.param.MerchantQueryParam;
 import com.chelvc.cloud.vehicle.server.copier.MerchantCopier;
 import com.chelvc.cloud.vehicle.server.dao.MerchantMapper;
 import com.chelvc.cloud.vehicle.server.entity.Merchant;
 import com.chelvc.cloud.vehicle.server.service.GoodsService;
 import com.chelvc.cloud.vehicle.server.service.MerchantService;
-import com.chelvc.framework.base.model.Pagination;
-import com.chelvc.framework.base.util.StringUtils;
-import com.chelvc.framework.database.context.DatabaseContextHolder;
+import com.chelvc.framework.base.util.ResourceUtils;
+import com.chelvc.framework.common.model.Pagination;
+import com.chelvc.framework.common.util.StringUtils;
 import com.chelvc.framework.database.util.PagingUtils;
 import lombok.NonNull;
 import lombok.RequiredArgsConstructor;
@@ -54,7 +60,7 @@ public class MerchantServiceImpl extends ServiceImpl<MerchantMapper, Merchant> i
     public MerchantDetailDTO getMerchantDetail(@NonNull Long id) {
         // 获取商家信息
         MerchantDTO merchant = MerchantCopier.INSTANCE.copying(
-                DatabaseContextHolder.getRequireEntity(this, id, "商家不存在")
+                ResourceUtils.required(this.getById(id), "商家不存在")
         );
 
         // 获取商家全部商品列表
@@ -69,30 +75,30 @@ public class MerchantServiceImpl extends ServiceImpl<MerchantMapper, Merchant> i
 
 
     @Override
-    public Long addMerchant(MerchantModifyParam param){
+    public Long addMerchant(@NonNull MerchantModifyParam param) {
         Merchant merchant = MerchantCopier.INSTANCE.copying(param);
+        merchant.setUserId(0L);
+        merchant.setScore(0D);
+        merchant.setSale(0);
+        merchant.setStatus(MerchantStatus.ONLINE);
         this.save(merchant);
         return merchant.getId();
     }
 
     @Override
     public void updateMerchant(@NonNull Long id, @NonNull MerchantModifyParam param) {
-        Merchant merchant = DatabaseContextHolder.getRequireEntity(this, id, "商家不存在");
+        Merchant merchant = ResourceUtils.required(this.getById(id), "商家不存在");
         MerchantCopier.INSTANCE.copying(param, merchant);
         this.updateById(merchant);
     }
 
-    @Override
-    public void deleteMerchant(@NonNull Long id) {
-        DatabaseContextHolder.getRequireEntity(this, id, "商家不存在");
-        this.baseMapper.deleteById(id);
-    }
-
     @Override
     public Pagination<MerchantDTO> getMerchantPaging(@NonNull MerchantPagingParam param) {
         Page<Merchant> page = this.lambdaQuery()
-                .like(StringUtils.nonEmpty(param.getName()), Merchant::getName, param.getName())
-                .orderByAsc(Merchant::getStatus).page(PagingUtils.convert(param.getPaging()));
+                .eq(StringUtils.nonEmpty(param.getName()), Merchant::getName, param.getName())
+                .eq(Objects.nonNull(param.getRecommend()), Merchant::getRecommend, param.getRecommend())
+                .eq(Objects.nonNull(param.getStatus()), Merchant::getStatus, param.getStatus())
+                .orderByDesc(Merchant::getCreateTime).page(PagingUtils.convert(param.getPaging()));
         return PagingUtils.convert(page, MerchantCopier.INSTANCE::copying);
     }
 }

+ 8 - 1
vehicle-server/src/main/resources/logback-spring.xml

@@ -4,6 +4,8 @@
 
 	<springProperty name="LOG_PATH" source="logging.path" defaultValue="./"/>
 
+	<turboFilter class="com.chelvc.framework.base.interceptor.DynamicLoggingInterceptor"/>
+
 	<appender name="CONSOLE_APPENDER" class="ch.qos.logback.core.ConsoleAppender">
 		<encoder>
 			<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger: %msg%n</pattern>
@@ -24,10 +26,15 @@
 		</rollingPolicy>
 	</appender>
 
-	<logger name="RocketmqClient" level="error"/>
+	<appender name="ASYNC_FILE_APPENDER" class="ch.qos.logback.classic.AsyncAppender">
+		<queueSize>256</queueSize>
+		<discardingThreshold>0</discardingThreshold>
+		<appender-ref ref="FILE_APPENDER"/>
+	</appender>
 
 	<root level="info">
 		<appender-ref ref="CONSOLE_APPENDER"/>
 		<appender-ref ref="FILE_APPENDER"/>
+		<appender-ref ref="ASYNC_FILE_APPENDER"/>
 	</root>
 </configuration>

+ 8 - 0
vehicle-server/src/main/resources/mapper/FavoriteMapper.xml

@@ -0,0 +1,8 @@
+<?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="com.chelvc.cloud.vehicle.server.dao.FavoriteMapper">
+    <insert id="createOrIgnore">
+        insert ignore into `favorite`(id, user_id, type, content_id, create_time)
+        values(#{id}, #{userId}, #{type}, #{contentId}, #{createTime})
+    </insert>
+</mapper>