Ver Fonte

设计数据库

licailing há 5 anos atrás
pai
commit
0601d0c966

+ 6 - 0
pom.xml

@@ -266,6 +266,12 @@
             <version>1.6.2</version>
         </dependency>
 
+        <!-- hutool -->
+        <dependency>
+            <groupId>cn.hutool</groupId>
+            <artifactId>hutool-all</artifactId>
+            <version>5.3.0</version>
+        </dependency>
     </dependencies>
 
 </project>

+ 52 - 0
src/main/java/com/izouma/jiashanxia/domain/CommissionRecord.java

@@ -0,0 +1,52 @@
+package com.izouma.jiashanxia.domain;
+
+import com.izouma.jiashanxia.annotations.Searchable;
+import com.izouma.jiashanxia.enums.PayMethod;
+import com.izouma.jiashanxia.enums.TransactionType;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+@AllArgsConstructor
+@NoArgsConstructor
+//@Entity
+@Builder
+@Data
+@ApiModel(value = "佣金记录", description = "CommissionRecord")
+public class CommissionRecord extends BaseEntity implements Serializable {
+    @ApiModelProperty(value = "用户ID", name = "userId")
+    private Long userId;
+
+    @Enumerated(EnumType.STRING)
+    @ApiModelProperty(value = "交易类型", name = "transactionType")
+    private TransactionType transactionType;
+
+    @Column(nullable = false)
+    @ApiModelProperty(value = "交易金额", name = "money")
+    private BigDecimal amount;
+
+    @Enumerated(EnumType.STRING)
+    @ApiModelProperty(value = "支付方式", name = "payMethod")
+    private PayMethod payMethod;
+
+    @Searchable
+    @ApiModelProperty(value = "交易单号", name = "transactionId")
+    private String transactionId;
+
+    @ApiModelProperty(value = "备注", name = "remark")
+    private String remark;
+
+//    @ExcelIgnore
+//    @ManyToOne(fetch = FetchType.LAZY)
+//    @JoinColumn(name = "userId", insertable = false, updatable = false, foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT))
+//    private User user;
+
+    private Long fromUserId;
+}

+ 30 - 0
src/main/java/com/izouma/jiashanxia/domain/Company.java

@@ -0,0 +1,30 @@
+package com.izouma.jiashanxia.domain;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import javax.persistence.Entity;
+import javax.persistence.OneToMany;
+import java.util.List;
+
+//@Entity
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+@Data
+@ApiModel(value = "企业表")
+public class Company extends BaseEntity {
+
+    @ApiModelProperty(value = "企业名称")
+    private String name;
+
+    @ApiModelProperty(value = "员工")
+    @OneToMany
+    private List<User> users;
+
+
+}

+ 38 - 0
src/main/java/com/izouma/jiashanxia/domain/OrderInfo.java

@@ -0,0 +1,38 @@
+package com.izouma.jiashanxia.domain;
+
+import com.izouma.jiashanxia.enums.OrderInfoStatus;
+import com.izouma.jiashanxia.enums.PayMethod;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.time.LocalDateTime;
+
+@Data
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+@ApiModel(value = "订单")
+public class OrderInfo extends BaseEntity {
+
+    private Long userId;
+
+    @ApiModelProperty(value = "支付方式")
+    private PayMethod payMethod;
+
+    @ApiModelProperty(value = "支付时间")
+    private LocalDateTime paidAt;
+
+    @ApiModelProperty(value = "订单状态")
+    private OrderInfoStatus status;
+
+    @ApiModelProperty(value = "订单号")
+    private String transactionId;
+
+    @ApiModelProperty(value = "充值套餐")
+    private String setId;
+
+}

+ 23 - 0
src/main/java/com/izouma/jiashanxia/domain/PromoteRecord.java

@@ -0,0 +1,23 @@
+package com.izouma.jiashanxia.domain;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+@ApiModel(value = "推广记录表")
+public class PromoteRecord extends BaseEntity {
+    @ApiModelProperty(value = "推广人员")
+    private Long userId;
+
+    @ApiModelProperty(value = "被推广用户")
+    private Long promoteUserId;
+
+
+}

