Explorar el Código

将实体项目导入

zhangchen hace 3 meses
padre
commit
083357e97a
Se han modificado 100 ficheros con 8379 adiciones y 0 borrados
  1. 4 0
      alien-branch-second/pom.xml
  2. 90 0
      alien-service-entity/pom.xml
  3. 70 0
      alien-service-entity/src/main/java/shop/alien/entity/SecondVideoTask.java
  4. 37 0
      alien-service-entity/src/main/java/shop/alien/entity/result/APPConstant.java
  5. 10 0
      alien-service-entity/src/main/java/shop/alien/entity/result/BusinessException.java
  6. 48 0
      alien-service-entity/src/main/java/shop/alien/entity/result/CommonEnum.java
  7. 41 0
      alien-service-entity/src/main/java/shop/alien/entity/result/IResultCode.java
  8. 207 0
      alien-service-entity/src/main/java/shop/alien/entity/result/R.java
  9. 108 0
      alien-service-entity/src/main/java/shop/alien/entity/result/ResultCode.java
  10. 50 0
      alien-service-entity/src/main/java/shop/alien/entity/second/LifeUserLog.java
  11. 85 0
      alien-service-entity/src/main/java/shop/alien/entity/second/SecondComplaint.java
  12. 79 0
      alien-service-entity/src/main/java/shop/alien/entity/second/SecondEntrustUser.java
  13. 146 0
      alien-service-entity/src/main/java/shop/alien/entity/second/SecondGoods.java
  14. 67 0
      alien-service-entity/src/main/java/shop/alien/entity/second/SecondGoodsAudit.java
  15. 70 0
      alien-service-entity/src/main/java/shop/alien/entity/second/SecondGoodsCategory.java
  16. 141 0
      alien-service-entity/src/main/java/shop/alien/entity/second/SecondGoodsRecord.java
  17. 91 0
      alien-service-entity/src/main/java/shop/alien/entity/second/SecondRiskControlRecord.java
  18. 60 0
      alien-service-entity/src/main/java/shop/alien/entity/second/SecondShield.java
  19. 58 0
      alien-service-entity/src/main/java/shop/alien/entity/second/SecondTradeOperation.java
  20. 183 0
      alien-service-entity/src/main/java/shop/alien/entity/second/SecondTradeRecord.java
  21. 55 0
      alien-service-entity/src/main/java/shop/alien/entity/second/SecondUserCredit.java
  22. 58 0
      alien-service-entity/src/main/java/shop/alien/entity/second/SecondUserCreditDateRecord.java
  23. 57 0
      alien-service-entity/src/main/java/shop/alien/entity/second/SecondUserCreditRecord.java
  24. 56 0
      alien-service-entity/src/main/java/shop/alien/entity/second/enums/RiskControlRuleTypeEnum.java
  25. 61 0
      alien-service-entity/src/main/java/shop/alien/entity/second/enums/SecondGoodsStatusEnum.java
  26. 25 0
      alien-service-entity/src/main/java/shop/alien/entity/second/enums/SecondUserCreditScoreEnum.java
  27. 20 0
      alien-service-entity/src/main/java/shop/alien/entity/second/vo/BatchUnshelveGoodsDTO.java
  28. 18 0
      alien-service-entity/src/main/java/shop/alien/entity/second/vo/RiskControlGoodsIdsDTO.java
  29. 18 0
      alien-service-entity/src/main/java/shop/alien/entity/second/vo/RiskControlGoodsQueryDTO.java
  30. 20 0
      alien-service-entity/src/main/java/shop/alien/entity/second/vo/SecondCommentVo.java
  31. 39 0
      alien-service-entity/src/main/java/shop/alien/entity/second/vo/SecondEntrustUserDTO.java
  32. 30 0
      alien-service-entity/src/main/java/shop/alien/entity/second/vo/SecondEntrustUserDetailVo.java
  33. 41 0
      alien-service-entity/src/main/java/shop/alien/entity/second/vo/SecondEntrustUserQueryVo.java
  34. 39 0
      alien-service-entity/src/main/java/shop/alien/entity/second/vo/SecondEntrustUserResultVo.java
  35. 33 0
      alien-service-entity/src/main/java/shop/alien/entity/second/vo/SecondGoodsAdminQueryDTO.java
  36. 31 0
      alien-service-entity/src/main/java/shop/alien/entity/second/vo/SecondGoodsDetailVo.java
  37. 122 0
      alien-service-entity/src/main/java/shop/alien/entity/second/vo/SecondGoodsRecommendVo.java
  38. 162 0
      alien-service-entity/src/main/java/shop/alien/entity/second/vo/SecondGoodsRecordDetailVo.java
  39. 173 0
      alien-service-entity/src/main/java/shop/alien/entity/second/vo/SecondGoodsVo.java
  40. 66 0
      alien-service-entity/src/main/java/shop/alien/entity/second/vo/SecondReportingVo.java
  41. 42 0
      alien-service-entity/src/main/java/shop/alien/entity/second/vo/SecondRiskControlRecordVo.java
  42. 30 0
      alien-service-entity/src/main/java/shop/alien/entity/second/vo/SecondRiskRecordVo.java
  43. 94 0
      alien-service-entity/src/main/java/shop/alien/entity/second/vo/SecondTradeRecordVo.java
  44. 27 0
      alien-service-entity/src/main/java/shop/alien/entity/second/vo/SecondUserCreditRecordListVo.java
  45. 22 0
      alien-service-entity/src/main/java/shop/alien/entity/second/vo/SecondUserCreditVo.java
  46. 45 0
      alien-service-entity/src/main/java/shop/alien/entity/second/vo/SecondUserViolationDetailVo.java
  47. 58 0
      alien-service-entity/src/main/java/shop/alien/entity/second/vo/SecondUserViolationVo.java
  48. 172 0
      alien-service-entity/src/main/java/shop/alien/entity/second/vo/SellGoodsVo.java
  49. 117 0
      alien-service-entity/src/main/java/shop/alien/entity/second/vo/SellerEvaluationVo.java
  50. 25 0
      alien-service-entity/src/main/java/shop/alien/entity/second/vo/StoreImgDTO.java
  51. 80 0
      alien-service-entity/src/main/java/shop/alien/entity/store/ActivityInviteConfig.java
  52. 75 0
      alien-service-entity/src/main/java/shop/alien/entity/store/ActivityInviteLog.java
  53. 55 0
      alien-service-entity/src/main/java/shop/alien/entity/store/ActivityPeriod.java
  54. 69 0
      alien-service-entity/src/main/java/shop/alien/entity/store/ActivitySignInConfig.java
  55. 56 0
      alien-service-entity/src/main/java/shop/alien/entity/store/ActivitySignInReward.java
  56. 75 0
      alien-service-entity/src/main/java/shop/alien/entity/store/AiIntelligentAssistant.java
  57. 142 0
      alien-service-entity/src/main/java/shop/alien/entity/store/BarPerformance.java
  58. 86 0
      alien-service-entity/src/main/java/shop/alien/entity/store/BathFacilityService.java
  59. 104 0
      alien-service-entity/src/main/java/shop/alien/entity/store/CommentAppeal.java
  60. 81 0
      alien-service-entity/src/main/java/shop/alien/entity/store/DrinkInfo.java
  61. 55 0
      alien-service-entity/src/main/java/shop/alien/entity/store/ElasticSearchLabel.java
  62. 76 0
      alien-service-entity/src/main/java/shop/alien/entity/store/EssentialCityCode.java
  63. 73 0
      alien-service-entity/src/main/java/shop/alien/entity/store/EssentialHolidayComparison.java
  64. 81 0
      alien-service-entity/src/main/java/shop/alien/entity/store/EssentialModuleInformation.java
  65. 82 0
      alien-service-entity/src/main/java/shop/alien/entity/store/EvaluationLabel.java
  66. 92 0
      alien-service-entity/src/main/java/shop/alien/entity/store/ExpertImg.java
  67. 94 0
      alien-service-entity/src/main/java/shop/alien/entity/store/FitnessEquipmentInfo.java
  68. 183 0
      alien-service-entity/src/main/java/shop/alien/entity/store/LawFirm.java
  69. 68 0
      alien-service-entity/src/main/java/shop/alien/entity/store/LawFirmPayment.java
  70. 81 0
      alien-service-entity/src/main/java/shop/alien/entity/store/LawyerAiInteractionLog.java
  71. 94 0
      alien-service-entity/src/main/java/shop/alien/entity/store/LawyerChatMessage.java
  72. 81 0
      alien-service-entity/src/main/java/shop/alien/entity/store/LawyerChatSession.java
  73. 80 0
      alien-service-entity/src/main/java/shop/alien/entity/store/LawyerCommonQuestion.java
  74. 212 0
      alien-service-entity/src/main/java/shop/alien/entity/store/LawyerConsultationOrder.java
  75. 84 0
      alien-service-entity/src/main/java/shop/alien/entity/store/LawyerConsultationReview.java
  76. 55 0
      alien-service-entity/src/main/java/shop/alien/entity/store/LawyerExpertiseArea.java
  77. 76 0
      alien-service-entity/src/main/java/shop/alien/entity/store/LawyerImg.java
  78. 90 0
      alien-service-entity/src/main/java/shop/alien/entity/store/LawyerLegalProblemScenario.java
  79. 94 0
      alien-service-entity/src/main/java/shop/alien/entity/store/LawyerPaymentTransaction.java
  80. 68 0
      alien-service-entity/src/main/java/shop/alien/entity/store/LawyerServiceArea.java
  81. 357 0
      alien-service-entity/src/main/java/shop/alien/entity/store/LawyerUser.java
  82. 56 0
      alien-service-entity/src/main/java/shop/alien/entity/store/LawyerUserSearchHistory.java
  83. 126 0
      alien-service-entity/src/main/java/shop/alien/entity/store/LawyerUserViolation.java
  84. 52 0
      alien-service-entity/src/main/java/shop/alien/entity/store/LifeActivity.java
  85. 70 0
      alien-service-entity/src/main/java/shop/alien/entity/store/LifeAppealManage.java
  86. 89 0
      alien-service-entity/src/main/java/shop/alien/entity/store/LifeBlacklist.java
  87. 86 0
      alien-service-entity/src/main/java/shop/alien/entity/store/LifeBrandedCard.java
  88. 65 0
      alien-service-entity/src/main/java/shop/alien/entity/store/LifeBrowseRecord.java
  89. 46 0
      alien-service-entity/src/main/java/shop/alien/entity/store/LifeCarouselImage.java
  90. 62 0
      alien-service-entity/src/main/java/shop/alien/entity/store/LifeClassBanner.java
  91. 70 0
      alien-service-entity/src/main/java/shop/alien/entity/store/LifeClassManage.java
  92. 56 0
      alien-service-entity/src/main/java/shop/alien/entity/store/LifeCollect.java
  93. 73 0
      alien-service-entity/src/main/java/shop/alien/entity/store/LifeComment.java
  94. 634 0
      alien-service-entity/src/main/java/shop/alien/entity/store/LifeCoupon.java
  95. 53 0
      alien-service-entity/src/main/java/shop/alien/entity/store/LifeDict.java
  96. 154 0
      alien-service-entity/src/main/java/shop/alien/entity/store/LifeDiscountCoupon.java
  97. 64 0
      alien-service-entity/src/main/java/shop/alien/entity/store/LifeDiscountCouponFriendRule.java
  98. 51 0
      alien-service-entity/src/main/java/shop/alien/entity/store/LifeDiscountCouponFriendRuleDetail.java
  99. 79 0
      alien-service-entity/src/main/java/shop/alien/entity/store/LifeDiscountCouponQuantumRules.java
  100. 93 0
      alien-service-entity/src/main/java/shop/alien/entity/store/LifeDiscountCouponStoreFriend.java

+ 4 - 0
alien-branch-second/pom.xml

@@ -267,6 +267,10 @@
             <artifactId>alien-service-util</artifactId>
             <version>1.0.0</version>
         </dependency>
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+        </dependency>
 
     </dependencies>
 

+ 90 - 0
alien-service-entity/pom.xml

@@ -20,4 +20,94 @@
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     </properties>
 
+    <dependencies>
+
+        <dependency>
+            <groupId>io.springfox</groupId>
+            <artifactId>springfox-swagger2</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>javax.servlet</groupId>
+            <artifactId>javax.servlet-api</artifactId>
+            <version>3.1.0</version>
+        </dependency>
+
+        <dependency>
+            <groupId>io.swagger</groupId>
+            <artifactId>swagger-annotations</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>io.swagger</groupId>
+            <artifactId>swagger-models</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-annotation</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-extension</artifactId>
+        </dependency>
+
+        <!--农历转公历-->
+        <dependency>
+            <groupId>cn.6tail</groupId>
+            <artifactId>lunar</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.poi</groupId>
+            <artifactId>poi</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.poi</groupId>
+            <artifactId>poi-ooxml</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba.fastjson2</groupId>
+            <artifactId>fastjson2</artifactId>
+            <version>2.0.53</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>easyexcel</artifactId>
+            <version>4.0.3</version>
+            <scope>compile</scope>
+        </dependency>
+
+        <!-- Jackson for JSON deserialization -->
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-databind</artifactId>
+        </dependency>
+
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <source>8</source>
+                    <target>8</target>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
 </project>

+ 70 - 0
alien-service-entity/src/main/java/shop/alien/entity/SecondVideoTask.java

@@ -0,0 +1,70 @@
+package shop.alien.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 视频审核任务实体类
+ */
+@Data
+@TableName("second_video_task")
+public class SecondVideoTask implements Serializable {
+    
+    private static final long serialVersionUID = 1L;
+    
+    /**
+     * 主键ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+    
+    /**
+     * 数据ID
+     */
+    private String dataId;
+    
+    /**
+     * 视频URL
+     */
+    private String videoUrl;
+    
+    /**
+     * 任务ID
+     */
+    private String taskId;
+    
+    /**
+     * 任务状态 (SUBMITTED-已提交, PROCESSING-处理中, SUCCESS-成功, FAILED-失败)
+     */
+    private String status;
+    
+    /**
+     * 风险级别 (none-无风险, low-低风险, medium-中风险, high-高风险)
+     */
+    private String riskLevel;
+    
+    /**
+     * 审核结果(JSON格式)
+     */
+    private String result;
+    
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+    
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+    
+    /**
+     * 重试次数
+     */
+    private Integer retryCount = 0;
+}

+ 37 - 0
alien-service-entity/src/main/java/shop/alien/entity/result/APPConstant.java

@@ -0,0 +1,37 @@
+package shop.alien.entity.result;
+
+/**
+ * 常量
+ *
+ * @author ssk
+ * @since 1.0.0
+ */
+public interface APPConstant {
+
+    String AAA = "AAA";
+
+    String CAS = "CAS";
+
+    String basePackage = "com.pcitc";
+
+    String ACCEPT_DEPT_UNIFORMITY = "AcceptDeptUniformity";
+
+    /**
+     * 默认为空消息
+     */
+    String DEFAULT_NULL_MESSAGE = "暂无承载数据";
+    /**
+     * 默认成功消息
+     */
+    String DEFAULT_SUCCESS_MESSAGE = "操作成功";
+    /**
+     * 默认失败消息
+     */
+    String DEFAULT_FAILURE_MESSAGE = "操作失败";
+    /**
+     * 默认未授权消息
+     */
+    String DEFAULT_UNAUTHORIZED_MESSAGE = "签名认证失败";
+
+    int SC_OK = 200;
+}

+ 10 - 0
alien-service-entity/src/main/java/shop/alien/entity/result/BusinessException.java

@@ -0,0 +1,10 @@
+package shop.alien.entity.result;
+
+public class BusinessException extends RuntimeException {
+    public BusinessException(String message) {
+        super(message);
+    }
+    public BusinessException(Exception e) {
+        super(e);
+    }
+}

+ 48 - 0
alien-service-entity/src/main/java/shop/alien/entity/result/CommonEnum.java

@@ -0,0 +1,48 @@
+package shop.alien.entity.result;
+
+
+public interface CommonEnum {
+
+    /**
+     * 商品所属模块
+     */
+    enum ModelType {
+        BAR(1, "酒吧"),
+        DELICACY(2, "美食"),
+        GYM(3, "运动健身");
+
+        private final int code;
+        private final String desc;
+
+        ModelType(int code, String desc) {
+            this.code = code;
+            this.desc = desc;
+        }
+
+        public int getCode() { return code; }
+        public String getDesc() { return desc; }
+    }
+
+    /**
+     * 商品所属模块,细化
+     */
+    enum StoreProductItemProdType {
+        BAR_DRINK(1, "酒吧-酒水"),
+        BAR_FOOD(2, "酒吧-餐食"),
+        BAR_COMBO(3, "酒吧-套餐"),
+        DELICACY_FOOD(4, "美食-餐食"),
+        GYM_SINGLE(5, "运动健身-单次"),
+        GYM_MULTI(6, "运动健身-多次");
+
+        private final int code;
+        private final String desc;
+
+        StoreProductItemProdType(int code, String desc) {
+            this.code = code;
+            this.desc = desc;
+        }
+
+        public int getCode() { return code; }
+        public String getDesc() { return desc; }
+    }
+}

+ 41 - 0
alien-service-entity/src/main/java/shop/alien/entity/result/IResultCode.java

@@ -0,0 +1,41 @@
+/**
+ * Copyright (c) 2018-2028, Chill Zhuang 庄骞 (smallchill@163.com).
+ * <p>
+ * Licensed under the GNU LESSER GENERAL PUBLIC LICENSE 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * <p>
+ * http://www.gnu.org/licenses/lgpl.html
+ * <p>
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package shop.alien.entity.result;
+
+import java.io.Serializable;
+
+/**
+ * 业务代码接口
+ *
+ * @author ssk
+ */
+public interface IResultCode extends Serializable {
+
+    /**
+     * 消息
+     *
+     * @return String
+     */
+    String getMessage();
+
+    /**
+     * 状态码
+     *
+     * @return int
+     */
+    int getCode();
+
+}

+ 207 - 0
alien-service-entity/src/main/java/shop/alien/entity/result/R.java

@@ -0,0 +1,207 @@
+package shop.alien.entity.result;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+import lombok.ToString;
+import org.springframework.lang.Nullable;
+import org.springframework.util.ObjectUtils;
+
+import java.io.Serializable;
+import java.util.Optional;
+
+/**
+ * 统一API响应结果封装
+ *
+ * @author ssk
+ */
+@Getter
+@Setter
+@ToString
+@NoArgsConstructor
+@ApiModel
+public class R<T> implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private int code;
+    private boolean success;
+    @ApiModelProperty(value = "对象")
+    private T data;
+    private String msg;
+
+    private R(IResultCode resultCode) {
+        this(resultCode, null, resultCode.getMessage());
+    }
+
+    private R(IResultCode resultCode, String msg) {
+        this(resultCode, null, msg);
+    }
+
+    private R(IResultCode resultCode, T data) {
+        this(resultCode, data, resultCode.getMessage());
+    }
+
+    private R(IResultCode resultCode, T data, String msg) {
+        this(resultCode.getCode(), data, msg);
+    }
+
+    private R(int code, T data, String msg) {
+        this.code = code;
+        this.data = data;
+        this.msg = msg;
+        this.success = ResultCode.SUCCESS.code == code;
+    }
+
+    /**
+     * 判断返回是否为成功
+     *
+     * @param result Result
+     * @return 是否成功
+     */
+    public static boolean isSuccess(@Nullable R<?> result) {
+        return Optional.ofNullable(result)
+                .map(x -> ObjectUtils.nullSafeEquals(ResultCode.SUCCESS.code, x.code))
+                .orElse(Boolean.FALSE);
+    }
+
+    /**
+     * 判断返回是否为成功
+     *
+     * @param result Result
+     * @return 是否成功
+     */
+    public static boolean isNotSuccess(@Nullable R<?> result) {
+        return !R.isSuccess(result);
+    }
+
+    /**
+     * 返回R
+     *
+     * @param data 数据
+     * @param <T>  T 泛型标记
+     * @return R
+     */
+    public static <T> R<T> data(T data) {
+        return data(data, APPConstant.DEFAULT_SUCCESS_MESSAGE);
+    }
+
+    /**
+     * 返回R
+     *
+     * @param data 数据
+     * @param msg  消息
+     * @param <T>  T 泛型标记
+     * @return R
+     */
+    public static <T> R<T> data(T data, String msg) {
+        return data(APPConstant.SC_OK, data, msg);
+    }
+
+    /**
+     * 返回R
+     *
+     * @param code 状态码
+     * @param data 数据
+     * @param msg  消息
+     * @param <T>  T 泛型标记
+     * @return R
+     */
+    public static <T> R<T> data(int code, T data, String msg) {
+        return new R<>(code, data, data == null ? APPConstant.DEFAULT_NULL_MESSAGE : msg);
+    }
+
+    /**
+     * 返回R
+     *
+     * @param msg 消息
+     * @param <T> T 泛型标记
+     * @return R
+     */
+    public static <T> R<T> success(String msg) {
+        return new R<>(ResultCode.SUCCESS, msg);
+    }
+
+    /**
+     * 返回R
+     *
+     * @param resultCode 业务代码
+     * @param <T>        T 泛型标记
+     * @return R
+     */
+    public static <T> R<T> success(IResultCode resultCode) {
+        return new R<>(resultCode);
+    }
+
+    /**
+     * 返回R
+     *
+     * @param resultCode 业务代码
+     * @param msg        消息
+     * @param <T>        T 泛型标记
+     * @return R
+     */
+    public static <T> R<T> success(IResultCode resultCode, String msg) {
+        return new R<>(resultCode, msg);
+    }
+
+    /**
+     * 返回R
+     *
+     * @param msg 消息
+     * @param <T> T 泛型标记
+     * @return R
+     */
+    public static <T> R<T> fail(String msg) {
+        return new R<>(ResultCode.FAILURE, msg);
+    }
+
+
+    /**
+     * 返回R
+     *
+     * @param code 状态码
+     * @param msg  消息
+     * @param <T>  T 泛型标记
+     * @return R
+     */
+    public static <T> R<T> fail(int code, String msg) {
+        return new R<>(code, null, msg);
+    }
+
+    /**
+     * 返回R
+     *
+     * @param resultCode 业务代码
+     * @param <T>        T 泛型标记
+     * @return R
+     */
+    public static <T> R<T> fail(IResultCode resultCode) {
+        return new R<>(resultCode);
+    }
+
+    /**
+     * 返回R
+     *
+     * @param resultCode 业务代码
+     * @param msg        消息
+     * @param <T>        T 泛型标记
+     * @return R
+     */
+    public static <T> R<T> fail(IResultCode resultCode, String msg) {
+        return new R<>(resultCode, msg);
+    }
+
+    /**
+     * 返回R
+     *
+     * @param flag 成功状态
+     * @return R
+     */
+    public static <T> R<T> status(boolean flag) {
+        return flag ? success(APPConstant.DEFAULT_SUCCESS_MESSAGE) : fail(APPConstant.DEFAULT_FAILURE_MESSAGE);
+    }
+
+}

+ 108 - 0
alien-service-entity/src/main/java/shop/alien/entity/result/ResultCode.java

@@ -0,0 +1,108 @@
+/**
+ * Copyright (c) 2018-2028, Chill Zhuang 庄骞 (smallchill@163.com).
+ * <p>
+ * Licensed under the GNU LESSER GENERAL PUBLIC LICENSE 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * <p>
+ * http://www.gnu.org/licenses/lgpl.html
+ * <p>
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package shop.alien.entity.result;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+import javax.servlet.http.HttpServletResponse;
+
+
+/**
+ * 业务代码枚举
+ *
+ * @author ssk
+ */
+@Getter
+@AllArgsConstructor
+public enum ResultCode implements IResultCode {
+
+    /**
+     * 操作成功
+     */
+    SUCCESS(HttpServletResponse.SC_OK, "操作成功"),
+
+    /**
+     * 业务异常
+     */
+    FAILURE(HttpServletResponse.SC_BAD_REQUEST, "业务异常"),
+
+    /**
+     * 请求未授权
+     */
+    UN_AUTHORIZED(HttpServletResponse.SC_UNAUTHORIZED, "请求未授权"),
+
+    /**
+     * 404 没找到请求
+     */
+    NOT_FOUND(HttpServletResponse.SC_NOT_FOUND, "404 没找到请求"),
+
+    /**
+     * 消息不能读取
+     */
+    MSG_NOT_READABLE(HttpServletResponse.SC_BAD_REQUEST, "消息不能读取"),
+
+    /**
+     * 不支持当前请求方法
+     */
+    METHOD_NOT_SUPPORTED(HttpServletResponse.SC_METHOD_NOT_ALLOWED, "不支持当前请求方法"),
+
+    /**
+     * 不支持当前媒体类型
+     */
+    MEDIA_TYPE_NOT_SUPPORTED(HttpServletResponse.SC_UNSUPPORTED_MEDIA_TYPE, "不支持当前媒体类型"),
+
+    /**
+     * 请求被拒绝
+     */
+    REQ_REJECT(HttpServletResponse.SC_FORBIDDEN, "请求被拒绝"),
+
+    /**
+     * 服务器异常
+     */
+    INTERNAL_SERVER_ERROR(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "服务器异常"),
+
+    /**
+     * 缺少必要的请求参数
+     */
+    PARAM_MISS(HttpServletResponse.SC_BAD_REQUEST, "缺少必要的请求参数"),
+
+    /**
+     * 请求参数类型错误
+     */
+    PARAM_TYPE_ERROR(HttpServletResponse.SC_BAD_REQUEST, "请求参数类型错误"),
+
+    /**
+     * 请求参数绑定错误
+     */
+    PARAM_BIND_ERROR(HttpServletResponse.SC_BAD_REQUEST, "请求参数绑定错误"),
+
+    /**
+     * 参数校验失败
+     */
+    PARAM_VALID_ERROR(HttpServletResponse.SC_BAD_REQUEST, "参数校验失败"),
+    ;
+
+    /**
+     * code编码
+     */
+    final int code;
+    /**
+     * 中文信息描述
+     */
+    final String message;
+
+}

+ 50 - 0
alien-service-entity/src/main/java/shop/alien/entity/second/LifeUserLog.java

@@ -0,0 +1,50 @@
+package shop.alien.entity.second;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 用户
+ */
+@Data
+@JsonInclude
+@TableName("life_user_log")
+public class LifeUserLog implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @TableField("user_id")
+    private Integer userId;
+
+    @TableField("user_name")
+    private String userName;
+
+    @TableField("mac_ip")
+    private String macIp;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createdTime;
+
+    @ApiModelProperty(value = "创建人ID")
+    @TableField("created_user_id")
+    private Integer createdUserId;
+
+    @ApiModelProperty(value = "修改时间")
+    @TableField(value = "updated_time", fill = FieldFill.UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updatedTime;
+
+    @ApiModelProperty(value = "修改人ID")
+    @TableField("updated_user_id")
+    private Integer updatedUserId;
+}

+ 85 - 0
alien-service-entity/src/main/java/shop/alien/entity/second/SecondComplaint.java

@@ -0,0 +1,85 @@
+package shop.alien.entity.second;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author ssk
+ * @since 2025-07-09
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="SecondComplaint对象", description="")
+public class SecondComplaint extends Model<SecondComplaint> {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "主键id")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "用户id")
+    @TableField("user_id")
+    private Integer userId;
+
+    @ApiModelProperty(value = "投诉id")
+    @TableField("complaint_id")
+    private Integer complaintId;
+
+    @ApiModelProperty(value = "投诉类型  1-用户  2-商品")
+    @TableField("complaint_type")
+    private Integer complaintType;
+
+    @ApiModelProperty(value = "投诉原因")
+    @TableField("complaint_reason")
+    private String complaintReason;
+
+    @ApiModelProperty(value = "投诉状态  0-审核中  1-成功  2-失败")
+    @TableField("complaint_status")
+    private Integer complaintStatus;
+
+    @ApiModelProperty(value = "投诉结果")
+    @TableField("complaint_result")
+    private String complaintResult;
+
+    @ApiModelProperty(value = "删除标记 0:未删除 1:已删除")
+    @TableField("delete_flag")
+    @TableLogic
+    private Integer deleteFlag;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    private Date createdTime;
+
+    @ApiModelProperty(value = "创建人ID")
+    @TableField(value = "created_user_id", fill = FieldFill.INSERT)
+    private Integer createdUserId;
+
+    @ApiModelProperty(value = "修改时间")
+    @TableField(value = "updated_time", fill = FieldFill.INSERT_UPDATE)
+    private Date updatedTime;
+
+    @ApiModelProperty(value = "修改人ID")
+    @TableField(value = "updated_user_id", fill = FieldFill.INSERT_UPDATE)
+    private Integer updatedUserId;
+
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+}

+ 79 - 0
alien-service-entity/src/main/java/shop/alien/entity/second/SecondEntrustUser.java

