licailing 5 жил өмнө
parent
commit
f2756ceade

+ 2 - 12
src/main/java/com/izouma/jiashanxia/domain/Company.java

@@ -7,13 +7,10 @@ import lombok.Builder;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
-import javax.persistence.CascadeType;
 import javax.persistence.Entity;
-import javax.persistence.JoinColumn;
-import javax.persistence.OneToMany;
-import java.util.List;
 
-//@Entity
+
+@Entity
 @AllArgsConstructor
 @NoArgsConstructor
 @Builder
@@ -25,11 +22,4 @@ public class Company extends BaseEntity {
 
     @ApiModelProperty(value = "企业名称")
     private String name;
-
-    @ApiModelProperty(value = "员工")
-    @OneToMany(cascade = CascadeType.DETACH)
-    @JoinColumn(name = "user_id")
-    private List<User> users;
-
-
 }

+ 4 - 0
src/main/java/com/izouma/jiashanxia/domain/User.java

@@ -6,6 +6,7 @@ import com.izouma.jiashanxia.annotations.Searchable;
 import com.izouma.jiashanxia.config.Constants;
 import com.izouma.jiashanxia.security.Authority;
 import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
@@ -73,4 +74,7 @@ public class User extends BaseEntity implements Serializable {
     private BigDecimal amount;
 
     private Long parent;
+
+    @ApiModelProperty(value = "企业id")
+    private Long companyId;
 }

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

@@ -2,7 +2,7 @@ package com.izouma.jiashanxia.enums;
 
 public enum TransactionType {
     TIXIAN("提现"),
-    INCOME("收入"),
+    INCOME("推广新会员"),
     REFUND("退款"),
     ;
 

+ 2 - 0
src/main/java/com/izouma/jiashanxia/repo/UserRepo.java

@@ -23,4 +23,6 @@ public interface UserRepo extends JpaRepository<User, Long>, JpaSpecificationExe
     User findByOpenId(String openId);
 
     User findByPhone(String phone);
+
+    List<User> findAllByParent(Long parent);
 }

+ 23 - 11
src/main/java/com/izouma/jiashanxia/service/OrderInfoService.java

@@ -1,6 +1,7 @@
 package com.izouma.jiashanxia.service;
 
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.ObjectUtil;
 import com.izouma.jiashanxia.domain.*;
 import com.izouma.jiashanxia.dto.PageQuery;
 import com.izouma.jiashanxia.enums.OrderInfoStatus;