+ 44 - 0
src/main/java/com/izouma/jiashanxia/domain/Set.java

@@ -0,0 +1,44 @@
+package com.izouma.jiashanxia.domain;
+
+import com.izouma.jiashanxia.enums.SetType;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.JoinColumn;
+import javax.persistence.OneToMany;
+import java.math.BigDecimal;
+import java.util.List;
+
+@Data
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+@ApiModel(value = "套餐")
+public class Set extends BaseEntity {
+
+    @ApiModelProperty(value = "套餐名称")
+    private String name;
+
+    @ApiModelProperty(value = "金额")
+    private BigDecimal amount;
+
+    @Column(columnDefinition = "TEXT")
+    @ApiModelProperty(value = "详情")
+    private String detail;
+
+    @ApiModelProperty(value = "套餐类型")
+    private SetType type;
+
+    @ApiModelProperty(value = "图")
+    private String img;
+
+    @OneToMany(cascade = CascadeType.DETACH)
+    @JoinColumn(name = "set_goods_id")
+    private List<SetGoods> setGoods;
+}

+ 26 - 0
src/main/java/com/izouma/jiashanxia/domain/SetGoods.java

@@ -0,0 +1,26 @@
+package com.izouma.jiashanxia.domain;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+@ApiModel(value = "套餐商品")
+public class SetGoods extends BaseEntity {
+    private Long setId;
+
+    @ApiModelProperty(value = "名称")
+    private String name;
+
+    @ApiModelProperty(value = "数量")
+    private Integer num;
+
+    @ApiModelProperty(value = "单位")
+    private String unit;
+}

+ 2 - 1
src/main/java/com/izouma/jiashanxia/domain/User.java

@@ -16,6 +16,7 @@ import javax.persistence.*;
 import javax.validation.constraints.Pattern;
 import javax.validation.constraints.Size;
 import java.io.Serializable;
+import java.math.BigDecimal;
 import java.util.HashSet;
 import java.util.Set;
 
@@ -69,5 +70,5 @@ public class User extends BaseEntity implements Serializable {
 
     private String email;
 
-
+    private BigDecimal amount;
 }

+ 20 - 0
src/main/java/com/izouma/jiashanxia/domain/UserSet.java

@@ -0,0 +1,20 @@
+package com.izouma.jiashanxia.domain;
+
+import io.swagger.annotations.ApiModel;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+@ApiModel(value = "用户套餐")
+public class UserSet extends BaseEntity {
+    private Long userId;
+
+    private Long setId;
+
+
+}

+ 66 - 0
src/main/java/com/izouma/jiashanxia/domain/Withdraw.java

@@ -0,0 +1,66 @@
+package com.izouma.jiashanxia.domain;
+
+import com.izouma.jiashanxia.annotations.Searchable;
+import com.izouma.jiashanxia.enums.PayMethod;
+import com.izouma.jiashanxia.enums.WithdrawStatus;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+//@Entity
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+@ApiModel(value = "提现申请表")
+public class Withdraw extends BaseEntity implements Serializable {
+
+    @ApiModelProperty(value = "用户ID", name = "userId")
+    private Long userId;
+
+    @ApiModelProperty(value = "提现金额", name = "amount")
+    private BigDecimal amount;
+
+    @ApiModelProperty(value = "剩余金额", name = "balance")
+    private BigDecimal balance;
+
+    @ApiModelProperty(value = "提现时间", name = "settleTime")
+    private LocalDateTime withdrawTime;
+
+    @Enumerated(EnumType.STRING)
+    @ApiModelProperty(value = "提现方式", name = "payMethod")
+    private PayMethod payMethod;
+
+    @Enumerated(EnumType.STRING)
+    @ApiModelProperty(value = "提现状态", name = "status")
+    private WithdrawStatus status;
+
+    @Searchable
+    @ApiModelProperty(value = "账号", name = "account")
+    private String account;
+
+    @Searchable
+    @ApiModelProperty(value = "真实姓名", name = "realName")
+    private String realName;
+
+    @ApiModelProperty(value = "是否成功", name = "consent")
+    @Column(nullable = false)
+    private Boolean consent;
+
+//    @ManyToOne(fetch = FetchType.LAZY)
+//    @JoinColumn(name = "userId", insertable = false, updatable = false, foreignKey = @ForeignKey(name = "none", value = ConstraintMode.NO_CONSTRAINT))
+//    @NotFound(action = NotFoundAction.IGNORE)
+//    @ExcelIgnore
+//    private User user;
+
+//    @ApiModelProperty(value = "是否经销商流水", name = "isDealer")
+//    private Boolean isDealer;
+}