@@ -0,0 +1,79 @@
+package shop.alien.entity.second;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 二手委托人信息表
+ * </p>
+ *
+ * @author ssk
+ * @since 2025-11-21
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("second_entrust_user")
+@ApiModel(value = "SecondEntrustUser对象", description = "二手委托人信息表")
+public class SecondEntrustUser extends Model<SecondEntrustUser> {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "主键")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "交易ID")
+    @TableField("entrust_trade_id")
+    private Integer entrustTradeId;
+
+    @ApiModelProperty(value = "交易编号")
+    @TableField("entrust_trade_no")
+    private String entrustTradeNo;
+
+    @ApiModelProperty(value = "委托人电话")
+    @TableField("entrust_user_phone")
+    private String entrustUserPhone;
+
+    @ApiModelProperty(value = "委托人姓名")
+    @TableField("entrust_user_name")
+    private String entrustUserName;
+
+    @ApiModelProperty(value = "委托人身份证")
+    @TableField("entrust_id_card")
+    private String entrustIdCard;
+
+    @ApiModelProperty(value = "委托人身份证照片")
+    @TableField("entrust_id_card_img")
+    private String entrustIdCardImg;
+
+    @ApiModelProperty(value = "删除标记, 0:未删除, 1:已删除")
+    @TableField("delete_flag")
+    private Integer deleteFlag;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    private Date createdTime;
+
+    @ApiModelProperty(value = "创建人ID")
+    @TableField(value = "created_user_id", fill = FieldFill.INSERT)
+    private Integer createdUserId;
+
+    @ApiModelProperty(value = "修改时间")
+    @TableField(value = "updated_time", fill = FieldFill.INSERT_UPDATE)
+    private Date updatedTime;
+
+    @ApiModelProperty(value = "修改人ID")
+    @TableField(value = "updated_user_id", fill = FieldFill.INSERT_UPDATE)
+    private Integer updatedUserId;
+
+}
+

+ 146 - 0
alien-service-entity/src/main/java/shop/alien/entity/second/SecondGoods.java

@@ -0,0 +1,146 @@
+package shop.alien.entity.second;
+
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 二手商品
+ */
+@Data
+@JsonInclude
+@TableName("second_goods")
+public class SecondGoods implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    // 商品状态常量
+    public static final int STATUS_DRAFT = 0; // 草稿
+    public static final int STATUS_REVIEWING = 1; // 审核中
+    public static final int STATUS_REVIEW_FAILED = 2; // 审核失败
+    public static final int STATUS_ON_SALE = 3; // 已上架
+    public static final int STATUS_OFF_SALE = 4; // 已下架
+    public static final int STATUS_SOLD_OUT = 5; // 已售出
+
+    @TableId(value = "id", type = IdType.AUTO)
+    @ApiModelProperty(value = "主键ID")
+    private Integer id;
+
+    @TableField("user_id")
+    @ApiModelProperty(value = "用户ID")
+    private Integer userId;
+
+    @TableField("title")
+    @ApiModelProperty(value = "商品标题")
+    private String title;
+
+    @TableField("home_image")
+    @ApiModelProperty(value = "商品封面图片")
+    private String homeImage;
+
+    @TableField("video_first_frame")
+    @ApiModelProperty(value = "视频第一帧图片")
+    private String videoFirstFrame;
+
+    @TableField("description")
+    @ApiModelProperty(value = "商品描述")
+    private String description;
+
+    @TableField("price")
+    @ApiModelProperty(value = "商品价格(元,保留小数后两位)")
+    private String price;
+
+    @TableField("price")
+    @ApiModelProperty(value = "商品价格(元,保留小数后两位)")
+    private BigDecimal amount;
+
+    @TableField(exist = false)
+    private Integer auditRecordId;
+
+    @TableField("position")
+    @ApiModelProperty(value = "商品位置")
+    private String position;
+
+    @TableField("address_text")
+    @ApiModelProperty(value = "地址文本")
+    private String addressText;
+
+    @TableField("like_count")
+    @ApiModelProperty(value = "点赞数量")
+    private Integer likeCount;
+
+    @TableField("collect_count")
+    @ApiModelProperty(value = "收藏数量")
+    private Integer collectCount;
+
+    @TableField("category_one_id")
+    @ApiModelProperty(value = "一级类别ID")
+    private Integer categoryOneId;
+
+    @TableField("category_two_id")
+    @ApiModelProperty(value = "二级类别ID")
+    private Integer categoryTwoId;
+
+    @TableField("label")
+    @ApiModelProperty(value = "标签")
+    private String label;
+
+    @TableField("topic")
+    @ApiModelProperty(value = "话题(以逗号分隔)")
+    private String topic;
+
+    @TableField("trade_id")
+    @ApiModelProperty(value = "交易ID")
+    private Integer tradeId;
+
+    /**
+     * 视频审核任务ID
+     */
+    private String videoTaskId;
+
+    @TableField("goods_status")
+    @ApiModelProperty(value = "商品状态 0:草稿 1:审核中 2:审核失败 3:已上架 4:已下架 5:已售出")
+    private Integer goodsStatus;
+
+    @TableField("failed_reason")
+    @ApiModelProperty(value = "审核失败原因")
+    private String failedReason;
+
+    @TableField("ai_task_id")
+    @ApiModelProperty(value = "ai_task_id")
+    private String aiTaskId;
+
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @ApiModelProperty(value = "创建时间")
+    private Date createdTime;
+
+    @TableField("delete_flag")
+    @ApiModelProperty(value = "删除标记 0:未删除 1:已删除")
+    @TableLogic
+    private Integer deleteFlag;
+
+    @TableField(value = "release_time", fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @ApiModelProperty(value = "发布时间")
+    private Date releaseTime;
+
+    @TableField("created_user_id")
+    @ApiModelProperty(value = "创建人ID")
+    private Integer createdUserId;
+
+    @TableField(value = "updated_time", fill = FieldFill.UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @ApiModelProperty(value = "修改时间")
+    private Date updatedTime;
+
+    @TableField("updated_user_id")
+    @ApiModelProperty(value = "修改人ID")
+    private Integer updatedUserId;
+}

+ 67 - 0
alien-service-entity/src/main/java/shop/alien/entity/second/SecondGoodsAudit.java

@@ -0,0 +1,67 @@
+package shop.alien.entity.second;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 二手商品审核记录
+ */
+@Data
+@JsonInclude
+@TableName("second_goods_audit")
+public class SecondGoodsAudit implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    // 商品状态常量
+    public static final int GOODS_STATUS_SUCCESS = 1; // 审核成功
+    public static final int GOODS_STATUS_FAILED = 2;  // 审核失败
+
+    // 删除标记常量
+    public static final int DELETE_FLAG_NO = 0;  // 未删除
+    public static final int DELETE_FLAG_YES = 1; // 已删除
+
+    @TableId(value = "id", type = IdType.AUTO)
+    @ApiModelProperty(value = "主键ID")
+    private Integer id;
+
+    @TableField("goods_id")
+    @ApiModelProperty(value = "商品ID")
+    private Integer goodsId;
+
+    @TableField("goods_status")
+    @ApiModelProperty(value = "商品状态 1:审核成功 2:审核失败")
+    private Integer goodsStatus;
+
+    @TableField("failed_reason")
+    @ApiModelProperty(value = "审核描述(失败原因)")
+    private String failedReason;
+
+    @TableField("delete_flag")
+    @ApiModelProperty(value = "删除标记 0:未删除 1:已删除")
+    @TableLogic
+    private Integer deleteFlag;
+
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @ApiModelProperty(value = "创建时间")
+    private Date createdTime;
+
+    @TableField("created_user_id")
+    @ApiModelProperty(value = "创建人ID")
+    private Integer createdUserId;
+
+    @TableField(value = "updated_time", fill = FieldFill.UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @ApiModelProperty(value = "修改时间")
+    private Date updatedTime;
+
+    @TableField("updated_user_id")
+    @ApiModelProperty(value = "修改人ID")
+    private Integer updatedUserId;
+}

+ 70 - 0
alien-service-entity/src/main/java/shop/alien/entity/second/SecondGoodsCategory.java

@@ -0,0 +1,70 @@
+package shop.alien.entity.second;
+
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 二手商品类别表
+ */
+@Data
+@JsonInclude
+@TableName("second_goods_category")
+public class SecondGoodsCategory implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    @ApiModelProperty(value = "主键ID")
+    private Integer id;
+
+    @TableField("category_name")
+    @ApiModelProperty(value = "类别名称")
+    private String categoryName;
+
+    @TableField("category_url")
+    @ApiModelProperty(value = "类别图片URL")
+    private String categoryUrl;
+
+    @TableField("parent_id")
+    @ApiModelProperty(value = "上级ID")
+    private Integer parentId;
+
+    @TableField("delete_flag")
+    @ApiModelProperty(value = "删除标记 0:未删除 1:已删除")
+    @TableLogic
+    private Integer deleteFlag;
+
+    @TableField("category_sort")
+    @ApiModelProperty(value = "排序")
+    private Integer categorySort;
+
+    @TableField("category_state")
+    @ApiModelProperty(value = "状态 0:显示 1:隐藏")
+    private String categoryState;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    private Date createdTime;
+
+    @TableField("created_user_id")
+    @ApiModelProperty(value = "创建人ID")
+    private Integer createdUserId;
+
+    @TableField(value = "updated_time", fill = FieldFill.UPDATE)
+    @ApiModelProperty(value = "修改时间")
+    private Date updatedTime;
+
+    @TableField("updated_user_id")
+    @ApiModelProperty(value = "修改人ID")
+    private Integer updatedUserId;
+
+    @TableField(exist = false)
+    private List<SecondGoodsCategory> children = null;
+}

+ 141 - 0
alien-service-entity/src/main/java/shop/alien/entity/second/SecondGoodsRecord.java