@@ -23,14 +24,14 @@ import java.util.List;
 @AllArgsConstructor
 public class OrderInfoService {
 
-    private OrderInfoRepo        orderInfoRepo;
-    private SetMealRepo          setMealRepo;
-    private SetGoodsRepo         setGoodsRepo;
-    private UserSetRepo          userSetRepo;
-    private UserRepo             userRepo;
-    private SysConfigService     sysConfigService;
+    private OrderInfoRepo orderInfoRepo;
+    private SetMealRepo setMealRepo;
+    private SetGoodsRepo setGoodsRepo;
+    private UserSetRepo userSetRepo;
+    private UserRepo userRepo;
+    private SysConfigService sysConfigService;
     private CommissionRecordRepo commissionRecordRepo;
-    private UserSetService       userSetService;
+    private UserSetService userSetService;
 
     public Page<OrderInfo> all(PageQuery pageQuery) {
         return orderInfoRepo.findAll(JpaUtils.toSpecification(pageQuery, OrderInfo.class), JpaUtils.toPageRequest(pageQuery));
@@ -80,12 +81,24 @@ public class OrderInfoService {
     分销
      */
     public void distribution(Long userId, Long parent, String transactionId) {
-        List<UserSet> parentSets = userSetRepo.findAllByUserId(parent);
-        if (CollUtil.isEmpty(parentSets)) {
+        User user = userRepo.findById(parent).orElseThrow(new BusinessException("无用户"));
+        // 判断是否可分享
+        boolean flag = true;
+        // 是否公司员工
+        if (ObjectUtil.isEmpty(user.getCompanyId())) {
+            flag = false;
+        }
+        if (flag) {
+            // 是否购买了套餐
+            List<UserSet> parentSets = userSetRepo.findAllByUserId(parent);
+            if (CollUtil.isEmpty(parentSets)) {
+                flag = false;
+            }
+        }
+        if (!flag) {
             return;
         }
 
-        User user = userRepo.findById(parent).orElseThrow(new BusinessException("无用户"));
         BigDecimal personalAmount = sysConfigService.getBigDecimal("PERSONAL_AMOUNT");
         user.setAmount(user.getAmount().add(personalAmount));
 
@@ -99,6 +112,5 @@ public class OrderInfoService {
                 .transactionId(transactionId)
                 .build());
 
-
     }
 }

+ 12 - 0
src/main/java/com/izouma/jiashanxia/service/SetMealService.java

@@ -1,5 +1,6 @@
 package com.izouma.jiashanxia.service;
 
+import com.izouma.jiashanxia.domain.Company;
 import com.izouma.jiashanxia.domain.SetGoods;
 import com.izouma.jiashanxia.domain.SetMeal;
 import com.izouma.jiashanxia.dto.PageQuery;
@@ -22,6 +23,7 @@ public class SetMealService {
     private SetMealRepo    setMealRepo;
     private SetGoodsRepo   setGoodsRepo;
     private UserSetService userSetService;
+//    private Company
 
     public Page<SetMeal> all(PageQuery pageQuery) {
         return setMealRepo.findAll(JpaUtils.toSpecification(pageQuery, SetMeal.class), JpaUtils.toPageRequest(pageQuery));
@@ -40,5 +42,15 @@ public class SetMealService {
         List<SetGoods> setGoodsList = setGoodsRepo.findAllBySetMealId(setMealId);
         userSetService.joinUserSet(userId, setGoodsList);
 
+        // 新建公司
+        Company.builder()
+                .userId(userId)
+                .name("企业")
+                .build();
+
+    }
+
+    public void test(Long userId,Long companyId){
+
     }
 }

+ 13 - 1
src/main/java/com/izouma/jiashanxia/service/UserSetService.java

@@ -3,11 +3,13 @@ package com.izouma.jiashanxia.service;
 import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.izouma.jiashanxia.domain.SetGoods;
+import com.izouma.jiashanxia.domain.User;
 import com.izouma.jiashanxia.domain.UserSet;
 import com.izouma.jiashanxia.domain.UserSetFlow;
 import com.izouma.jiashanxia.dto.GoodsDTO;
 import com.izouma.jiashanxia.dto.PageQuery;
 import com.izouma.jiashanxia.enums.FlowType;
+import com.izouma.jiashanxia.repo.UserRepo;
 import com.izouma.jiashanxia.repo.UserSetFlowRepo;
 import com.izouma.jiashanxia.repo.UserSetRepo;
 import com.izouma.jiashanxia.utils.JpaUtils;
@@ -23,8 +25,9 @@ import java.util.stream.Collectors;
 @AllArgsConstructor
 public class UserSetService {
 
-    private UserSetRepo     userSetRepo;
+    private UserSetRepo userSetRepo;
     private UserSetFlowRepo userSetFlowRepo;
+    private UserRepo userRepo;
 
     public Page<UserSet> all(PageQuery pageQuery) {
         return userSetRepo.findAll(JpaUtils.toSpecification(pageQuery, UserSet.class), JpaUtils.toPageRequest(pageQuery));
@@ -64,4 +67,13 @@ public class UserSetService {
                 .content(JSONObject.toJSONString(goodsDTOS))
                 .build());
     }
+
+    /*
+    我的推广
+     */
+    public List<User> myPromotion(Long userId) {
+        List<User> children = userRepo.findAllByParent(userId);
+        return null;
+    }
+
 }