+ 25 - 0
src/main/java/com/izouma/jiashanxia/domain/WriteOffRecord.java

@@ -0,0 +1,25 @@
+package com.izouma.jiashanxia.domain;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+@ApiModel(value = "核销记录")
+public class WriteOffRecord extends BaseEntity {
+
+    @ApiModelProperty(value = "被核销人")
+    private Long userId;
+
+    @ApiModelProperty(value = "核销人")
+    private Long writeOffUserId;
+
+    @ApiModelProperty(value = "核销内容")
+    private String content;
+}

+ 19 - 0
src/main/java/com/izouma/jiashanxia/enums/OrderInfoStatus.java

@@ -0,0 +1,19 @@
+package com.izouma.jiashanxia.enums;
+
+public enum OrderInfoStatus {
+    UNPAID("未支付"),
+    PAID("已支付"),
+    CANCELLED("已取消"),
+
+    ;
+
+    private final String description;
+
+    OrderInfoStatus(String description) {
+        this.description = description;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+}

+ 15 - 0
src/main/java/com/izouma/jiashanxia/enums/PayMethod.java

@@ -0,0 +1,15 @@
+package com.izouma.jiashanxia.enums;
+
+public enum PayMethod {
+    WEIXIN("微信"),
+    YUE("余额");
+    private final String description;
+
+    PayMethod(String description) {
+        this.description = description;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+}

+ 6 - 0
src/main/java/com/izouma/jiashanxia/enums/SetType.java

@@ -0,0 +1,6 @@
+package com.izouma.jiashanxia.enums;
+
+public enum SetType {
+    TEAM,
+    PERSONAL
+}

+ 18 - 0
src/main/java/com/izouma/jiashanxia/enums/TransactionType.java

@@ -0,0 +1,18 @@
+package com.izouma.jiashanxia.enums;
+
+public enum TransactionType {
+    TIXIAN("提现"),
+    INCOME("收入"),
+    REFUND("退款"),
+    ;
+
+    private final String description;
+
+    TransactionType(String description) {
+        this.description = description;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+}

+ 16 - 0
src/main/java/com/izouma/jiashanxia/enums/WithdrawStatus.java

@@ -0,0 +1,16 @@
+package com.izouma.jiashanxia.enums;
+
+public enum WithdrawStatus {
+    SUCCESS("提现成功"),
+    FAIL("提现失败"),
+    PENDING("待处理");
+    private final String description;
+
+    WithdrawStatus(String description) {
+        this.description = description;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+}

+ 2 - 2
src/main/resources/application.yaml

@@ -56,7 +56,7 @@ wx:
     mp:
         app_id: wx2375cba2eec2c479
         app_secret: 28e4829124860d9ef9e2f32aeefd1111
-    miniapp:
+    ma:
         app_id: wx6517cbf58115c508
         app_secret: 8af0e8ba28ffddfb7e574e6c7cb6aaf1
         msg_token: msgToken
@@ -79,7 +79,7 @@ aliyun:
     access-key-secret: e1MS6j0wypXJrw8CM0hObZu8qKbfah
     oss-end-point: oss-cn-hangzhou.aliyuncs.com
     oss-bucket-name: jiashanxia
-    oss-domain: https://jiashangxia.oss-cn-hangzhou.aliyuncs.com
+    oss-domain: https://jiashanxia.oss-cn-hangzhou.aliyuncs.com
 general:
     host: http://jiashanxia.izouma.com
 ---