@@ -0,0 +1,141 @@
+package shop.alien.entity.second;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+@JsonInclude
+@TableName("second_goods_record")
+public class SecondGoodsRecord implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    @ApiModelProperty(value = "主键ID")
+    private Integer id;
+
+    @ApiModelProperty("一级分类名称")
+    @TableField(exist = false)
+    private String categoryOneName;
+
+    @ApiModelProperty("二级分类名称")
+    @TableField(exist = false)
+    private String categoryTwoName;
+
+    @TableField("user_id")
+    @ApiModelProperty(value = "用户ID")
+    private Integer userId;
+
+    @TableField("goods_id")
+    @ApiModelProperty(value = "商品ID")
+    private Integer goodsId;
+
+    @TableField("operation_name")
+    @ApiModelProperty(value = "操作名称")
+    private String operationName;
+
+    @TableField("title")
+    @ApiModelProperty(value = "商品标题")
+    private String title;
+
+    @TableField("description")
+    @ApiModelProperty(value = "商品描述")
+    private String description;
+
+    @TableField("price")
+    @ApiModelProperty(value = "商品价格(元,保留小数后两位)")
+    private BigDecimal price;
+
+    @TableField("price")
+    @ApiModelProperty(value = "商品价格(元,保留小数后两位)")
+    private BigDecimal amount;
+
+    @TableField("position")
+    @ApiModelProperty(value = "商品位置")
+    private String position;
+
+    @TableField("like_count")
+    @ApiModelProperty(value = "点赞数量")
+    private Integer likeCount;
+
+    @TableField("collect_count")
+    @ApiModelProperty(value = "收藏数量")
+    private Integer collectCount;
+
+    @TableField("category_one_id")
+    @ApiModelProperty(value = "一级类别ID")
+    private Integer categoryOneId;
+
+    @TableField("category_two_id")
+    @ApiModelProperty(value = "二级类别ID")
+    private Integer categoryTwoId;
+
+    @TableField("label")
+    @ApiModelProperty(value = "标签")
+    private String label;
+
+    @TableField("topic")
+    @ApiModelProperty(value = "话题(以逗号分隔)")
+    private String topic;
+
+    @TableField("trade_id")
+    @ApiModelProperty(value = "交易ID")
+    private Integer tradeId;
+
+    @TableField("release_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @ApiModelProperty(value = "发布时间")
+    private Date releaseTime;
+
+    @TableField("goods_status")
+    @ApiModelProperty(value = "商品状态 0:草稿 1:审核中 2:审核失败 3:已上架 4:已下架 5:已售出")
+    private Integer goodsStatus;
+
+    @TableField("failed_reason")
+    @ApiModelProperty(value = "审核失败原因")
+    private String failedReason;
+
+    @TableField("home_image")
+    @ApiModelProperty(value = "首页图")
+    private String homeImage;
+
+    @TableField("video_task_id")
+    @ApiModelProperty(value = "视频审核任务id")
+    private String videoTaskId;
+
+    @TableField("video_first_frame")
+    @ApiModelProperty(value = "视频第一帧图片")
+    private String videoFirstFrame;
+
+    @TableField("delete_flag")
+    @ApiModelProperty(value = "删除标记 0:未删除 1:已删除")
+    private Integer deleteFlag;
+
+    @TableField("created_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @ApiModelProperty(value = "创建时间")
+    private Date createdTime;
+
+    @TableField("created_user_id")
+    @ApiModelProperty(value = "创建人ID")
+    private Integer createdUserId;
+
+    @TableField("updated_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @ApiModelProperty(value = "修改时间")
+    private Date updatedTime;
+
+    @TableField("updated_user_id")
+    @ApiModelProperty(value = "修改人ID")
+    private Integer updatedUserId;
+
+    @TableField("address_text")
+    @ApiModelProperty(value = "地址文本")
+    private String addressText;
+}

+ 91 - 0
alien-service-entity/src/main/java/shop/alien/entity/second/SecondRiskControlRecord.java

@@ -0,0 +1,91 @@
+package shop.alien.entity.second;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+import java.util.Date;
+
+@Data
+@JsonInclude
+@TableName("second_risk_control_record")
+public class SecondRiskControlRecord extends Model<SecondRiskControlRecord> {
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    @ApiModelProperty(value = "主键ID")
+    private Integer id;
+
+    @TableField("user_id")
+    @ApiModelProperty(value = "用户ID")
+    private Integer userId;
+
+    @TableField("rule_type")
+    @ApiModelProperty(value = "规则类型 1:洗钱嫌疑 2:账号异常 3:交易欺诈 4:异常发布")
+    private Integer ruleType;
+
+    @TableField("rule_name")
+    @ApiModelProperty(value = "规则名称")
+    private String ruleName;
+
+    @TableField("risk_status")
+    @ApiModelProperty(value = "风控执行状态 0 未执行,1-已执行 2-已忽略")
+    private Integer riskStatus;
+
+//
+//    @TableField("trigger_count")
+//    @ApiModelProperty(value = "触发次数")
+//    private Integer triggerCount;
+//
+//    @TableField("time_window_hours")
+//    @ApiModelProperty(value = "时间窗口(小时)")
+//    private Integer timeWindowHours;
+//
+//    @TableField("threshold_value")
+//    @ApiModelProperty(value = "阈值")
+//    private Integer thresholdValue;
+//
+//    @TableField("actual_value")
+//    @ApiModelProperty(value = "实际值")
+//    private Integer actualValue;
+
+    @TableField("business_id")
+    @ApiModelProperty(value = "业务ID(如商品ID、交易ID等)")
+    private String businessId;
+
+//    @TableField("business_type")
+//    @ApiModelProperty(value = "业务类型 1:二手商品 2:交易记录")
+//    private Integer businessType;
+
+    @TableField("detail_info")
+    @ApiModelProperty(value = "详细信息(JSON格式)")
+    private String detailInfo;
+
+    @TableField("delete_flag")
+    @ApiModelProperty(value = "删除标记 0:未删除 1:已删除")
+    @TableLogic
+    private Integer deleteFlag;
+
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @ApiModelProperty(value = "创建时间")
+    private Date createdTime;
+
+    @TableField(value = "created_user_id", fill = FieldFill.INSERT)
+    @ApiModelProperty(value = "创建人ID")
+    private Integer createdUserId;
+
+    @TableField(value = "updated_time", fill = FieldFill.INSERT_UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @ApiModelProperty(value = "修改时间")
+    private Date updatedTime;
+
+    @TableField(value = "updated_user_id", fill = FieldFill.INSERT_UPDATE)
+    @ApiModelProperty(value = "修改人ID")
+    private Integer updatedUserId;
+}

+ 60 - 0
alien-service-entity/src/main/java/shop/alien/entity/second/SecondShield.java

@@ -0,0 +1,60 @@
+package shop.alien.entity.second;
+
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 二手屏蔽
+ */
+@Data
+@JsonInclude
+@TableName("second_shield")
+public class SecondShield implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    @ApiModelProperty(value = "主键ID")
+    private Integer id;
+
+    @TableField("user_id")
+    @ApiModelProperty(value = "用户ID")
+    private Integer userId;
+
+    @TableField("shield_id")
+    @ApiModelProperty(value = "屏蔽ID")
+    private Integer shieldId;
+
+    @TableField("shield_type")
+    @ApiModelProperty(value = "屏蔽类型 1:商品 2:卖家")
+    private Integer shieldType;
+
+    @TableField("delete_flag")
+    @ApiModelProperty(value = "删除标记 0:未删除 1:已删除")
+    @TableLogic
+    private Integer deleteFlag;
+
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @ApiModelProperty(value = "创建时间")
+    private Date createdTime;
+
+    @TableField("created_user_id")
+    @ApiModelProperty(value = "创建人ID")
+    private Integer createdUserId;
+
+    @TableField(value = "updated_time", fill = FieldFill.UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @ApiModelProperty(value = "修改时间")
+    private Date updatedTime;
+
+    @TableField("updated_user_id")
+    @ApiModelProperty(value = "修改人ID")
+    private Integer updatedUserId;
+}

+ 58 - 0
alien-service-entity/src/main/java/shop/alien/entity/second/SecondTradeOperation.java

@@ -0,0 +1,58 @@
+package shop.alien.entity.second;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.util.Date;
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="SecondTradeOperation对象", description="二手交易操作表")
+public class SecondTradeOperation extends Model<SecondTradeOperation> {
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    @ApiModelProperty(value = "主键ID")
+    private Integer id;
+
+    @TableField("trade_id")
+    @ApiModelProperty(value = "交易ID")
+    private Integer tradeId;
+
+    @TableField("user_id")
+    @ApiModelProperty(value = "操作人ID")
+    private Integer userId;
+
+    @TableField("type")
+    @ApiModelProperty(value = "操作类型  1-发起交易  2-拒绝交易  3-确认交易  4-签到  5-交易成功  6-交易失败  7-交易取消")
+    private Integer type;
+
+    @TableField("delete_flag")
+    @ApiModelProperty(value = "删除标记 0:未删除 1:已删除")
+    private Integer deleteFlag;
+
+    @ApiModelProperty(value = "创建时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    private Date createdTime;
+
+    @ApiModelProperty(value = "创建人ID")
+    @TableField(value = "created_user_id", fill = FieldFill.INSERT)
+    private Integer createdUserId;
+
+    @ApiModelProperty(value = "修改时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(value = "updated_time", fill = FieldFill.INSERT_UPDATE)
+    private Date updatedTime;
+
+    @ApiModelProperty(value = "修改人ID")
+    @TableField(value = "updated_user_id", fill = FieldFill.INSERT_UPDATE)
+    private Integer updatedUserId;
+}

+ 183 - 0
alien-service-entity/src/main/java/shop/alien/entity/second/SecondTradeRecord.java

@@ -0,0 +1,183 @@
+package shop.alien.entity.second;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * <p>
+ * 二手交易记录表
+ * </p>
+ *
+ * @author qrs
+ * @since 2025-07-07
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="SecondTradeRecord对象", description="二手交易记录表")
+public class SecondTradeRecord extends Model<SecondTradeRecord> {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "主键id")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "交易编号")
+    @TableField("trade_no")
+    private String tradeNo;
+
+    @ApiModelProperty(value = "商品id")
+    @TableField("goods_id")
+    private Integer goodsId;
+
+    @ApiModelProperty(value = "商品记录表id")
+    @TableField("goods_record_id")
+    private Integer goodsRecordId;
+
+    @ApiModelProperty(value = "买家id")
+    @TableField("buyer_id")
+    private Integer buyerId;
+
+    @ApiModelProperty(value = "卖家id")
+    @TableField("seller_id")
+    private Integer sellerId;
+
+    @ApiModelProperty(value = "交易时间")
+    @TableField("transaction_time")
+    private Date transactionTime;
+
+    @ApiModelProperty(value = "交易地点(经纬度)")
+    @TableField("transaction_latitude_longitude")
+    private String transactionLatitudeLongitude;
+
+    @ApiModelProperty(value = "交易地点(经纬度地址)")
+    @TableField("transaction_latitude_longitude_address")
+    private String transactionLatitudeLongitudeAddress;
+
+    @ApiModelProperty(value = "交易地点(详细地址)")
+    @TableField("transaction_location")
+    private String transactionLocation;
+
+    @ApiModelProperty(value = "交易金额")
+    @TableField("transaction_amount")
+    private BigDecimal transactionAmount;
+
+    @ApiModelProperty(value = "买家是否签到  0-未签到  1-已签到")
+    @TableField("buyer_sign_in")
+    private Integer buyerSignIn;
+
+    @ApiModelProperty(value = "买家签到时间")
+    @TableField("buyer_sign_in_time")
+    private Date buyerSignInTime;
+
+    @ApiModelProperty(value = "买家签到地点(经纬度)")
+    @TableField("buyer_sign_in_latitude_longitude")
+    private String buyerSignInLatitudeLongitude;
+
+    @ApiModelProperty(value = "买家签到地点(经纬度)")
+    @TableField("buyer_sign_in_latitude_longitude_address")
+    private String buyerSignInLatitudeLongitudeAddress;
+
+    @ApiModelProperty(value = "卖家是否签到  0-未签到  1-已签到")
+    @TableField("seller_sign_in")
+    private Integer sellerSignIn;
+
+    @ApiModelProperty(value = "卖家签到时间")
+    @TableField("seller_sign_in_time")
+    private Date sellerSignInTime;
+
+    @ApiModelProperty(value = "卖家签到地点(经纬度)")
+    @TableField("seller_sign_in_latitude_longitude")
+    private String sellerSignInLatitudeLongitude;
+
+    @ApiModelProperty(value = "卖家签到地点(经纬度地址)")
+    @TableField("seller_sign_in_latitude_longitude_address")
+    private String sellerSignInLatitudeLongitudeAddress;
+
+    @ApiModelProperty(value = "买家交易状态  0-未确认  1-交易成功  2-交易失败")
+    @TableField("buyer_transaction_status")
+    private Integer buyerTransactionStatus;
+
+    @ApiModelProperty(value = "买家完成交易时间")
+    @TableField("buyer_complete_time")
+    private Date buyerCompleteTime;
+
+    @ApiModelProperty(value = "买家评价")
+    @TableField("buyer_evaluate")
+    private String buyerEvaluate;
+
+    @ApiModelProperty(value = "买家评分")
+    @TableField("buyer_rating")
+    private Integer buyerRating;
+
+    @ApiModelProperty(value = "卖家交易状态  0-未确认  1-交易成功  2-交易失败")
+    @TableField("seller_transaction_status")
+    private Integer sellerTransactionStatus;
+
+    @ApiModelProperty(value = "卖家完成交易时间")
+    @TableField("seller_complete_time")
+    private Date sellerCompleteTime;
+
+    @ApiModelProperty(value = "卖家评价")
+    @TableField("seller_evaluate")
+    private String sellerEvaluate;
+
+    @ApiModelProperty(value = "卖家评分")
+    @TableField("seller_rating")
+    private Integer sellerRating;
+
+    @ApiModelProperty(value = "交易状态  1-待确认  2-已拒绝  3-待交易  4-交易成功  5-交易失败  6-交易取消")
+    @TableField("trade_status")
+    private Integer tradeStatus;
+
+    @ApiModelProperty(value = "取消交易的用户id")
+    @TableField("cancel_user_id")
+    private Integer cancelUserId;
+
+    @ApiModelProperty(value = "取消交易原因(字典表_cancelTradeReason)")
+    @TableField("cancel_reason")
+    private String cancelReason;
+
+    @ApiModelProperty(value = "取消交易原因补充")
+    @TableField("cancel_reason_supplement")
+    private String cancelReasonSupplement;
+
+    @ApiModelProperty(value = "失效状态(平台端统计用)  0-未失效  1-已失效")
+    @TableField("failure_flag")
+    private String failureFlag;
+
+    @ApiModelProperty(value = "失效原因")
+    @TableField("failure_reason")
+    private String failureReason;
+
+    @ApiModelProperty(value = "删除标记  0:未删除  1:已删除")
+    @TableField("delete_flag")
+    @TableLogic
+    private Integer deleteFlag;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    private Date createdTime;
+
+    @ApiModelProperty(value = "创建人ID")
+    @TableField(value = "created_user_id", fill = FieldFill.INSERT)
+    private Integer createdUserId;
+
+    @ApiModelProperty(value = "修改时间")
+    @TableField(value = "updated_time", fill = FieldFill.INSERT_UPDATE)
+    private Date updatedTime;
+
+    @ApiModelProperty(value = "修改人ID")
+    @TableField(value = "updated_user_id", fill = FieldFill.INSERT_UPDATE)
+    private Integer updatedUserId;
+
+}

+ 55 - 0
alien-service-entity/src/main/java/shop/alien/entity/second/SecondUserCredit.java

@@ -0,0 +1,55 @@
+package shop.alien.entity.second;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 用户
+ */
+@Data
+@JsonInclude
+@TableName("second_user_credit")
+public class SecondUserCredit implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @TableField("user_id")
+    private Integer userId;
+
+    @TableField("user_points")
+    private Integer userPoints;
+
+    @TableField("delete_flag")
+    @TableLogic
+    private Integer deleteFlag;
+
+    @ApiModelProperty(value = "冻结时间")
+    @TableField("freeze_time")
+    private Date freezeTime;
+
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @ApiModelProperty(value = "创建时间")
+    private Date createdTime;
+
+    @TableField(value = "created_user_id", fill = FieldFill.INSERT)
+    @ApiModelProperty(value = "创建人ID")
+    private Integer createdUserId;
+
+    @TableField(value = "updated_time", fill = FieldFill.INSERT_UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @ApiModelProperty(value = "修改时间")
+    private Date updatedTime;
+
+    @TableField(value = "updated_user_id", fill = FieldFill.INSERT_UPDATE)
+    @ApiModelProperty(value = "修改人ID")
+    private Integer updatedUserId;
+}

+ 58 - 0
alien-service-entity/src/main/java/shop/alien/entity/second/SecondUserCreditDateRecord.java

@@ -0,0 +1,58 @@
+package shop.alien.entity.second;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 用户积分日期记录表
+ */
+@Data
+@JsonInclude
+@TableName("second_user_credit_date_record")
+public class SecondUserCreditDateRecord implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @TableField("user_id")
+    private Integer userId;
+
+    @TableField("record_date")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    @ApiModelProperty(value = "记录日期")
+    private Date recordDate;
+
+    @TableField("total_points")
+    @ApiModelProperty(value = "当日总积分")
+    private Integer totalPoints;
+
+    @TableField("delete_flag")
+    @TableLogic
+    private Integer deleteFlag;
+
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @ApiModelProperty(value = "创建时间")
+    private Date createdTime;
+
+    @TableField(value = "created_user_id", fill = FieldFill.INSERT)
+    @ApiModelProperty(value = "创建人ID")
+    private Integer createdUserId;
+
+    @TableField(value = "updated_time", fill = FieldFill.INSERT_UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @ApiModelProperty(value = "修改时间")
+    private Date updatedTime;
+
+    @TableField(value = "updated_user_id", fill = FieldFill.INSERT_UPDATE)
+    @ApiModelProperty(value = "修改人ID")
+    private Integer updatedUserId;
+}
+

+ 57 - 0
alien-service-entity/src/main/java/shop/alien/entity/second/SecondUserCreditRecord.java

@@ -0,0 +1,57 @@
+package shop.alien.entity.second;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 用户
+ */
+@Data
+@JsonInclude
+@TableName("second_user_credit_record")
+public class SecondUserCreditRecord implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @TableField("user_id")
+    private Integer userId;
+
+    @TableField("points")
+    private Integer points;
+
+    @TableField("points_type")
+    private Integer pointsType;
+
+    @TableField("current_score_count")
+    private Integer currentScoreCount;
+
+    @TableField("delete_flag")
+    @TableLogic
+    private Integer deleteFlag;
+
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @ApiModelProperty(value = "创建时间")
+    private Date createdTime;
+
+    @TableField(value = "created_user_id", fill = FieldFill.INSERT)
+    @ApiModelProperty(value = "创建人ID")
+    private Integer createdUserId;
+
+    @TableField(value = "updated_time", fill = FieldFill.INSERT_UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @ApiModelProperty(value = "修改时间")
+    private Date updatedTime;
+
+    @TableField(value = "updated_user_id", fill = FieldFill.INSERT_UPDATE)
+    @ApiModelProperty(value = "修改人ID")
+    private Integer updatedUserId;
+}

+ 56 - 0
alien-service-entity/src/main/java/shop/alien/entity/second/enums/RiskControlRuleTypeEnum.java

@@ -0,0 +1,56 @@
+package shop.alien.entity.second.enums;
+
+import lombok.Getter;
+
+/**
+ * 风控规则类型枚举
+ * @see RiskControlRuleTypeEnum 风控规则类型枚举
+ */
+@Getter
+public enum RiskControlRuleTypeEnum {
+    /**
+     * 洗钱嫌疑: 高频高价交易(>5次/天,>200元/笔)
+     */
+    MONEY_LAUNDERING_SUSPICION(1, "洗钱嫌疑", "24h>5次>200元"),
+
+    /**
+     * 账号异常: 同一设备/mac 24小时内注册超过3个账号
+     */
+    ACCOUNT_ABNORMAL(2, "账号异常", "24h同设备>3账号"),
+
+    /**
+     * 交易欺诈: 用户频繁修改商品 发布成功的记录(24小时 3次 - 调取接口发当前时间 倒推24小时)
+     */
+    TRANSACTION_FRAUD(3, "交易欺诈", "24h修改商品>3次"),
+
+    /**
+     * 异常发布: 短时间大量发布同类商品(如24小时发布10个同二级分类触发- 调取接口发当前时间 倒推24小时)
+     */
+    ABNORMAL_PUBLISH(4, "异常发布", "24h同分类>10商品");
+
+
+    private final Integer ruleType;
+    private final String ruleName;
+    private final String description;
+
+    RiskControlRuleTypeEnum(Integer ruleType, String ruleName, String description) {
+        this.ruleType = ruleType;
+        this.ruleName = ruleName;
+        this.description = description;
+    }
+
+    /**
+     * 根据ruleType获取枚举
+     *
+     * @param ruleType 规则类型
+     * @return 对应的枚举值
+     */
+    public static RiskControlRuleTypeEnum fromRuleType(Integer ruleType) {
+        for (RiskControlRuleTypeEnum rule : RiskControlRuleTypeEnum.values()) {
+            if (rule.getRuleType().equals(ruleType)) {
+                return rule;
+            }
+        }
+        return null;
+    }
+}

+ 61 - 0
alien-service-entity/src/main/java/shop/alien/entity/second/enums/SecondGoodsStatusEnum.java

@@ -0,0 +1,61 @@
+package shop.alien.entity.second.enums;
+
+import lombok.Getter;
+
+/**
+ * 二手商品状态枚举
+ */
+@Getter
+public enum SecondGoodsStatusEnum {
+    /**
+     * 草稿
+     */
+    DRAFT(0, "草稿"),
+    
+    /**
+     * 审核中
+     */
+    UNDER_REVIEW(1, "审核中"),
+    
+    /**
+     * 审核失败
+     */
+    REVIEW_FAILED(2, "审核失败"),
+    
+    /**
+     * 已上架
+     */
+    LISTED(3, "已上架"),
+    
+    /**
+     * 已下架
+     */
+    DELISTED(4, "已下架"),
+    
+    /**
+     * 已售出
+     */
+    SOLD(5, "已售出");
+
+    private final Integer code;
+    private final String description;
+
+    SecondGoodsStatusEnum(Integer code, String description) {
+        this.code = code;
+        this.description = description;
+    }
+
+    /**
+     * 根据code获取枚举
+     * @param code 状态码
+     * @return 对应的枚举值
+     */
+    public static SecondGoodsStatusEnum fromCode(Integer code) {
+        for (SecondGoodsStatusEnum status : SecondGoodsStatusEnum.values()) {
+            if (status.getCode().equals(code)) {
+                return status;
+            }
+        }
+        return null;
+    }
+}

+ 25 - 0
alien-service-entity/src/main/java/shop/alien/entity/second/enums/SecondUserCreditScoreEnum.java

@@ -0,0 +1,25 @@
+package shop.alien.entity.second.enums;
+
+import lombok.Getter;
+
+@Getter
+public enum SecondUserCreditScoreEnum {
+
+    BASE_SCORE(1, 300, "基础分"),
+    CERTIFICATION_SCORE(2, 200, "认证分"),
+    TRANSACTION_SCORE(3, 50, "交易成功"),
+    SUSPECTED_OF_MONEY_LAUNDERING(4, -50, "洗钱嫌疑"),
+    ABNORMAL_ACCOUNTV(5, -50, "账号异常"),
+    TRADING_FRAUD(6, -50, "交易欺诈"),
+    ABNORMAL_RELEASE(7, -50, "异常发布");
+
+    private final Integer code;
+    private final Integer score;
+    private final String description;
+
+    SecondUserCreditScoreEnum(Integer code, Integer score, String description) {
+        this.code = code;
+        this.score = score;
+        this.description = description;
+    }
+}

+ 20 - 0
alien-service-entity/src/main/java/shop/alien/entity/second/vo/BatchUnshelveGoodsDTO.java

@@ -0,0 +1,20 @@
+package shop.alien.entity.second.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+
+/**
+ * 批量下架商品DTO
+ */
+@Data
+@ApiModel(value = "BatchUnshelveGoodsDTO", description = "批量下架商品参数")
+public class BatchUnshelveGoodsDTO {
+
+    @ApiModelProperty(value = "风控规则类型")
+    private Integer ruleType;
+
+    @ApiModelProperty(value = "业务ID")
+    private String businessId;
+}

+ 18 - 0
alien-service-entity/src/main/java/shop/alien/entity/second/vo/RiskControlGoodsIdsDTO.java

@@ -0,0 +1,18 @@
+package shop.alien.entity.second.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 风控商品ID查询DTO
+ */
+@Data
+@ApiModel(value = "RiskControlGoodsIdsDTO", description = "风控商品ID查询参数")
+public class RiskControlGoodsIdsDTO {
+
+    @ApiModelProperty(value = "商品记录表ID列表")
+    private List<Integer> recordIds;
+}

+ 18 - 0
alien-service-entity/src/main/java/shop/alien/entity/second/vo/RiskControlGoodsQueryDTO.java

@@ -0,0 +1,18 @@
+package shop.alien.entity.second.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 风控商品查询DTO
+ */
+@Data
+@ApiModel(value = "RiskControlGoodsQueryDTO", description = "风控商品查询参数")
+public class RiskControlGoodsQueryDTO {
+
+    @ApiModelProperty(value = "商品表ID列表")
+    private List<Integer> goodsIds;
+}

+ 20 - 0
alien-service-entity/src/main/java/shop/alien/entity/second/vo/SecondCommentVo.java

@@ -0,0 +1,20 @@
+package shop.alien.entity.second.vo;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import shop.alien.entity.store.StoreComment;
+
+@Data
+@JsonInclude
+@ApiModel(value = "二手商品", description = "用户信息")
+public class SecondCommentVo extends StoreComment {
+
+    @ApiModelProperty(value = "用户名")
+    private String userName;
+
+    @ApiModelProperty(value = "用户头像")
+    private String userImage;
+
+}

+ 39 - 0
alien-service-entity/src/main/java/shop/alien/entity/second/vo/SecondEntrustUserDTO.java

@@ -0,0 +1,39 @@
+package shop.alien.entity.second.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import shop.alien.entity.second.SecondTradeRecord;
+
+/**
+ * <p>
+ * 二手委托人信息 DTO
+ * </p>
+ *
+ * @author ssk
+ * @since 2025-11-21
+ */
+@Data
+@ApiModel(value = "SecondEntrustUserDTO", description = "二手委托人信息传输对象")
+public class SecondEntrustUserDTO extends SecondTradeRecord {
+
+    @ApiModelProperty(value = "交易ID")
+    private Integer entrustTradeId;
+
+    @ApiModelProperty(value = "交易编号")
+    private String entrustTradeNo;
+
+    @ApiModelProperty(value = "委托人电话")
+    private String entrustUserPhone;
+
+    @ApiModelProperty(value = "委托人姓名")
+    private String entrustUserName;
+
+    @ApiModelProperty(value = "委托人身份证")
+    private String entrustIdCard;
+
+    @ApiModelProperty(value = "委托人身份证照片")
+    private String entrustIdCardImg;
+
+}
+

+ 30 - 0
alien-service-entity/src/main/java/shop/alien/entity/second/vo/SecondEntrustUserDetailVo.java

@@ -0,0 +1,30 @@
+package shop.alien.entity.second.vo;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import shop.alien.entity.second.SecondEntrustUser;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 二手委托人详情 VO
+ * </p>
+ *
+ * @author ssk
+ * @since 2025-11-21
+ */
+@Data
+@JsonInclude
+@ApiModel(value = "SecondEntrustUserDetailVo", description = "二手委托人详情对象")
+public class SecondEntrustUserDetailVo {
+
+    @ApiModelProperty(value = "委托人基本信息")
+    private SecondEntrustUser entrustUserInfo;
+
+    @ApiModelProperty(value = "关联的交易记录集合")
+    private List<SecondTradeRecordVo> tradeRecords;
+}
+

+ 41 - 0
alien-service-entity/src/main/java/shop/alien/entity/second/vo/SecondEntrustUserQueryVo.java

@@ -0,0 +1,41 @@
+package shop.alien.entity.second.vo;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * <p>
+ * 二手委托人信息查询 VO(以人为维度)
+ * </p>
+ *
+ * @author ssk
+ * @since 2025-11-21
+ */
+@Data
+@JsonInclude
+@NoArgsConstructor
+@ApiModel(value = "SecondEntrustUserQueryVo", description = "二手委托人信息查询对象(以人为维度)")
+public class SecondEntrustUserQueryVo {
+
+    @ApiModelProperty(value = "分页页数")
+    private Integer pageNum;
+
+    @ApiModelProperty(value = "分页条数")
+    private Integer pageSize;
+
+    @ApiModelProperty(value = "委托人姓名")
+    private String entrustUserName;
+
+    @ApiModelProperty(value = "委托人身份证号")
+    private String entrustIdCard;
+
+    @ApiModelProperty(value = "委托人电话")
+    private String entrustUserPhone;
+
+    @ApiModelProperty(value = "交易编号")
+    private String entrustTradeNo;
+}
+

+ 39 - 0
alien-service-entity/src/main/java/shop/alien/entity/second/vo/SecondEntrustUserResultVo.java

@@ -0,0 +1,39 @@
+package shop.alien.entity.second.vo;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import shop.alien.entity.second.SecondEntrustUser;
+
+/**
+ * <p>
+ * 二手委托人信息结果 VO(以人为维度)
+ * </p>
+ *
+ * @author ssk
+ * @since 2025-11-21
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@JsonInclude
+@NoArgsConstructor
+@ApiModel(value = "SecondEntrustUserResultVo", description = "二手委托人信息结果对象(以人为维度)")
+public class SecondEntrustUserResultVo extends SecondEntrustUser {
+
+    @TableField(exist = false)
+    @ApiModelProperty(value = "委托记录总数")
+    private Integer entrustCount;
+
+    @TableField(exist = false)
+    @ApiModelProperty(value = "关联交易总数")
+    private Integer tradeCount;
+
+    @TableField(exist = false)
+    @ApiModelProperty(value = "最近委托时间")
+    private String latestEntrustTime;
+}
+

+ 33 - 0
alien-service-entity/src/main/java/shop/alien/entity/second/vo/SecondGoodsAdminQueryDTO.java

@@ -0,0 +1,33 @@
+package shop.alien.entity.second.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 二手商品管理后台查询DTO
+ */
+@Data
+@ApiModel(value = "SecondGoodsAdminQueryDTO", description = "二手商品管理后台查询参数")
+public class SecondGoodsAdminQueryDTO {
+
+    @ApiModelProperty(value = "当前页码")
+    private Integer pageNum = 1;
+
+    @ApiModelProperty(value = "每页数量")
+    private Integer pageSize = 10;
+
+    @ApiModelProperty(value = "商品名称")
+    private String title;
+
+    @ApiModelProperty(value = "商品状态 0:草稿 1:审核中 2:审核失败 3:已上架 4:已下架 5:已售出,6:已删除")
+    private Integer goodsStatus;
+
+    @ApiModelProperty(value = "发布时间开始时间")
+    private Date releaseStartTime;
+
+    @ApiModelProperty(value = "发布时间结束时间")
+    private Date releaseEndTime;
+}

+ 31 - 0
alien-service-entity/src/main/java/shop/alien/entity/second/vo/SecondGoodsDetailVo.java

@@ -0,0 +1,31 @@
+package shop.alien.entity.second.vo;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import shop.alien.entity.second.SecondGoods;
+import shop.alien.entity.second.SecondGoodsRecord;
+import shop.alien.entity.second.SecondTradeRecord;
+import shop.alien.entity.store.StoreImg;
+import shop.alien.entity.second.vo.SecondReportingVo;
+
+import java.util.List;
+
+@Data
+@JsonInclude
+@ApiModel(value = "SecondGoodsDetailVo", description = "二手商品详情VO")
+public class SecondGoodsDetailVo {
+
+    @ApiModelProperty(value = "商品基本信息")
+    private SecondGoodsVo goodsInfo;
+
+    @ApiModelProperty(value = "商品操作记录集合")
+    private List<SecondGoodsRecord> operationRecords;
+
+    @ApiModelProperty(value = "商品交易记录集合")
+    private List<SecondTradeRecordVo> tradeRecords;
+
+    @ApiModelProperty(value = "商品举报集合")
+    private List<SecondReportingVo> reports;
+}

+ 122 - 0
alien-service-entity/src/main/java/shop/alien/entity/second/vo/SecondGoodsRecommendVo.java

@@ -0,0 +1,122 @@
+package shop.alien.entity.second.vo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import shop.alien.entity.second.SecondGoods;
+import shop.alien.entity.store.StoreComment;
+import shop.alien.entity.store.StoreImg;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.Date;
+import java.util.List;
+import java.util.concurrent.TimeUnit;
+
+@Data
+@JsonInclude
+@ApiModel(value = "二手商品推荐", description = "推荐")
+public class SecondGoodsRecommendVo extends SecondGoods {
+
+    @ApiModelProperty(value = "用户名称")
+    private String userName;
+
+    @ApiModelProperty(value = "用户PHONE")
+    private String userPhone;
+
+    @ApiModelProperty(value = "用户头像")
+    private String userImage;
+
+    @ApiModelProperty(value = "距离")
+    private String dist;
+
+    @ApiModelProperty(value = "是否关注")
+    private Integer fansStatus = 0;
+
+    @ApiModelProperty(value = "是否点赞")
+    private String likeStatus;
+
+    @ApiModelProperty(value = "是否收藏")
+    private String collectStatus;
+
+    @ApiModelProperty(value = "评论数量")
+    private String commentCount;
+
+    @ApiModelProperty(value = "评论列表")
+    private List<SecondCommentVo> commentList;
+
+    @TableField(value = "release_time", fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @ApiModelProperty(value = "发布时间")
+    private Date releaseTime;
+
+    @ApiModelProperty(value = "视频第一帧")
+    private String videoFirstFrame;
+
+    @ApiModelProperty(value = "话题列表")
+    @JsonProperty("topicList")
+    private List<String> topicList() {
+        return parseTopic(getTopic());
+    }
+
+    @ApiModelProperty(value = "图片列表")
+    private String[] imgList;
+
+    @ApiModelProperty(value = "发布时间")
+    @JsonProperty("timeAgo")
+    public String getFormattedTimeAgo() {
+        return getTimeAgo(getReleaseTime());
+    }
+
+
+    /**
+     * 解析话题列表
+     *
+     * @param topic 话题列表字符串
+     * @return 解析后的话题列表
+     */
+    public List<String> parseTopic(String topic) {
+        if (topic != null && !topic.isEmpty()) {
+            return Arrays.asList(topic.split(","));
+        } else {
+            return Collections.emptyList();
+        }
+    }
+
+    public String getTimeAgo(Date releaseTime) {
+        if (releaseTime == null) {
+            return "未知时间";
+        }
+
+        long now = System.currentTimeMillis();
+        long diff = now - releaseTime.getTime();
+
+        // 新增分钟级判断
+        long minutes = TimeUnit.MILLISECONDS.toMinutes(diff);
+        if (minutes < 1) {
+            return "刚刚";
+        } else if (minutes < 60) {
+            return minutes + "分钟前";
+        }
+
+        long hours = TimeUnit.MILLISECONDS.toHours(diff);
+        long days = TimeUnit.MILLISECONDS.toDays(diff);
+        long months = days / 31;
+        long years = days / 365;
+
+        if (hours < 24) {
+            return hours + "小时前";
+        } else if (days <= 31) {
+            return days + "天前";
+        } else if (years >= 1) {
+            return years + "年前";
+        } else {
+            return months + "个月前";
+        }
+    }
+}

+ 162 - 0
alien-service-entity/src/main/java/shop/alien/entity/second/vo/SecondGoodsRecordDetailVo.java

@@ -0,0 +1,162 @@
+package shop.alien.entity.second.vo;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import shop.alien.entity.second.SecondGoodsRecord;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+@Data
+@ApiModel("商品操作记录详情VO")
+public class SecondGoodsRecordDetailVo {
+
+    @ApiModelProperty(value = "主键ID")
+    private Integer id;
+
+    @ApiModelProperty(value = "商品ID")
+    private Integer goodsId;
+
+    @TableField(exist = false)
+    @ApiModelProperty(value = "用户电话")
+    private String userPhone;
+
+    @ApiModelProperty("一级分类名称")
+    @TableField(exist = false)
+    private String categoryOneName;
+
+    @ApiModelProperty("二级分类名称")
+    @TableField(exist = false)
+    private String categoryTwoName;
+
+    @TableField("user_id")
+    @ApiModelProperty(value = "用户ID")
+    private Integer userId;
+
+    @TableField(exist = false)
+    @ApiModelProperty(value = "用户名称")
+    private String userName;
+
+    @TableField("operation_name")
+    @ApiModelProperty(value = "操作名称")
+    private String operationName;
+
+    @ApiModelProperty(value = "商品标题")
+    private String title;
+
+    @ApiModelProperty(value = "商品描述")
+    private String description;
+
+    @ApiModelProperty(value = "商品价格(元,保留小数后两位)")
+    private BigDecimal price;
+
+    @ApiModelProperty(value = "商品位置")
+    private String position;
+
+    @ApiModelProperty(value = "点赞数量")
+    private Integer likeCount;
+
+    @ApiModelProperty(value = "收藏数量")
+    private Integer collectCount;
+
+    @ApiModelProperty(value = "一级类别ID")
+    private Integer categoryOneId;
+
+    @ApiModelProperty(value = "二级类别ID")
+    private Integer categoryTwoId;
+
+    @ApiModelProperty(value = "标签")
+    private String label;
+
+    @ApiModelProperty(value = "话题(以逗号分隔)")
+    private String topic;
+
+    @ApiModelProperty(value = "交易ID")
+    private Integer tradeId;
+
+    @ApiModelProperty(value = "发布时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date releaseTime;
+
+    @ApiModelProperty(value = "商品状态 0:草稿 1:审核中 2:审核失败 3:已上架 4:已下架 5:已售出")
+    private Integer goodsStatus;
+
+    @ApiModelProperty(value = "审核失败原因")
+    private String failedReason;
+
+    @ApiModelProperty(value = "首页图")
+    private String homeImage;
+
+    @ApiModelProperty(value = "视频审核任务id")
+    private String videoTaskId;
+
+    @ApiModelProperty(value = "视频第一帧图片")
+    private String videoFirstFrame;
+
+    @ApiModelProperty(value = "删除标记 0:未删除 1:已删除")
+    private Integer deleteFlag;
+
+    @ApiModelProperty(value = "创建时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createdTime;
+
+    @ApiModelProperty(value = "创建人ID")
+    private Integer createdUserId;
+
+    @ApiModelProperty(value = "修改时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updatedTime;
+
+    @ApiModelProperty(value = "修改人ID")
+    private Integer updatedUserId;
+
+    @ApiModelProperty(value = "地址文本")
+    private String addressText;
+
+    @ApiModelProperty(value = "商品图片列表")
+    private List<String> imageUrls;
+
+    @ApiModelProperty(value = "图片集合")
+    private List<Map<String, Object>> imgList;
+    public static SecondGoodsRecordDetailVo fromRecord(SecondGoodsRecord record) {
+        SecondGoodsRecordDetailVo vo = new SecondGoodsRecordDetailVo();
+        vo.setId(record.getId());
+        vo.setUserId(record.getUserId());
+        vo.setOperationName(record.getOperationName());
+        vo.setGoodsId(record.getGoodsId());
+        vo.setTitle(record.getTitle());
+        vo.setDescription(record.getDescription());
+        vo.setPrice(record.getPrice());
+        vo.setPosition(record.getPosition());
+        vo.setLikeCount(record.getLikeCount());
+        vo.setCollectCount(record.getCollectCount());
+        vo.setCategoryOneId(record.getCategoryOneId());
+        vo.setCategoryTwoId(record.getCategoryTwoId());
+        vo.setLabel(record.getLabel());
+        vo.setTopic(record.getTopic());
+        vo.setTradeId(record.getTradeId());
+        vo.setReleaseTime(record.getReleaseTime());
+        vo.setGoodsStatus(record.getGoodsStatus());
+        vo.setFailedReason(record.getFailedReason());
+        vo.setHomeImage(record.getHomeImage());
+        vo.setVideoTaskId(record.getVideoTaskId());
+        vo.setVideoFirstFrame(record.getVideoFirstFrame());
+        vo.setDeleteFlag(record.getDeleteFlag());
+        vo.setCreatedTime(record.getCreatedTime());
+        vo.setCreatedUserId(record.getCreatedUserId());
+        vo.setUpdatedTime(record.getUpdatedTime());
+        vo.setUpdatedUserId(record.getUpdatedUserId());
+        vo.setAddressText(record.getAddressText());
+        vo.setUpdatedUserId(record.getUpdatedUserId());
+        vo.setAddressText(record.getAddressText());
+        vo.setCategoryOneName(record.getCategoryOneName());
+        vo.setCategoryTwoName(record.getCategoryTwoName());
+
+        return vo;
+    }
+}

+ 173 - 0
alien-service-entity/src/main/java/shop/alien/entity/second/vo/SecondGoodsVo.java

@@ -0,0 +1,173 @@
+package shop.alien.entity.second.vo;
+
+import com.alibaba.fastjson2.util.DateUtils;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import io.swagger.models.auth.In;
+import lombok.Data;
+import shop.alien.entity.second.SecondGoods;
+
+import java.text.SimpleDateFormat;
+import java.util.*;
+import java.util.concurrent.TimeUnit;
+
+@Data
+@JsonInclude
+@ApiModel(value = "二手商品发布", description = "发布")
+public class SecondGoodsVo extends SecondGoods {
+
+    @ApiModelProperty(value = "保存方式 0:草稿 1:发布")
+    private Integer saveType;
+
+    @ApiModelProperty(value = "商品距离")
+    private String distance;
+
+//    @NotBlank(message = "商品图片不能为空")
+    @ApiModelProperty(value = "商品图片")
+    private List<String> imgUrl;
+
+    @ApiModelProperty(value = "图片集合")
+    private List<Map<String, Object>> imgList;
+
+    @TableField(exist = false)
+    @ApiModelProperty(value = "用户名称")
+    private String userName;
+
+    @TableField(exist = false)
+    @ApiModelProperty(value = "用户真名")
+    private String realName;
+
+    @TableField(exist = false)
+    @ApiModelProperty(value = "用户电话")
+    private String userPhone;
+
+    @TableField(exist = false)
+    @ApiModelProperty(value = "用户头像")
+    private String userImage;
+
+    @TableField(exist = false)
+    @ApiModelProperty(value = "收藏状态 默认为 0")
+    private Integer collectStatus = 0;
+
+    @TableField(exist = false)
+    @ApiModelProperty(value = "点赞状态 默认为 0")
+    private Integer likeStatus = 0;
+    
+    @TableField(exist = false)
+    @ApiModelProperty(value = "商品状态名称")
+    private String goodsStatusName;
+
+    @ApiModelProperty("一级分类名称")
+    @TableField(exist = false)
+    private String categoryOneName;
+
+    @ApiModelProperty("二级分类名称")
+    @TableField(exist = false)
+    private String categoryTwoName;
+
+    @ApiModelProperty(value = "商品图片列表")
+    private List<String> imageUrls;
+    /** -------------------- 搜索入参 -------------------- */
+
+    @TableField(exist = false)
+    @ApiModelProperty(value = "当前页码")
+    private Integer pageNum = 1;
+
+    @ApiModelProperty(value = "每页数量")
+    private Integer pageSize = 10;
+
+    @ApiModelProperty(value = "当前经度")
+    private Double currentLatitude;
+
+    @ApiModelProperty(value = "当前纬度")
+    private Double currentLongitude;
+
+    @ApiModelProperty(value = "排序字段 排序字段 价格-price,发布时间-releaseTime")
+    private String orderData;
+
+    @ApiModelProperty(value = "排序方式 排序方式 1-正序 2-倒叙")
+    private Integer orderType;
+
+    @ApiModelProperty(value = "搜索入参")
+    private String searchData;
+
+    @ApiModelProperty(value = "屏蔽id")
+    private String shieldId;
+
+    @ApiModelProperty(value = "商品id")
+    private Integer goodsId;
+
+    @ApiModelProperty(value = "屏蔽商品IDList")
+    private List<Integer> shieldedGoodsIds;
+
+    @ApiModelProperty(value = "拉黑用户IDList")
+    private List<Integer> userIdList;
+
+    @JsonProperty("timeAgo")
+    public String getFormattedTimeAgo() {
+        return getTimeAgo(getReleaseTime());
+    }
+
+    @JsonProperty("topicList")
+    public List<String> parseTopic() {
+        return parseTopic(getTopic());
+    }
+
+    /**
+     * 解析话题列表
+     *
+     * @param topic 话题列表字符串
+     * @return 解析后的话题列表
+     */
+    public List<String> parseTopic(String topic) {
+        if (topic != null && !topic.isEmpty()) {
+            return Arrays.asList(topic.split(","));
+        } else {
+            return Collections.emptyList();
+        }
+    }
+
+    /**
+     * 返回时间描述,根据发布时间计算距离现在多久。
+     * 24小时内 返回几小时前,24小时外 1-31返回几天前,31天外返回几月前,365天外返回几年前
+     *
+     * @param releaseTime 发布时间
+     * @return 时间描述字符串
+     */
+
+    public String getTimeAgo(Date releaseTime) {
+        if (releaseTime == null) {
+            return "未知时间";
+        }
+
+        long now = System.currentTimeMillis();
+        long diff = now - releaseTime.getTime();
+
+        // 新增分钟级判断
+        long minutes = TimeUnit.MILLISECONDS.toMinutes(diff);
+        if (minutes < 1) {
+            return "刚刚";
+        } else if (minutes < 60) {
+            return minutes + "分钟前";
+        }
+
+        long hours = TimeUnit.MILLISECONDS.toHours(diff);
+        long days = TimeUnit.MILLISECONDS.toDays(diff);
+        long months = days / 31;
+        long years = days / 365;
+
+        if (hours < 24) {
+            return hours + "小时前";
+        } else if (days <= 31) {
+            return days + "天前";
+        } else if (years >= 1) {
+            return years + "年前";
+        } else {
+            return months + "个月前";
+        }
+    }
+}

+ 66 - 0
alien-service-entity/src/main/java/shop/alien/entity/second/vo/SecondReportingVo.java

@@ -0,0 +1,66 @@
+package shop.alien.entity.second.vo;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+@Data
+@JsonInclude
+@ApiModel(value = "二手商品", description = "举报详情")
+public class SecondReportingVo{
+
+    @ApiModelProperty(value = "通知标题")
+    private Integer id;
+
+    @ApiModelProperty(value = "商品标题")
+    private String title;
+
+    @ApiModelProperty(value = "处理状态(0:未处理,1:违规,2:未违规)")
+    private String processingStatus;
+
+    @ApiModelProperty(value = "商品封面图片")
+    private String homeImage;
+
+    @ApiModelProperty(value = "商品描述")
+    private String description;
+
+    @ApiModelProperty(value = "商品价格(元,保留小数后两位)")
+    private String price;
+
+    @ApiModelProperty(value = "反馈内容")
+    private String feedbackContext;
+
+    @ApiModelProperty(value = "举报内容")
+    private String reportingContext;
+
+    @ApiModelProperty(value = "举报类型")
+    private String reportContextType;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @ApiModelProperty(value = "举报时间")
+    private Date reportingTime;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @ApiModelProperty(value = "反馈时间")
+    private Date feedbackTime;
+
+    @ApiModelProperty(value = "图片集合")
+    private List<Map<String, Object>> imgList;
+
+    @ApiModelProperty(value = "举报人名称")
+    private String reportingUserName;
+
+    @ApiModelProperty(value = "联系方式")
+    private String reportingUserPhone;
+
+    @ApiModelProperty(value = "视频第一帧")
+    private String videoFirstFrame;
+
+}

+ 42 - 0
alien-service-entity/src/main/java/shop/alien/entity/second/vo/SecondRiskControlRecordVo.java

@@ -0,0 +1,42 @@
+package shop.alien.entity.second.vo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import shop.alien.entity.second.SecondRiskControlRecord;
+
+import java.util.Date;
+
+@Data
+@JsonInclude
+@TableName("second_risk_control_record")
+public class SecondRiskControlRecordVo extends SecondRiskControlRecord {
+    private static final long serialVersionUID = 1L;
+
+    @TableField("rule_risk")
+    @ApiModelProperty(value = "风险等级")
+    private String ruleRisk;
+
+    @TableField("rule_name")
+    @ApiModelProperty(value = "规则名称")
+    private String ruleName;
+
+    @ApiModelProperty(value = "触发次数")
+    private String UserPhone;
+
+    @ApiModelProperty(value = "规则名称")
+    private String ruleTypeName;
+
+    @ApiModelProperty(value = "规则名称")
+    private String riskStatusName;
+
+    @ApiModelProperty(value = "分页页数")
+    private Integer pageNum;
+
+    @ApiModelProperty(value = "分页条数")
+    private Integer pageSize;
+
+}

+ 30 - 0
alien-service-entity/src/main/java/shop/alien/entity/second/vo/SecondRiskRecordVo.java

@@ -0,0 +1,30 @@
+package shop.alien.entity.second.vo;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import shop.alien.entity.store.LifeUser;
+
+import java.util.List;
+
+@Data
+@JsonInclude
+public class SecondRiskRecordVo extends SecondRiskControlRecordVo {
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "洗钱嫌疑")
+    private List<SecondTradeRecordVo> tradeRecordList;
+
+    @ApiModelProperty(value = "交易欺诈")
+    private List<SecondGoodsRecordDetailVo> goodsRecordList;
+
+    @ApiModelProperty(value = "异常发布")
+    private List<SecondGoodsVo> goodsList;
+
+    @ApiModelProperty(value = "账号异常")
+    private List<LifeUser> userList;
+
+    @ApiModelProperty(value = "1:执行, 2:忽略")
+    private Integer isExecute;
+
+}

+ 94 - 0
alien-service-entity/src/main/java/shop/alien/entity/second/vo/SecondTradeRecordVo.java

@@ -0,0 +1,94 @@
+package shop.alien.entity.second.vo;
+
+import com.alibaba.fastjson2.JSONObject;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import shop.alien.entity.second.SecondTradeRecord;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+@Data
+@JsonInclude
+@NoArgsConstructor
+@ApiModel(value = "SecondTradeRecordVo对象", description = "二手商品交易vo")
+public class SecondTradeRecordVo extends SecondTradeRecord {
+
+    @ApiModelProperty(value = "分页页数")
+    private Integer pageNum;
+
+    @ApiModelProperty(value = "分页条数")
+    private Integer pageSize;
+
+    @ApiModelProperty(value = "买方姓名")
+    private String buyerName;
+
+    @ApiModelProperty(value = "买方联系方式")
+    private String buyerPhone;
+
+    @ApiModelProperty(value = "卖方姓名")
+    private String sellerName;
+
+    @ApiModelProperty(value = "卖方联系方式")
+    private String sellerPhone;
+
+    @ApiModelProperty(value = "商品标题")
+    private String title;
+
+    @ApiModelProperty(value = "用户id")
+    private Integer userId;
+
+    @TableField(exist = false)
+    @ApiModelProperty(value = "用户电话")
+    private String userPhone;
+
+    @TableField(exist = false)
+    @ApiModelProperty(value = "用户名称")
+    private String userName;
+
+    @ApiModelProperty(value = "商品封面图片")
+    private String homeImage;
+
+    @ApiModelProperty(value = "商品价格(元,保留小数后两位)")
+    private BigDecimal price;
+
+    @ApiModelProperty(value = "用户交易状态  0-未确认  1-交易成功  2-交易失败")
+    private Integer userTransactionStatus;
+
+    @ApiModelProperty(value = "用户交易评价")
+    private String userEvaluate;
+
+    @ApiModelProperty(value = "用户交易评分")
+    private Integer userRating;
+
+    @ApiModelProperty(value = "当前时间是否超过交易时间  0-否  1-是")
+    private String timeOutFlag;
+
+    @ApiModelProperty(value = "商品标签")
+    private String goodsLabel;
+
+    @ApiModelProperty(value = "交易流程")
+    private List<JSONObject> operationJsonList;
+
+    @ApiModelProperty(value = "商品信息")
+    private SecondGoodsVo goodsInfo;
+
+    @ApiModelProperty(value = "委托人ID")
+    private Integer entrustId;
+
+    @ApiModelProperty(value = "委托人电话")
+    private String entrustUserPhone;
+
+    @ApiModelProperty(value = "委托人姓名")
+    private String entrustUserName;
+
+    @ApiModelProperty(value = "委托人身份证")
+    private String entrustIdCard;
+
+    @ApiModelProperty(value = "委托人身份证图片")
+    private String entrustIdCardImg;
+}

+ 27 - 0
alien-service-entity/src/main/java/shop/alien/entity/second/vo/SecondUserCreditRecordListVo.java

@@ -0,0 +1,27 @@
+package shop.alien.entity.second.vo;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import shop.alien.entity.second.SecondUserCreditDateRecord;
+import shop.alien.entity.second.SecondUserCreditRecord;
+
+import java.util.List;
+
+/**
+ * 用户信用分记录列表VO
+ */
+@Data
+@JsonInclude
+public class SecondUserCreditRecordListVo {
+
+    @ApiModelProperty(value = "用户积分")
+    private Integer userPoints;
+
+    @ApiModelProperty(value = "信用分记录列表")
+    private List<SecondUserCreditRecord> recordsChange;
+
+    @ApiModelProperty(value = "日期积分记录列表")
+    private List<SecondUserCreditDateRecord> dateRecords;
+}
+

+ 22 - 0
alien-service-entity/src/main/java/shop/alien/entity/second/vo/SecondUserCreditVo.java

@@ -0,0 +1,22 @@
+package shop.alien.entity.second.vo;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import shop.alien.entity.second.SecondUserCredit;
+
+
+/**
+ * 用户
+ */
+@Data
+@JsonInclude
+public class SecondUserCreditVo extends SecondUserCredit {
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "规则类型 1:洗钱嫌疑 2:账号异常 3:交易欺诈 4:异常发布")
+    private Integer ruleType;
+
+    @ApiModelProperty(value = "业务ID(如商品ID、交易ID等)")
+    private String businessId;
+}

+ 45 - 0
alien-service-entity/src/main/java/shop/alien/entity/second/vo/SecondUserViolationDetailVo.java

@@ -0,0 +1,45 @@
+package shop.alien.entity.second.vo;
+
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import shop.alien.entity.store.LifeUserDynamics;
+import shop.alien.entity.store.StoreComment;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 二手商品类别表
+ */
+@Data
+@JsonInclude
+@ApiModel(value = "SecondUserViolation对象", description = "二手交易平台管理举报")
+public class SecondUserViolationDetailVo extends SecondUserViolationVo{
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "举报图片集合")
+    private List<Map<String, Object>> imgList;
+
+    // 商品信息
+    private SecondGoodsVo secondGoods;
+
+    // 动态图片
+    @ApiModelProperty(value = "动态图片")
+    private List<String> dynamicsImg;
+
+    // 评论图片
+    @ApiModelProperty(value = "评论图片")
+    private List<String> commentImg;
+
+    // 动态信息
+    @ApiModelProperty(value = "动态信息")
+    LifeUserDynamics dynamicsInfo;
+
+    // 评论信息
+    @ApiModelProperty(value = "评论信息")
+    StoreComment commentInfo;
+
+}

+ 58 - 0
alien-service-entity/src/main/java/shop/alien/entity/second/vo/SecondUserViolationVo.java

@@ -0,0 +1,58 @@
+package shop.alien.entity.second.vo;
+
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import shop.alien.entity.store.LifeUserViolation;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 二手商品类别表
+ */
+@Data
+@JsonInclude
+@NoArgsConstructor
+@ApiModel(value = "SecondUserViolation对象", description = "二手交易平台管理举报")
+public class SecondUserViolationVo extends LifeUserViolation {
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "分页页数")
+    private Integer pageNum;
+
+    @ApiModelProperty(value = "分页条数")
+    private Integer pageSize;
+
+    @ApiModelProperty(value = "被举报用户名称")
+    private String reportedUserName;
+
+    @ApiModelProperty(value = "被举报用户电话")
+    private String reportedUserPhone;
+
+    @ApiModelProperty(value = "举报用户名称")
+    private String reportingUserName;
+
+    @ApiModelProperty(value = "举报用户电话")
+    private String reportingUserPhone;
+
+    @ApiModelProperty(value = "举报类型")
+    private String reportContext;
+
+    @ApiModelProperty(value = "举报时间")
+    private String reportingDate;
+
+    @ApiModelProperty(value = "举报枚举")
+    private String dictDetail;
+
+    @ApiModelProperty(value = "举报状态")
+    private String processingContext;
+
+    @ApiModelProperty(value = "图片")
+    private List<String> imgUrl;
+
+}

+ 172 - 0
alien-service-entity/src/main/java/shop/alien/entity/second/vo/SellGoodsVo.java

@@ -0,0 +1,172 @@
+package shop.alien.entity.second.vo;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import shop.alien.entity.second.SecondGoods;
+
+import java.math.BigDecimal;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.Date;
+import java.util.List;
+import java.util.concurrent.TimeUnit;
+
+@Data
+@JsonInclude
+@ApiModel(value = "二手商品发布", description = "发布")
+public class SellGoodsVo extends SecondGoods {
+
+    @ApiModelProperty(value = "保存方式 0:草稿 1:发布")
+    private Integer saveType;
+
+    @ApiModelProperty(value = "商品距离")
+    private String distance;
+
+    @TableField(exist = false)
+    @ApiModelProperty(value = "用户名称")
+    private String userName;
+
+    @TableField(exist = false)
+    @ApiModelProperty(value = "用户真名")
+    private String realName;
+
+    @TableField(exist = false)
+    @ApiModelProperty(value = "用户电话")
+    private String userPhone;
+
+    @TableField(exist = false)
+    @ApiModelProperty(value = "用户头像")
+    private String userImage;
+
+    @TableField(exist = false)
+    @ApiModelProperty(value = "收藏状态 默认为 0")
+    private Integer collectStatus = 0;
+
+    @TableField(exist = false)
+    @ApiModelProperty(value = "点赞状态 默认为 0")
+    private Integer likeStatus = 0;
+
+    @ApiModelProperty("一级分类名称")
+    @TableField(exist = false)
+    private String categoryOneName;
+
+    @ApiModelProperty("二级分类名称")
+    @TableField(exist = false)
+    private String categoryTwoName;
+
+    /** -------------------- 搜索入参 -------------------- */
+
+    @TableField(exist = false)
+    @ApiModelProperty(value = "当前页码")
+    private Integer pageNum = 1;
+
+    @ApiModelProperty(value = "每页数量")
+    private Integer pageSize = 10;
+
+    @ApiModelProperty(value = "当前经度")
+    private Double currentLatitude;
+
+    @ApiModelProperty(value = "当前纬度")
+    private Double currentLongitude;
+
+
+
+    @ApiModelProperty(value = "买家id")
+    private Integer buyerId;
+
+    @ApiModelProperty(value = "卖家id")
+    private Integer sellerId;
+
+    @ApiModelProperty(value = "交易时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date transactionTime;
+
+    @ApiModelProperty(value = "交易地点(经纬度)")
+    private String transactionLatitudeLongitude;
+
+    @ApiModelProperty(value = "交易地点(详细地址)")
+    private String transactionLocation;
+
+    @ApiModelProperty(value = "交易金额")
+    private BigDecimal transactionAmount;
+
+    @ApiModelProperty(value = "买家交易状态  1-交易成功  2-交易失败")
+    private Integer buyerTransactionStatus;
+
+    @ApiModelProperty(value = "卖家交易状态  1-交易成功  2-交易失败")
+    private Integer sellerTransactionStatus;
+
+    @ApiModelProperty(value = "交易状态  1-待确认  2-已拒绝  3-待交易  4-交易成功  5-交易失败  6-交易取消")
+    private Integer tradeStatus;
+
+    @ApiModelProperty(value = "买家评价")
+    private String buyerEvaluate;
+
+    @ApiModelProperty(value = "卖家评价")
+    private String sellerEvaluate;
+
+    @ApiModelProperty(value = "交易对方的用户ID")
+    private Integer otherPartyId;
+
+    @ApiModelProperty(value = "商品id")
+    @TableField("goods_id")
+    private Integer goodsId;
+
+    @ApiModelProperty(value = "交易地点(经纬度地址)")
+    @TableField("transaction_latitude_longitude_address")
+    private String transactionLatitudeLongitudeAddress;
+
+
+    @ApiModelProperty(value = "买家是否签到  0-未签到  1-已签到")
+    @TableField("buyer_sign_in")
+    private Integer buyerSignIn;
+
+    @ApiModelProperty(value = "买家签到时间")
+    @TableField("buyer_sign_in_time")
+    private Date buyerSignInTime;
+
+    @ApiModelProperty(value = "买家签到地点(经纬度)")
+    @TableField("buyer_sign_in_latitude_longitude")
+    private String buyerSignInLatitudeLongitude;
+
+    @ApiModelProperty(value = "买家签到地点(经纬度)")
+    @TableField("buyer_sign_in_latitude_longitude_address")
+    private String buyerSignInLatitudeLongitudeAddress;
+
+    @ApiModelProperty(value = "卖家是否签到  0-未签到  1-已签到")
+    @TableField("seller_sign_in")
+    private Integer sellerSignIn;
+
+    @ApiModelProperty(value = "卖家签到时间")
+    @TableField("seller_sign_in_time")
+    private Date sellerSignInTime;
+
+    @ApiModelProperty(value = "卖家签到地点(经纬度)")
+    @TableField("seller_sign_in_latitude_longitude")
+    private String sellerSignInLatitudeLongitude;
+
+    @ApiModelProperty(value = "卖家签到地点(经纬度地址)")
+    @TableField("seller_sign_in_latitude_longitude_address")
+    private String sellerSignInLatitudeLongitudeAddress;
+
+    @ApiModelProperty(value = "取消交易的用户id")
+    @TableField("cancel_user_id")
+    private Integer cancelUserId;
+
+    @ApiModelProperty(value = "取消交易原因(字典表_cancelTradeReason)")
+    @TableField("cancel_reason")
+    private String cancelReason;
+
+    @ApiModelProperty(value = "取消交易原因补充")
+    @TableField("cancel_reason_supplement")
+    private String cancelReasonSupplement;
+
+    @ApiModelProperty(value = "当前时间是否超过交易时间  0-否  1-是")
+    private String timeOutFlag;
+
+}

+ 117 - 0
alien-service-entity/src/main/java/shop/alien/entity/second/vo/SellerEvaluationVo.java

@@ -0,0 +1,117 @@
+package shop.alien.entity.second.vo;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * <p>
+ * 卖家交易评价VO
+ * </p>
+ *
+ * @author system
+ * @since 2025-11-18
+ */
+@Data
+@JsonInclude
+@ApiModel(value = "SellerEvaluationVo对象", description = "卖家交易评价VO")
+public class SellerEvaluationVo {
+
+    @ApiModelProperty(value = "交易记录ID")
+    private Integer id;
+
+    @ApiModelProperty(value = "交易编号")
+    private String tradeNo;
+
+    @ApiModelProperty(value = "商品ID")
+    private Integer goodsId;
+
+    @ApiModelProperty(value = "商品标题")
+    private String goodsTitle;
+
+    @ApiModelProperty(value = "商品封面图片")
+    private String goodsHomeImage;
+
+    @ApiModelProperty(value = "商品价格")
+    private BigDecimal goodsPrice;
+
+    @ApiModelProperty(value = "交易金额")
+    private BigDecimal transactionAmount;
+
+    @ApiModelProperty(value = "买家ID")
+    private Integer buyerId;
+
+    @ApiModelProperty(value = "买家昵称")
+    private String buyerName;
+
+    @ApiModelProperty(value = "买家头像")
+    private String buyerImage;
+
+    @ApiModelProperty(value = "买家手机号")
+    private String buyerPhone;
+
+    @ApiModelProperty(value = "买家真实姓名")
+    private String buyerRealName;
+
+    @ApiModelProperty(value = "买家性别")
+    private String buyerSex;
+
+    @ApiModelProperty(value = "买家简介")
+    private String buyerJianjie;
+
+    @ApiModelProperty(value = "买家评价内容")
+    private String buyerEvaluate;
+
+    @ApiModelProperty(value = "买家评分(1-5分)")
+    private Integer buyerRating;
+
+    @ApiModelProperty(value = "买家信用积分")
+    private Integer buyerCreditScore;
+
+    @ApiModelProperty(value = "买家风控评分等级(A-E,O表示无记录)")
+    private String buyerCreditLevel;
+
+    @ApiModelProperty(value = "卖家ID")
+    private Integer sellerId;
+
+    @ApiModelProperty(value = "卖家昵称")
+    private String sellerName;
+
+    @ApiModelProperty(value = "卖家头像")
+    private String sellerImage;
+
+    @ApiModelProperty(value = "卖家信用积分")
+    private Integer sellerCreditScore;
+
+    @ApiModelProperty(value = "卖家风控评分等级(A-E,O表示无记录)")
+    private String sellerCreditLevel;
+
+    @ApiModelProperty(value = "交易时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date transactionTime;
+
+    @ApiModelProperty(value = "交易状态  1-待确认  2-已拒绝  3-待交易  4-交易成功  5-交易失败  6-交易取消")
+    private Integer tradeStatus;
+
+    @ApiModelProperty(value = "创建时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createdTime;
+
+
+    @ApiModelProperty(value = "买家完成交易时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date buyerCompleteTime;
+
+    @ApiModelProperty(value = "卖家完成交易时间")
+    @TableField("seller_complete_time")
+    private Date sellerCompleteTime;
+
+
+}
+

+ 25 - 0
alien-service-entity/src/main/java/shop/alien/entity/second/vo/StoreImgDTO.java

@@ -0,0 +1,25 @@
+package shop.alien.entity.second.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import shop.alien.entity.store.StoreImg;
+
+import java.util.Date;
+
+/**
+ * 上传图片vo
+ *
+ * @author ssk
+ * @version 1.0
+ * @date 2025/1/13 10:35
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+@JsonInclude
+public class StoreImgDTO extends StoreImg {
+
+    @JsonFormat(pattern = "yyyy/MM/dd", timezone = "GMT+8")
+    Date expirationTime;
+}

+ 80 - 0
alien-service-entity/src/main/java/shop/alien/entity/store/ActivityInviteConfig.java

@@ -0,0 +1,80 @@
+package shop.alien.entity.store;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.util.Date;
+
+@Data
+@JsonInclude
+@TableName("activity_invite_config")
+@ApiModel(value = "ActivityInviteConfig", description = "邀请活动配置表")
+public class ActivityInviteConfig {
+    @ApiModelProperty(value = "主键")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "活动名称")
+    private String activityName;
+
+    @ApiModelProperty(value = "活动类型:1,邀请好友,2.其他")
+    private Integer activityType;
+
+    @ApiModelProperty(value = "活动规则")
+    private String activityRule;
+
+    @ApiModelProperty(value = "活动状态:0-未启用,1-启用,2-已结束")
+    private Integer status;
+
+    @ApiModelProperty(value = "邀请成功条件:1,注册即算,2.实名认证,3,首单支付并成功核销")
+    private Integer inviteCondition;
+
+    @ApiModelProperty(value = "邀请人数")
+    private Integer invitePersonNum;
+
+    @ApiModelProperty(value = "邀请奖励类型:1.优惠券,2.积分")
+    private Integer inviteRewardType;
+
+    @ApiModelProperty(value = "邀请奖励积分")
+    private Integer inviteRewardPoint;
+
+    @ApiModelProperty(value = "邀请奖励优惠券")
+    private Integer inviteRewardCoupon;
+
+    @ApiModelProperty(value = "被邀请奖励类型:1.优惠券,2.积分")
+    private Integer invitedRewardType;
+
+    @ApiModelProperty(value = "被邀请奖励积分")
+    private Integer invitedRewardPoint;
+
+    @ApiModelProperty(value = "被邀请奖励优惠券")
+    private Integer invitedRewardCoupon;
+
+
+    @ApiModelProperty(value = "每天最大邀请人数")
+    private Integer maxInviteNum;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createdTime;
+
+    @ApiModelProperty(value = "创建人ID")
+    private Integer createdUserId;
+
+    @ApiModelProperty(value = "修改时间")
+    @TableField(value = "updated_time", fill = FieldFill.INSERT_UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updatedTime;
+
+    @ApiModelProperty(value = "修改人ID")
+    private Integer updatedUserId;
+
+    @ApiModelProperty(value = "删除标记, 0:未删除, 1:已删除")
+    @TableField("delete_flag")
+    @TableLogic
+    private Integer deleteFlag;
+}

+ 75 - 0
alien-service-entity/src/main/java/shop/alien/entity/store/ActivityInviteLog.java

@@ -0,0 +1,75 @@
+package shop.alien.entity.store;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+@JsonInclude
+@TableName("activity_invite_log")
+@ApiModel(value = "ActivityInviteLog", description = "邀请记录表")
+public class ActivityInviteLog {
+    @ApiModelProperty(value = "主键")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "活动ID")
+    private Integer activityId;
+
+    @ApiModelProperty(value = "邀请人用户ID")
+    private Integer inviteUserId;
+
+    @ApiModelProperty(value = "邀请时间")
+    private Date inviteTime;
+
+    @ApiModelProperty(value = "被邀请人用户ID")
+    private Integer invitedUserId;
+
+    @ApiModelProperty(value = "邀请奖励类型:1.优惠券,2.积分")
+    private Integer inviteRewardType;
+
+    @ApiModelProperty(value = "邀请奖励积分")
+    private Integer inviteRewardPoint;
+
+    @ApiModelProperty(value = "邀请奖励优惠券")
+    private Integer inviteRewardCoupon;
+
+    @ApiModelProperty(value = "被邀请奖励类型:1.优惠券,2.积分")
+    private Integer invitedRewardType;
+
+    @ApiModelProperty(value = "被邀请奖励积分")
+    private Integer invitedRewardPoint;
+
+    @ApiModelProperty(value = "被邀请奖励优惠券")
+    private Integer invitedRewardCoupon;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createdTime;
+
+    @ApiModelProperty(value = "创建人ID")
+    private Integer createdUserId;
+
+    @ApiModelProperty(value = "修改时间")
+    @TableField(value = "updated_time", fill = FieldFill.INSERT_UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updatedTime;
+
+    @ApiModelProperty(value = "修改人ID")
+    private Integer updatedUserId;
+
+    @ApiModelProperty(value = "删除标记, 0:未删除, 1:已删除")
+    @TableField("delete_flag")
+    @TableLogic
+    private Integer deleteFlag;
+
+    @ApiModelProperty(value = "发放状态, 0:未发放, 1:已发放")
+    @TableField("distribution_status")
+    private Integer distributionStatus;
+}

+ 55 - 0
alien-service-entity/src/main/java/shop/alien/entity/store/ActivityPeriod.java

@@ -0,0 +1,55 @@
+package shop.alien.entity.store;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.util.Date;
+
+@Data
+@JsonInclude
+@TableName("activity_period")
+@ApiModel(value = "ActivityPeriod", description = "活动时间段配置表")
+public class ActivityPeriod {
+    @ApiModelProperty(value = "主键")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "活动ID")
+    private Integer activityId;
+
+    @ApiModelProperty(value = "时间段名称")
+    private String periodName;
+
+    @ApiModelProperty(value = "开始时间")
+    private Date startTime;
+
+    @ApiModelProperty(value = "结束时间")
+    private Date endTime;
+
+    @ApiModelProperty(value = "状态:0-未启用,1-启用,2-已结束")
+    private Integer status;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createdTime;
+
+    @ApiModelProperty(value = "创建人ID")
+    private Integer createdUserId;
+
+    @ApiModelProperty(value = "修改时间")
+    @TableField(value = "updated_time", fill = FieldFill.INSERT_UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updatedTime;
+
+    @ApiModelProperty(value = "修改人ID")
+    private Integer updatedUserId;
+
+    @ApiModelProperty(value = "删除标记, 0:未删除, 1:已删除")
+    @TableField("delete_flag")
+    @TableLogic
+    private Integer deleteFlag;
+}

+ 69 - 0
alien-service-entity/src/main/java/shop/alien/entity/store/ActivitySignInConfig.java

@@ -0,0 +1,69 @@
+package shop.alien.entity.store;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+@JsonInclude
+@TableName("activity_sign_in_config")
+@ApiModel(value = "ActivitySignInConfig", description = "签到活动配置表")
+public class ActivitySignInConfig {
+    @ApiModelProperty(value = "主键")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "活动名称")
+    private String activityName;
+
+    @ApiModelProperty(value = "活动总天数")
+    private Integer totalDays;
+
+    @ApiModelProperty(value = "最大补签次数")
+    private Integer makeupLimit;
+
+    @ApiModelProperty(value = "状态:0-未启用,1-启用,2-已结束")
+    private Integer status;
+
+    @ApiModelProperty(value = "活动规则")
+    private String activityRule;
+
+    @ApiModelProperty(value = "奖励类型1,积分,2.其他")
+    private Integer baseRewardType;
+
+    @ApiModelProperty(value = "基础奖励积分")
+    private Integer basePoints;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createdTime;
+
+    @ApiModelProperty(value = "创建人ID")
+    private Integer createdUserId;
+
+    @ApiModelProperty(value = "修改时间")
+    @TableField(value = "updated_time", fill = FieldFill.INSERT_UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updatedTime;
+
+    @ApiModelProperty(value = "修改人ID")
+    private Integer updatedUserId;
+
+    @ApiModelProperty(value = "删除标记, 0:未删除, 1:已删除")
+    @TableField("delete_flag")
+    @TableLogic
+    private Integer deleteFlag;
+    @ApiModelProperty(value = "方案配置类型1,默认方案,2.特殊方案")
+    private Integer planConfigType;
+
+
+    @ApiModelProperty(value = "返回错误信息")
+    @TableField(exist = false)
+    private String errorMessage;
+}

+ 56 - 0
alien-service-entity/src/main/java/shop/alien/entity/store/ActivitySignInReward.java

@@ -0,0 +1,56 @@
+package shop.alien.entity.store;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+@JsonInclude
+@TableName("activity_sign_in_reward")
+@ApiModel(value = "ActivitySignInReward", description = "签到奖励配置表")
+public class ActivitySignInReward {
+    @ApiModelProperty(value = "主键")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "活动ID")
+    private Integer activityId;
+
+    @ApiModelProperty(value = "连续签到天数(第几天)")
+    private Integer dayOfSequence;
+
+    @ApiModelProperty(value = "积分")
+    private Integer points;
+
+    @ApiModelProperty(value = "奖励类型1,积分,2.其他")
+    private Integer rewardType;
+
+//    @ApiModelProperty(value = "签到配置类型1,连续签到,2.基础签到")
+//    private Integer signConfigType;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createdTime;
+
+    @ApiModelProperty(value = "创建人ID")
+    private Integer createdUserId;
+
+    @ApiModelProperty(value = "修改时间")
+    @TableField(value = "updated_time", fill = FieldFill.INSERT_UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updatedTime;
+
+    @ApiModelProperty(value = "修改人ID")
+    private Integer updatedUserId;
+
+    @ApiModelProperty(value = "删除标记, 0:未删除, 1:已删除")
+    @TableField("delete_flag")
+    @TableLogic
+    private Integer deleteFlag;
+}

+ 75 - 0
alien-service-entity/src/main/java/shop/alien/entity/store/AiIntelligentAssistant.java

@@ -0,0 +1,75 @@
+package shop.alien.entity.store;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * AI 智能助手表
+ *
+ * @author qxy
+ * @since 2025-09-23
+ */
+@Data
+@JsonInclude
+@TableName("ai_intelligent_assistant")
+@ApiModel(value = "AiIntelligentAssistant对象", description = "AI智能助手")
+public class AiIntelligentAssistant {
+
+    @ApiModelProperty(value = "主键")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "内容")
+    @TableField("context")
+    private String context;
+
+    @ApiModelProperty(value = "1平台使用/2商户运营")
+    @TableField("talk_source")
+    private Integer talkSource;
+
+    @ApiModelProperty(value = "类型(0空数据/1输入的问题/2ai回答/3固定问题)")
+    @TableField("type")
+    private Integer type;
+
+    @ApiModelProperty(value = "回复id")
+    @TableField("reply_id")
+    private Integer replyId;
+
+    @ApiModelProperty(value = "回复时间")
+    @TableField("reply_date")
+    private Date replyDate;
+
+    @ApiModelProperty(value = "删除标记, 0:未删除, 1:已删除")
+    @TableField("delete_flag")
+    @TableLogic
+    private Integer deleteFlag;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createdTime;
+
+    @ApiModelProperty(value = "创建人ID")
+    @TableField("created_user_id")
+    private Integer createdUserId;
+
+    @ApiModelProperty(value = "修改时间")
+    @TableField(value = "updated_time", fill = FieldFill.UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updatedTime;
+
+    @ApiModelProperty(value = "修改人ID")
+    @TableField("updated_user_id")
+    private Integer updatedUserId;
+
+    @ApiModelProperty(value = "用户ID")
+    @TableField("user_id")
+    private Integer userId;
+
+}

+ 142 - 0
alien-service-entity/src/main/java/shop/alien/entity/store/BarPerformance.java

@@ -0,0 +1,142 @@
+package shop.alien.entity.store;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 演出信息实体类
+ * 对应表: bar_performance
+ *
+ * @author assistant
+ * @since 2025-12-17
+ */
+@Data
+@JsonInclude
+@TableName("bar_performance")
+@ApiModel(value = "BarPerformance对象", description = "酒吧演出表")
+public class BarPerformance implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "演出ID(主键)")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "父演出ID(关联本表id,null为顶级演出)")
+    @TableField("parent_id")
+    private Integer parentId;
+
+    @ApiModelProperty(value = "关联门店ID(关联store_info.id)")
+    @TableField("store_id")
+    private Integer storeId;
+
+    @ApiModelProperty(value = "表演嘉宾ids,逗号分隔")
+    @TableField("staff_config_ids")
+    private String staffConfigIds;
+
+    @ApiModelProperty(value = "演出名称")
+    @TableField("performance_name")
+    private String performanceName;
+
+    @ApiModelProperty(value = "演出海报路径")
+    @TableField("performance_poster")
+    private String performancePoster;
+
+    @ApiModelProperty(value = "演出风格(字典表proficient_tag逗号分隔)")
+    @TableField("performance_style")
+    private String performanceStyle;
+
+    @ApiModelProperty(value = "演出类型(单选:0-特邀演出,1-常规演出)")
+    @TableField("performance_type")
+    private Integer performanceType;
+
+    @ApiModelProperty(value = "演出频次:0-单次 1-每天定时 2-每周定时")
+    @TableField("performance_frequency")
+    private String performanceFrequency;
+
+    @ApiModelProperty(value = "演出日期(0-周一,1-周二,2-周三,3-周四,4-周五,5-周六,6-周日,复选逗号分隔)")
+    @TableField("performance_week")
+    private String performanceWeek;
+
+    @ApiModelProperty(value = "演出日期开始时间")
+    @TableField("single_start_datetime")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date singleStartDatetime;
+
+    @ApiModelProperty(value = "演出日期结束时间")
+    @TableField("single_end_datetime")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date singleEndDatetime;
+
+    @ApiModelProperty(value = "演出时间开始日期")
+    @TableField("daily_start_date")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date dailyStartDate;
+
+    @ApiModelProperty(value = "演出时间结束日期")
+    @TableField("daily_end_date")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date dailyEndDate;
+
+    @ApiModelProperty(value = "图片")
+    @TableField("performance_detail")
+    private String performanceDetail;
+
+    @ApiModelProperty(value = "演出完整详情")
+    @TableField("performance_content")
+    private String performanceContent;
+
+    @ApiModelProperty(value = "演出须知(限300字)")
+    @TableField("performance_notice")
+    private String performanceNotice;
+
+    @ApiModelProperty(value = "审核状态:0-待审核 1-审核通过 2-审核拒绝")
+    @TableField("review_status")
+    private Integer reviewStatus;
+
+    @ApiModelProperty(value = "审核拒绝原因")
+    @TableField("reject_reason")
+    private String rejectReason;
+
+    @ApiModelProperty(value = "删除标记:0-未删除,1-已删除")
+    @TableField("delete_flag")
+    @TableLogic
+    private Integer deleteFlag;
+
+    @ApiModelProperty(value = "隐藏标记:0-不隐藏,1-隐藏")
+    @TableField("hidden")
+    private Integer hidden;
+
+    @ApiModelProperty(value = "上线状态:0-下线,1-上线")
+    @TableField("online_status")
+    private Integer onlineStatus;
+
+    @ApiModelProperty(value = "状态:0禁用,1启用")
+    @TableField("status")
+    private Integer status;
+
+    @ApiModelProperty(value = "创建人")
+    @TableField("created_user_id")
+    private Integer createdUserId;
+
+    @ApiModelProperty(value = "更新人")
+    @TableField("updated_user_id")
+    private Integer updatedUserId;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createdTime;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(value = "updated_time", fill = FieldFill.UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updatedTime;
+}

+ 86 - 0
alien-service-entity/src/main/java/shop/alien/entity/store/BathFacilityService.java

@@ -0,0 +1,86 @@
+package shop.alien.entity.store;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 洗浴设施及服务表
+ *
+ * @author system
+ * @since 2025-01-XX
+ */
+@Data
+@JsonInclude
+@TableName("bath_facility_service")
+@ApiModel(value = "BathFacilityService对象", description = "洗浴设施及服务表")
+public class BathFacilityService implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "主键")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "门店ID")
+    @TableField("store_id")
+    private Integer storeId;
+
+    @ApiModelProperty(value = "设施分类(1:洗浴区, 2:汗蒸区, 3:休闲区, 4:餐饮区)")
+    @TableField("facility_category")
+    private Integer facilityCategory;
+
+    @ApiModelProperty(value = "名称")
+    @TableField("facility_name")
+    private String facilityName;
+
+    @ApiModelProperty(value = "收费标准")
+    @TableField("charging_standard")
+    private String chargingStandard;
+
+    @ApiModelProperty(value = "使用时间类型(0:全天, 1:选择时间)")
+    @TableField("usage_time_type")
+    private Integer usageTimeType;
+
+    @ApiModelProperty(value = "使用开始时间(HH:mm格式)")
+    @TableField("usage_start_time")
+    private String usageStartTime;
+
+    @ApiModelProperty(value = "使用结束时间(HH:mm格式)")
+    @TableField("usage_end_time")
+    private String usageEndTime;
+
+    @ApiModelProperty(value = "是否显示在店铺详情(0:隐藏, 1:显示)")
+    @TableField("display_in_store_detail")
+    private Integer displayInStoreDetail;
+
+    @ApiModelProperty(value = "删除标记, 0:未删除, 1:已删除")
+    @TableField("delete_flag")
+    @TableLogic
+    private Integer deleteFlag;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createdTime;
+
+    @ApiModelProperty(value = "创建人ID")
+    @TableField(value = "created_user_id", fill = FieldFill.INSERT)
+    private Integer createdUserId;
+
+    @ApiModelProperty(value = "修改时间")
+    @TableField(value = "updated_time", fill = FieldFill.INSERT_UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updatedTime;
+
+    @ApiModelProperty(value = "修改人ID")
+    @TableField(value = "updated_user_id", fill = FieldFill.INSERT_UPDATE)
+    private Integer updatedUserId;
+}
+

+ 104 - 0
alien-service-entity/src/main/java/shop/alien/entity/store/CommentAppeal.java

@@ -0,0 +1,104 @@
+package shop.alien.entity.store;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ * 评论申诉表
+ *
+ * @author system
+ * @since 2025-01-XX
+ */
+@Data
+@JsonInclude
+@EqualsAndHashCode(callSuper = false)
+@TableName("comment_appeals")
+@ApiModel(value = "CommentAppeal对象", description = "评论申诉表")
+public class CommentAppeal extends Model<CommentAppeal> {
+
+    @ApiModelProperty(value = "主键id")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "评论id")
+    @TableField("comment_id")
+    private Integer commentId;
+
+    @ApiModelProperty(value = "评论内容")
+    @TableField("comment_info")
+    private String commentInfo;
+
+    @ApiModelProperty(value = "申诉理由")
+    @TableField("appeal_reason")
+    private String appealReason;
+
+    @ApiModelProperty(value = "申诉处理状态, 0:待处理, 1:已通过, 2:已驳回")
+    @TableField("status")
+    private Integer status;
+
+    @ApiModelProperty(value = "删除标记, 0:未删除, 1:已删除")
+    @TableField("delete_flag")
+    @TableLogic
+    private Integer deleteFlag;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createdTime;
+
+    @ApiModelProperty(value = "创建人ID")
+    @TableField(value = "created_user_id", fill = FieldFill.INSERT)
+    private Integer createdUserId;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(value = "updated_time", fill = FieldFill.INSERT_UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updatedTime;
+
+    @ApiModelProperty(value = "更新人ID")
+    @TableField(value = "updated_user_id", fill = FieldFill.INSERT_UPDATE)
+    private Integer updatedUserId;
+
+    @ApiModelProperty(value = "申诉时间")
+    @TableField(value = "appeal_time", fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date appealTime;
+
+    @ApiModelProperty(value = "图片路径")
+    @TableField("img_url")
+    private String imgUrl;
+
+    @ApiModelProperty(value = "申诉审核通过 驳回时间")
+    @TableField(value = "appeal_review_time", fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date appealReviewTime;
+
+    @ApiModelProperty(value = "审核原因")
+    @TableField("review_reasons")
+    private String reviewReasons;
+
+    @ApiModelProperty(value = "申诉审核单号")
+    @TableField("appeal_number")
+    private String appealNumber;
+
+    @ApiModelProperty(value = "申诉人id")
+    @TableField("lawyer_user_id")
+    private String lawyerUserId;
+
+    @ApiModelProperty(value = "订单ID")
+    @TableField("order_id")
+    private Integer orderId;
+
+//    @ApiModelProperty(value = "评价图片")
+//    @TableField("review_images")
+//    private String reviewImages;
+}
+

+ 81 - 0
alien-service-entity/src/main/java/shop/alien/entity/store/DrinkInfo.java

@@ -0,0 +1,81 @@
+package shop.alien.entity.store;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 酒水餐食信息 DTO
+ * 用于接口参数传输,实际数据存储在 store_menu 表
+ * type: 1=餐食,2=酒水
+ *
+ * @author ssk
+ * @since 2025-05-14
+ */
+@Data
+@ApiModel(value = "DrinkInfo", description = "酒水餐食信息DTO")
+public class DrinkInfo implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "主键ID")
+    private Integer id;
+
+    @ApiModelProperty(value = "类型(1:餐食,2:酒水)")
+    private Integer type;
+
+    @ApiModelProperty(value = "名称")
+    private String name;
+
+    @ApiModelProperty(value = "售价")
+    private BigDecimal price;
+
+    @ApiModelProperty(value = "成本价")
+    private BigDecimal costPrice;
+
+    @ApiModelProperty(value = "酒精度(%vol)")
+    private BigDecimal alcoholVolume;
+
+    @ApiModelProperty(value = "图片URL")
+    private String picUrl;
+
+    @ApiModelProperty(value = "分类(如:白酒、啤酒、小吃等)")
+    private String category;
+
+    @ApiModelProperty(value = "风味特征")
+    private String flavor;
+
+    @ApiModelProperty(value = "描述")
+    private String description;
+
+    @ApiModelProperty(value = "排序(数值越小越靠前)")
+    private Integer sort;
+
+    @ApiModelProperty(value = "是否推荐(0:否,1:是)")
+    private Integer isRecommended;
+
+    @ApiModelProperty(value = "状态(1:上架,2:下架)")
+    private Integer status;
+
+    @ApiModelProperty(value = "门店ID")
+    private Integer storeId;
+
+    @ApiModelProperty(value = "创建人ID")
+    private Integer createUserId;
+
+    @ApiModelProperty(value = "创建时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createTime;
+
+    @ApiModelProperty(value = "修改人ID")
+    private Integer updateUserId;
+
+    @ApiModelProperty(value = "修改时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updateTime;
+}

+ 55 - 0
alien-service-entity/src/main/java/shop/alien/entity/store/ElasticSearchLabel.java

@@ -0,0 +1,55 @@
+package shop.alien.entity.store;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * ElasticSearch标签类
+ *
+ * @author ssk
+ * @version 1.0
+ * @date 2025/4/28 10:57
+ */
+@Data
+@JsonInclude
+@ApiModel(value = "ElasticSearch标签类", description = "ElasticSearch标签类")
+public class ElasticSearchLabel {
+
+    /**
+     * 业务id
+     */
+    @ApiModelProperty(value = "业务id")
+    private Integer businessId;
+
+    /**
+     * 业务类型(1:门店, 2:套餐)
+     */
+    @ApiModelProperty(value = "业务类型(1:门店, 2:套餐, 3:菜单)")
+    private String businessType;
+
+    /**
+     * 业务主营类型(八大类)
+     */
+    @ApiModelProperty(value = "业务主营类型(八大类)")
+    private String businessMainType;
+
+    /**
+     * 业务主营类型字符串(八大类)
+     */
+    @ApiModelProperty(value = "业务主营类型字符串(八大类)")
+    private String businessMainTypeStr;
+
+    /**
+     * 业务名称(门店名, 套餐名)
+     */
+    @ApiModelProperty(value = "业务名称(门店名, 套餐名)")
+    private String businessName;
+
+    /**
+     * 业务地址(门店)
+     */
+    @ApiModelProperty(value = "业务地址(门店)")
+    private String businessAddress;
+}

+ 76 - 0
alien-service-entity/src/main/java/shop/alien/entity/store/EssentialCityCode.java

@@ -0,0 +1,76 @@
+package shop.alien.entity.store;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 区域编码
+ * </p>
+ *
+ * @author ssk
+ * @since 2025-04-23
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="EssentialCityCode对象", description="区域编码")
+public class EssentialCityCode extends Model<EssentialCityCode> {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "主键id")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "地区名称")
+    @TableField("area_name")
+    private String areaName;
+
+    @ApiModelProperty(value = "地区编码")
+    @TableField("area_code")
+    private Integer areaCode;
+
+    @ApiModelProperty(value = "城市编码")
+    @TableField("city_code")
+    private Integer cityCode;
+
+    @ApiModelProperty(value = "删除标识(0 未删除 1 删除)")
+    @TableField("delete_flag")
+    @TableLogic
+    private Integer deleteFlag;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    private Date createdTime;
+
+    @ApiModelProperty(value = "创建人ID")
+    @TableField(value = "created_user_id", fill = FieldFill.INSERT)
+    private Integer createdUserId;
+
+    @ApiModelProperty(value = "修改时间")
+    @TableField(value = "updated_time", fill = FieldFill.INSERT_UPDATE)
+    private Date updatedTime;
+
+    @ApiModelProperty(value = "修改人ID")
+    @TableField(value = "updated_user_id", fill = FieldFill.INSERT_UPDATE)
+    private Integer updatedUserId;
+
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+}

