helixiao 2 лет назад
Родитель
Сommit
6b09d0e999

+ 0 - 4
src/main/java/com/ydtech/modules/admin/controller/SysAgencyFeeApprovalController.java

@@ -76,10 +76,6 @@ public class SysAgencyFeeApprovalController extends BaseController {
     @ApiOperation(value = "提现申请保存")
     @PostMapping("/add")
     public HttpResult add(@RequestBody SysAgencyFeeApprovalAddDto sysAgencyFeeApprovalAddDto) {
-        BigDecimal cashFee = sysAgencyFeeApprovalAddDto.getCashFee();
-        if (cashFee.equals(new BigDecimal("0.00"))) {
-            throw new SystemException("无可提现金额!");
-        }
         return this.sysAgencyFeeApprovalService.insert(sysAgencyFeeApprovalAddDto);
     }
 

+ 19 - 0
src/main/java/com/ydtech/modules/admin/model/SysAgencyFeeApproval.java

@@ -1,6 +1,7 @@
 package com.ydtech.modules.admin.model;
 
 import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModel;
@@ -52,6 +53,24 @@ public class SysAgencyFeeApproval implements Serializable {
     @ApiModelProperty(value = "机构name")
     private String deptName;
 
+    /**
+     * 银行卡号
+     */
+    @TableField(value = "bank_number")
+    private String bankNumber;
+
+    /**
+     * 开户行
+     */
+    @TableField(value = "bank_account")
+    private String bankAccount;
+
+    /**
+     * 开户行地址
+     */
+    @TableField(value = "bank_address")
+    private String bankAddress;
+
     @ApiModelProperty(value = "提现编号")
     private String number;
     /**

+ 22 - 0
src/main/java/com/ydtech/modules/admin/model/SysAgencyFeeApprovalRecord.java

@@ -1,6 +1,7 @@
 package com.ydtech.modules.admin.model;
 
 import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -43,6 +44,27 @@ public class SysAgencyFeeApprovalRecord {
      */
     @ApiModelProperty(value = "机构name")
     private String deptName;
+
+    /**
+     * 银行卡号
+     */
+    @TableField(value = "bank_number")
+    private String bankNumber;
+
+    /**
+     * 开户行
+     */
+    @TableField(value = "bank_account")
+    private String bankAccount;
+
+    /**
+     * 开户行地址
+     */
+    @TableField(value = "bank_address")
+    private String bankAddress;
+
+    @ApiModelProperty(value = "提现编号")
+    private String number;
     /**
      * 总保费
      */

+ 15 - 43
src/main/java/com/ydtech/modules/admin/model/dto/SysAgencyFeeApprovalAddDto.java

@@ -1,5 +1,6 @@
 package com.ydtech.modules.admin.model.dto;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -12,55 +13,26 @@ import java.util.Date;
 @Data
 @ApiModel(value = "机构保费抽成提交审批入参")
 public class SysAgencyFeeApprovalAddDto {
-
-    /**
-     * 员工id
-     */
-    @ApiModelProperty(value = "员工id")
-    private String userId;
     /**
-     * 员工姓名
+     * 银行卡号
      */
-    @ApiModelProperty(value = "员工姓名")
-    private String userName;
+    @ApiModelProperty(value = "银行卡号")
+    private String bankNumber;
 
-    @ApiModelProperty(value = "机构id")
-    private String deptId;
-    /**
-     * 机构name
-     */
-    @ApiModelProperty(value = "机构name")
-    private String deptName;
-    /**
-     * 总保费
-     */
-    @ApiModelProperty(value = "总保费")
-    private BigDecimal sumpremium;
-    /**
-     * 抽成比例(总保费抽成)
-     */
-    @ApiModelProperty(value = "抽成比例(总保费抽成)")
-    private String proportional;
-    /**
-     * 总保费抽成费用
-     */
-    @ApiModelProperty(value = "总保费抽成费用")
-    private BigDecimal extractFee;
     /**
-     * 已提现抽成费用
+     * 开户行
      */
-    @ApiModelProperty(value = "已提现抽成费用")
-    private BigDecimal historyFee;
+    @ApiModelProperty(value = "开户行")
+    private String bankAccount;
+
     /**
-     * 可提现抽成费用
+     * 开户行地址
      */
-    @ApiModelProperty(value = "可提现抽成费用")
+    @ApiModelProperty(value = "开户行地址")
+    private String bankAddress;
+
+    @ApiModelProperty(value = "实际提现费用")
     @JsonFormat(pattern = "0.00")
-    private BigDecimal cashFee;
-    /**
-     * 提层计算时间
-     */
-    @ApiModelProperty(value = "提层计算开始时间")
-    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private String startTime;
+    private BigDecimal actualFee;
+
 }

+ 2 - 0
src/main/java/com/ydtech/modules/admin/model/dto/TeamInformationDto.java

@@ -8,6 +8,8 @@ import org.springframework.format.annotation.DateTimeFormat;
 @Data
 @ApiModel(value = "查询机构下团队信息")
 public class TeamInformationDto {
+    @ApiModelProperty(value = "首页为1,详情为2")
+    private Integer type;
 
     @ApiModelProperty(value = "用户id")
     private String deptName;

+ 6 - 1
src/main/java/com/ydtech/modules/admin/model/vo/AgencyExtractFee.java

@@ -30,18 +30,23 @@ public class AgencyExtractFee {
     private String deptName;
 
     @ApiModelProperty(value = "总保费")
+    @JsonFormat(pattern = "0.00")
     private BigDecimal sumpremium;
 
     @ApiModelProperty(value = "抽成比例(总保费抽成)")
+    @JsonFormat(pattern = "0.00")
     private String proportional;
 
-    @ApiModelProperty(value = "总保费抽成费用")
+    @ApiModelProperty(value = "保费抽成费用")
+    @JsonFormat(pattern = "0.00")
     private BigDecimal extractFee;
 
     @ApiModelProperty(value = "已提现抽成费用")
+    @JsonFormat(pattern = "0.00")
     private BigDecimal historyFee;
 
     @ApiModelProperty(value = "可提现抽成费用")
+    @JsonFormat(pattern = "0.00")
     private BigDecimal cashFee;
 
     @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")

+ 5 - 0
src/main/java/com/ydtech/modules/admin/model/vo/AgencyExtractFeeVo.java

@@ -28,18 +28,23 @@ public class AgencyExtractFeeVo {
     private String deptName;
 
     @ApiModelProperty(value = "总保费")
+    @JsonFormat(pattern = "0.00")
     private BigDecimal sumpremium;
 
     @ApiModelProperty(value = "抽成比例(总保费抽成)")
+    @JsonFormat(pattern = "0.00")
     private String proportional;
 
     @ApiModelProperty(value = "总保费抽成费用")
+    @JsonFormat(pattern = "0.00")
     private BigDecimal extractFee;
 
     @ApiModelProperty(value = "已提现抽成费用")
+    @JsonFormat(pattern = "0.00")
     private BigDecimal historyFee;
 
     @ApiModelProperty(value = "可提现抽成费用")
+    @JsonFormat(pattern = "0.00")
     private BigDecimal cashFee;
 
     @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")

+ 1 - 0
src/main/java/com/ydtech/modules/admin/model/vo/TeamInformation.java

@@ -28,6 +28,7 @@ public class TeamInformation {
      * 团队总保费
      */
     @ApiModelProperty(value = "团队总保费")
+    @JsonFormat(pattern = "0.00")
     private BigDecimal sumpremium;
 
     /**

+ 41 - 2
src/main/java/com/ydtech/modules/admin/service/impl/SysAgencyFeeApprovalServiceImpl.java

@@ -7,15 +7,20 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ydtech.aop.exception.DescribeException;
 import com.ydtech.core.page.HttpResult;
+import com.ydtech.exception.SystemException;
 import com.ydtech.modules.admin.dao.SysAgencyFeeApprovalMapper;
 import com.ydtech.modules.admin.dao.SysAgencyFeeApprovalRecordMapper;
 import com.ydtech.modules.admin.model.SysAgencyFeeApproval;
 import com.ydtech.modules.admin.model.SysAgencyFeeApprovalRecord;
+import com.ydtech.modules.admin.model.SysUser;
 import com.ydtech.modules.admin.model.dto.SysAgencyFeeApprovalAddDto;
 import com.ydtech.modules.admin.model.dto.SysAgencyFeeApprovalDto;
 import com.ydtech.modules.admin.model.dto.SysAgencyFeeApprovalEditDto;
 import com.ydtech.modules.admin.model.dto.SysAgencyFeeApprovalPageDto;
+import com.ydtech.modules.admin.model.vo.AgencyExtractFee;
 import com.ydtech.modules.admin.service.SysAgencyFeeApprovalService;
+import com.ydtech.modules.admin.service.SysAgencyLeaderService;
+import com.ydtech.modules.admin.service.SysUserService;
 import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.modules.order.entity.BasePageResult;
 import com.ydtech.modules.order.entity.InsOrders;
@@ -25,6 +30,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
 
@@ -43,15 +49,48 @@ public class SysAgencyFeeApprovalServiceImpl extends ServiceImpl<SysAgencyFeeApp
     @Resource
     private SysAgencyFeeApprovalRecordMapper sysAgencyFeeApprovalRecordMapper;
 
+    @Resource
+    private SysAgencyLeaderService sysAgencyLeaderService;
+
+
 
 
     @Override
     @Transactional(rollbackFor = Exception.class)
     public HttpResult insert(SysAgencyFeeApprovalAddDto sysAgencyFeeApprovalAddDto) {
+        BigDecimal actualFee = sysAgencyFeeApprovalAddDto.getActualFee();
+        if (actualFee == null || actualFee.equals(new BigDecimal("0.00"))) {
+            throw new SystemException("请输入提现金额");
+        }
+        //当前登录用户
+        SysUser user = BaseController.getUser();
+        //查询当前用户可提现金额
+        AgencyExtractFee agencyExtractFee = sysAgencyLeaderService.queryExtractFee(user.getId());
+
+        BigDecimal cashFee = agencyExtractFee.getCashFee();
+        int compare = cashFee.compareTo(actualFee);
+        if (compare < 0) {
+            throw new SystemException("提现金额不能超过可提现金额");
+        }
+
         SysAgencyFeeApproval sysAgencyFeeApproval = BeanUtil.copyProperties(sysAgencyFeeApprovalAddDto, SysAgencyFeeApproval.class);
-        sysAgencyFeeApproval.setCreateTime(new Date());
+        sysAgencyFeeApproval.setUserId(user.getId());
+        sysAgencyFeeApproval.setUserName(user.getName());
+        sysAgencyFeeApproval.setDeptId(user.getDeptId());
+        sysAgencyFeeApproval.setDeptName(user.getDeptName());
         sysAgencyFeeApproval.setNumber(IdGenerate.nextId());
-        sysAgencyFeeApproval.setCreateBy(BaseController.getUser().getName());
+        //总保费
+        sysAgencyFeeApproval.setSumpremium(agencyExtractFee.getSumpremium());
+        //总保费抽成费用
+        sysAgencyFeeApproval.setExtractFee(agencyExtractFee.getExtractFee());
+        //已提现抽成费用
+        sysAgencyFeeApproval.setHistoryFee(agencyExtractFee.getHistoryFee());
+        //可提现抽成费用
+        sysAgencyFeeApproval.setCashFee(actualFee);
+        sysAgencyFeeApproval.setStartTime(agencyExtractFee.getStartTime());
+        sysAgencyFeeApproval.setProportional(agencyExtractFee.getProportional());
+        sysAgencyFeeApproval.setCreateBy(user.getName());
+        sysAgencyFeeApproval.setCreateTime(new Date());
         //提交审核信息
         save(sysAgencyFeeApproval);
         //保存添加记录

+ 23 - 6
src/main/java/com/ydtech/modules/admin/service/impl/SysAgencyLeaderServiceImpl.java

@@ -29,6 +29,8 @@ import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.text.DecimalFormat;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Date;
@@ -361,7 +363,8 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
                     }
                 }
                 agencyExtractFee.setSumpremium(bigDecimal);
-                BigDecimal multiply = bigDecimal.multiply(new BigDecimal(agencyExtractFee.getProportional()).divide(new BigDecimal("100")));
+                //总保费*比例/100  保留两位小数
+                BigDecimal multiply = bigDecimal.multiply(new BigDecimal(agencyExtractFee.getProportional()).divide(new BigDecimal("100"))).setScale(2, RoundingMode.HALF_UP);
                 agencyExtractFee.setExtractFee(multiply);
                 // 填充 已提现抽成费用和可提现抽成费用
                 List<SysAgencyFeeApproval> sysAgencyFeeApprovals = sysAgencyFeeApprovalMapper.selectList(new LambdaQueryWrapper<SysAgencyFeeApproval>()
@@ -436,7 +439,7 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
                     }
                 }
                 agencyExtractFee.setSumpremium(bigDecimal);
-                BigDecimal multiply = bigDecimal.multiply(new BigDecimal(agencyExtractFee.getProportional()).divide(new BigDecimal("100")));
+                BigDecimal multiply = bigDecimal.multiply(new BigDecimal(agencyExtractFee.getProportional()).divide(new BigDecimal("100"))).setScale(2, RoundingMode.HALF_UP);
                 agencyExtractFee.setExtractFee(multiply);
                 // 填充 已提现抽成费用和可提现抽成费用
                 List<SysAgencyFeeApproval> sysAgencyFeeApprovals = sysAgencyFeeApprovalMapper.selectList(new LambdaQueryWrapper<SysAgencyFeeApproval>()
@@ -518,7 +521,7 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
                     }
                 }
                 agencyExtractFee.setSumpremium(bigDecimal);
-                BigDecimal multiply = bigDecimal.multiply(new BigDecimal(agencyExtractFee.getProportional()).divide(new BigDecimal("100")));
+                BigDecimal multiply = bigDecimal.multiply(new BigDecimal(agencyExtractFee.getProportional()).divide(new BigDecimal("100"))).setScale(2, RoundingMode.HALF_UP);
                 agencyExtractFee.setExtractFee(multiply);
                 // 填充 已提现抽成费用和可提现抽成费用
                 List<SysAgencyFeeApproval> sysAgencyFeeApprovals = sysAgencyFeeApprovalMapper.selectList(new LambdaQueryWrapper<SysAgencyFeeApproval>()
@@ -556,8 +559,7 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
         //合伙人
         boolean c = sysPartnerService.checkPartner(userId);
         if (c) {
-            extracted(userId, informationList,teamInformationDto);
-            return informationList;
+            return extracted(userId, informationList,teamInformationDto);
         }
         //校验当前用户是否为机构负责人
         boolean b = this.checkUserId(userId);
@@ -632,6 +634,13 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
                     }
                     teamInformation.setOrderManNum(num);
                     informationList.add(teamInformation);
+                    Integer type = teamInformationDto.getType();
+                    if (type == 1) {
+                        int size = informationList.size();
+                        if (size == 2) {
+                            return informationList;
+                        }
+                    }
                 }
 
             }
@@ -642,7 +651,7 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
         return informationList;
     }
 
-    private void extracted(String userId, List<TeamInformation> informationList,TeamInformationDto teamInformationDto) {
+    private List<TeamInformation> extracted(String userId, List<TeamInformation> informationList,TeamInformationDto teamInformationDto) {
         //查询所有推荐的机构负责人核算总保费
         List<SysRelationPerson> sysRelationPeople = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
                 .eq(SysRelationPerson::getSuggestId, userId).eq(SysRelationPerson::getType, 1));
@@ -727,10 +736,18 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
                         }
                         teamInformation.setOrderManNum(num);
                         informationList.add(teamInformation);
+                        Integer type = teamInformationDto.getType();
+                        if (type == 1) {
+                            int size = informationList.size();
+                            if (size == 2) {
+                                return informationList;
+                            }
+                        }
                     }
                 }
             }
         }
+        return informationList;
     }
 
 

+ 2 - 1
src/main/java/com/ydtech/modules/admin/service/impl/SysPartnerServiceImpl.java

@@ -24,6 +24,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
@@ -242,7 +243,7 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
                         }
                     }
                     agencyExtractFee.setSumpremium(bigDecimal);
-                    BigDecimal multiply = bigDecimal.multiply(new BigDecimal(agencyExtractFee.getProportional()));
+                    BigDecimal multiply = bigDecimal.multiply(new BigDecimal(agencyExtractFee.getProportional()).divide(new BigDecimal("100"))).setScale(2, RoundingMode.HALF_UP);
                     agencyExtractFee.setExtractFee(multiply);
                     // 填充 已提现抽成费用和可提现抽成费用
                     List<SysAgencyFeeApproval> sysAgencyFeeApprovals = sysAgencyFeeApprovalMapper.selectList(new LambdaQueryWrapper<SysAgencyFeeApproval>()