+ 73 - 0
alien-service-entity/src/main/java/shop/alien/entity/store/EssentialHolidayComparison.java

@@ -0,0 +1,73 @@
+package shop.alien.entity.store;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import java.time.LocalDate;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 节假日年份对照表
+ * </p>
+ *
+ * @author ssk
+ * @since 2025-02-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="EssentialHolidayComparison对象", description="节假日年份对照表")
+public class EssentialHolidayComparison extends Model<EssentialHolidayComparison> {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "主键")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "节日名称")
+    @TableField("festival_name")
+    private String festivalName;
+
+    @ApiModelProperty(value = "节日日期")
+    @TableField("festival_date")
+    private LocalDate festivalDate;
+
+    @ApiModelProperty(value = "年份")
+    @TableField("particular_year")
+    private String particularYear;
+
+    @ApiModelProperty(value = "开始时间")
+    @TableField("start_time")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date startTime;
+
+    @ApiModelProperty(value = "结束时间")
+    @TableField("end_time")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date endTime;
+
+    @ApiModelProperty(value = "删除标记, 0:未删除, 1:已删除")
+    @TableField(value = "del_flag")
+    private int delFlag;
+
+    @ApiModelProperty(value = "是否启用(0:未启用,1:已启用)")
+    @TableField(value = "open_flag")
+    private int openFlag;
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+}

+ 81 - 0
alien-service-entity/src/main/java/shop/alien/entity/store/EssentialModuleInformation.java

@@ -0,0 +1,81 @@
+package shop.alien.entity.store;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author ssk
+ * @since 2025-03-20
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value = "EssentialModuleInformation对象", description = "")
+public class EssentialModuleInformation extends Model<EssentialModuleInformation> {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "主键")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "数据键")
+    @TableField("information_key")
+    private String informationKey;
+
+    @ApiModelProperty(value = "数据值")
+    @TableField("information_value")
+    private String informationValue;
+
+    @ApiModelProperty(value = "数据类型")
+    @TableField("data_type")
+    private String dataType;
+
+    @ApiModelProperty(value = "参数类型")
+    @TableField("param_type")
+    private String paramType;
+
+    @ApiModelProperty(value = "上级数据id")
+    @TableField("parent_id")
+    private Integer parentId;
+
+    @ApiModelProperty(value = "删除标记, 0:未删除, 1:已删除")
+    @TableField("delete_flag")
+    @TableLogic
+    private Integer deleteFlag;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    private Date createdTime;
+
+    @ApiModelProperty(value = "创建人ID")
+    @TableField(value = "created_user_id", fill = FieldFill.INSERT)
+    private Integer createdUserId;
+
+    @ApiModelProperty(value = "修改时间")
+    @TableField(value = "updated_time", fill = FieldFill.INSERT_UPDATE)
+    private Date updatedTime;
+
+    @ApiModelProperty(value = "修改人ID")
+    @TableField(value = "updated_user_id", fill = FieldFill.INSERT_UPDATE)
+    private Integer updatedUserId;
+
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+}

+ 82 - 0
alien-service-entity/src/main/java/shop/alien/entity/store/EvaluationLabel.java

@@ -0,0 +1,82 @@
+package shop.alien.entity.store;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 评论标签
+ * </p>
+ *
+ * @author ssk
+ * @since 2025-05-15
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value = "EvaluationLabel对象", description = "评论标签")
+public class EvaluationLabel extends Model<EvaluationLabel> {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "主键")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "评论iD外键")
+    @TableField("evaluation_Id")
+    private String evaluationId;
+
+    @ApiModelProperty(value = "商家ID")
+    @TableField("store_id")
+    private String storeId;
+
+    @ApiModelProperty(value = "标签")
+    @TableField("label")
+    private String label;
+
+    @ApiModelProperty(value = "删除状态")
+    @TableField("delete_flag")
+    @TableLogic
+    private Integer deleteFlag;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    private Date createdTime;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(value = "updated_time", fill = FieldFill.INSERT_UPDATE)
+    private Date updatedTime;
+
+    @ApiModelProperty(value = "创建人ID")
+    @TableField(value = "created_user_id", fill = FieldFill.INSERT)
+    private Integer createdUserId;
+
+    @ApiModelProperty(value = "修改人ID")
+    @TableField(value = "updated_user_id", fill = FieldFill.INSERT_UPDATE)
+    private Integer updatedUserId;
+
+    @ApiModelProperty(value = "type")
+    @TableField("type")
+    private String type;
+
+
+    @ApiModelProperty(value = "用户id")
+    @TableField("user_id")
+    private String userId;
+
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+}

+ 92 - 0
alien-service-entity/src/main/java/shop/alien/entity/store/ExpertImg.java

@@ -0,0 +1,92 @@
+package shop.alien.entity.store;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 达人图片表
+ * </p>
+ *
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="ExpertImg对象", description="达人图片表")
+public class ExpertImg extends Model<ExpertImg> {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "主键id")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "达人id")
+    @TableField(value = "expert_id")
+    private Integer expertId;
+
+    @ApiModelProperty(value = "达人码")
+    @TableField("expert_code")
+    private Integer expertCode;
+
+    @ApiModelProperty(value = "用户id(life_user表id)")
+    @TableField("user_id")
+    private Integer userId;
+
+
+    @ApiModelProperty(value = "删除标记, 0:未删除, 1:已删除")
+    @TableField("delete_flag")
+    @TableLogic
+    private Integer deleteFlag;
+
+
+    @ApiModelProperty(value = "图片类型 0 申请成为达人上传的图片")
+    @TableField("img_type")
+    private Integer imgType;
+
+    @ApiModelProperty(value = "图片描述")
+    @TableField("img_description")
+    private String imgDescription;
+
+    @ApiModelProperty(value = "图片排序")
+    @TableField("img_sort")
+    private Integer imgSort;
+
+    @ApiModelProperty(value = "图片路径")
+    @TableField("img_url")
+    private String imgUrl;
+
+    @ApiModelProperty(value = "补充说明")
+    @TableField(value = "add_explanation")
+    private String addExplanation;
+
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    private Date createdTime;
+
+
+    @ApiModelProperty(value = "修改时间")
+    @TableField(value = "updated_time", fill = FieldFill.INSERT_UPDATE)
+    private Date updatedTime;
+
+
+    @ApiModelProperty(value = "推广类型")
+    @TableField(value = "promote_type")
+    private String promoteType;
+
+
+
+
+
+
+
+
+}

+ 94 - 0
alien-service-entity/src/main/java/shop/alien/entity/store/FitnessEquipmentInfo.java

@@ -0,0 +1,94 @@
+package shop.alien.entity.store;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 健身设备信息实体类
+ *
+ * @author system
+ * @since 2025-01-XX
+ */
+@Data
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@TableName("fitness_equipment_info")
+@ApiModel(value = "FitnessEquipmentInfo对象", description = "健身设备信息")
+public class FitnessEquipmentInfo implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "主键ID")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "设备名称", required = true)
+    @TableField("equipment_name")
+    private String equipmentName;
+
+    @ApiModelProperty(value = "设备编码")
+    @TableField("equipment_code")
+    private String equipmentCode;
+
+    @ApiModelProperty(value = "设备类型(1:心肺训练, 2:核心训练, 3:臀腿训练, 4:上肢训练, 5:全身训练, 6:其他)", required = true)
+    @TableField("equipment_type")
+    private Integer equipmentType;
+
+    @ApiModelProperty(value = "设备图标URL")
+    @TableField("equipment_icon")
+    private String equipmentIcon;
+
+    @ApiModelProperty(value = "设备图片URL")
+    @TableField("equipment_image")
+    private String equipmentImage;
+
+    @ApiModelProperty(value = "设备描述")
+    @TableField("description")
+    private String description;
+
+    @ApiModelProperty(value = "使用方法")
+    @TableField("usage_method")
+    private String usageMethod;
+
+    @ApiModelProperty(value = "注意事项")
+    @TableField("precautions")
+    private String precautions;
+
+    @ApiModelProperty(value = "排序号")
+    @TableField("sort_order")
+    private Integer sortOrder;
+
+    @ApiModelProperty(value = "状态(0:禁用, 1:启用)")
+    @TableField("status")
+    private Integer status;
+
+    @ApiModelProperty(value = "删除标记(0:未删除, 1:已删除)")
+    @TableField("delete_flag")
+    @TableLogic
+    private Integer deleteFlag;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createdTime;
+
+    @ApiModelProperty(value = "创建人ID")
+    @TableField("created_user_id")
+    private Integer createdUserId;
+
+    @ApiModelProperty(value = "修改时间")
+    @TableField(value = "updated_time", fill = FieldFill.UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updatedTime;
+
+    @ApiModelProperty(value = "修改人ID")
+    @TableField("updated_user_id")
+    private Integer updatedUserId;
+}
+

+ 183 - 0
alien-service-entity/src/main/java/shop/alien/entity/store/LawFirm.java

@@ -0,0 +1,183 @@
+package shop.alien.entity.store;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 律所表
+ *
+ * @author system
+ * @since 2025-01-XX
+ */
+@Data
+@JsonInclude
+@TableName("law_firm")
+@ApiModel(value = "LawFirm对象", description = "律所表")
+public class LawFirm extends Model<LawFirm> implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "主键")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "律所名称")
+    @TableField("firm_name")
+    private String firmName;
+
+    @ApiModelProperty(value = "统一社会信用代码")
+    @TableField("credit_code")
+    private String creditCode;
+
+    @ApiModelProperty(value = "律所简称")
+    @TableField("short_name")
+    private String shortName;
+
+    @ApiModelProperty(value = "律所英文名称")
+    @TableField("english_name")
+    private String englishName;
+
+    @ApiModelProperty(value = "成立日期")
+    @TableField("establishment_date")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date establishmentDate;
+
+    @ApiModelProperty(value = "律所类型, 1:合伙制, 2:个人制, 3:国资制")
+    @TableField("firm_type")
+    private Integer firmType;
+
+    @ApiModelProperty(value = "律所规模, 1:小型(1-10人), 2:中型(11-50人), 3:大型(51-200人), 4:超大型(200人以上)")
+    @TableField("firm_scale")
+    private Integer firmScale;
+
+    @ApiModelProperty(value = "联系电话")
+    @TableField("phone")
+    private String phone;
+
+    @ApiModelProperty(value = "传真")
+    @TableField("fax")
+    private String fax;
+
+    @ApiModelProperty(value = "邮箱")
+    @TableField("email")
+    private String email;
+
+    @ApiModelProperty(value = "官网地址")
+    @TableField("website")
+    private String website;
+
+    @ApiModelProperty(value = "律所简介")
+    @TableField("introduction")
+    private String introduction;
+
+    @ApiModelProperty(value = "律所logo")
+    @TableField("logo")
+    private String logo;
+
+    @ApiModelProperty(value = "营业执照照片")
+    @TableField("business_license_image")
+    private String businessLicenseImage;
+
+    @ApiModelProperty(value = "执业许可证号")
+    @TableField("practice_license_no")
+    private String practiceLicenseNo;
+
+    @ApiModelProperty(value = "执业许可证照片")
+    @TableField("practice_license_image")
+    private String practiceLicenseImage;
+
+    @ApiModelProperty(value = "负责人姓名")
+    @TableField("director_name")
+    private String directorName;
+
+    @ApiModelProperty(value = "负责人电话")
+    @TableField("director_phone")
+    private String directorPhone;
+
+    @ApiModelProperty(value = "负责人邮箱")
+    @TableField("director_email")
+    private String directorEmail;
+
+    @ApiModelProperty(value = "律师总数")
+    @TableField("lawyer_count")
+    private Integer lawyerCount;
+
+    @ApiModelProperty(value = "合伙人数量")
+    @TableField("partner_count")
+    private Integer partnerCount;
+
+    @ApiModelProperty(value = "律所状态, 0:禁用, 1:启用")
+    @TableField("status")
+    private Integer status;
+
+    @ApiModelProperty(value = "认证状态, 0:未认证, 1:认证中, 2:已认证, 3:认证失败")
+    @TableField("certification_status")
+    private Integer certificationStatus;
+
+    @ApiModelProperty(value = "认证失败原因")
+    @TableField("certification_fail_reason")
+    private String certificationFailReason;
+
+    @ApiModelProperty(value = "认证时间")
+    @TableField("certification_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date certificationTime;
+
+    @ApiModelProperty(value = "认证审核人ID")
+    @TableField("certification_reviewer_id")
+    private Integer certificationReviewerId;
+
+    @ApiModelProperty(value = "是否推荐, 0:不推荐, 1:推荐")
+    @TableField("is_recommended")
+    private Integer isRecommended;
+
+    @ApiModelProperty(value = "推荐排序")
+    @TableField("recommend_sort")
+    private Integer recommendSort;
+
+    @ApiModelProperty(value = "删除标记, 0:未删除, 1:已删除")
+    @TableField("delete_flag")
+    @TableLogic
+    private Integer deleteFlag;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createdTime;
+
+    @ApiModelProperty(value = "创建人ID")
+    @TableField(value = "created_user_id", fill = FieldFill.INSERT)
+    private Integer createdUserId;
+
+    @ApiModelProperty(value = "修改时间")
+    @TableField(value = "updated_time", fill = FieldFill.INSERT_UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updatedTime;
+
+    @ApiModelProperty(value = "修改人ID")
+    @TableField(value = "updated_user_id", fill = FieldFill.INSERT_UPDATE)
+    private Integer updatedUserId;
+
+    @ApiModelProperty(value = "备注")
+    @TableField("remark")
+    private String remark;
+
+    @ApiModelProperty(value = "平台佣金比例(百分比)")
+    @TableField("platform_commission_ratio")
+    private Integer platformCommissionRatio;
+
+    @ApiModelProperty(value = "律师子表(临时字段,不映射到数据库)")
+    @TableField(exist = false)
+    private List<LawFirmPayment> paymentList;
+}
+

+ 68 - 0
alien-service-entity/src/main/java/shop/alien/entity/store/LawFirmPayment.java

@@ -0,0 +1,68 @@
+package shop.alien.entity.store;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 律所子表
+ *
+ * @author system
+ * @since 2025-01-XX
+ */
+@Data
+@JsonInclude
+@TableName("law_firm_payment")
+@ApiModel(value = "LawFirmPayment对象", description = "律所子表")
+public class LawFirmPayment extends Model<LawFirmPayment> implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "主键id")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "律师表id")
+    @TableField("firm_id")
+    private Integer firmId;
+
+    @ApiModelProperty(value = "律师事务所收款账号")
+    @TableField("payment_account")
+    private String paymentAccount;
+
+    @ApiModelProperty(value = "详细地址")
+    @TableField("address")
+    private String address;
+
+    @ApiModelProperty(value = "删除标记, 0:未删除, 1:已删除")
+    @TableField("delete_flag")
+    @TableLogic
+    private Integer deleteFlag;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createdTime;
+
+    @ApiModelProperty(value = "创建人ID")
+    @TableField(value = "created_user_id", fill = FieldFill.INSERT)
+    private Integer createdUserId;
+
+    @ApiModelProperty(value = "修改时间")
+    @TableField(value = "updated_time", fill = FieldFill.INSERT_UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updatedTime;
+
+    @ApiModelProperty(value = "修改人ID")
+    @TableField(value = "updated_user_id", fill = FieldFill.INSERT_UPDATE)
+    private Integer updatedUserId;
+}
+
+

+ 81 - 0
alien-service-entity/src/main/java/shop/alien/entity/store/LawyerAiInteractionLog.java

@@ -0,0 +1,81 @@
+package shop.alien.entity.store;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * AI交互日志
+ *
+ * @author system
+ * @since 2025-01-XX
+ */
+@Data
+@JsonInclude
+@TableName("lawyer_ai_interaction_log")
+@ApiModel(value = "LawyerAiInteractionLog对象", description = "AI交互日志")
+public class LawyerAiInteractionLog extends Model<LawyerAiInteractionLog> {
+
+    @ApiModelProperty(value = "主键")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "客户端用户ID")
+    @TableField("client_user_id")
+    private Integer clientUserId;
+
+    @ApiModelProperty(value = "会话ID")
+    @TableField("conversation_id")
+    private String conversationId;
+
+    @ApiModelProperty(value = "用户输入内容")
+    @TableField("query_text")
+    private String queryText;
+
+    @ApiModelProperty(value = "AI回复内容")
+    @TableField("response_text")
+    private String responseText;
+
+    @ApiModelProperty(value = "关联的法律问题场景ID")
+    @TableField("problem_scenario_id")
+    private Integer problemScenarioId;
+
+    @ApiModelProperty(value = "交互时间")
+    @TableField("interaction_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date interactionTime;
+
+    @ApiModelProperty(value = "删除标记, 0:未删除, 1:已删除")
+    @TableField("delete_flag")
+    @TableLogic
+    private Integer deleteFlag;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createdTime;
+
+    @ApiModelProperty(value = "创建人ID")
+    @TableField("created_user_id")
+    private Integer createdUserId;
+
+    @ApiModelProperty(value = "修改时间")
+    @TableField(value = "updated_time", fill = FieldFill.UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updatedTime;
+
+    @ApiModelProperty(value = "修改人ID")
+    @TableField("updated_user_id")
+    private Integer updatedUserId;
+
+    @ApiModelProperty(value = "场景ID")
+    @TableField("scene_id")
+    private Integer sceneId;
+}
+

+ 94 - 0
alien-service-entity/src/main/java/shop/alien/entity/store/LawyerChatMessage.java

@@ -0,0 +1,94 @@
+package shop.alien.entity.store;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 聊天消息
+ *
+ * @author system
+ * @since 2025-01-XX
+ */
+@Data
+@JsonInclude
+@TableName("lawyer_chat_message")
+@ApiModel(value = "LawyerChatMessage对象", description = "聊天消息")
+public class LawyerChatMessage extends Model<LawyerChatMessage> {
+
+    @ApiModelProperty(value = "主键")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "聊天会话ID")
+    @TableField("chat_session_id")
+    private Integer chatSessionId;
+
+    @ApiModelProperty(value = "咨询订单ID")
+    @TableField("consultation_order_id")
+    private Integer consultationOrderId;
+
+    @ApiModelProperty(value = "发送者ID")
+    @TableField("sender_id")
+    private Integer senderId;
+
+    @ApiModelProperty(value = "发送者类型, 0:客户端用户, 1:律师用户")
+    @TableField("sender_type")
+    private Integer senderType;
+
+    @ApiModelProperty(value = "消息内容")
+    @TableField("message_content")
+    private String messageContent;
+
+    @ApiModelProperty(value = "消息类型, 0:文本, 1:图片, 2:语音, 3:文件, 4:视频")
+    @TableField("message_type")
+    private Integer messageType;
+
+    @ApiModelProperty(value = "媒体文件URL")
+    @TableField("media_url")
+    private String mediaUrl;
+
+    @ApiModelProperty(value = "消息发送时间")
+    @TableField("message_timestamp")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date messageTimestamp;
+
+    @ApiModelProperty(value = "阅读状态, 0:未读, 1:已读")
+    @TableField("read_status")
+    private Integer readStatus;
+
+    @ApiModelProperty(value = "阅读时间")
+    @TableField("read_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date readTime;
+
+    @ApiModelProperty(value = "删除标记, 0:未删除, 1:已删除")
+    @TableField("delete_flag")
+    @TableLogic
+    private Integer deleteFlag;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createdTime;
+
+    @ApiModelProperty(value = "创建人ID")
+    @TableField("created_user_id")
+    private Integer createdUserId;
+
+    @ApiModelProperty(value = "修改时间")
+    @TableField(value = "updated_time", fill = FieldFill.UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updatedTime;
+
+    @ApiModelProperty(value = "修改人ID")
+    @TableField("updated_user_id")
+    private Integer updatedUserId;
+}
+

+ 81 - 0
alien-service-entity/src/main/java/shop/alien/entity/store/LawyerChatSession.java

@@ -0,0 +1,81 @@
+package shop.alien.entity.store;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 聊天会话
+ *
+ * @author system
+ * @since 2025-01-XX
+ */
+@Data
+@JsonInclude
+@TableName("lawyer_chat_session")
+@ApiModel(value = "LawyerChatSession对象", description = "聊天会话")
+public class LawyerChatSession extends Model<LawyerChatSession> {
+
+    @ApiModelProperty(value = "主键")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "咨询订单ID")
+    @TableField("consultation_order_id")
+    private Integer consultationOrderId;
+
+    @ApiModelProperty(value = "客户端用户ID")
+    @TableField("client_user_id")
+    private Integer clientUserId;
+
+    @ApiModelProperty(value = "律师用户ID")
+    @TableField("lawyer_user_id")
+    private Integer lawyerUserId;
+
+    @ApiModelProperty(value = "会话类型, 0:文本咨询, 1:语音咨询, 2:视频咨询")
+    @TableField("session_type")
+    private Integer sessionType;
+
+    @ApiModelProperty(value = "会话状态, 0:未开始, 1:进行中, 2:已结束")
+    @TableField("status")
+    private Integer status;
+
+    @ApiModelProperty(value = "最后一条消息ID")
+    @TableField("last_message_id")
+    private Integer lastMessageId;
+
+    @ApiModelProperty(value = "最后一条消息时间")
+    @TableField("last_message_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date lastMessageTime;
+
+    @ApiModelProperty(value = "删除标记, 0:未删除, 1:已删除")
+    @TableField("delete_flag")
+    @TableLogic
+    private Integer deleteFlag;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createdTime;
+
+    @ApiModelProperty(value = "创建人ID")
+    @TableField("created_user_id")
+    private Integer createdUserId;
+
+    @ApiModelProperty(value = "修改时间")
+    @TableField(value = "updated_time", fill = FieldFill.UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updatedTime;
+
+    @ApiModelProperty(value = "修改人ID")
+    @TableField("updated_user_id")
+    private Integer updatedUserId;
+}
+

+ 80 - 0
alien-service-entity/src/main/java/shop/alien/entity/store/LawyerCommonQuestion.java

@@ -0,0 +1,80 @@
+package shop.alien.entity.store;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 常见问题
+ *
+ * @author system
+ * @since 2025-01-XX
+ */
+@Data
+@JsonInclude
+@TableName("lawyer_common_question")
+@ApiModel(value = "LawyerCommonQuestion对象", description = "常见问题")
+public class LawyerCommonQuestion extends Model<LawyerCommonQuestion> {
+
+    @ApiModelProperty(value = "主键")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "问题文本")
+    @TableField("question_text")
+    private String questionText;
+
+    @ApiModelProperty(value = "回答内容")
+    @TableField("answer_text")
+    private String answerText;
+
+    @ApiModelProperty(value = "分类类型, 0:推荐, 1:常见问题")
+    @TableField("category_type")
+    private Integer categoryType;
+
+    @ApiModelProperty(value = "关联法律问题场景ID")
+    @TableField("problem_scenario_id")
+    private Integer problemScenarioId;
+
+    @ApiModelProperty(value = "排序")
+    @TableField("sort_order")
+    private Integer sortOrder;
+
+    @ApiModelProperty(value = "浏览次数")
+    @TableField("view_count")
+    private Integer viewCount;
+
+    @ApiModelProperty(value = "状态, 0:禁用, 1:启用")
+    @TableField("status")
+    private Integer status;
+
+    @ApiModelProperty(value = "删除标记, 0:未删除, 1:已删除")
+    @TableField("delete_flag")
+    @TableLogic
+    private Integer deleteFlag;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createdTime;
+
+    @ApiModelProperty(value = "创建人ID")
+    @TableField("created_user_id")
+    private Integer createdUserId;
+
+    @ApiModelProperty(value = "修改时间")
+    @TableField(value = "updated_time", fill = FieldFill.UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updatedTime;
+
+    @ApiModelProperty(value = "修改人ID")
+    @TableField("updated_user_id")
+    private Integer updatedUserId;
+}
+

+ 212 - 0
alien-service-entity/src/main/java/shop/alien/entity/store/LawyerConsultationOrder.java

@@ -0,0 +1,212 @@
+package shop.alien.entity.store;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 咨询订单
+ *
+ * @author system
+ * @since 2025-01-XX
+ */
+@Data
+@JsonInclude
+@TableName("lawyer_consultation_order")
+@ApiModel(value = "LawyerConsultationOrder对象", description = "咨询订单")
+public class LawyerConsultationOrder extends Model<LawyerConsultationOrder> {
+
+    @ApiModelProperty(value = "主键")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "订单编号")
+    @TableField("order_number")
+    private String orderNumber;
+
+    @ApiModelProperty(value = "客户端用户ID")
+    @TableField("client_user_id")
+    private Integer clientUserId;
+
+    @ApiModelProperty(value = "律师用户ID")
+    @TableField("lawyer_user_id")
+    private Integer lawyerUserId;
+
+    @ApiModelProperty(value = "法律问题场景ID")
+    @TableField("problem_scenario_id")
+    private String problemScenarioId;
+
+    @ApiModelProperty(value = "问题描述")
+    @TableField("problem_description")
+    private String problemDescription;
+
+    @ApiModelProperty(value = "订单金额,单位分")
+    @TableField("order_amount")
+    private Integer orderAmount;
+
+    @ApiModelProperty(value = "咨询费用,单位分")
+    @TableField("consultation_fee")
+    private Integer consultationFee;
+
+    @ApiModelProperty(value = "咨询开始时间")
+    @TableField("start_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date startTime;
+
+    @ApiModelProperty(value = "咨询结束时间")
+    @TableField("end_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date endTime;
+
+    @ApiModelProperty(value = "订单状态, 0:待支付, 2:进行中, 3:已完成, 4:已取消")
+    @TableField("order_status")
+    private Integer orderStatus;
+
+    @ApiModelProperty(value = "支付状态, 0:未支付, 1:已支付")
+    @TableField("payment_status")
+    private Integer paymentStatus;
+
+    @ApiModelProperty(value = "下单时间")
+    @TableField("order_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date orderTime;
+
+    @ApiModelProperty(value = "支付时间")
+    @TableField("payment_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date paymentTime;
+
+    @ApiModelProperty(value = "订单有效期")
+    @TableField("validity_period")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date validityPeriod;
+
+    @ApiModelProperty(value = "用户评分, 1-5星")
+    @TableField("rating")
+    private Integer rating;
+
+    @ApiModelProperty(value = "用户评价内容")
+    @TableField("comment")
+    private String comment;
+
+    @ApiModelProperty(value = "删除标记, 0:未删除, 1:已删除")
+    @TableField("delete_flag")
+    @TableLogic
+    private Integer deleteFlag;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createdTime;
+
+    @ApiModelProperty(value = "创建人ID")
+    @TableField("created_user_id")
+    private Integer createdUserId;
+
+    @ApiModelProperty(value = "修改时间")
+    @TableField(value = "updated_time", fill = FieldFill.UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updatedTime;
+
+    @ApiModelProperty(value = "修改人ID")
+    @TableField("updated_user_id")
+    private Integer updatedUserId;
+
+    @ApiModelProperty(value = "支付宝订单编号")
+    @TableField("alipay_no")
+    private String alipayNo;
+
+    @ApiModelProperty(value = "支付宝订单字符串")
+    @TableField("order_str")
+    private String orderStr;
+
+    @ApiModelProperty(value = "律所id")
+    @TableField("place_id")
+    private  Integer placeId;
+
+    @ApiModelProperty(value = "律师收益(订单金额-平台佣金)")
+    @TableField("lawyer_earnings")
+    private  Integer lawyerEarnings;
+
+    @ApiModelProperty(value = "律师接单时间")
+    @TableField("accept_orders_time")
+    private  Date acceptOrdersTime;
+
+    @ApiModelProperty(value = "拒绝接单原因")
+    @TableField("reason_order_refusal")
+    private  String reasonOrderRefusal;
+
+    @ApiModelProperty(value = "律师接单状态  0接单  1拒绝接单")
+    @TableField("accept_orders_status")
+    private  Integer acceptOrdersStatus;
+
+    @ApiModelProperty(value = "申请退款状态,0-未申请,1-已申请,2-律师已拒绝,3-律师已同意")
+    @TableField("apply_refund_status")
+    private String applyRefundStatus;
+
+    @ApiModelProperty(value = "申请退款时间")
+    @TableField(value = "apply_refund_time", fill = FieldFill.UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date applyRefundTime;
+
+    @ApiModelProperty(value = "申请退款处理时间")
+    @TableField(value = "apply_refund_process_time", fill = FieldFill.UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date applyRefundProcessTime;
+
+    @ApiModelProperty(value = "申请退款原因")
+    @TableField("apply_refund_reason")
+    private String applyRefundReason;
+
+    @ApiModelProperty(value = "拒绝退款原因")
+    @TableField("reject_refund_reason")
+    private String rejectRefundReason;
+
+    @ApiModelProperty(value = "是否已被申诉, 0:未申诉, 1:已申诉, 2:申诉中")
+    @TableField("is_appealed")
+    private Integer isAppealed;
+
+    @ApiModelProperty(value = "退款申请处理动作:1-同意,2-拒绝")
+    @TableField(exist = false)
+    private String processAction;
+
+    @ApiModelProperty(value = "支付方式 1支付宝 2微信")
+    @TableField("pay_type")
+    private  String payType;
+
+
+    @ApiModelProperty(value = "分钟收费-钱数")
+    @TableField("charge_minute")
+    private Integer chargeMinute;
+
+    @ApiModelProperty(value = "分钟收费-分钟数")
+    @TableField("minute_num")
+    private Integer minuteNum;
+
+    @ApiModelProperty(value = "次数收费-钱数")
+    @TableField("charge_time")
+    private Integer chargeTime;
+
+    @ApiModelProperty(value = "次数收费-次数")
+    @TableField("time_num")
+    private Integer timeNum;
+
+    @ApiModelProperty(value = "价格")
+    @TableField(exist = false)
+    private Integer price;
+
+    @ApiModelProperty(value = "方式  次 / 分钟")
+    @TableField(exist = false)
+    private String serviceType;
+
+
+
+
+}
+

+ 84 - 0
alien-service-entity/src/main/java/shop/alien/entity/store/LawyerConsultationReview.java

@@ -0,0 +1,84 @@
+package shop.alien.entity.store;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 咨询评价
+ *
+ * @author system
+ * @since 2025-01-XX
+ */
+@Data
+@JsonInclude
+@TableName("lawyer_consultation_review")
+@ApiModel(value = "LawyerConsultationReview对象", description = "咨询评价")
+public class LawyerConsultationReview extends Model<LawyerConsultationReview> {
+
+    @ApiModelProperty(value = "主键")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "咨询订单ID")
+    @TableField("consultation_order_id")
+    private Integer consultationOrderId;
+
+    @ApiModelProperty(value = "评价用户ID")
+    @TableField("client_user_id")
+    private Integer clientUserId;
+
+    @ApiModelProperty(value = "被评价律师ID")
+    @TableField("lawyer_user_id")
+    private Integer lawyerUserId;
+
+    @ApiModelProperty(value = "评分, 1-5星")
+    @TableField("rating")
+    private Integer rating;
+
+    @ApiModelProperty(value = "评价内容")
+    @TableField("comment")
+    private String comment;
+
+    @ApiModelProperty(value = "服务质量评分, 1-5星")
+    @TableField("service_quality")
+    private Integer serviceQuality;
+
+    @ApiModelProperty(value = "响应速度评分, 1-5星")
+    @TableField("response_speed")
+    private Integer responseSpeed;
+
+    @ApiModelProperty(value = "专业水平评分, 1-5星")
+    @TableField("professional_level")
+    private Integer professionalLevel;
+
+    @ApiModelProperty(value = "删除标记, 0:未删除, 1:已删除")
+    @TableField("delete_flag")
+    @TableLogic
+    private Integer deleteFlag;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createdTime;
+
+    @ApiModelProperty(value = "创建人ID")
+    @TableField("created_user_id")
+    private Integer createdUserId;
+
+    @ApiModelProperty(value = "修改时间")
+    @TableField(value = "updated_time", fill = FieldFill.UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updatedTime;
+
+    @ApiModelProperty(value = "修改人ID")
+    @TableField("updated_user_id")
+    private Integer updatedUserId;
+}
+

+ 55 - 0
alien-service-entity/src/main/java/shop/alien/entity/store/LawyerExpertiseArea.java

@@ -0,0 +1,55 @@
+package shop.alien.entity.store;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 领域信息
+ *
+ * @author system
+ * @since 2025-01-XX
+ */
+@Data
+@JsonInclude
+@TableName("lawyer_expertise_area")
+@ApiModel(value = "LawyerExpertiseArea对象", description = "领域信息表")
+public class LawyerExpertiseArea extends Model<LawyerExpertiseArea> {
+    @ApiModelProperty(value = "主键")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "领域名称")
+    @TableField("expertise_area_info")
+    private String expertiseAreaInfo;
+
+    @ApiModelProperty(value = "删除标记, 0:未删除, 1:已删除")
+    @TableField("delete_flag")
+    @TableLogic
+    private Integer deleteFlag;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createdTime;
+
+    @ApiModelProperty(value = "创建人ID")
+    @TableField("created_user_id")
+    private Integer createdUserId;
+
+    @ApiModelProperty(value = "修改时间")
+    @TableField(value = "updated_time", fill = FieldFill.INSERT_UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updatedTime;
+
+    @ApiModelProperty(value = "修改人ID")
+    @TableField("updated_user_id")
+    private Integer updatedUserId;
+}
+

+ 76 - 0
alien-service-entity/src/main/java/shop/alien/entity/store/LawyerImg.java

@@ -0,0 +1,76 @@
+package shop.alien.entity.store;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 律师图片
+ *
+ * @author system
+ * @since 2025-01-XX
+ */
+@Data
+@JsonInclude
+@TableName("lawyer_img")
+@ApiModel(value = "LawyerImg对象", description = "律师图片")
+public class LawyerImg extends Model<LawyerImg> {
+
+    @ApiModelProperty(value = "主键")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "律师用户ID")
+    @TableField("lawyer_id")
+    private Integer lawyerId;
+
+    @ApiModelProperty(value = "图片类型, 0:其他, 1:头像, 2:执业证照片, 3:身份证正面, 4:身份证反面, 5:案例图片, 6:相册图片, 7:资质证书, 8:荣誉证书, 9:工作照片")
+    @TableField("img_type")
+    private Integer imgType;
+
+    @ApiModelProperty(value = "图片描述")
+    @TableField("img_description")
+    private String imgDescription;
+
+    @ApiModelProperty(value = "图片排序")
+    @TableField("img_sort")
+    private Integer imgSort;
+
+    @ApiModelProperty(value = "图片链接")
+    @TableField("img_url")
+    private String imgUrl;
+
+    @ApiModelProperty(value = "删除标记, 0:未删除, 1:已删除")
+    @TableField("delete_flag")
+    @TableLogic
+    private Integer deleteFlag;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createdTime;
+
+    @ApiModelProperty(value = "创建人ID")
+    @TableField("created_user_id")
+    private Integer createdUserId;
+
+    @ApiModelProperty(value = "修改时间")
+    @TableField(value = "updated_time", fill = FieldFill.INSERT_UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updatedTime;
+
+    @ApiModelProperty(value = "修改人ID")
+    @TableField("updated_user_id")
+    private Integer updatedUserId;
+
+    @ApiModelProperty(value = "业务ID")
+    @TableField("business_id")
+    private Integer businessId;
+}
+

+ 90 - 0
alien-service-entity/src/main/java/shop/alien/entity/store/LawyerLegalProblemScenario.java

@@ -0,0 +1,90 @@
+package shop.alien.entity.store;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 法律问题场景表
+ *
+ * @author system
+ * @since 2025-01-XX
+ */
+@Data
+@JsonInclude
+@TableName("lawyer_legal_problem_scenario")
+@ApiModel(value = "LawyerLegalProblemScenario对象", description = "法律问题场景")
+public class LawyerLegalProblemScenario extends Model<LawyerLegalProblemScenario> {
+
+    @ApiModelProperty(value = "主键")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "名称")
+    @TableField("name")
+    private String name;
+
+    @ApiModelProperty(value = "问题场景层级")
+    @TableField("level")
+    private Integer level;
+
+    @ApiModelProperty(value = "父类主键")
+    @TableField("parent_id")
+    private Integer parentId;
+
+    @ApiModelProperty(value = "父类名称")
+    @TableField("parent_name")
+    private String parentName;
+
+    @ApiModelProperty(value = "排序字段, 数值越小越靠前")
+    @TableField("sort_order")
+    private Integer sortOrder;
+
+    @ApiModelProperty(value = "状态, 0:禁用, 1:启用")
+    @TableField("status")
+    private Integer status;
+
+    @ApiModelProperty(value = "删除标记, 0:未删除, 1:已删除")
+    @TableField("delete_flag")
+    @TableLogic
+    private Integer deleteFlag;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createdTime;
+
+    @ApiModelProperty(value = "创建人ID")
+    @TableField("created_user_id")
+    private Integer createdUserId;
+
+    @ApiModelProperty(value = "修改时间")
+    @TableField(value = "updated_time", fill = FieldFill.UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updatedTime;
+
+    @ApiModelProperty(value = "修改人ID")
+    @TableField("updated_user_id")
+    private Integer updatedUserId;
+
+    @ApiModelProperty(value = "图片ID(关联lawyer_img表)")
+    @TableField("img_id")
+    private Integer imgId;
+
+    @ApiModelProperty(value = "子分类列表(用于树形结构)")
+    @TableField(exist = false)
+    private List<LawyerLegalProblemScenario> children;
+
+    @ApiModelProperty(value = "场景图片路径")
+    @TableField("img_url")
+    private String imgUrl;
+
+}
+

+ 94 - 0
alien-service-entity/src/main/java/shop/alien/entity/store/LawyerPaymentTransaction.java

@@ -0,0 +1,94 @@
+package shop.alien.entity.store;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 支付交易
+ *
+ * @author system
+ * @since 2025-01-XX
+ */
+@Data
+@JsonInclude
+@TableName("lawyer_payment_transaction")
+@ApiModel(value = "LawyerPaymentTransaction对象", description = "支付交易")
+public class LawyerPaymentTransaction extends Model<LawyerPaymentTransaction> {
+
+    @ApiModelProperty(value = "主键")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "咨询订单ID")
+    @TableField("consultation_order_id")
+    private Integer consultationOrderId;
+
+    @ApiModelProperty(value = "支付用户ID")
+    @TableField("client_user_id")
+    private Integer clientUserId;
+
+    @ApiModelProperty(value = "交易流水号")
+    @TableField("transaction_number")
+    private String transactionNumber;
+
+    @ApiModelProperty(value = "交易金额,单位分")
+    @TableField("transaction_amount")
+    private Integer transactionAmount;
+
+    @ApiModelProperty(value = "支付方式, 0:微信, 1:支付宝, 2:银行卡")
+    @TableField("payment_method")
+    private Integer paymentMethod;
+
+    @ApiModelProperty(value = "交易状态, 0:待支付, 1:支付成功, 2:支付失败, 3:已退款")
+    @TableField("transaction_status")
+    private Integer transactionStatus;
+
+    @ApiModelProperty(value = "交易时间")
+    @TableField("transaction_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date transactionTime;
+
+    @ApiModelProperty(value = "第三方交易号")
+    @TableField("third_party_trade_no")
+    private String thirdPartyTradeNo;
+
+    @ApiModelProperty(value = "退款金额,单位分")
+    @TableField("refund_amount")
+    private Integer refundAmount;
+
+    @ApiModelProperty(value = "退款时间")
+    @TableField("refund_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date refundTime;
+
+    @ApiModelProperty(value = "删除标记, 0:未删除, 1:已删除")
+    @TableField("delete_flag")
+    @TableLogic
+    private Integer deleteFlag;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createdTime;
+
+    @ApiModelProperty(value = "创建人ID")
+    @TableField("created_user_id")
+    private Integer createdUserId;
+
+    @ApiModelProperty(value = "修改时间")
+    @TableField(value = "updated_time", fill = FieldFill.UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updatedTime;
+
+    @ApiModelProperty(value = "修改人ID")
+    @TableField("updated_user_id")
+    private Integer updatedUserId;
+}
+

+ 68 - 0
alien-service-entity/src/main/java/shop/alien/entity/store/LawyerServiceArea.java

@@ -0,0 +1,68 @@
+package shop.alien.entity.store;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 律师服务领域关联
+ *
+ * @author system
+ * @since 2025-01-XX
+ */
+@Data
+@JsonInclude
+@TableName("lawyer_service_area")
+@ApiModel(value = "LawyerServiceArea对象", description = "律师服务领域关联")
+public class LawyerServiceArea extends Model<LawyerServiceArea> {
+
+    @ApiModelProperty(value = "主键")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "律师用户ID")
+    @TableField("lawyer_user_id")
+    private Integer lawyerUserId;
+
+    @ApiModelProperty(value = "法律问题场景ID")
+    @TableField("problem_scenario_id")
+    private Integer problemScenarioId;
+
+    @ApiModelProperty(value = "排序, 数值越小越靠前")
+    @TableField("sort_order")
+    private Integer sortOrder;
+
+    @ApiModelProperty(value = "状态, 0:禁用, 1:启用")
+    @TableField("status")
+    private Integer status;
+
+    @ApiModelProperty(value = "删除标记, 0:未删除, 1:已删除")
+    @TableField("delete_flag")
+    @TableLogic
+    private Integer deleteFlag;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createdTime;
+
+    @ApiModelProperty(value = "创建人ID")
+    @TableField("created_user_id")
+    private Integer createdUserId;
+
+    @ApiModelProperty(value = "修改时间")
+    @TableField(value = "updated_time", fill = FieldFill.UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updatedTime;
+
+    @ApiModelProperty(value = "修改人ID")
+    @TableField("updated_user_id")
+    private Integer updatedUserId;
+}
+

+ 357 - 0
alien-service-entity/src/main/java/shop/alien/entity/store/LawyerUser.java

@@ -0,0 +1,357 @@
+package shop.alien.entity.store;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDate;
+import java.time.ZoneId;
+import java.time.temporal.ChronoUnit;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 律师用户
+ *
+ * @author system
+ * @since 2025-01-XX
+ */
+@Data
+@JsonInclude
+@TableName("lawyer_user")
+@ApiModel(value = "LawyerUser对象", description = "律师用户")
+public class LawyerUser extends Model<LawyerUser> {
+
+    public LawyerUser() {
+    }
+
+    public LawyerUser(Integer id, Integer money) {
+        this.id = id;
+        this.money = money;
+    }
+
+    @ApiModelProperty(value = "主键")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "律所id")
+    @TableField("firm_id")
+    private Integer firmId;
+
+    @ApiModelProperty(value = "律所明细id")
+    @TableField("firm_payment_id")
+    private Integer firmPaymentId;
+
+    @ApiModelProperty(value = "手机号")
+    @TableField("phone")
+    private String phone;
+
+    @ApiModelProperty(value = "姓名")
+    @TableField("name")
+    private String name;
+
+    @ApiModelProperty(value = "身份证")
+    @TableField("id_card")
+    private String idCard;
+
+    @ApiModelProperty(value = "密码")
+    @TableField("password")
+    private String password;
+
+    @ApiModelProperty(value = "支付密码")
+    @TableField("pay_password")
+    private String payPassword;
+
+    @ApiModelProperty(value = "用户余额,单位分")
+    @TableField("money")
+    private Integer money;
+
+    @ApiModelProperty(value = "用户状态, 0:禁用, 1:启用")
+    @TableField("status")
+    private Integer status;
+
+    @ApiModelProperty(value = "密码状态, 0:初始密码, 1:已修改, 2:手机号已验证")
+    @TableField("pass_type")
+    private Integer passType;
+
+    @ApiModelProperty(value = "删除标记, 0:未删除, 1:已删除")
+    @TableField("delete_flag")
+    @TableLogic
+    private Integer deleteFlag;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createdTime;
+
+    @ApiModelProperty(value = "创建人ID")
+    @TableField("created_user_id")
+    private Integer createdUserId;
+
+    @ApiModelProperty(value = "修改时间")
+    @TableField(value = "updated_time", fill = FieldFill.UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updatedTime;
+
+    @ApiModelProperty(value = "修改人ID")
+    @TableField("updated_user_id")
+    private Integer updatedUserId;
+
+    @ApiModelProperty(value = "注销标记, 0:未注销, 1:已注销")
+    @TableField("logout_flag")
+    private Integer logoutFlag;
+
+    @ApiModelProperty(value = "注销原因")
+    @TableField("logout_reason")
+    private String logoutReason;
+
+    @ApiModelProperty(value = "注销申请时间")
+    @TableField(value = "logout_time", fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date logoutTime;
+
+    @ApiModelProperty(value = "注销code")
+    @TableField("logout_code")
+    private String logoutCode;
+
+    @ApiModelProperty(value = "昵称")
+    @TableField("nick_name")
+    private String nickName;
+
+    @ApiModelProperty(value = "账号简介")
+    @TableField("account_blurb")
+    private String accountBlurb;
+
+    @ApiModelProperty(value = "头像")
+    @TableField("head_img")
+    private String headImg;
+
+    @ApiModelProperty(value = "支付宝账号")
+    @TableField("alipay_account")
+    private String alipayAccount;
+
+    // ========== 律师特有字段 ==========
+
+    @ApiModelProperty(value = "律师执业证号")
+    @TableField("lawyer_certificate_no")
+    private String lawyerCertificateNo;
+
+    @ApiModelProperty(value = "所属律师事务所")
+    @TableField("law_firm")
+    private String lawFirm;
+
+    @ApiModelProperty(value = "执业年限(根据执业开始日期自动计算)")
+    @TableField(exist = false)
+    private Integer practiceYears;
+
+    @ApiModelProperty(value = "执业开始日期")
+    @TableField("practice_start_date")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date practiceStartDate;
+
+    /**
+     * 获取执业年限(根据执业开始日期自动计算)
+     * 返回当前时间减去执业开始时间的年数
+     *
+     * @return 执业年限(年)
+     */
+    public Integer getPracticeYears() {
+        if (practiceStartDate == null) {
+            return null;
+        }
+        try {
+            // 将 Date 转换为 LocalDate
+            LocalDate startDate = practiceStartDate.toInstant()
+                    .atZone(ZoneId.systemDefault())
+                    .toLocalDate();
+            LocalDate currentDate = LocalDate.now();
+
+            // 计算年数差
+            long years = ChronoUnit.YEARS.between(startDate, currentDate);
+            return (int) Math.max(0, years); // 确保不为负数
+        } catch (Exception e) {
+            return null;
+        }
+    }
+
+    @ApiModelProperty(value = "专业领域,多个用逗号分隔")
+    @TableField("specialty_fields")
+    private String specialtyFields;
+
+    @ApiModelProperty(value = "资质认证状态, 0:未认证, 1:认证中, 2:已认证, 3:认证失败")
+    @TableField("certification_status")
+    private Integer certificationStatus;
+
+    @ApiModelProperty(value = "认证失败原因")
+    @TableField("certification_fail_reason")
+    private String certificationFailReason;
+
+    @ApiModelProperty(value = "认证时间")
+    @TableField("certification_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date certificationTime;
+
+    @ApiModelProperty(value = "认证审核人ID")
+    @TableField("certification_reviewer_id")
+    private Integer certificationReviewerId;
+
+    @ApiModelProperty(value = "执业证照片")
+    @TableField("certificate_image")
+    private String certificateImage;
+
+    @ApiModelProperty(value = "身份证正面照片")
+    @TableField("id_card_front_image")
+    private String idCardFrontImage;
+
+    @ApiModelProperty(value = "身份证反面照片")
+    @TableField("id_card_back_image")
+    private String idCardBackImage;
+
+    @ApiModelProperty(value = "服务评分, 0-5分(保留一位小数)")
+    @TableField("service_score")
+    private Double serviceScore;
+
+    @ApiModelProperty(value = "服务次数")
+    @TableField("service_count")
+    private Integer serviceCount;
+
+    @ApiModelProperty(value = "好评数")
+    @TableField("good_review_count")
+    private Integer goodReviewCount;
+
+    @ApiModelProperty(value = "中评数")
+    @TableField("medium_review_count")
+    private Integer mediumReviewCount;
+
+    @ApiModelProperty(value = "差评数")
+    @TableField("bad_review_count")
+    private Integer badReviewCount;
+
+    @ApiModelProperty(value = "咨询收费标准(单位分/小时)")
+    @TableField("consultation_fee")
+    private Integer consultationFee;
+
+    @ApiModelProperty(value = "代理收费标准(单位分)")
+    @TableField("agency_fee")
+    private Integer agencyFee;
+
+    @ApiModelProperty(value = "所属省份")
+    @TableField("province")
+    private String province;
+
+    @ApiModelProperty(value = "所属城市")
+    @TableField("city")
+    private String city;
+
+    @ApiModelProperty(value = "所属区县")
+    @TableField("district")
+    private String district;
+
+    @ApiModelProperty(value = "详细地址")
+    @TableField("address")
+    private String address;
+
+    @ApiModelProperty(value = "邮箱")
+    @TableField("email")
+    private String email;
+
+    @ApiModelProperty(value = "性别, 0:未知, 1:男, 2:女")
+    @TableField("gender")
+    private Integer gender;
+
+    @ApiModelProperty(value = "生日")
+    @TableField("birthday")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date birthday;
+
+    @ApiModelProperty(value = "个人简介(详细)")
+    @TableField("personal_introduction")
+    private String personalIntroduction;
+
+    @ApiModelProperty(value = "教育背景")
+    @TableField("education_background")
+    private String educationBackground;
+
+    @ApiModelProperty(value = "工作经历")
+    @TableField("work_experience")
+    private String workExperience;
+
+    @ApiModelProperty(value = "擅长案件类型")
+    @TableField("expertise_cases")
+    private String expertiseCases;
+
+    @ApiModelProperty(value = "是否在线, 0:离线, 1:在线")
+    @TableField("is_online")
+    private Integer isOnline;
+
+    @ApiModelProperty(value = "最后在线时间")
+    @TableField("last_online_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date lastOnlineTime;
+
+    @ApiModelProperty(value = "是否推荐, 0:不推荐, 1:推荐")
+    @TableField("is_recommended")
+    private Integer isRecommended;
+
+    @ApiModelProperty(value = "推荐排序")
+    @TableField("recommend_sort")
+    private Integer recommendSort;
+
+    @ApiModelProperty(value = "接单状态, 0:不接单, 1:接单中")
+    @TableField("order_receiving_status")
+    private Integer orderReceivingStatus;
+
+    @ApiModelProperty(value = "领域ID")
+    @TableField("lawyer_expertise_area_id")
+    private Integer lawyerExpertiseAreaId;
+
+    @ApiModelProperty(value = "法律问题场景")
+    @TableField(exist = false)
+    private List<LawyerLegalProblemScenario> lawyerLegalProblemScenarioList;
+
+    @ApiModelProperty(value = "佣金比例")
+    @TableField("commission_rate")
+    private Integer commissionRate;
+
+    @ApiModelProperty(value = "律师事务所收款账号")
+    @TableField("payment_num")
+    private String paymentNum;
+
+    @TableField(exist = false)
+    private String userName;
+
+    @TableField(exist = false)
+    private String userImage;
+
+    @TableField(exist = false)
+    private String jianjie;
+
+    @TableField(exist = false)
+    private String moneyStr;
+
+    @ApiModelProperty(value = "评价数(只统计评价,不包含评论)")
+    @TableField(exist = false)
+    private Integer reviewCount;
+
+    @ApiModelProperty(value = "分钟收费-钱数")
+    @TableField("charge_minute")
+    private Integer chargeMinute;
+
+    @ApiModelProperty(value = "分钟收费-分钟数")
+    @TableField("minute_num")
+    private Integer minuteNum;
+
+    @ApiModelProperty(value = "次数收费-钱数")
+    @TableField("charge_time")
+    private Integer chargeTime;
+
+    @ApiModelProperty(value = "次数收费-次数")
+    @TableField("time_num")
+    private Integer timeNum;
+
+}
+

+ 56 - 0
alien-service-entity/src/main/java/shop/alien/entity/store/LawyerUserSearchHistory.java

@@ -0,0 +1,56 @@
+package shop.alien.entity.store;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 用户搜索历史
+ *
+ * @author system
+ * @since 2025-01-XX
+ */
+@Data
+@JsonInclude
+@TableName("lawyer_user_search_history")
+@ApiModel(value = "LawyerUserSearchHistory对象", description = "用户搜索历史")
+public class LawyerUserSearchHistory extends Model<LawyerUserSearchHistory> {
+
+    @ApiModelProperty(value = "主键")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "用户ID")
+    @TableField("client_user_id")
+    private Integer clientUserId;
+
+    @ApiModelProperty(value = "搜索关键词")
+    @TableField("search_keyword")
+    private String searchKeyword;
+
+    @ApiModelProperty(value = "搜索类型, 0:律师姓名, 1:法律问题, 2:律所名称")
+    @TableField("search_type")
+    private Integer searchType;
+
+    @ApiModelProperty(value = "搜索时间")
+    @TableField("search_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date searchTime;
+
+    @ApiModelProperty(value = "删除标记, 0:未删除, 1:已删除")
+    @TableField("delete_flag")
+    @TableLogic
+    private Integer deleteFlag;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createdTime;
+}
+

+ 126 - 0
alien-service-entity/src/main/java/shop/alien/entity/store/LawyerUserViolation.java

@@ -0,0 +1,126 @@
+package shop.alien.entity.store;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 律师用户举报
+ * </p>
+ *
+ * @author system
+ * @since 2025-01-XX
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("lawyer_user_violation")
+@ApiModel(value="LawyerUserViolation对象", description="律师用户举报")
+public class LawyerUserViolation extends Model<LawyerUserViolation> {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "主键")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "被举报用户类型")
+    @TableField("reported_user_type")
+    private String reportedUserType;
+
+    @ApiModelProperty(value = "被举报用户ID")
+    @TableField("reported_user_id")
+    private String reportedUserId;
+
+    @ApiModelProperty(value = "举报用户类型")
+    @TableField("reporting_user_type")
+    private String reportingUserType;
+
+    @ApiModelProperty(value = "举报用户ID")
+    @TableField("reporting_user_id")
+    private String reportingUserId;
+
+    @ApiModelProperty(value = "举报内容分类")
+    @TableField("report_context_type")
+    private String reportContextType;
+
+    @ApiModelProperty(value = "举报原因")
+    @TableField("violation_reason")
+    private String violationReason;
+
+    @ApiModelProperty(value = "其他原因具体内容")
+    @TableField("other_reason_content")
+    private String otherReasonContent;
+
+    @ApiModelProperty(value = "举报凭证图片")
+    @TableField("report_evidence_img")
+    private String reportEvidenceImg;
+
+    @ApiModelProperty(value = "处理状态(0:未处理,1:违规,2:未违规)")
+    @TableField("processing_status")
+    private String processingStatus;
+
+    @ApiModelProperty(value = "处理时间")
+    @TableField(value = "processing_time", fill = FieldFill.INSERT)
+    private Date processingTime;
+
+    @ApiModelProperty(value = "删除标记, 0:未删除, 1:已删除")
+    @TableField("delete_flag")
+    @TableLogic
+    private Integer deleteFlag;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    private Date createdTime;
+
+    @ApiModelProperty(value = "创建人ID")
+    @TableField(value = "created_user_id", fill = FieldFill.INSERT)
+    private Integer createdUserId;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(value = "updated_time", fill = FieldFill.INSERT_UPDATE)
+    private Date updatedTime;
+
+    @ApiModelProperty(value = "修改人ID")
+    @TableField(value = "updated_user_id", fill = FieldFill.INSERT_UPDATE)
+    private Integer updatedUserId;
+
+    @ApiModelProperty(value = "订单号")
+    @TableField(value = "order_number")
+    private String orderNumber;
+
+    @ApiModelProperty(value = "举报结果")
+    @TableField(value = "report_result")
+    private String reportResult;
+
+    @ApiModelProperty(value = "举报类型")
+    @TableField(value = "dict_type")
+    private String dictType;
+
+    @ApiModelProperty(value = "举报类型ID")
+    @TableField(value = "dict_id")
+    private Integer dictId;
+
+    @ApiModelProperty(value = "视频第一帧")
+    @TableField(value = "video_first_frame")
+    private String videoFirstFrame;
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+}
+

+ 52 - 0
alien-service-entity/src/main/java/shop/alien/entity/store/LifeActivity.java

@@ -0,0 +1,52 @@
+package shop.alien.entity.store;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 活动
+ */
+@Data
+@JsonInclude
+@TableName("life_activity")
+public class LifeActivity {
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private String id;
+
+    private String name;
+
+    private String imagePath;
+
+    private String pdfPath;
+
+    private Integer dianzanCount;
+
+    @ApiModelProperty(value = "删除标记, 0:未删除, 1:已删除")
+    @TableField("delete_flag")
+    @TableLogic
+    private Integer deleteFlag;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createdTime;
+
+    @ApiModelProperty(value = "创建人ID")
+    @TableField("created_user_id")
+    private Integer createdUserId;
+
+    @ApiModelProperty(value = "修改时间")
+    @TableField(value = "updated_time", fill = FieldFill.UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updatedTime;
+
+    @ApiModelProperty(value = "修改人ID")
+    @TableField("updated_user_id")
+    private Integer updatedUserId;
+}

+ 70 - 0
alien-service-entity/src/main/java/shop/alien/entity/store/LifeAppealManage.java

@@ -0,0 +1,70 @@
+package shop.alien.entity.store;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 申诉管理
+ */
+@Data
+@JsonInclude
+@TableName("life_appeal_manage")
+public class LifeAppealManage {
+
+    @TableId(type = IdType.AUTO)
+    private String id;
+
+    private String storeName;
+
+    private String storeId;
+
+    private String storeContact;
+
+    private String storePhone;
+
+    private String storeType;
+
+    @TableField(value = "appeal_time", fill = FieldFill.INSERT)
+    private Date appealTime;
+
+    private String customerReport;
+
+    private String appealReason;
+
+    @ApiModelProperty(value = "审批状态:1:已同意,2:已驳回,3:待处理")
+    private String appealType;
+
+    private String appealImage;
+
+    private String isRead;
+
+    private String huifuId;
+
+    @ApiModelProperty(value = "删除标记, 0:未删除, 1:已删除")
+    @TableField("delete_flag")
+    @TableLogic
+    private Integer deleteFlag;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createdTime;
+
+    @ApiModelProperty(value = "创建人ID")
+    @TableField("created_user_id")
+    private Integer createdUserId;
+
+    @ApiModelProperty(value = "修改时间")
+    @TableField(value = "updated_time", fill = FieldFill.UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updatedTime;
+
+    @ApiModelProperty(value = "修改人ID")
+    @TableField("updated_user_id")
+    private Integer updatedUserId;
+}

+ 89 - 0
alien-service-entity/src/main/java/shop/alien/entity/store/LifeBlacklist.java

@@ -0,0 +1,89 @@
+package shop.alien.entity.store;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 黑名单
+ *
+ * </p>
+ *
+ * @author ssk
+ * @since 2025-04-30
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value = "LifeBlacklist对象", description = "黑名单")
+public class LifeBlacklist extends Model<LifeBlacklist> {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "主键")
+    @TableId("id")
+    private Integer id;
+
+    @ApiModelProperty(value = "拉黑方类型(1:商户,2:用户)")
+    @TableField("blocker_type")
+    private String blockerType;
+
+    @ApiModelProperty(value = "拉黑方ID")
+    @TableField("blocker_id")
+    private String blockerId;
+
+    @ApiModelProperty(value = "拉黑方phoneId")
+    @TableField("blocker_phone_id")
+    private String blockerPhoneId;
+
+    @ApiModelProperty(value = "被拉黑方类型(1:商户,2:用户)")
+    @TableField("blocked_type")
+    private String blockedType;
+
+    @ApiModelProperty(value = "被拉黑方ID")
+    @TableField("blocked_id")
+    private String blockedId;
+
+    @ApiModelProperty(value = "被拉黑方phoneId")
+    @TableField("blocked_phone_id")
+    private String blockedPhoneId;
+
+    @ApiModelProperty(value = "删除标记, 0:未删除, 1:已删除")
+    @TableField("delete_flag")
+    @TableLogic
+    private Integer deleteFlag;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    private Date createdTime;
+
+    @ApiModelProperty(value = "创建人ID")
+    @TableField(value = "created_user_id", fill = FieldFill.INSERT)
+    private Integer createdUserId;
+
+    @ApiModelProperty(value = "修改时间")
+    @TableField(value = "updated_time", fill = FieldFill.INSERT_UPDATE)
+    private Date updatedTime;
+
+    @ApiModelProperty(value = "修改人ID")
+    @TableField(value = "updated_user_id", fill = FieldFill.INSERT_UPDATE)
+    private Integer updatedUserId;
+
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+}

+ 86 - 0
alien-service-entity/src/main/java/shop/alien/entity/store/LifeBrandedCard.java

@@ -0,0 +1,86 @@
+package shop.alien.entity.store;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 联名卡
+ */
+@Data
+@JsonInclude
+@TableName("life_branded_card")
+@ApiModel(value = "LifeBrandedCard对象", description = "联名卡")
+public class LifeBrandedCard {
+
+    @ApiModelProperty(value = "主键id")
+    @TableId(value = "id", type = IdType.AUTO)
+    private String id;
+
+    @ApiModelProperty(value = "联名卡名称")
+    private String name;
+
+    @ApiModelProperty(value = "总数量")
+    private Integer totalQty;
+
+    @ApiModelProperty(value = "剩余数量")
+    private Integer remainQty;
+
+    @ApiModelProperty(value = "店铺数量")
+    private Integer storeQty;
+
+    @ApiModelProperty(value = "开始时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date onTime;
+
+    @ApiModelProperty(value = "结束时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date endTime;
+
+    @ApiModelProperty(value = "状态")
+    private Integer status;
+
+    @ApiModelProperty(value = "图片封面地址")
+    private String images;
+
+    @ApiModelProperty(value = "图片明细地址拼串")
+    private String detailsImagesStr;
+
+    @ApiModelProperty(value = "原价")
+    private BigDecimal originalCost;
+
+    @ApiModelProperty(value = "现价")
+    private BigDecimal currentPrice;
+
+    @ApiModelProperty(value = "券ids")
+    private String quanIds;
+
+    @ApiModelProperty(value = "删除标记, 0:未删除, 1:已删除")
+    @TableField("delete_flag")
+    @TableLogic
+    private Integer deleteFlag;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createdTime;
+
+    @ApiModelProperty(value = "创建人ID")
+    @TableField("created_user_id")
+    private Integer createdUserId;
+
+    @ApiModelProperty(value = "修改时间")
+    @TableField(value = "updated_time", fill = FieldFill.UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updatedTime;
+
+    @ApiModelProperty(value = "修改人ID")
+    @TableField("updated_user_id")
+    private Integer updatedUserId;
+}

+ 65 - 0
alien-service-entity/src/main/java/shop/alien/entity/store/LifeBrowseRecord.java

@@ -0,0 +1,65 @@
+package shop.alien.entity.store;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 浏览记录
+ */
+@Data
+@JsonInclude
+@TableName("life_browse_record")
+public class LifeBrowseRecord {
+
+    @TableId(type = IdType.AUTO)
+    private String id;
+
+    private String userId;
+
+    private String storeId;
+
+    private Date liulanTime;
+
+    private String liulanDate;
+
+    private String orderId;
+
+    private String expertId;
+    @TableField("dynamics_id")
+    private String dynamicsId;
+
+    @TableField("coupon_id")
+    private String couponId;
+
+    @ApiModelProperty("浏览类型 1:用户端, 2:商家端")
+    @TableField("browse_type")
+    private Integer browseType;
+
+    @ApiModelProperty(value = "删除标记, 0:未删除, 1:已删除")
+    @TableField("delete_flag")
+    @TableLogic
+    private Integer deleteFlag;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createdTime;
+
+    @ApiModelProperty(value = "创建人ID")
+    @TableField("created_user_id")
+    private Integer createdUserId;
+
+    @ApiModelProperty(value = "修改时间")
+    @TableField(value = "updated_time", fill = FieldFill.UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updatedTime;
+
+    @ApiModelProperty(value = "修改人ID")
+    @TableField("updated_user_id")
+    private Integer updatedUserId;
+}

+ 46 - 0
alien-service-entity/src/main/java/shop/alien/entity/store/LifeCarouselImage.java

@@ -0,0 +1,46 @@
+package shop.alien.entity.store;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 轮播图
+ */
+@Data
+@JsonInclude
+@TableName("life_carousel_image")
+public class LifeCarouselImage {
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    private String image;
+
+    @ApiModelProperty(value = "删除标记, 0:未删除, 1:已删除")
+    @TableField("delete_flag")
+    @TableLogic
+    private Integer deleteFlag;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createdTime;
+
+    @ApiModelProperty(value = "创建人ID")
+    @TableField("created_user_id")
+    private Integer createdUserId;
+
+    @ApiModelProperty(value = "修改时间")
+    @TableField(value = "updated_time", fill = FieldFill.UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updatedTime;
+
+    @ApiModelProperty(value = "修改人ID")
+    @TableField("updated_user_id")
+    private Integer updatedUserId;
+}

+ 62 - 0
alien-service-entity/src/main/java/shop/alien/entity/store/LifeClassBanner.java

@@ -0,0 +1,62 @@
+package shop.alien.entity.store;
+
+import com.baomidou.mybatisplus.annotation.*;
+
+import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * banner管理
+ * @TableName life_class_banner
+ */
+@TableName(value ="life_class_banner")
+@Data
+@JsonInclude
+@ApiModel(value = "LifeClassBanner对象", description = "banner管理")
+public class LifeClassBanner {
+    @ApiModelProperty(value = "主键")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "排序")
+    private Integer bannerSort;
+
+    @ApiModelProperty(value = "banner标题")
+    private String bannerTitle;
+
+    @ApiModelProperty(value = "banner简介")
+    private String bannerIntroduce;
+
+    @ApiModelProperty(value = "图片url")
+    private String bannerImg;
+
+    @ApiModelProperty(value = "浏览量")
+    private Integer playCount;
+
+    @ApiModelProperty(value = "是否轮播(0:否,1:是)")
+    private Integer playFlag;
+
+    @ApiModelProperty(value = "删除标记, 0:未删除, 1:已删除")
+    private Integer deleteFlag;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createdTime;
+
+    @ApiModelProperty(value = "创建人ID")
+    private Integer createdUserId;
+
+    @ApiModelProperty(value = "修改时间")
+    @TableField(value = "updated_time", fill = FieldFill.INSERT_UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updatedTime;
+
+    @ApiModelProperty(value = "修改人ID")
+    private Integer updatedUserId;
+}

+ 70 - 0
alien-service-entity/src/main/java/shop/alien/entity/store/LifeClassManage.java

@@ -0,0 +1,70 @@
+package shop.alien.entity.store;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 课程管理
+ */
+@Data
+@JsonInclude
+@TableName("life_class_manage")
+public class LifeClassManage {
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private String id;
+
+    private String className;
+
+    private String classLength;
+
+    private String classTeacher;
+
+    private Integer playCount;
+
+    private String classBigType;
+
+    private String classSmallType;
+
+    @ApiModelProperty(value = "课程状态, 1:正常, 2:隐藏")
+    private String classState;
+
+    private String videoPath;
+
+    private String coverImage;
+
+    @ApiModelProperty(value = "删除标记, 0:未删除, 1:已删除")
+    @TableField("delete_flag")
+    @TableLogic
+    private Integer deleteFlag;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createdTime;
+
+    @ApiModelProperty(value = "创建人ID")
+    @TableField("created_user_id")
+    private Integer createdUserId;
+
+    @ApiModelProperty(value = "修改时间")
+    @TableField(value = "updated_time", fill = FieldFill.UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updatedTime;
+
+    @ApiModelProperty(value = "修改人ID")
+    @TableField("updated_user_id")
+    private Integer updatedUserId;
+
+    @ApiModelProperty(value = "文件名称")
+    @TableField(exist = false)
+    private String fileName;
+
+    @ApiModelProperty(value = "文件介绍")
+    private String classIntroduce;
+}

+ 56 - 0
alien-service-entity/src/main/java/shop/alien/entity/store/LifeCollect.java

@@ -0,0 +1,56 @@
+package shop.alien.entity.store;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 收藏
+ */
+@Data
+@JsonInclude
+@TableName("life_collect")
+public class LifeCollect {
+
+    @TableId(type = IdType.AUTO)
+    private String id;
+
+    private String storeId;
+
+    private String userId;
+
+    @ApiModelProperty(value = "团购id")
+    @TableField("coupon_id")
+    private String couponId;
+
+    private String businessId;
+
+    private String businessType;
+
+    @ApiModelProperty(value = "删除标记, 0:未删除, 1:已删除")
+    @TableField("delete_flag")
+    @TableLogic
+    private Integer deleteFlag;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createdTime;
+
+    @ApiModelProperty(value = "创建人ID")
+    @TableField("created_user_id")
+    private Integer createdUserId;
+
+    @ApiModelProperty(value = "修改时间")
+    @TableField(value = "updated_time", fill = FieldFill.UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updatedTime;
+
+    @ApiModelProperty(value = "修改人ID")
+    @TableField("updated_user_id")
+    private Integer updatedUserId;
+}

+ 73 - 0
alien-service-entity/src/main/java/shop/alien/entity/store/LifeComment.java

@@ -0,0 +1,73 @@
+package shop.alien.entity.store;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 评论
+ */
+@Data
+@JsonInclude
+@TableName("life_comment")
+public class LifeComment {
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private String id;
+
+    private String storeId;
+
+    private String userId;
+
+    private String userName;
+
+    private String storeName;
+
+    private String gudingPinglun;
+
+    private String shoudaPinglun;
+
+    private String pinglunLevel;
+
+    @TableField(value = "pinglun_time", fill = FieldFill.INSERT)
+    private Date pinglunTime;
+
+    private String huifuId;
+
+    private String pinglunType;
+
+    private Integer pinglunDianzan;
+
+    private String pinglunLeibie;
+
+    private String dongtaiShequId;
+
+    private String imagePath;
+
+    @ApiModelProperty(value = "删除标记, 0:未删除, 1:已删除")
+    @TableField("delete_flag")
+    @TableLogic
+    private Integer deleteFlag;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createdTime;
+
+    @ApiModelProperty(value = "创建人ID")
+    @TableField("created_user_id")
+    private Integer createdUserId;
+
+    @ApiModelProperty(value = "修改时间")
+    @TableField(value = "updated_time", fill = FieldFill.UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updatedTime;
+
+    @ApiModelProperty(value = "修改人ID")
+    @TableField("updated_user_id")
+    private Integer updatedUserId;
+}

+ 634 - 0
alien-service-entity/src/main/java/shop/alien/entity/store/LifeCoupon.java

@@ -0,0 +1,634 @@
+package shop.alien.entity.store;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 优惠券
+ */
+@Data
+@JsonInclude
+@TableName("life_coupon")
+public class LifeCoupon {
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private String id;
+
+    @ApiModelProperty(value = "数据类型: 0:正式数据, 1:草稿数据")
+    @TableField("data_type")
+    private Integer dataType;
+
+    @ApiModelProperty(value = "购买须知-使用开始时间")
+    @TableField("buy_use_start_time")
+    private String buyUseStartTime;
+
+    @ApiModelProperty(value = "购买须知-使用结束时间")
+    @TableField("buy_use_end_time")
+    private String buyUseEndTime;
+
+    @ApiModelProperty(value = "可用节假日")
+    @TableField("use_festival")
+    private String useFestival;
+
+    @ApiModelProperty(value = "券id")
+    @TableField("coupon_code")
+    private String couponCode;
+
+    @ApiModelProperty(value = "券名称")
+    private String name;
+
+    @ApiModelProperty(value = "商家id")
+    private String storeId;
+
+    @ApiModelProperty(value = "价格")
+    private String price;
+
+    @ApiModelProperty(value = "折扣价")
+    private String offprice;
+
+    @ApiModelProperty(value = "有效期")
+    private Integer expirationDate;
+
+    @ApiModelProperty(value = "开始日期")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8" )
+    @TableField(value = "start_date", fill = FieldFill.UPDATE)
+    private Date startDate;
+
+    @ApiModelProperty(value = "结束日期")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    @TableField(value = "end_date", fill = FieldFill.UPDATE)
+    private Date endDate;
+
+    @ApiModelProperty(value = "不可用时间")
+    private String unusedDate;
+
+    @ApiModelProperty(value = "优惠券数量")
+    @TableField(value = "single_qty", fill = FieldFill.UPDATE)
+    private Integer singleQty;
+
+    @ApiModelProperty(value = "限制购买数")
+    private Integer buyLimit;
+
+    @ApiModelProperty(value = "票数量")
+    private Integer stockQty;
+
+    @ApiModelProperty(value = "使用规则")
+    private String useRule;
+
+    @ApiModelProperty(value = "可用人数(最低)")
+    private String minUsePeoples;
+
+    @ApiModelProperty(value = "可用人数(最多)")
+    private String maxUsePeoples;
+
+    @ApiModelProperty(value = "饮食偏好(字典--DietaryPreferences)")
+    private String dietaryPreferences;
+
+    @ApiModelProperty(value = "烹饪方式(字典--CookingMethods)")
+    private String cookingMethods;
+
+    @ApiModelProperty(value = "受用场景")
+    private String applicableRule;
+
+    @ApiModelProperty(value = "状态:0草稿/1待审核/2未开始/3审核拒绝/4已售罄/5进行中/6已下架/7已结束/8=2+手动下架")
+    private Integer status;
+
+    @ApiModelProperty(value = "券图片地址")
+    private String imagePath;
+
+    @ApiModelProperty(value = "商家服务")
+    private String storeService;
+
+    @ApiModelProperty(value = "发票信息")
+    private String fapiaoInfo;
+
+    @ApiModelProperty(value = "类型   1-代金券  2-团购(套餐)")
+    private Integer type;
+
+    @ApiModelProperty(value = "审批评论")
+    private String approvalComments;
+
+    @ApiModelProperty(value = "是否开启保价(1-开启 0-未开启)")
+    private Integer openPriceProtection;
+
+    @ApiModelProperty(value = "价格低于某值")
+    private Integer priceBelow;
+
+    @ApiModelProperty(value = "补偿优惠券面额")
+    private String couponComp;
+
+    @ApiModelProperty(value = "补偿优惠券有效期")
+    private Integer couponCompDate;
+
+    @ApiModelProperty(value = "打分")
+    private Integer rateScore;
+
+    @ApiModelProperty(value = "优惠tag")
+    private String discountTag;
+
+    @TableField(exist = false)
+    private List<String> tempDiscountTag;
+
+    @ApiModelProperty(value = "优惠tag名称")
+    private String discountTagName;
+
+    @ApiModelProperty(value = "删除标记, 0:未删除, 1:已删除")
+    @TableField("delete_flag")
+    @TableLogic
+    private Integer deleteFlag;
+
+    private Integer statusDeleteFlag;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createdTime;
+
+    @ApiModelProperty(value = "创建人ID")
+    @TableField("created_user_id")
+    private Integer createdUserId;
+
+    @ApiModelProperty(value = "修改时间")
+    @TableField(value = "updated_time", fill = FieldFill.UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updatedTime;
+
+    @ApiModelProperty(value = "修改人ID")
+    @TableField("updated_user_id")
+    private Integer updatedUserId;
+
+    @ApiModelProperty(value = "商家类型")
+    @TableField("store_type")
+    private String storeType;
+
+    @ApiModelProperty(value = "开始售卖时间类型")
+    @TableField("sale_time_str_type")
+    private String saleTimeStrType;
+
+    @ApiModelProperty(value = "结束售卖时间类型")
+    @TableField("sale_time_end_type")
+    private String saleTimeEndType;
+
+    @ApiModelProperty(value = "每人限购CODE")
+    @TableField("purchase_limit_code")
+    private String purchaseLimitCode;
+
+    @ApiModelProperty(value = "原价")
+    @TableField("original_price")
+    private String originalPrice;
+
+    @ApiModelProperty(value = "优惠价")
+    @TableField("discounted_price")
+    private String discountedPrice;
+
+    @ApiModelProperty(value = "经营种类")
+    @TableField("business_types")
+    private String businessTypes;
+
+    @ApiModelProperty(value = "住房类型")
+    @TableField("housing_type")
+    private String housingType;
+
+    @ApiModelProperty(value = "房间类型")
+    @TableField("room_type")
+    private String roomType;
+
+    @ApiModelProperty(value = "房间类型code")
+    @TableField("room_type_code")
+    private String roomTypeCode;
+
+    @ApiModelProperty(value = "厨房(详情里面)")
+    @TableField("kitchen_xq")
+    private String kitchenXq;
+
+    @ApiModelProperty(value = "卫生间(详情里面)")
+    @TableField("bathroom_xq")
+    private String bathroomXq;
+
+    @ApiModelProperty(value = "客厅")
+    @TableField("living_room")
+    private String livingRoom;
+
+    @ApiModelProperty(value = "房源位置")
+    @TableField("location_of_the_property")
+    private String locationOfTheProperty;
+
+    @ApiModelProperty(value = "总面积")
+    @TableField("total_area")
+    private String totalArea;
+
+    @ApiModelProperty(value = "娱乐设施code")
+    @TableField("entertainment_facilities_code")
+    private String entertainmentFacilitiesCode;
+
+    @ApiModelProperty(value = "娱乐设施")
+    @TableField("entertainment_facilities")
+    private String entertainmentFacilities;
+
+    @ApiModelProperty(value = "便利设施code")
+    @TableField("convenience_facilities_code")
+    private String convenienceFacilitiesCode;
+
+    @ApiModelProperty(value = "便利设施")
+    @TableField("convenience_facilities")
+    private String convenienceFacilities;
+
+    @ApiModelProperty(value = "浴室配套code")
+    @TableField("bathroom_facilities_code")
+    private String bathroomFacilitiesCode;
+
+    @ApiModelProperty(value = "浴室配套")
+    @TableField("bathroom_facilities")
+    private String bathroomFacilities;
+
+    @ApiModelProperty(value = "洗漱用品code")
+    @TableField("bath_products_code")
+    private String bathProductsCode;
+
+    @ApiModelProperty(value = "洗浴用品")
+    @TableField("bath_products")
+    private String bathProducts;
+
+    @ApiModelProperty(value = "服务code")
+    @TableField("service_code")
+    private String serviceCode;
+
+    @ApiModelProperty(value = "服务")
+    @TableField("service")
+    private String service;
+
+    @ApiModelProperty(value = "安全code")
+    @TableField("safety_code")
+    private String safetyCode;
+
+    @ApiModelProperty(value = "安全")
+    @TableField("safety")
+    private String safety;
+
+    @ApiModelProperty(value = "预订须知")
+    @TableField("reservation_instructions")
+    private String reservationInstructions;
+
+    @ApiModelProperty(value = "开始时间")
+    @TableField("in_time")
+    private String inTime;
+
+    @ApiModelProperty(value = "结束时间")
+    @TableField("out_time")
+    private String outTime;
+
+    @ApiModelProperty(value = "是否需要押金")
+    @TableField("deposit_flag")
+    private String depositFlag;
+
+    @ApiModelProperty(value = "押金金额")
+    @TableField("deposit_amount")
+    private String depositAmount;
+
+    @ApiModelProperty(value = "是否可以携带儿童")
+    @TableField("children_flag")
+    private String childrenFlag;
+
+    @ApiModelProperty(value = "携带儿童说明")
+    @TableField("children_description")
+    private String childrenDescription;
+
+    @ApiModelProperty(value = "是否可以携带宠物")
+    @TableField("pet_flag")
+    private String petFlag;
+
+    @ApiModelProperty(value = "是否允许加床")
+    @TableField("extra_bed_flag")
+    private String extraBedFlag;
+
+    @ApiModelProperty(value = "床单价")
+    @TableField("bed_price")
+    private String bedPrice;
+
+    @ApiModelProperty(value = "发票信息")
+    @TableField("invoice_info")
+    private String invoiceInfo;
+
+    @ApiModelProperty(value = "发票说明")
+    @TableField("invoice_instructions")
+    private String invoiceInstructions;
+
+    @ApiModelProperty(value = "取消政策类型")
+    @TableField("cancellation_policy_type")
+    private String cancellationPolicyType;
+
+    @ApiModelProperty(value = "取消政策")
+    @TableField("cancellation_policy")
+    private String cancellationPolicy;
+
+    @ApiModelProperty(value = "取消说明")
+    @TableField("Cancellation_instructions")
+    private String cancellationInstructions;
+
+    @ApiModelProperty(value = "是否保价")
+    @TableField("insured_price")
+    private String insuredPrice;
+
+    @ApiModelProperty(value = "有效期类型")
+    @TableField("validity_period_type")
+    private String validityPeriodType;
+
+    @ApiModelProperty(value = "包厢类型code")
+    @TableField("box_type_code")
+    private String boxTypeCode;
+
+    @ApiModelProperty(value = "包箱类型")
+    @TableField("box_type")
+    private String boxType;
+
+    @ApiModelProperty(value = "饮食小吃code")
+    @TableField("snacks_code")
+    private String snacksCode;
+
+    @ApiModelProperty(value = "饮品小食")
+    @TableField("snacks")
+    private String snacks;
+
+    @ApiModelProperty(value = "可用时长")
+    @TableField("available_duration")
+    private String availableDuration;
+
+    @ApiModelProperty(value = "核销方式类型")
+    @TableField("write_off_type")
+    private String writeOffType;
+
+    @ApiModelProperty(value = "核销方式")
+    @TableField("write_off")
+    private String writeOff;
+
+    @ApiModelProperty(value = "退款规则类型")
+    @TableField("refund_rules_type")
+    private String refundRulesType;
+
+    @ApiModelProperty(value = "退款规则")
+    @TableField("refund_rules")
+    private String refundRules;
+
+    @ApiModelProperty(value = "退款说明")
+    @TableField("refund_instructions")
+    private String refundInstructions;
+
+    @ApiModelProperty(value = "修改规则code")
+    @TableField("edit_rules_code")
+    private String editRulesCode;
+
+    @ApiModelProperty(value = "修改规则")
+    @TableField("edit_rules")
+    private String editRules;
+
+    @ApiModelProperty(value = "修改说明")
+    @TableField("edit_instructions")
+    private String editInstructions;
+
+    @ApiModelProperty(value = "汤池code")
+    @TableField("tangchi_code")
+    private String tangchiCode;
+
+    @ApiModelProperty(value = "汤池")
+    @TableField("tangchi")
+    private String tangchi;
+
+    @ApiModelProperty(value = "汗蒸code")
+    @TableField("sweat_sauna_code")
+    private String sweatSaunaCode;
+
+    @ApiModelProperty(value = "汗蒸")
+    @TableField("sweat_sauna")
+    private String sweatSauna;
+
+    @ApiModelProperty(value = "图文详情")
+    @TableField("pictures_and_text")
+    private String picturesAndText;
+
+    @ApiModelProperty(value = "补充说明")
+    @TableField("supplement")
+    private String supplement;
+
+    @ApiModelProperty(value = "不可用时期类型")
+    @TableField("unavailable_date_type")
+    private String unavailableDateType;
+
+    @ApiModelProperty(value = "预约规则")
+    @TableField("reservation_rules")
+    private String reservationRules;
+
+    @ApiModelProperty(value = "适用人数")
+    @TableField("applicable_num")
+    private String applicableNum;
+
+    @ApiModelProperty(value = "其他规则")
+    @TableField("other_rules")
+    private String otherRules;
+
+    @ApiModelProperty(value = "售卖类型")
+    @TableField("sales_type")
+    private String salesType;
+
+    @ApiModelProperty(value = "按摩手法code")
+    @TableField("massage_technique_code")
+    private String massageTechniqueCode;
+
+    @ApiModelProperty(value = "按摩手法")
+    @TableField("massage_technique")
+    private String massageTechnique;
+
+    @ApiModelProperty(value = "按摩部位code")
+    @TableField("massage_area_code")
+    private String massageAreaCode;
+
+    @ApiModelProperty(value = "按摩部位")
+    @TableField("massage_area")
+    private String massageArea;
+
+    @ApiModelProperty(value = "按摩工具code")
+    @TableField("massage_tools_code")
+    private String massageToolsCode;
+
+    @ApiModelProperty(value = "按摩工具")
+    @TableField("massage_tools")
+    private String massageTools;
+
+    @ApiModelProperty(value = "热敷工具code")
+    @TableField("compress_tools_code")
+    private String compressToolsCode;
+
+    @ApiModelProperty(value = "热敷工具")
+    @TableField("compress_tools")
+    private String compressTools;
+
+    @ApiModelProperty(value = "上课形式code")
+    @TableField("class_format_code")
+    private String classFormatCode;
+
+    @ApiModelProperty(value = "上课形式")
+    @TableField("class_format")
+    private String classFormat;
+
+    @ApiModelProperty(value = "课程时长code")
+    @TableField("class_duration_code")
+    private String classDurationCode;
+
+    @ApiModelProperty(value = "课程时长")
+    @TableField("class_duration")
+    private String classDuration;
+
+    @ApiModelProperty(value = "课时数code")
+    @TableField("class_num_code")
+    private String classNumCode;
+
+    @ApiModelProperty(value = "课时数")
+    @TableField("class_num")
+    private String classNum;
+
+    @ApiModelProperty(value = "适用部位code")
+    @TableField("applicable_parts_code")
+    private String applicablePartsCode;
+
+    @ApiModelProperty(value = "适用部位")
+    @TableField("applicable_parts")
+    private String applicableParts;
+
+    @ApiModelProperty(value = "卫生code")
+    @TableField("hygiene_code")
+    private String hygieneCode;
+
+    @ApiModelProperty(value = "卫生")
+    @TableField("hygiene")
+    private String hygiene;
+
+    @ApiModelProperty(value = "基础code")
+    @TableField("foundation_code")
+    private String foundationCode;
+
+    @ApiModelProperty(value = "基础")
+    @TableField("foundation")
+    private String foundation;
+
+    @ApiModelProperty(value = "卫浴code")
+    @TableField("bathroom_code")
+    private String bathroomCode;
+
+    @ApiModelProperty(value = "卫浴")
+    @TableField("bathroom")
+    private String bathroom;
+
+    @ApiModelProperty(value = "厨房code")
+    @TableField("kitchen_code")
+    private String kitchenCode;
+
+    @ApiModelProperty(value = "厨房")
+    @TableField("kitchen")
+    private String kitchen;
+
+    @ApiModelProperty(value = "优惠券有效期类型")
+    @TableField("validity_period_yh_type")
+    private String validityPeriodYhType;
+
+    @ApiModelProperty(value = "优惠券有效期")
+    @TableField("validity_period_yh")
+    private String validityPeriodYh;
+
+    @ApiModelProperty(value = "课程有效期code")
+    @TableField("course_validity_period_code")
+    private String courseValidityPeriodCode;
+
+    @ApiModelProperty(value = "课程有效期")
+    @TableField("course_validity_period")
+    private String courseValidityPeriod;
+
+    @ApiModelProperty(value = "图片")
+    @TableField("uploaded_picList")
+    private String uploadedPiclist;
+
+    @ApiModelProperty(value = "有效期时间段")
+    @TableField("validity_period")
+    private String validityPeriod;
+
+    @ApiModelProperty(value = "是否可与其它优惠券叠加使用 0:否,1:是")
+    @TableField("stacking_type")
+    private String stackingType;
+
+    @ApiModelProperty(value = "全场通用 0:否,1:是")
+    @TableField("general_type")
+    private String generalType;
+
+    @ApiModelProperty(value = "单次可用数量")
+    @TableField("single_can_use")
+    private String singleCanUse;
+
+    @ApiModelProperty(value = "适用标识:1:适用范围,2:不适用范围,3:全场适用")
+    @TableField("apply_type")
+    private String applyType;
+
+    @ApiModelProperty(value = "适用描述")
+    @TableField("apply_desc")
+    private String applyDesc;
+
+    @ApiModelProperty(value = "有效期类型,1:指定天数,2:指定时间段")
+    @TableField("expiration_type")
+    private String expirationType;
+
+    @ApiModelProperty(value = "不可用类型,1:全部日期,2:限制日期,3:自定义")
+    @TableField("unused_type")
+    private String unusedType;
+
+    // 房屋类型
+    @ApiModelProperty(value = "房屋类型")
+    @TableField("house_type")
+    private String houseType;
+
+    @ApiModelProperty(value = "房屋卧室")
+    @TableField("house_type_b")
+    private String houseTypeB;
+
+    @ApiModelProperty(value = "房屋客厅")
+    @TableField("house_type_l")
+    private String houseTypeL;
+
+    @ApiModelProperty(value = "房屋厨房")
+    @TableField("house_type_k")
+    private String houseTypeK;
+
+    @ApiModelProperty(value = "房屋卫生间")
+    @TableField("house_type_t")
+    private String houseTypeT;
+
+    @ApiModelProperty(value = "销售时间str")
+    @TableField("sale_time_str")
+    private String saleTimeStr;
+
+    @ApiModelProperty(value = "结束销售时间str")
+    @TableField("sale_time_end")
+    private String saleTimeEnd;
+
+    @ApiModelProperty(value = "标签日期不可用")
+    @TableField("unavai_lable_date")
+    private String unavaiLableDate;
+
+    @ApiModelProperty(value = "房间类型str")
+    @TableField("room_type_str")
+    private String roomTypeStr;
+
+    @ApiModelProperty(value = "时间范围")
+    @TableField("time_range")
+    private String timeRange;
+
+    @ApiModelProperty(value = "取消政策str")
+    @TableField("cancellation_policy_str")
+    private String cancellationPolicyStr;
+
+    @ApiModelProperty(value = "优惠卷有效期str")
+    @TableField("validity_periodyh_str")
+    private String validityPeriodyhStr;
+}

+ 53 - 0
alien-service-entity/src/main/java/shop/alien/entity/store/LifeDict.java

@@ -0,0 +1,53 @@
+package shop.alien.entity.store;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 字典
+ */
+@Data
+@JsonInclude
+@TableName("life_dict")
+public class LifeDict {
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private String id;
+
+    private String dictId;
+
+    private String dictName;
+
+    private String parentId;
+
+    private String dictDesc;
+
+    @ApiModelProperty(value = "删除标记, 0:未删除, 1:已删除")
+    @TableField("delete_flag")
+    @TableLogic
+    private Integer deleteFlag;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createdTime;
+
+    @ApiModelProperty(value = "创建人ID")
+    @TableField("created_user_id")
+    private Integer createdUserId;
+
+    @ApiModelProperty(value = "修改时间")
+    @TableField(value = "updated_time", fill = FieldFill.UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updatedTime;
+
+    @ApiModelProperty(value = "修改人ID")
+    @TableField("updated_user_id")
+    private Integer updatedUserId;
+
+}

+ 154 - 0
alien-service-entity/src/main/java/shop/alien/entity/store/LifeDiscountCoupon.java

@@ -0,0 +1,154 @@
+package shop.alien.entity.store;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.util.Date;
+
+/**
+ * <p>
+ * 优惠券表
+ * </p>
+ *
+ * @author ssk
+ * @since 2025-02-07
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value = "LifeDiscountCoupon对象", description = "优惠券表")
+public class LifeDiscountCoupon extends Model<LifeDiscountCoupon> {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "主键")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "商铺id")
+    @TableField("store_id")
+    private String storeId;
+
+    @ApiModelProperty(value = "券名称")
+    @TableField("name")
+    private String name;
+
+    @ApiModelProperty(value = "面值")
+    @TableField(value = "nominal_value", fill = FieldFill.UPDATE)
+    private BigDecimal nominalValue;
+
+    @ApiModelProperty(value = "有效期(天)")
+    @TableField("expiration_date")
+    private Integer expirationDate;
+
+    @ApiModelProperty(value = "开始日期")
+    @TableField(value = "start_date", updateStrategy = FieldStrategy.IGNORED)
+    private LocalDate startDate;
+
+    @ApiModelProperty(value = "结束日期")
+    @TableField(value = "end_date", updateStrategy = FieldStrategy.IGNORED)
+    private LocalDate endDate;
+
+    @ApiModelProperty(value = "库存(优惠券数量)")
+    @TableField(value = "single_qty", fill = FieldFill.UPDATE)
+    private Integer singleQty;
+
+    @ApiModelProperty(value = "补充说明")
+    @TableField("supplementary_instruction")
+    private String supplementaryInstruction;
+
+    @ApiModelProperty(value = "领取状态:0:关闭领取,1:开启领取")
+    @TableField("get_status")
+    private Integer getStatus;
+
+    @ApiModelProperty(value = "限制领取数量")
+    @TableField("restricted_quantity")
+    private Integer restrictedQuantity;
+
+    @ApiModelProperty(value = "最低消费")
+    @TableField(value = "minimum_spending_amount", fill = FieldFill.UPDATE)
+    private BigDecimal minimumSpendingAmount;
+
+    @ApiModelProperty(value = "类型   1-优惠券  2-红包 3-平台优惠券")
+    @TableField("type")
+    private Integer type;
+
+    @ApiModelProperty(value = "收藏可领(0:否,1:是)")
+    @TableField("attention_can_received")
+    private Integer attentionCanReceived;
+
+    @ApiModelProperty(value = "删除状态")
+    @TableField("delete_flag")
+    @TableLogic
+    private Integer deleteFlag;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    private Date createdTime;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(value = "updated_time", fill = FieldFill.INSERT_UPDATE)
+    private Date updatedTime;
+
+    @ApiModelProperty(value = "创建人ID")
+    @TableField(value = "created_user_id", fill = FieldFill.INSERT)
+    private Integer createdUserId;
+
+    @ApiModelProperty(value = "修改人ID")
+    @TableField(value = "updated_user_id", fill = FieldFill.INSERT_UPDATE)
+    private Integer updatedUserId;
+
+    @ApiModelProperty(value = "指定天数")
+    @TableField("specified_day")
+    private String specifiedDay;
+
+    @ApiModelProperty(value = "是否可以叠加其他优惠券使用")
+    @TableField("is_overlay")
+    private Integer isOverlay;
+
+    @ApiModelProperty(value = "是否通用")
+    @TableField("is_common")
+    private Integer isCommon;
+
+    @ApiModelProperty(value = "适用范围,0,适用,1不适用")
+    @TableField("application_scope")
+    private Integer applicationScope;
+
+    @ApiModelProperty(value = "适用范围内容")
+    @TableField("application_scope_value")
+    private String applicationScopeValue;
+
+    @ApiModelProperty(value = "开始领取时间")
+    @TableField(value = "begin_get_date", fill = FieldFill.INSERT_UPDATE)
+    private LocalDate beginGetDate;
+
+    @ApiModelProperty(value = "结束领取时间")
+    @TableField(value = "end_get_date", fill = FieldFill.INSERT_UPDATE)
+    private LocalDate endGetDate;
+
+    @ApiModelProperty(value = "自定义领取规则数量")
+    @TableField("claim_rule_customize_value")
+    private Integer claimRuleCustomizeValue;
+
+    @ApiModelProperty(value = "优惠券状态:0:草稿,1:正式")
+    @TableField("coupon_status")
+    private Integer couponStatus;
+
+    @ApiModelProperty(value = "有效期")
+    @TableField("valid_date")
+    private LocalDate validDate;
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+}

+ 64 - 0
alien-service-entity/src/main/java/shop/alien/entity/store/LifeDiscountCouponFriendRule.java

@@ -0,0 +1,64 @@
+package shop.alien.entity.store;
+
+import com.baomidou.mybatisplus.annotation.*;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 赠券规则
+ * @TableName life_discount_coupon_friend_rule
+ */
+@TableName(value ="life_discount_coupon_friend_rule")
+@JsonInclude
+@Data
+public class LifeDiscountCouponFriendRule {
+    /**
+     * 主键id
+     */
+    @TableId(type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 店铺id
+     */
+    @ApiModelProperty(value = "店铺id")
+    @TableField("store_id")
+    private Integer storeId;
+
+    /**
+     * 活动名称
+     */
+    @ApiModelProperty(value = "活动名称")
+    @TableField("ac_name")
+    private String acName;
+
+    /**
+     * 消费限制(开始)
+     */
+    @ApiModelProperty(value = "消费限制(开始)")
+    @TableField("money_low")
+    private BigDecimal moneyLow;
+
+    /**
+     * 消费限制(结束)
+     */
+    @ApiModelProperty(value = "消费限制(结束)")
+    @TableField("money_high")
+    private BigDecimal moneyHigh;
+
+    /**
+     * 删除状态(0未删除/1已删除)
+     */
+    @ApiModelProperty(value = "删除状态(0未删除/1已删除)")
+    @TableField("delete_flag")
+    @TableLogic
+    private Integer deleteFlag;
+
+    @TableField(exist = false)
+    private List<LifeDiscountCouponFriendRuleDetail> details;
+}

+ 51 - 0
alien-service-entity/src/main/java/shop/alien/entity/store/LifeDiscountCouponFriendRuleDetail.java

@@ -0,0 +1,51 @@
+package shop.alien.entity.store;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 赠券规则明细
+ * @TableName life_discount_coupon_friend_rule_detail
+ */
+@TableName(value ="life_discount_coupon_friend_rule_detail")
+@JsonInclude
+@Data
+public class LifeDiscountCouponFriendRuleDetail {
+    /**
+     * 主键id
+     */
+    @TableId
+    private Integer id;
+
+    /**
+     * 规则id
+     */
+    @ApiModelProperty(value = "规则id")
+    @TableField("rule_id")
+    private Integer ruleId;
+
+    /**
+     * 优惠券id
+     */
+    @ApiModelProperty(value = "优惠券id")
+    @TableField("coupon_id")
+    private Integer couponId;
+
+    /**
+     * 好友店铺id
+     */
+    @ApiModelProperty(value = "好友店铺id")
+    @TableField("friend_store_user_id")
+    private Integer friendStoreUserId;
+
+    /**
+     * 店铺id
+     */
+    @ApiModelProperty(value = "店铺id")
+    @TableField("store_id")
+    private Integer storeId;
+}

+ 79 - 0
alien-service-entity/src/main/java/shop/alien/entity/store/LifeDiscountCouponQuantumRules.java

@@ -0,0 +1,79 @@
+package shop.alien.entity.store;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.Date;
+
+/**
+ * <p>
+ * 优惠券时间段规则表
+ * </p>
+ *
+ * @author zhangchen
+ * @since 2025-08-04
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value = "LifeDiscountCouponQuantumRules对象", description = "优惠券时间段规则表")
+public class LifeDiscountCouponQuantumRules extends Model<LifeDiscountCouponQuantumRules> {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "主键")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "优惠券id")
+    @TableField("discount_coupon_id")
+    private Integer discountCouponId;
+
+    @ApiModelProperty(value = "时间段规则类型(可用时间段:available_time_quantum,不可用时间段:unavailable_time_quantum)")
+    @TableField("time_quantum_type")
+    private String timeQuantumType;
+
+    @ApiModelProperty(value = "删除状态")
+    @TableField("delete_flag")
+    @TableLogic
+    private Integer deleteFlag;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    private Date createdTime;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(value = "updated_time", fill = FieldFill.INSERT_UPDATE)
+    private Date updatedTime;
+
+    @ApiModelProperty(value = "创建人ID")
+    @TableField(value = "created_user_id", fill = FieldFill.INSERT)
+    private Integer createdUserId;
+
+    @ApiModelProperty(value = "修改人ID")
+    @TableField(value = "updated_user_id", fill = FieldFill.INSERT_UPDATE)
+    private Integer updatedUserId;
+
+    @ApiModelProperty(value = "开始时间段")
+    @TableField(value = "begin_time_quantum", fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
+    private LocalDateTime beginTimeQuantum;
+
+    @ApiModelProperty(value = "结束时间段")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
+    @TableField(value = "end_time_quantum", fill = FieldFill.INSERT)
+    private LocalDateTime  endTimeQuantum;
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+}

+ 93 - 0
alien-service-entity/src/main/java/shop/alien/entity/store/LifeDiscountCouponStoreFriend.java

@@ -0,0 +1,93 @@
+package shop.alien.entity.store;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.time.LocalDate;
+import java.util.Date;
+
+/**
+ * <p>
+ * 优惠券商户发放好友优惠券关系表
+ * </p>
+ *
+ * @author ssk
+ * @since 2025-02-19
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value = "LifeDiscountCouponStoreFriend对象", description = "优惠券商户发放好友优惠券关系表	")
+public class LifeDiscountCouponStoreFriend extends Model<LifeDiscountCouponStoreFriend> {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "主键")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "店铺用户id")
+    @TableField("store_user_id")
+    private Integer storeUserId;
+
+    @ApiModelProperty(value = "券id")
+    @TableField("coupon_id")
+    private Integer couponId;
+
+    @ApiModelProperty(value = "好友店铺id")
+    @TableField("friend_store_user_id")
+    private Integer friendStoreUserId;
+
+    @ApiModelProperty(value = "有效期(天)")
+    @TableField("expiration_date")
+    private Integer expirationDate;
+
+    @ApiModelProperty(value = "开始日期")
+    @TableField("start_date")
+    private LocalDate startDate;
+
+    @ApiModelProperty(value = "结束日期")
+    @TableField("end_date")
+    private LocalDate endDate;
+
+    @ApiModelProperty(value = "库存(优惠券数量)")
+    @TableField("single_qty")
+    private Integer singleQty;
+
+    @ApiModelProperty(value = "删除状态")
+    @TableField("delete_flag")
+    @TableLogic
+    private Integer deleteFlag;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "created_time", fill = FieldFill.INSERT)
+    private Date createdTime;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(value = "updated_time", fill = FieldFill.INSERT_UPDATE)
+    private Date updatedTime;
+
+    @ApiModelProperty(value = "创建人ID")
+    @TableField(value = "created_user_id", fill = FieldFill.INSERT)
+    private Integer createdUserId;
+
+    @ApiModelProperty(value = "修改人ID")
+    @TableField(value = "updated_user_id", fill = FieldFill.INSERT_UPDATE)
+    private Integer updatedUserId;
+
+    @ApiModelProperty(value = "发布状态")
+    @TableField("release_type")
+    private Integer releaseType;
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+}

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