Kaynağa Gözat

添加新版本的账户数据页面
我的账户页面数据接口
车险明细查询、导出接口
推广费明细查询、导出接口
收支明细查询、导出接口

hxl13994548489 2 yıl önce
ebeveyn
işleme
e5581024c0
21 değiştirilmiş dosya ile 1925 ekleme ve 33 silme
  1. 120 0
      src/main/java/com/ydtech/modules/admin/controller/SysUserAccountController.java
  2. 15 3
      src/main/java/com/ydtech/modules/admin/dao/SysUserAccountHistoryMapper.java
  3. 117 0
      src/main/java/com/ydtech/modules/admin/model/dto/ExportExpenditureTypeDetalsDto.java
  4. 96 0
      src/main/java/com/ydtech/modules/admin/model/dto/ExportExpenditureTypeDetalsSZDto.java
  5. 86 0
      src/main/java/com/ydtech/modules/admin/model/dto/ExportExpenditureTypeDetalsTGDto.java
  6. 3 0
      src/main/java/com/ydtech/modules/admin/model/dto/MyCollectInAdvanceQueryDto.java
  7. 66 0
      src/main/java/com/ydtech/modules/admin/model/dto/MyCollectInAdvanceQueryNewDto.java
  8. 118 0
      src/main/java/com/ydtech/modules/admin/model/dto/MyInsuranceQueryDto.java
  9. 65 0
      src/main/java/com/ydtech/modules/admin/model/dto/MyInsuranceTgQueryDto.java
  10. 92 0
      src/main/java/com/ydtech/modules/admin/model/dto/MySumAmountDto.java
  11. 40 0
      src/main/java/com/ydtech/modules/admin/model/dto/MySumAmountQueryDto.java
  12. 17 0
      src/main/java/com/ydtech/modules/admin/service/SysUserAccountHistoryService.java
  13. 50 0
      src/main/java/com/ydtech/modules/admin/service/SysUserAccountService.java
  14. 141 0
      src/main/java/com/ydtech/modules/admin/service/SysUserAccountService2.java
  15. 29 1
      src/main/java/com/ydtech/modules/admin/service/impl/SysUserAccountHistoryServiceImpl.java
  16. 261 0
      src/main/java/com/ydtech/modules/admin/service/impl/SysUserAccountServiceImpl.java
  17. 57 2
      src/main/java/com/ydtech/modules/protocols/dao/InsFeeOrderNewMapper.java
  18. 59 2
      src/main/java/com/ydtech/modules/protocols/service/InsFeeOrderNewService.java
  19. 70 2
      src/main/java/com/ydtech/modules/protocols/service/impl/InsFeeOrderNewServiceImpl.java
  20. 54 0
      src/main/resources/mapper/modules/admin/SysUserAccountHistoryMapper.xml
  21. 369 23
      src/main/resources/mapper/modules/ins/InsFeeOrderNewMapper.xml

+ 120 - 0
src/main/java/com/ydtech/modules/admin/controller/SysUserAccountController.java

@@ -10,14 +10,17 @@ import com.ydtech.modules.admin.model.vo.SysUserAccountVo;
 import com.ydtech.modules.admin.service.SysUserAccountService;
 import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.modules.order.entity.BasePageResult;
+import com.ydtech.utils.ExcelUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
 import java.math.BigDecimal;
+import java.util.List;
 
 @Api(tags = "账户余额")
 @RequestMapping("/sysUserAccount")
@@ -26,7 +29,12 @@ public class SysUserAccountController extends BaseController {
     @Autowired
     private SysUserAccountService sysUserAccountService;
 
+    @Value("${upload.file.path}")
+    private String uploadPath;
 
+    private String EXCEL_PATH = "excel//";
+
+    private String UPLOAD_PATH = "/upload//excel//";
 
     @PostMapping("/queryPage")
     @ApiOperation(value = "用户账户表分页")
@@ -180,4 +188,116 @@ public class SysUserAccountController extends BaseController {
         return  HttpResult.ok(sysUserAccountService.findRefundDetailById(id));
     }
 
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 19:14
+     *  @Description: 查询我的车险明细
+     */
+    @PostMapping("findMyInsuranceByUserId")
+    @ApiOperation("查询我的车险明细")
+    public HttpResult<BasePageResult<ExportExpenditureTypeDetalsDto>>  findMyInsuranceByUserId(@RequestBody MyInsuranceQueryDto myInsuranceQueryDto){
+        return  HttpResult.ok(sysUserAccountService.findMyInsuranceByUserId(myInsuranceQueryDto));
+    }
+
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 19:14
+     *  @Description: 查询我的推广费明细
+     */
+    @PostMapping("findMyInsuranceTGByUserId")
+    @ApiOperation("查询我的推广费明细")
+    public HttpResult<BasePageResult<ExportExpenditureTypeDetalsTGDto>>  findMyInsuranceTGByUserId(@RequestBody MyInsuranceTgQueryDto myInsuranceTgQueryDto){
+        return  HttpResult.ok(sysUserAccountService.findMyInsuranceTGByUserId(myInsuranceTgQueryDto));
+    }
+
+
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 19:14
+     *  @Description:  查询导出车险明细
+     */
+    @PostMapping("exportMyInsuranceByUserId")
+    @ApiOperation("查询导出车险明细")
+    public HttpResult<List<ExportExpenditureTypeDetalsDto>>  exportMyInsuranceByUserId(@RequestBody MyInsuranceQueryDto myInsuranceQueryDto){
+        List<ExportExpenditureTypeDetalsDto> exportIncomeTypeDetalsList = sysUserAccountService.exportMyInsuranceByUserId(myInsuranceQueryDto);
+        ExcelUtils<ExportExpenditureTypeDetalsDto> excelUtils = new ExcelUtils<>(ExportExpenditureTypeDetalsDto.class);
+        String fileName = "车险明细" + System.currentTimeMillis() + ".xlsx";
+        String saveFilePath = uploadPath+"//" + EXCEL_PATH + fileName;
+        String resultPath = UPLOAD_PATH + fileName;
+        String sheetName = "车险明细表";
+        if(excelUtils.writeExcel(saveFilePath,sheetName, exportIncomeTypeDetalsList)){
+            return HttpResult.ok(resultPath);
+        }else{
+            return HttpResult.error("导出车险明细表失败");
+        }
+    }
+
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 19:14
+     *  @Description:  查询导出推广费明细
+     */
+    @PostMapping("expeortMyInsuranceTGByUserId")
+    @ApiOperation("查询导出推广费明细")
+    public HttpResult<List<ExportExpenditureTypeDetalsTGDto>>  expeortMyInsuranceTGByUserId(@RequestBody MyInsuranceTgQueryDto myInsuranceTgQueryDto){
+        List<ExportExpenditureTypeDetalsTGDto> exportIncomeTypeDetalsList = sysUserAccountService.exportMyInsuranceTGByUserId(myInsuranceTgQueryDto);
+        ExcelUtils<ExportExpenditureTypeDetalsTGDto> excelUtils = new ExcelUtils<>(ExportExpenditureTypeDetalsTGDto.class);
+        String fileName = "推广费明细" + System.currentTimeMillis() + ".xlsx";
+        String saveFilePath = uploadPath+"//" + EXCEL_PATH + fileName;
+        String resultPath = UPLOAD_PATH + fileName;
+        String sheetName = "推广费明细表";
+        if(excelUtils.writeExcel(saveFilePath,sheetName, exportIncomeTypeDetalsList)){
+            return HttpResult.ok(resultPath);
+        }else{
+            return HttpResult.error("导出推广费明细表失败");
+        }
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 19:14
+     *  @Description:  收支明细
+     */
+    @PostMapping("findMyIncomeAndExpensesNewByUserId")
+    @ApiOperation("查询收支明细新")
+    public HttpResult<BasePageResult<ExportExpenditureTypeDetalsSZDto>>  findMyIncomeAndExpensesNewByUserId(@RequestBody MyCollectInAdvanceQueryNewDto myCollectInAdvanceQueryNewDto){
+        return  HttpResult.ok(sysUserAccountService.findMyIncomeAndExpensesNewByUserId(myCollectInAdvanceQueryNewDto));
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/7/1 8:57
+     *  @Description: 导出收支明细新
+     */
+    @PostMapping("exportMyIncomeAndExpensesNewByUserId")
+    @ApiOperation("导出收支明细新")
+    public HttpResult<MyCollectInAdvanceAllDto>  exportMyIncomeAndExpensesNewByUserId(@RequestBody MyCollectInAdvanceQueryNewDto myCollectInAdvanceQueryNewDto){
+        List<ExportExpenditureTypeDetalsSZDto> exportIncomeTypeDetalsList = sysUserAccountService.exportMyIncomeAndExpensesNewByUserId(myCollectInAdvanceQueryNewDto);
+        ExcelUtils<ExportExpenditureTypeDetalsSZDto> excelUtils = new ExcelUtils<>(ExportExpenditureTypeDetalsSZDto.class);
+        String fileName = "收支明细" + System.currentTimeMillis() + ".xlsx";
+        String saveFilePath = uploadPath+"//" + EXCEL_PATH + fileName;
+        String resultPath = UPLOAD_PATH + fileName;
+        String sheetName = "收支明细表";
+        if(excelUtils.writeExcel(saveFilePath,sheetName, exportIncomeTypeDetalsList)){
+            return HttpResult.ok(resultPath);
+        }else{
+            return HttpResult.error("导出收支明细表失败");
+        }
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 18:43
+     *  @Description: 我的账户页面的数据
+     */
+    @PostMapping("findMyAmount")
+    @ApiOperation("我的账户页面的数据")
+    public HttpResult<MySumAmountDto>  findMyAmount(@RequestBody MySumAmountQueryDto mySumAmountQueryDto){
+        MySumAmountDto amountDto = sysUserAccountService.findMyAmount(mySumAmountQueryDto);
+        return HttpResult.ok(amountDto);
+    }
 }

+ 15 - 3
src/main/java/com/ydtech/modules/admin/dao/SysUserAccountHistoryMapper.java

@@ -2,9 +2,7 @@ package com.ydtech.modules.admin.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ydtech.modules.admin.model.dto.MyCollectInAdvanceDto;
-import com.ydtech.modules.admin.model.dto.MyIncomeAndExpensesQueryDto;
-import com.ydtech.modules.admin.model.dto.RevenueReportDto;
+import com.ydtech.modules.admin.model.dto.*;
 import com.ydtech.modules.admin.model.po.SysUserAccountHistory;
 import org.apache.ibatis.annotations.Param;
 
@@ -69,6 +67,20 @@ public interface SysUserAccountHistoryMapper extends BaseMapper<SysUserAccountHi
      *  @Description: 查询用户总金额
      */
     BigDecimal findSumAmountByUserId(@Param("userId") String userId,@Param("types")  String types);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 18:38
+     *  @Description: 查询分页
+     */
+    Page<ExportExpenditureTypeDetalsSZDto> findMyIncomeAndExpensesAmountNewByUserId(@Param("page") Page<ExportExpenditureTypeDetalsSZDto> page, @Param("vo") MyCollectInAdvanceQueryNewDto myCollectInAdvanceQueryNewDto);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 18:38
+     *  @Description: 导出
+     */
+    List<ExportExpenditureTypeDetalsSZDto> exportMyIncomeAndExpensesAmountNewByUserId(@Param("vo") MyCollectInAdvanceQueryNewDto myCollectInAdvanceQueryNewDto);
 }
 
 

+ 117 - 0
src/main/java/com/ydtech/modules/admin/model/dto/ExportExpenditureTypeDetalsDto.java

@@ -0,0 +1,117 @@
+package com.ydtech.modules.admin.model.dto;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ *  @version
+ *  @author: hxl
+ *  @Date: 2024/6/19 10:04
+ *  @Description: 支出明细列表导出
+ */
+@Data
+@ApiModel("预收车险导出对象")
+public class ExportExpenditureTypeDetalsDto {
+
+    /***
+     * 订单号
+     */
+    @ExcelProperty("任务号")
+    @ApiModelProperty(value = "任务号")
+    private String  orderNo;
+
+    /***
+     * 订单号
+     */
+    @ExcelProperty("订单号")
+    @ApiModelProperty(value = "订单号")
+    private String  subOrderNo;
+
+    /***
+     * 承保时间
+     */
+    @ExcelProperty("签单时间")
+    @ApiModelProperty(value = "签单时间")
+    private String  signingTime;
+
+    /***
+     * 代理人工号
+     */
+    @ExcelProperty("代理人工号")
+    @ApiModelProperty(value = "代理人工号")
+    private String  userId;
+    /***
+     * 承保时间
+     */
+    @ExcelProperty("代理人姓名")
+    @ApiModelProperty(value = "代理人姓名")
+    private String  userName;
+
+    /***
+     * 车牌
+     */
+    @ExcelProperty("车牌")
+    @ApiModelProperty(value = "车牌")
+    private String licenseNo;
+
+    @ExcelProperty("交强保单号")
+    @ApiModelProperty(value = "交强保单号")
+    private String jqapplyno;
+
+
+    @ExcelProperty("商业保单号")
+    @ApiModelProperty(value = "商业保单号")
+    private String syapplyno;
+
+    /***
+     * 车架号
+     */
+    @ExcelProperty("车架号")
+    @ApiModelProperty(value = "车架号")
+    private String frameNo;
+
+
+    /***
+     * 发动机号
+     */
+    @ExcelProperty("发动机号")
+    @ApiModelProperty(value = "发动机号")
+    private String engineNo;
+
+    @ExcelProperty("投保险种")
+    @ApiModelProperty(value = "投保险种")
+    private String productId;
+
+
+    @ExcelProperty("投保人姓名")
+    @ApiModelProperty(value = "投保人姓名")
+    private String insuredName;
+
+    @ExcelProperty("保险公司")
+    @ApiModelProperty(value = "保险公司")
+    private String companyName;
+
+    /***
+     * 金额
+     */
+    @ExcelProperty("交易金额")
+    @ApiModelProperty(value = "交易金额")
+    private BigDecimal amount;
+
+    /***
+     *   未审核 0 已审核 1
+     */
+    @ExcelProperty("审核状态")
+    @ApiModelProperty(value = "审核状态")
+    private String auditstatus;
+
+    @ExcelProperty("审核时间")
+    @ApiModelProperty(value = "审核时间")
+    private String auditTime;
+
+
+}

+ 96 - 0
src/main/java/com/ydtech/modules/admin/model/dto/ExportExpenditureTypeDetalsSZDto.java

@@ -0,0 +1,96 @@
+package com.ydtech.modules.admin.model.dto;
+
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ *  @version
+ *  @author: hxl
+ *  @Date: 2024/6/19 10:04
+ *  @Description: 支出明细列表导出
+ */
+@Data
+@ApiModel("收支导出对象")
+public class ExportExpenditureTypeDetalsSZDto {
+
+    /***
+     * 订单号
+     */
+    @ExcelProperty("订单号")
+    @ApiModelProperty(value = "订单号")
+    private String  subOrderNo;
+
+    /***
+     * 创建时间
+     */
+    @ExcelProperty("交易时间")
+    @ApiModelProperty(value = "交易时间")
+    private String   createTime;
+
+    /***
+     * 交易号
+     */
+    @ExcelProperty("交易号")
+    @ApiModelProperty(value = "交易号")
+    private String  auditiingId;
+
+    @ExcelProperty("车牌")
+    @ApiModelProperty(value = "车牌")
+    private String licenseNo;
+
+    @ExcelProperty("业务板块")
+    @ApiModelProperty(value = "业务板块")
+    private String businessSegmentsType;
+
+    @ExcelProperty(value = "交易类型")
+    @ApiModelProperty(value = "交易类型")
+    private String  transactionType;
+
+
+    /***
+     * 金额
+     */
+    @ExcelProperty("交易金额")
+    @ApiModelProperty(value = "交易金额")
+    private BigDecimal amount;
+
+
+
+    @ExcelProperty("提现状态")
+    @ApiModelProperty(value = "提现状态  1 提现申请  2.处理中 3.提现失败  4.提现成功")
+    private String auditingStatus;
+
+    @ExcelProperty("收支类型")
+    @ApiModelProperty(value = "收支类型")
+    private String  incomeAndExpensesType;
+    /***
+     * 承保时间
+     */
+    @ExcelIgnore
+    @ApiModelProperty(value = "承保时间")
+    private String  signingTime;
+    /***
+     * 支出/收入id
+     */
+    @ExcelIgnore
+    @ApiModelProperty(value = "支出/收入id")
+    private String  id;
+    /***
+     * 代理人工号
+     */
+    @ExcelIgnore
+    @ApiModelProperty(value = "代理人工号")
+    private String  userId;
+    /***
+     * 承保时间
+     */
+    @ExcelIgnore
+    @ApiModelProperty(value = "代理人姓名")
+    private String  userName;
+
+}

+ 86 - 0
src/main/java/com/ydtech/modules/admin/model/dto/ExportExpenditureTypeDetalsTGDto.java

@@ -0,0 +1,86 @@
+package com.ydtech.modules.admin.model.dto;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ *  @version
+ *  @author: hxl
+ *  @Date: 2024/6/19 10:04
+ *  @Description: 支出明细列表导出
+ */
+@Data
+@ApiModel("推广导出对象")
+public class ExportExpenditureTypeDetalsTGDto {
+
+    /***
+     * 订单号
+     */
+    @ExcelProperty("订单号")
+    @ApiModelProperty(value = "订单号")
+    private String  subOrderNo;
+
+    /***
+     * 承保时间
+     */
+    @ExcelProperty("承保时间")
+    @ApiModelProperty(value = "承保时间")
+    private String  signingTime;
+    /***
+     * 车牌
+     */
+    @ExcelProperty("车牌")
+    @ApiModelProperty(value = "车牌")
+    private String licenseNo;
+    /***
+     * 实收金额
+     */
+    @ExcelProperty("实收金额")
+    @ApiModelProperty(value = "实收金额")
+    private BigDecimal amount;
+
+    @ExcelProperty("交强险")
+    @ApiModelProperty("交强险")
+    private BigDecimal jqpremium;
+
+    @ExcelProperty("商业险")
+    @ApiModelProperty("商业险")
+    private BigDecimal sypremium;
+
+    @ExcelProperty("驾意险")
+    @ApiModelProperty("驾意险")
+    private BigDecimal jypremium;
+    /***
+     * 代理人工号
+     */
+    @ExcelProperty("代理人工号")
+    @ApiModelProperty(value = "代理人工号")
+    private String  userId;
+    /***
+     * 代理人姓名
+     */
+    @ExcelProperty("代理人姓名")
+    @ApiModelProperty(value = "代理人姓名")
+    private String  userName;
+
+    @ExcelProperty("代理人级别")
+    @ApiModelProperty(value = "代理人级别")
+    private String  userLevel;
+
+    /***
+     *   未审核 0 已审核 1
+     */
+    @ExcelProperty("审核状态")
+    @ApiModelProperty(value = "审核状态")
+    private String auditstatus;
+
+    @ExcelProperty("审核时间")
+    @ApiModelProperty(value = "审核时间")
+    private String auditTime;
+
+
+}

+ 3 - 0
src/main/java/com/ydtech/modules/admin/model/dto/MyCollectInAdvanceQueryDto.java

@@ -51,4 +51,7 @@ public class MyCollectInAdvanceQueryDto {
 
     @ApiModelProperty(value = "页数")
     private int pageNum;
+
+    @ApiModelProperty(value = "审核")
+    private String auditstatus;
 }

+ 66 - 0
src/main/java/com/ydtech/modules/admin/model/dto/MyCollectInAdvanceQueryNewDto.java

@@ -0,0 +1,66 @@
+package com.ydtech.modules.admin.model.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ *  @version
+ *  @author: hxl
+ *  @Date: 2024/6/19 9:55
+ *  @Description: 预收明细查询对象
+ */
+@Data
+@ApiModel("预收明细查询对象")
+public class MyCollectInAdvanceQueryNewDto {
+    /***
+     *   用户id
+     */
+    @ApiModelProperty(value = "用户id")
+    private String userId;
+    /***
+     *   业务版块类型
+     */
+    @ApiModelProperty(value = "业务版块类型")
+    private String businessSegmentsType;
+    /***
+     *  交易类型
+     */
+    @ApiModelProperty(value = "交易类型")
+    private String  transactionType;
+    /***
+     *  时间筛选类型  0.全部  1.一周内  2. 一月内  3. 三月内  4. 六月内
+     */
+    @ApiModelProperty(value = "时间筛选类型 0.全部  1.一周内  2. 一月内  3. 三月内  4. 六月内")
+    private String  dateQueryType;
+    /***
+     * 开始时间
+     */
+    @ApiModelProperty(value = "开始时间")
+    private String startDate;
+
+    /***
+     * 结束时间
+     */
+    @ApiModelProperty(value = "结束时间")
+    private String endDate;
+
+
+    @ApiModelProperty(value = "每页页数")
+    private int pageSize;
+
+    @ApiModelProperty(value = "页数")
+    private int pageNum;
+
+    /***
+     * 车牌
+     */
+    @ApiModelProperty(value = "车牌")
+    private String licenseNo;
+
+    /***
+     *  交易类型
+     */
+    @ApiModelProperty(value = "收支类型")
+    private String incomeAndExpensesType;
+}

+ 118 - 0
src/main/java/com/ydtech/modules/admin/model/dto/MyInsuranceQueryDto.java

@@ -0,0 +1,118 @@
+package com.ydtech.modules.admin.model.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ *  @version
+ *  @author: hxl
+ *  @Date: 2024/6/19 9:55
+ *  @Description: 预收明细查询对象
+ */
+@Data
+@ApiModel("车险查询对象")
+public class MyInsuranceQueryDto {
+    /***
+     * 用户id
+     */
+    @ApiModelProperty(value = "用户id")
+    private String  userId;
+    /***
+     * 订单号
+     */
+    @ApiModelProperty(value = "任务号")
+    private String  orderNo;
+
+    /***
+     * 订单号
+     */
+    @ApiModelProperty(value = "订单号")
+    private String  subOrderNo;
+
+    /***
+     * 代理人工号
+     */
+    @ApiModelProperty(value = "代理人工号")
+    private String  userDLId;
+    /***
+     * 承保时间
+     */
+    @ApiModelProperty(value = "代理人姓名")
+    private String  userDLName;
+
+    /***
+     * 车牌
+     */
+    @ApiModelProperty(value = "车牌")
+    private String licenseNo;
+
+    /***
+     * 车驾号
+     */
+    @ApiModelProperty(value = "车驾号")
+    private String frameNo;
+
+
+    /***
+     * 发动机号
+     */
+    @ApiModelProperty(value = "发动机号")
+    private String engineNo;
+
+
+    @ApiModelProperty(value = "投保险种")
+    private String productId;
+
+
+
+    @ApiModelProperty(value = "投保人姓名")
+    private String insuredName;
+
+    @ApiModelProperty(value = "保险公司")
+    private String companyId;
+    /***
+     * 开始时间
+     */
+    @ApiModelProperty(value = "开始时间")
+    private String startDate;
+
+    /***
+     * 结束时间
+     */
+    @ApiModelProperty(value = "结束时间")
+    private String endDate;
+
+
+    @ApiModelProperty(value = "每页页数")
+    private int pageSize;
+
+    @ApiModelProperty(value = "页数")
+    private int pageNum;
+
+    /***
+     *   未审核 0 已审核 1
+     */
+    @ApiModelProperty(value = "未审核 0 已审核 1")
+    private String auditstatus;
+
+    /***
+     * 业务员工号
+     */
+    @ApiModelProperty(value = "业务员工号")
+    private String  salesmanId;
+    /***
+     * 承保时间
+     */
+    @ApiModelProperty(value = "业务员姓名")
+    private String  salesmanName;
+
+
+
+    @ApiModelProperty(value = "交强保单号")
+    private String jqapplyno;
+
+
+    @ApiModelProperty(value = "商业保单号")
+    private String syapplyno;
+}

+ 65 - 0
src/main/java/com/ydtech/modules/admin/model/dto/MyInsuranceTgQueryDto.java

@@ -0,0 +1,65 @@
+package com.ydtech.modules.admin.model.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ *  @version
+ *  @author: hxl
+ *  @Date: 2024/6/19 9:55
+ *  @Description: 预收明细查询对象
+ */
+@Data
+@ApiModel("车险查询对象")
+public class MyInsuranceTgQueryDto {
+
+    @ApiModelProperty(value = "订单号")
+    private String  subOrderNo;
+
+    /***
+     *   用户id
+     */
+    @ApiModelProperty(value = "用户id")
+    private String userId;
+    /***
+     * 开始时间
+     */
+    @ApiModelProperty(value = "开始时间")
+    private String startDate;
+    /***
+     * 结束时间
+     */
+    @ApiModelProperty(value = "结束时间")
+    private String endDate;
+
+
+    @ApiModelProperty(value = "每页页数")
+    private int pageSize;
+
+    @ApiModelProperty(value = "页数")
+    private int pageNum;
+
+    /***
+     *   未审核 0 已审核 1
+     */
+    @ApiModelProperty(value = "未审核 0 已审核 1")
+    private String auditstatus;
+
+
+
+    @ApiModelProperty(value = "车牌号")
+    private String licenseNo;
+
+    /***
+     *   用户id
+     */
+    @ApiModelProperty(value = "代理人工号")
+    private String userDLId;
+
+    /***
+     *   用户id
+     */
+    @ApiModelProperty(value = "代理人姓名")
+    private String userDLName;
+}

+ 92 - 0
src/main/java/com/ydtech/modules/admin/model/dto/MySumAmountDto.java

@@ -0,0 +1,92 @@
+package com.ydtech.modules.admin.model.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ *  @version
+ *  @author: hxl
+ *  @Date: 2024/6/19 9:55
+ *  @Description: 预收明细查询对象
+ */
+@Data
+@ApiModel("账户首页显示对象")
+public class MySumAmountDto {
+    /***
+     * 车险(预收)
+     */
+    @ApiModelProperty(value = "车险(预收)")
+    private BigDecimal advanceCarInsuranceAmount;
+
+    /***
+     * 车险(实收)
+     */
+    @ApiModelProperty(value = "车险(实收)")
+    private BigDecimal paidUpCarInsuranceAmount;
+
+
+    /***
+     * 车险收益
+     */
+    @ApiModelProperty(value = "车险收益")
+    private BigDecimal sumCarInsuranceAmount;
+
+
+    /***
+     * 推广费(预收)
+     */
+    @ApiModelProperty(value = "推广费(预收)")
+    private BigDecimal advanceCollectionPromotionFeesAmount;
+
+    /***
+     * 推广费(实收)
+     */
+    @ApiModelProperty(value = "推广费(实收)")
+    private BigDecimal paidPromotionFeesAmount;
+
+
+    /***
+     * 车险收益
+     */
+    @ApiModelProperty(value = "推广费收益")
+    private BigDecimal sumPromotionFeesAmount;
+
+
+    /***
+     * 推广费(预收)
+     */
+    @ApiModelProperty(value = "已提现")
+    private BigDecimal withdrawnAmount;
+
+    /***
+     * 推广费(实收)
+     */
+    @ApiModelProperty(value = "可提现")
+    private BigDecimal withdrawableAmount;
+
+
+    /***
+     * 车险收益
+     */
+    @ApiModelProperty(value = "车险推广费合计收益")
+    private BigDecimal sumDrawAmount;
+
+
+    public MySumAmountDto() {
+    }
+
+    public MySumAmountDto(BigDecimal advanceCarInsuranceAmount, BigDecimal paidUpCarInsuranceAmount, BigDecimal sumCarInsuranceAmount, BigDecimal advanceCollectionPromotionFeesAmount, BigDecimal paidPromotionFeesAmount, BigDecimal sumPromotionFeesAmount, BigDecimal withdrawnAmount, BigDecimal withdrawableAmount, BigDecimal sumDrawAmount) {
+        this.advanceCarInsuranceAmount = advanceCarInsuranceAmount;
+        this.paidUpCarInsuranceAmount = paidUpCarInsuranceAmount;
+        this.sumCarInsuranceAmount = sumCarInsuranceAmount;
+        this.advanceCollectionPromotionFeesAmount = advanceCollectionPromotionFeesAmount;
+        this.paidPromotionFeesAmount = paidPromotionFeesAmount;
+        this.sumPromotionFeesAmount = sumPromotionFeesAmount;
+        this.withdrawnAmount = withdrawnAmount;
+        this.withdrawableAmount = withdrawableAmount;
+        this.sumDrawAmount = sumDrawAmount;
+    }
+}

+ 40 - 0
src/main/java/com/ydtech/modules/admin/model/dto/MySumAmountQueryDto.java

@@ -0,0 +1,40 @@
+package com.ydtech.modules.admin.model.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ *  @version
+ *  @author: hxl
+ *  @Date: 2024/6/19 9:55
+ *  @Description: 预收明细查询对象
+ */
+@Data
+@ApiModel("账户首页查询对象")
+public class MySumAmountQueryDto {
+    /***
+     *   用户id
+     */
+    @ApiModelProperty(value = "用户id")
+    private String userId;
+    /***
+     * 开始时间
+     */
+    @ApiModelProperty(value = "开始时间")
+    private String startDate;
+
+    /***
+     * 结束时间
+     */
+    @ApiModelProperty(value = "结束时间")
+    private String endDate;
+
+
+    /***
+     *   预收、实收
+     */
+   // @ApiModelProperty(value = "预收 0 实收 1")
+    private String auditstatus;
+
+}

+ 17 - 0
src/main/java/com/ydtech/modules/admin/service/SysUserAccountHistoryService.java

@@ -2,13 +2,16 @@ package com.ydtech.modules.admin.service;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.ydtech.modules.admin.model.dto.ExportExpenditureTypeDetalsSZDto;
 import com.ydtech.modules.admin.model.dto.MyCollectInAdvanceDto;
+import com.ydtech.modules.admin.model.dto.MyCollectInAdvanceQueryNewDto;
 import com.ydtech.modules.admin.model.dto.MyIncomeAndExpensesQueryDto;
 import com.ydtech.modules.admin.model.po.SysUserAccountHistory;
 import com.ydtech.modules.admin.model.vo.SysUserAccountHistoryVo;
 import com.ydtech.modules.order.entity.BasePageResult;
 
 import java.math.BigDecimal;
+import java.util.List;
 
 /**
 * @author Administrator
@@ -54,4 +57,18 @@ public interface SysUserAccountHistoryService extends IService<SysUserAccountHis
      *  @Description:  用户id查询(手续+跟单)-(推广费) 的总费用
      */
     BigDecimal findSumAmountByUserId(String userId,String type);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 18:36
+     *  @Description: 查询收支明细数据新
+     */
+    Page<ExportExpenditureTypeDetalsSZDto> findMyIncomeAndExpensesAmountNewByUserId(Page<ExportExpenditureTypeDetalsSZDto> page, MyCollectInAdvanceQueryNewDto myCollectInAdvanceQueryNewDto);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 18:37
+     *  @Description: 导出收支明细数据
+     */
+    List<ExportExpenditureTypeDetalsSZDto> exportMyIncomeAndExpensesAmountNewByUserId(MyCollectInAdvanceQueryNewDto myCollectInAdvanceQueryNewDto);
 }

+ 50 - 0
src/main/java/com/ydtech/modules/admin/service/SysUserAccountService.java

@@ -10,6 +10,7 @@ import com.ydtech.modules.admin.model.vo.SysUserAccountVo;
 import com.ydtech.modules.order.entity.BasePageResult;
 
 import java.math.BigDecimal;
+import java.util.List;
 
 /**
 * @author Administrator
@@ -82,4 +83,53 @@ public interface SysUserAccountService extends IService<SysUserAccount> {
      *  @Description: 查看退款详情
      */
     RefundDetalsDto findRefundDetailById(String id);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 15:27
+     *  @Description: 预收车险明细
+     */
+    BasePageResult<ExportExpenditureTypeDetalsDto> findMyInsuranceByUserId(MyInsuranceQueryDto myInsuranceQueryDto);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 17:36
+     *  @Description:  预收推广明细
+     */
+    BasePageResult<ExportExpenditureTypeDetalsTGDto> findMyInsuranceTGByUserId(MyInsuranceTgQueryDto myInsuranceTgQueryDto);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 17:56
+     *  @Description:  导出查询预收车险明细
+     */
+    List<ExportExpenditureTypeDetalsDto> exportMyInsuranceByUserId(MyInsuranceQueryDto myInsuranceQueryDto);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 17:57
+     *  @Description:  导出查询推广费明细
+     */
+    List<ExportExpenditureTypeDetalsTGDto> exportMyInsuranceTGByUserId(MyInsuranceTgQueryDto myInsuranceTgQueryDto);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 18:24
+     *  @Description:  收支明细查询
+     */
+    BasePageResult<ExportExpenditureTypeDetalsSZDto> findMyIncomeAndExpensesNewByUserId(MyCollectInAdvanceQueryNewDto myCollectInAdvanceQueryNewDto);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 18:27
+     *  @Description: 查询导出收支明细
+     */
+    List<ExportExpenditureTypeDetalsSZDto> exportMyIncomeAndExpensesNewByUserId(MyCollectInAdvanceQueryNewDto myCollectInAdvanceQueryNewDto);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 18:54
+     *  @Description: 查询我的账户页面总金额
+     */
+    MySumAmountDto findMyAmount(MySumAmountQueryDto mySumAmountQueryDto);
 }

+ 141 - 0
src/main/java/com/ydtech/modules/admin/service/SysUserAccountService2.java

@@ -0,0 +1,141 @@
+package com.ydtech.modules.admin.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ydtech.core.page.HttpResult;
+import com.ydtech.modules.admin.model.dto.*;
+import com.ydtech.modules.admin.model.po.SysUserAccount;
+import com.ydtech.modules.admin.model.vo.SubOrder;
+import com.ydtech.modules.admin.model.vo.SysUserAccountVo;
+import com.ydtech.modules.order.entity.BasePageResult;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+* @author Administrator
+* @description 针对表【sys_user_account(用户账户表)】的数据库操作Service
+* @createDate 2024-03-05 11:47:38
+*/
+public interface SysUserAccountService2 extends IService<SysUserAccount> {
+
+    void addOrUpdate(SysUserAccount sysUserAccount);
+
+    BasePageResult<SysUserAccount> queryByVo(SysUserAccountVo sysUserAccountVo);
+
+    BasePageResult<SysUserAccount> queryByVo1(SysUserAccountVo sysUserAccountVo);
+
+    HttpResult<Object> inert(SysUserAccountVo sysUserAccountVo);
+
+    HttpResult withdraw(SysUserAccountVo sysUserAccountVo);
+
+    SysUserAccount getSysUserAmount(String userid);
+
+    SysUserAccountVo getSysAllAmount(String userId);
+
+    SysUserAccountVo getInsOrders(SysUserAccountVo sysUserAccountVo);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/3 15:16
+     *  @Description: 查询子订单的详情页面
+     */
+    SubOrder getSubOrderDetails(String subOrderId,String userId);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/19 9:03
+     *  @Description: 查询我的账户总金额
+     */
+    BigDecimal getUserSumAmountByUserId(String userId);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/19 10:59
+     *  @Description: 查询预收明细
+     */
+    MyCollectInAdvanceAllDto findMyCollectInAdvanceByUserId(MyCollectInAdvanceQueryDto myCollectInAdvanceQueryDto);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/19 10:59
+     *  @Description: 查询收支明细
+     */
+    MyCollectInAdvanceAllDto findIncomeAndExpensesByUserId(MyIncomeAndExpensesQueryDto myIncomeAndExpensesQueryDto);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/19 20:24
+     *  @Description: 通过id查询详情
+     */
+    WithdrawalDetalsDto findDetailById(String id);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/20 10:10
+     *  @Description:  获取订单的详情
+     */
+    OrderDetalsDto findOrderDetailById(String subOrderId);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/21 18:25
+     *  @Description: 查看退款详情
+     */
+    RefundDetalsDto findRefundDetailById(String id);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 9:51
+     *  @Description: 导出分页
+     */
+    List<ExportIncomeTypeDetalsDto> expeortYsOrSsByUserIdAndQuery(MyCollectInAdvanceQueryDto myCollectInAdvanceQueryDto);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 15:27
+     *  @Description: 预收车险明细
+     */
+    BasePageResult<ExportExpenditureTypeDetalsDto> findMyInsuranceByUserId(MyInsuranceQueryDto myInsuranceQueryDto);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 17:36
+     *  @Description:  预收推广明细
+     */
+    BasePageResult<ExportExpenditureTypeDetalsTGDto> findMyInsuranceTGByUserId(MyInsuranceTgQueryDto myInsuranceTgQueryDto);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 17:56
+     *  @Description:  查询预收车险明细
+     */
+    List<ExportExpenditureTypeDetalsDto> exportMyInsuranceByUserId(MyInsuranceQueryDto myInsuranceQueryDto);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 17:57
+     *  @Description:  查询推广费明细
+     */
+    List<ExportExpenditureTypeDetalsTGDto> exportMyInsuranceTGByUserId(MyInsuranceTgQueryDto myInsuranceTgQueryDto);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 18:24
+     *  @Description:  收支查询
+     */
+    BasePageResult<ExportExpenditureTypeDetalsSZDto> findMyIncomeAndExpensesNewByUserId(MyCollectInAdvanceQueryNewDto myCollectInAdvanceQueryNewDto);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 18:27
+     *  @Description: 导出
+     */
+    List<ExportExpenditureTypeDetalsSZDto> exportMyIncomeAndExpensesNewByUserId(MyCollectInAdvanceQueryNewDto myCollectInAdvanceQueryNewDto);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 18:54
+     *  @Description: 查询页面总金额
+     */
+    MySumAmountDto findMyAmount(MySumAmountQueryDto mySumAmountQueryDto);
+}

+ 29 - 1
src/main/java/com/ydtech/modules/admin/service/impl/SysUserAccountHistoryServiceImpl.java

@@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ydtech.modules.admin.dao.SysUserAccountHistoryMapper;
+import com.ydtech.modules.admin.model.dto.ExportExpenditureTypeDetalsSZDto;
 import com.ydtech.modules.admin.model.dto.MyCollectInAdvanceDto;
+import com.ydtech.modules.admin.model.dto.MyCollectInAdvanceQueryNewDto;
 import com.ydtech.modules.admin.model.dto.MyIncomeAndExpensesQueryDto;
 import com.ydtech.modules.admin.model.po.SysUserAccountHistory;
 import com.ydtech.modules.admin.model.vo.SysUserAccountHistoryVo;
@@ -18,6 +20,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
+import java.util.List;
 
 /**
  * @author Administrator
@@ -103,11 +106,36 @@ public class SysUserAccountHistoryServiceImpl extends ServiceImpl<SysUserAccount
     public BigDecimal findSumAmount(MyIncomeAndExpensesQueryDto myIncomeAndExpensesQueryDto) {
         return baseMapper.findSumAmount(myIncomeAndExpensesQueryDto);
     }
-
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/7/1 9:12
+     *  @Description:  查询手续费+跟单 / 推广费的总金额
+     */
     @Override
     public BigDecimal findSumAmountByUserId(String userId,String types) {
         return baseMapper.findSumAmountByUserId(userId,types);
     }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/7/1 9:11
+     *  @Description:  查询收支明细
+     */
+    @Override
+    public Page<ExportExpenditureTypeDetalsSZDto> findMyIncomeAndExpensesAmountNewByUserId(Page<ExportExpenditureTypeDetalsSZDto> page, MyCollectInAdvanceQueryNewDto myCollectInAdvanceQueryNewDto) {
+        return baseMapper.findMyIncomeAndExpensesAmountNewByUserId(page,myCollectInAdvanceQueryNewDto);
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/7/1 9:13
+     *  @Description: 查询导出收支明细
+     */
+    @Override
+    public List<ExportExpenditureTypeDetalsSZDto> exportMyIncomeAndExpensesAmountNewByUserId(MyCollectInAdvanceQueryNewDto myCollectInAdvanceQueryNewDto) {
+        return baseMapper.exportMyIncomeAndExpensesAmountNewByUserId(myCollectInAdvanceQueryNewDto);
+    }
 
 
 }

+ 261 - 0
src/main/java/com/ydtech/modules/admin/service/impl/SysUserAccountServiceImpl.java

@@ -10,6 +10,7 @@ import com.ydtech.exception.SystemException;
 import com.ydtech.modules.admin.constants.MoneyAttrConstants;
 import com.ydtech.modules.admin.constants.WithdrawTypeConstants;
 import com.ydtech.modules.admin.dao.SysUserAccountMapper;
+import com.ydtech.modules.admin.dao.SysUserMapper;
 import com.ydtech.modules.admin.model.SysUser;
 import com.ydtech.modules.admin.model.dto.*;
 import com.ydtech.modules.admin.model.po.*;
@@ -82,6 +83,9 @@ public class SysUserAccountServiceImpl extends ServiceImpl<SysUserAccountMapper,
     @Autowired
     private SysAmountAuditingHistoryService sysAmountAuditingHistoryService;
 
+    @Autowired
+    private SysUserMapper sysUserMapper;
+
     @Override
     @Transactional
     public void addOrUpdate(SysUserAccount sysUserAccount) {
@@ -1163,4 +1167,261 @@ public class SysUserAccountServiceImpl extends ServiceImpl<SysUserAccountMapper,
         String dateStr = sdf.format(his.getCreateTime());
         return new RefundDetalsDto(dateStr,his.getAmount(),his.getAuditiingId());
     }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 15:28
+     *  @Description:  查询车险明细
+     */
+    @Override
+    public BasePageResult<ExportExpenditureTypeDetalsDto> findMyInsuranceByUserId(MyInsuranceQueryDto myInsuranceQueryDto) {
+        Page<ExportExpenditureTypeDetalsDto> page = new Page<>(myInsuranceQueryDto.getPageNum(),
+                myInsuranceQueryDto.getPageSize());
+        List<String> userList = getStrings(myInsuranceQueryDto);
+        Page<ExportExpenditureTypeDetalsDto> pageList=insFeeOrderNewService.findMyInsuranceByUserId(page,myInsuranceQueryDto,userList);
+
+        BasePageResult<ExportExpenditureTypeDetalsDto> result = new BasePageResult<>(myInsuranceQueryDto.getPageNum(), myInsuranceQueryDto.getPageSize(), pageList.getTotal(),
+                pageList.getPages()
+                , pageList.getRecords());
+        return  result;
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 17:59
+     *  @Description:  获取渠道团队长管理的下级人
+     */
+    private List<String> getStrings(MyInsuranceQueryDto myInsuranceQueryDto) {
+        //查询当前管理的代理人信息
+        LambdaQueryWrapper<SysUser> lqw = new LambdaQueryWrapper<>();
+        lqw.eq(SysUser::getStatus, 1);
+        lqw.eq(SysUser::getOperatorCode, myInsuranceQueryDto.getUserId());
+        List<SysUser> users= sysUserMapper.selectList(lqw);
+        List<String> userList=new ArrayList<>();
+        if(users!=null && users.size()>0){
+            for(SysUser user: users){
+                userList.add(user.getId());
+            }
+        }
+        return userList;
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 18:05
+     *  @Description: 查询推广费分页
+     */
+    @Override
+    public BasePageResult<ExportExpenditureTypeDetalsTGDto> findMyInsuranceTGByUserId(MyInsuranceTgQueryDto myInsuranceTgQueryDto) {
+        Page<ExportExpenditureTypeDetalsTGDto> page = new Page<>(myInsuranceTgQueryDto.getPageNum(),
+                myInsuranceTgQueryDto.getPageSize());
+        Page<ExportExpenditureTypeDetalsTGDto> pageList=insFeeOrderNewService.findMyInsuranceTGByUserId(page,myInsuranceTgQueryDto);
+        BasePageResult<ExportExpenditureTypeDetalsTGDto> result = new BasePageResult<>(myInsuranceTgQueryDto.getPageNum(), myInsuranceTgQueryDto.getPageSize(), pageList.getTotal(),
+                pageList.getPages()
+                , pageList.getRecords());
+        return  result;
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 18:05
+     *  @Description: 查询车险导出数据
+     */
+    @Override
+    public List<ExportExpenditureTypeDetalsDto> exportMyInsuranceByUserId(MyInsuranceQueryDto myInsuranceQueryDto) {
+        List<String> userList = getStrings(myInsuranceQueryDto);
+        return insFeeOrderNewService.exportMyInsuranceByUserId(myInsuranceQueryDto,userList);
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 18:05
+     *  @Description: 查询推广导出数据
+     */
+    @Override
+    public List<ExportExpenditureTypeDetalsTGDto> exportMyInsuranceTGByUserId(MyInsuranceTgQueryDto myInsuranceTgQueryDto) {
+        return insFeeOrderNewService.exportMyInsuranceTGByUserId(myInsuranceTgQueryDto);
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/7/1 9:02
+     *  @Description:  查询收支明细数据
+     */
+    @Override
+    public BasePageResult<ExportExpenditureTypeDetalsSZDto> findMyIncomeAndExpensesNewByUserId(MyCollectInAdvanceQueryNewDto myCollectInAdvanceQueryNewDto) {
+        //校验数据
+        myCollectInAdvanceQueryNewDto = checkData(myCollectInAdvanceQueryNewDto);
+        Page<ExportExpenditureTypeDetalsSZDto> page = new Page<>(myCollectInAdvanceQueryNewDto.getPageNum(), myCollectInAdvanceQueryNewDto.getPageSize());
+        Page<ExportExpenditureTypeDetalsSZDto> orderVoPage = sysUserAccountHistoryService.findMyIncomeAndExpensesAmountNewByUserId(page,myCollectInAdvanceQueryNewDto);
+        List<ExportExpenditureTypeDetalsSZDto> recordsNew =new ArrayList<>();
+        //格式化数据
+        if(orderVoPage.getRecords()!=null && orderVoPage.getRecords().size()>0){
+            for(ExportExpenditureTypeDetalsSZDto dto :orderVoPage.getRecords()) {
+                //车险的显示且收入
+                if ("1".equals(dto.getBusinessSegmentsType()) && "2".equals(dto.getIncomeAndExpensesType())) {
+                    if ("4".equals(dto.getTransactionType())) {
+                        dto.setTransactionType("1");
+                    } else if ("3".equals(dto.getTransactionType())) {
+                        dto.setTransactionType("2");
+                    }
+                    dto.setIncomeAndExpensesType("1");
+                    //退款 且退款
+                } else if ("2".equals(dto.getBusinessSegmentsType()) && "2".equals(dto.getIncomeAndExpensesType())){
+                    dto.setIncomeAndExpensesType("1");
+                    dto.setTransactionType("4");
+                    //退款设置为空
+                    dto.setAuditingStatus("");
+                    //提现
+                }else if("6".equals(dto.getTransactionType()) && "1".equals(dto.getIncomeAndExpensesType())){
+                    dto.setIncomeAndExpensesType("2");
+                    dto.setTransactionType("3");
+                }
+                recordsNew.add(dto);
+            }
+        }
+        orderVoPage.setRecords(recordsNew);
+        return  new BasePageResult<>(myCollectInAdvanceQueryNewDto.getPageNum(), myCollectInAdvanceQueryNewDto.getPageSize(), orderVoPage.getTotal(),
+                orderVoPage.getPages()
+                , orderVoPage.getRecords());
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/7/1 9:06
+     *  @Description:  校验数据
+     */
+    private static MyCollectInAdvanceQueryNewDto checkData(MyCollectInAdvanceQueryNewDto myCollectInAdvanceQueryNewDto) {
+        if (StringUtils.isBlank(myCollectInAdvanceQueryNewDto.getUserId())) {
+            throw new SystemException("用户id-userId不能为空");
+        }
+        //判断时间类型  1.一周内  2. 一月内  3. 三月内  4. 三月内
+        HashMap<String, String> dateMap = getDateMapByType(myCollectInAdvanceQueryNewDto.getDateQueryType(), myCollectInAdvanceQueryNewDto.getStartDate(), myCollectInAdvanceQueryNewDto.getEndDate());
+        myCollectInAdvanceQueryNewDto.setStartDate(dateMap.get("startDate"));
+        myCollectInAdvanceQueryNewDto.setEndDate(dateMap.get("endDate"));
+        if ("0".equals(myCollectInAdvanceQueryNewDto.getBusinessSegmentsType())) {
+            myCollectInAdvanceQueryNewDto.setBusinessSegmentsType(null);
+        }
+        if ("0".equals(myCollectInAdvanceQueryNewDto.getTransactionType())) {
+            myCollectInAdvanceQueryNewDto.setTransactionType(null);
+        }
+        if ("0".equals(myCollectInAdvanceQueryNewDto.getIncomeAndExpensesType())) {
+            myCollectInAdvanceQueryNewDto.setIncomeAndExpensesType(null);
+        }
+        // 1为车险板块  1 收入时
+        if ( StringUtils.isNotBlank(myCollectInAdvanceQueryNewDto.getBusinessSegmentsType()) &&   StringUtils.isNotBlank(myCollectInAdvanceQueryNewDto.getIncomeAndExpensesType()) &&"1".equals(myCollectInAdvanceQueryNewDto.getBusinessSegmentsType()) &&"1".equals(myCollectInAdvanceQueryNewDto.getIncomeAndExpensesType())) {
+            //判断收入类型  1 收入
+            if(StringUtils.isNotBlank(myCollectInAdvanceQueryNewDto.getTransactionType())  && "3".equals(myCollectInAdvanceQueryNewDto.getTransactionType())){
+                throw new SystemException("收入类型不能选择提现类型");
+            }
+        }
+        if (StringUtils.isNotBlank(myCollectInAdvanceQueryNewDto.getIncomeAndExpensesType()) &&"2".equals(myCollectInAdvanceQueryNewDto.getIncomeAndExpensesType())) {
+            //判断支出类型
+            if(StringUtils.isNotBlank(myCollectInAdvanceQueryNewDto.getTransactionType())  && !"3".equals(myCollectInAdvanceQueryNewDto.getTransactionType())){
+                throw new SystemException("支出类型不能选择(手续+跟单)或者手续费、退款类型");
+            }
+        }
+        if ( (StringUtils.isNotBlank(myCollectInAdvanceQueryNewDto.getBusinessSegmentsType()) && StringUtils.isNotBlank(myCollectInAdvanceQueryNewDto.getIncomeAndExpensesType()) && "2".equals(myCollectInAdvanceQueryNewDto.getBusinessSegmentsType()) &&"1".equals(myCollectInAdvanceQueryNewDto.getIncomeAndExpensesType()))
+                ||
+                (StringUtils.isNotBlank(myCollectInAdvanceQueryNewDto.getIncomeAndExpensesType()) && ("2".equals(myCollectInAdvanceQueryNewDto.getBusinessSegmentsType())))){
+            //判断退款类型
+            if(StringUtils.isNotBlank(myCollectInAdvanceQueryNewDto.getTransactionType())  &&!"4".equals(myCollectInAdvanceQueryNewDto.getTransactionType())){
+                throw new SystemException("退款板块只能选择退款类型");
+            }
+        }
+        //处理 手续费+跟单、推广费类型转换
+        if (StringUtils.isNotBlank(myCollectInAdvanceQueryNewDto.getTransactionType())  && "2".equals(myCollectInAdvanceQueryNewDto.getTransactionType())) {
+            myCollectInAdvanceQueryNewDto.setTransactionType("3");
+        } else if (StringUtils.isNotBlank(myCollectInAdvanceQueryNewDto.getTransactionType())  &&"1".equals(myCollectInAdvanceQueryNewDto.getTransactionType())) {
+            myCollectInAdvanceQueryNewDto.setTransactionType("4");
+        } else if (StringUtils.isNotBlank(myCollectInAdvanceQueryNewDto.getTransactionType())  &&"4".equals(myCollectInAdvanceQueryNewDto.getTransactionType())) {
+            myCollectInAdvanceQueryNewDto.setTransactionType("5");
+        } else if (StringUtils.isNotBlank(myCollectInAdvanceQueryNewDto.getTransactionType())  &&"3".equals(myCollectInAdvanceQueryNewDto.getTransactionType())) {
+            myCollectInAdvanceQueryNewDto.setTransactionType("6");
+        }
+        //处理收入和支出类型转换
+        if (myCollectInAdvanceQueryNewDto.getIncomeAndExpensesType() != null && "0".equals(myCollectInAdvanceQueryNewDto.getIncomeAndExpensesType())) {
+            myCollectInAdvanceQueryNewDto.setIncomeAndExpensesType(null);
+        } else if (myCollectInAdvanceQueryNewDto.getIncomeAndExpensesType() != null && "1".equals(myCollectInAdvanceQueryNewDto.getIncomeAndExpensesType())) {
+            myCollectInAdvanceQueryNewDto.setIncomeAndExpensesType("2");
+        } else if (myCollectInAdvanceQueryNewDto.getIncomeAndExpensesType() != null && "2".equals(myCollectInAdvanceQueryNewDto.getIncomeAndExpensesType())){
+            myCollectInAdvanceQueryNewDto.setIncomeAndExpensesType("1");
+        }
+        return myCollectInAdvanceQueryNewDto;
+    }
+
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/7/1 9:03
+     *  @Description:  查询导出收支明细
+     */
+    @Override
+    public List<ExportExpenditureTypeDetalsSZDto> exportMyIncomeAndExpensesNewByUserId(MyCollectInAdvanceQueryNewDto myCollectInAdvanceQueryNewDto) {
+        //校验数据
+        myCollectInAdvanceQueryNewDto = checkData(myCollectInAdvanceQueryNewDto);
+        //查询数据
+        List<ExportExpenditureTypeDetalsSZDto> list = sysUserAccountHistoryService.exportMyIncomeAndExpensesAmountNewByUserId(myCollectInAdvanceQueryNewDto);
+        List<ExportExpenditureTypeDetalsSZDto> recordsNew =new ArrayList<>();
+        //格式化数据
+        if(list!=null && list.size()>0){
+            for(ExportExpenditureTypeDetalsSZDto dto :list) {
+                //车险的显示且收入
+                if ("1".equals(dto.getBusinessSegmentsType()) && "2".equals(dto.getIncomeAndExpensesType())) {
+                    if ("4".equals(dto.getTransactionType())) {
+                        dto.setTransactionType("手续费+跟单");
+                    } else if ("3".equals(dto.getTransactionType())) {
+                        dto.setTransactionType("推广");
+                    }
+                    dto.setIncomeAndExpensesType("收入");
+                    dto.setBusinessSegmentsType("车险");
+                    //退款 且退款
+                } else if ("2".equals(dto.getBusinessSegmentsType()) && "2".equals(dto.getIncomeAndExpensesType())){
+                    dto.setIncomeAndExpensesType("收入");
+                    dto.setTransactionType("退款");
+                    //退款设置为空
+                    dto.setAuditingStatus("");
+                    dto.setBusinessSegmentsType("退款");
+                    //提现
+                }else if("6".equals(dto.getTransactionType()) && "1".equals(dto.getIncomeAndExpensesType())){
+                    dto.setIncomeAndExpensesType("收入");
+                    dto.setTransactionType("提现");
+                    dto.setBusinessSegmentsType("车险");
+                }
+                recordsNew.add(dto);
+            }
+        }
+        return  recordsNew;
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 18:55
+     *  @Description:  查询页面总金额
+     */
+    @Override
+    public MySumAmountDto findMyAmount(MySumAmountQueryDto mySumAmountQueryDto) {
+        //查询预收和实收的总金额
+        mySumAmountQueryDto.setAuditstatus("0");
+        BigDecimal ysAmount= insFeeOrderNewService.findMyAmountYSOrSSCXAmount(mySumAmountQueryDto);
+        mySumAmountQueryDto.setAuditstatus("1");
+        BigDecimal ssAmount= insFeeOrderNewService.findMyAmountYSOrSSCXAmount(mySumAmountQueryDto);
+        BigDecimal ysAndSsAmount=ysAmount.add(ssAmount);
+
+        mySumAmountQueryDto.setAuditstatus("0");
+        BigDecimal ysTGAmount= insFeeOrderNewService.findMyAmountYSOrSSTGAmount(mySumAmountQueryDto);
+        mySumAmountQueryDto.setAuditstatus("1");
+        BigDecimal ssTGAmount= insFeeOrderNewService.findMyAmountYSOrSSTGAmount(mySumAmountQueryDto);
+        BigDecimal ysAndSsTGAmount=ysTGAmount.add(ssTGAmount);
+
+        // 已提现金额   查询历史表中的审核状态为3的数据
+        BigDecimal ysTXAmount= insFeeOrderNewService.findMyAmountYTXmount(mySumAmountQueryDto.getUserId());
+        // 可提现金额    查询账户的钱
+        mySumAmountQueryDto.setAuditstatus("1");
+        SysUserAccount sysUserAccountEntity = baseMapper.getById(mySumAmountQueryDto.getUserId());
+        BigDecimal ssKTAmount = sysUserAccountEntity.getSumAmount();
+        BigDecimal sumAmount=ysTXAmount.add(ssKTAmount);
+
+        return new MySumAmountDto(ysAmount,ssAmount,ysAndSsAmount,ysTGAmount,ssTGAmount,ysAndSsTGAmount,ysTXAmount,ssKTAmount,sumAmount);
+    }
 }

+ 57 - 2
src/main/java/com/ydtech/modules/protocols/dao/InsFeeOrderNewMapper.java

@@ -2,8 +2,7 @@ package com.ydtech.modules.protocols.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ydtech.modules.admin.model.dto.MyCollectInAdvanceDto;
-import com.ydtech.modules.admin.model.dto.MyCollectInAdvanceQueryDto;
+import com.ydtech.modules.admin.model.dto.*;
 import com.ydtech.modules.protocols.entity.po.InsFeeOrderNew;
 import org.apache.ibatis.annotations.Param;
 
@@ -96,6 +95,62 @@ public interface InsFeeOrderNewMapper extends BaseMapper<InsFeeOrderNew> {
      *  @Description:  查询手续+跟单费用
      */
     BigDecimal findSumAmount(@Param("myCollectInAdvanceQueryDto") MyCollectInAdvanceQueryDto myCollectInAdvanceQueryDto);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 10:27
+     *  @Description:  导出查询列表
+     */
+    List<ExportIncomeTypeDetalsDto> expeortYsOrSsByUserIdAndQuery(@Param("myCollectInAdvanceQueryDto") MyCollectInAdvanceQueryDto myCollectInAdvanceQueryDto);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 16:00
+     *  @Description:  预收、实收查询明细
+     */
+    Page<ExportExpenditureTypeDetalsDto> findMyInsuranceByUserId(@Param("page") Page<ExportExpenditureTypeDetalsDto> page, @Param("vo") MyInsuranceQueryDto myInsuranceQueryDto, @Param("userList") List<String> userList);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 17:40
+     *  @Description:  推广费
+     */
+    Page<ExportExpenditureTypeDetalsTGDto> findMyInsuranceTGByUserId(@Param("page") Page<ExportExpenditureTypeDetalsTGDto> page, @Param("vo") MyInsuranceTgQueryDto myInsuranceTgQueryDto);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 18:07
+     *  @Description:导出
+     */
+    List<ExportExpenditureTypeDetalsDto> exportMyInsuranceByUserId(@Param("vo") MyInsuranceQueryDto myInsuranceQueryDto, @Param("userList") List<String> userList);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 18:07
+     *  @Description: 导出
+     */
+    List<ExportExpenditureTypeDetalsTGDto> exportMyInsuranceTGByUserId(@Param("vo") MyInsuranceTgQueryDto myInsuranceTgQueryDto);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 19:53
+     *  @Description: 查询车险的预收和实收
+     */
+    BigDecimal findMyAmountYSOrSSCXAmount(@Param("vo") MySumAmountQueryDto mySumAmountQueryDto);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 19:53
+     *  @Description: 查询推广的实收+预收
+     */
+    BigDecimal findMyAmountYSOrSSTGAmount(@Param("vo") MySumAmountQueryDto mySumAmountQueryDto);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 19:59
+     *  @Description:  查询可提现的金额
+     */
+    BigDecimal findMyAmountYTXmount(@Param("userId") String userId);
 }
 
 

+ 59 - 2
src/main/java/com/ydtech/modules/protocols/service/InsFeeOrderNewService.java

@@ -2,8 +2,7 @@ package com.ydtech.modules.protocols.service;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.ydtech.modules.admin.model.dto.MyCollectInAdvanceDto;
-import com.ydtech.modules.admin.model.dto.MyCollectInAdvanceQueryDto;
+import com.ydtech.modules.admin.model.dto.*;
 import com.ydtech.modules.protocols.entity.po.InsFeeOrderNew;
 
 import java.math.BigDecimal;
@@ -113,4 +112,62 @@ public interface InsFeeOrderNewService extends IService<InsFeeOrderNew> {
      *  @Description:  计算手续费+跟单费 总费用
      */
     BigDecimal findSumAmount(MyCollectInAdvanceQueryDto myCollectInAdvanceQueryDto);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 10:26
+     *  @Description:  查询
+     */
+    List<ExportIncomeTypeDetalsDto> expeortYsOrSsByUserIdAndQuery(MyCollectInAdvanceQueryDto myCollectInAdvanceQueryDto);
+
+
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 15:56
+     *  @Description:  查询车险明细查询
+     */
+    Page<ExportExpenditureTypeDetalsDto> findMyInsuranceByUserId(Page<ExportExpenditureTypeDetalsDto> page,MyInsuranceQueryDto myInsuranceQueryDto,List<String> userList);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 17:38
+     *  @Description: 查询推广费统计
+     */
+    Page<ExportExpenditureTypeDetalsTGDto> findMyInsuranceTGByUserId(Page<ExportExpenditureTypeDetalsTGDto> page, MyInsuranceTgQueryDto myInsuranceTgQueryDto);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 18:01
+     *  @Description: 导出车险明细
+     */
+    List<ExportExpenditureTypeDetalsDto> exportMyInsuranceByUserId(MyInsuranceQueryDto myInsuranceQueryDto, List<String> userList);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 18:02
+     *  @Description: 导出推广费明细
+     */
+    List<ExportExpenditureTypeDetalsTGDto> exportMyInsuranceTGByUserId(MyInsuranceTgQueryDto myInsuranceTgQueryDto);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 19:48
+     *  @Description:  预收和实收手续+跟单的总金额
+     */
+    BigDecimal findMyAmountYSOrSSCXAmount(MySumAmountQueryDto mySumAmountQueryDto);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 19:48
+     *  @Description: 预收和实收推广费的总金额
+     */
+    BigDecimal findMyAmountYSOrSSTGAmount(MySumAmountQueryDto mySumAmountQueryDto);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 19:58
+     *  @Description: 查询用户已提现的金额
+     */
+    BigDecimal findMyAmountYTXmount(String userId);
 }

+ 70 - 2
src/main/java/com/ydtech/modules/protocols/service/impl/InsFeeOrderNewServiceImpl.java

@@ -3,8 +3,7 @@ package com.ydtech.modules.protocols.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ydtech.modules.admin.model.dto.MyCollectInAdvanceDto;
-import com.ydtech.modules.admin.model.dto.MyCollectInAdvanceQueryDto;
+import com.ydtech.modules.admin.model.dto.*;
 import com.ydtech.modules.protocols.dao.InsFeeOrderNewMapper;
 import com.ydtech.modules.protocols.entity.po.InsFeeOrderNew;
 import com.ydtech.modules.protocols.service.InsFeeOrderNewService;
@@ -135,4 +134,73 @@ public class InsFeeOrderNewServiceImpl extends ServiceImpl<InsFeeOrderNewMapper,
     public BigDecimal findSumAmount(MyCollectInAdvanceQueryDto myCollectInAdvanceQueryDto) {
         return baseMapper.findSumAmount(myCollectInAdvanceQueryDto);
     }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 10:26
+     *  @Description:  导出数据查询
+     */
+    @Override
+    public List<ExportIncomeTypeDetalsDto> expeortYsOrSsByUserIdAndQuery(MyCollectInAdvanceQueryDto myCollectInAdvanceQueryDto) {
+        return baseMapper.expeortYsOrSsByUserIdAndQuery(myCollectInAdvanceQueryDto);
+    }
+    @Override
+    public Page<ExportExpenditureTypeDetalsDto> findMyInsuranceByUserId(Page<ExportExpenditureTypeDetalsDto> page, MyInsuranceQueryDto myInsuranceQueryDto, List<String> userList) {
+        return baseMapper.findMyInsuranceByUserId(page,myInsuranceQueryDto,userList);
+    }
+
+    @Override
+    public Page<ExportExpenditureTypeDetalsTGDto> findMyInsuranceTGByUserId(Page<ExportExpenditureTypeDetalsTGDto> page, MyInsuranceTgQueryDto myInsuranceTgQueryDto) {
+        return baseMapper.findMyInsuranceTGByUserId(page,myInsuranceTgQueryDto);
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 18:01
+     *  @Description: 导出车险对象
+     */
+    @Override
+    public List<ExportExpenditureTypeDetalsDto> exportMyInsuranceByUserId(MyInsuranceQueryDto myInsuranceQueryDto, List<String> userList) {
+        return baseMapper.exportMyInsuranceByUserId(myInsuranceQueryDto,userList);
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 18:02
+     *  @Description: 导出推广费对象
+     */
+    @Override
+    public List<ExportExpenditureTypeDetalsTGDto> exportMyInsuranceTGByUserId(MyInsuranceTgQueryDto myInsuranceTgQueryDto) {
+        return baseMapper.exportMyInsuranceTGByUserId(myInsuranceTgQueryDto);
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 19:48
+     *  @Description:  预收和实收手续+跟单的总金额
+     */
+    @Override
+    public BigDecimal findMyAmountYSOrSSCXAmount(MySumAmountQueryDto mySumAmountQueryDto) {
+        return baseMapper.findMyAmountYSOrSSCXAmount(mySumAmountQueryDto);
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 19:48
+     *  @Description: 预收和实收推广费的总金额
+     */
+    @Override
+    public BigDecimal findMyAmountYSOrSSTGAmount(MySumAmountQueryDto mySumAmountQueryDto) {
+        return baseMapper.findMyAmountYSOrSSTGAmount(mySumAmountQueryDto);
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/30 20:03
+     *  @Description: 查询用户已提现的金额
+     */
+    @Override
+    public BigDecimal findMyAmountYTXmount(String userId) {
+        return baseMapper.findMyAmountYTXmount(userId);
+    }
 }

+ 54 - 0
src/main/resources/mapper/modules/admin/SysUserAccountHistoryMapper.xml

@@ -196,5 +196,59 @@
         and  his.property !=1  and  his.property !=2
         and his.user_id = #{userId}
     </select>
+    <select id="findMyIncomeAndExpensesAmountNewByUserId"
+            resultType="com.ydtech.modules.admin.model.dto.ExportExpenditureTypeDetalsSZDto">
+        <include refid="common_List_sql"/>
 
+
+    </select>
+
+    <select id="exportMyIncomeAndExpensesAmountNewByUserId"
+            resultType="com.ydtech.modules.admin.model.dto.ExportExpenditureTypeDetalsSZDto">
+        <include refid="common_List_sql"/>
+    </select>
+
+    <sql id="common_List_sql">
+        SELECT
+        his.id as id,
+        ins.id as "subOrderNo",
+        ins.signing_time as "signingTime",
+        o.licenseno as "licenseno",
+        his.amount as "amount",
+        his.business_eegments_type  as "businessSegmentsType",
+        his.documentary as "incomeAndExpensesType",
+        his.property  as  "transactionType",
+        his.create_time  as "createTime",
+        his.auditiing_id as "auditiingId",
+        CASE saa.auditing_status
+        WHEN '2' THEN '提现中'
+        WHEN '3' THEN '已提现'
+        WHEN '4' THEN '已驳回'
+        ELSE ''
+        END  AS "auditingStatus"
+        FROM
+        sys_user_account_history his
+        LEFT JOIN ins_area_company ins ON his.suborder = ins.id
+        LEFT JOIN ins_orders o ON o.orderno = ins.orderno
+        left join  sys_amount_auditing saa  on saa.id =his.auditiing_id
+        WHERE
+        his.property !=1  and  his.property !=2
+        <if test="vo.incomeAndExpensesType !=null and vo.incomeAndExpensesType != '' and vo.incomeAndExpensesType != '0' ">
+            AND  his.documentary=#{ vo.incomeAndExpensesType}
+        </if>
+        and his.user_id = #{vo.userId}
+        <if test="vo.startDate !=null and vo.startDate != '' and vo.endDate !=null and vo.endDate != '' ">
+            AND   his.create_time  BETWEEN #{vo.startDate} AND #{vo.endDate}
+        </if>
+        <if test="vo.transactionType !=null and vo.transactionType != ''  and vo.transactionType != '0'">
+            and his.property = #{vo.transactionType}
+        </if>
+        <if test="vo.businessSegmentsType !=null and vo.businessSegmentsType != '' and vo.businessSegmentsType != '0'">
+            and  his.business_eegments_type =#{vo.businessSegmentsType}
+        </if>
+        <if test="vo.licenseNo !=null and vo.licenseNo != ''">
+            and  o.licenseno =#{vo.licenseNo}
+        </if>
+        order by his.create_time desc
+    </sql>
 </mapper>

+ 369 - 23
src/main/resources/mapper/modules/ins/InsFeeOrderNewMapper.xml

@@ -552,7 +552,7 @@
         fee.amount,
         "1" as businessSegmentsType,
         "2" as  transactionType,
-        fee.createtime
+        fee.createTime
         FROM
         (
         SELECT
@@ -567,8 +567,10 @@
         left join  ins_orders o ON o.orderno=iac.orderno
         left join ins_fee_audit iff on a.ins_order_no=iff.ins_order_no
         <where>
-            iff.auditstatus=0
-            and iac.orderstatus = '3'
+            iac.orderstatus = '3'
+            <if test="myCollectInAdvanceQueryDto.auditstatus!=null and  myCollectInAdvanceQueryDto.auditstatus!= ''">
+                AND iff.auditstatus = #{myCollectInAdvanceQueryDto.auditstatus}
+            </if>
             <if test="myCollectInAdvanceQueryDto.userId!=null and  myCollectInAdvanceQueryDto.userId!= ''">
                 AND a.first_level_user_id = #{myCollectInAdvanceQueryDto.userId}
             </if>
@@ -642,7 +644,9 @@
         <where>
             ins.orderstatus ='3'
             and  a.user_id = #{myCollectInAdvanceQueryDto.userId}
-            and  iff.auditstatus=0
+            <if test="myCollectInAdvanceQueryDto.auditstatus!=null and  myCollectInAdvanceQueryDto.auditstatus!= ''">
+                AND iff.auditstatus = #{myCollectInAdvanceQueryDto.auditstatus}
+            </if>
             <if test="myCollectInAdvanceQueryDto.startDate!= null  and  myCollectInAdvanceQueryDto.startDate  !='' and myCollectInAdvanceQueryDto.endDate!= null  and  myCollectInAdvanceQueryDto.endDate  !=''">
                 AND ins.createtime  BETWEEN #{myCollectInAdvanceQueryDto.startDate} AND #{myCollectInAdvanceQueryDto.endDate}
             </if>
@@ -664,8 +668,10 @@
         left join  ins_orders o ON o.orderno=iac.orderno
         left join ins_fee_audit iff on a.ins_order_no=iff.ins_order_no
         <where>
-            iff.auditstatus=0
-            and iac.orderstatus = '3'
+            iac.orderstatus = '3'
+            <if test="myCollectInAdvanceQueryDto.auditstatus!=null and  myCollectInAdvanceQueryDto.auditstatus!= ''">
+                AND iff.auditstatus = #{myCollectInAdvanceQueryDto.auditstatus}
+            </if>
             <if test="myCollectInAdvanceQueryDto.userId!=null and  myCollectInAdvanceQueryDto.userId!= ''">
                 AND a.first_level_user_id = #{myCollectInAdvanceQueryDto.userId}
             </if>
@@ -685,8 +691,10 @@
         left join  ins_orders o ON o.orderno=iac.orderno
         left join ins_fee_audit iff on a.ins_order_no=iff.ins_order_no
         <where>
-            iff.auditstatus=0
-            and iac.orderstatus = '3'
+            iac.orderstatus = '3'
+            <if test="myCollectInAdvanceQueryDto.auditstatus!=null and  myCollectInAdvanceQueryDto.auditstatus!= ''">
+                AND iff.auditstatus = #{myCollectInAdvanceQueryDto.auditstatus}
+            </if>
             <if test="myCollectInAdvanceQueryDto.userId!=null and  myCollectInAdvanceQueryDto.userId!= ''">
                 AND a.three_level_user_id = #{myCollectInAdvanceQueryDto.userId}
             </if>
@@ -706,8 +714,10 @@
         left join  ins_orders o ON o.orderno=iac.orderno
         left join ins_fee_audit iff on a.ins_order_no=iff.ins_order_no
         <where>
-            iff.auditstatus=0
-            and iac.orderstatus = '3'
+            iac.orderstatus = '3'
+            <if test="myCollectInAdvanceQueryDto.auditstatus!=null and  myCollectInAdvanceQueryDto.auditstatus!= ''">
+                AND iff.auditstatus = #{myCollectInAdvanceQueryDto.auditstatus}
+            </if>
             <if test="myCollectInAdvanceQueryDto.userId!=null and  myCollectInAdvanceQueryDto.userId!= ''">
                 AND a.two_level_user_id = #{myCollectInAdvanceQueryDto.userId}
             </if>
@@ -725,9 +735,11 @@
         left join  ins_orders o ON o.orderno=ins.orderno
         left join ins_fee_audit iff on a.ins_order_no=iff.ins_order_no
         <where>
-            ins.orderstatus ='3'
+            iac.orderstatus = '3'
+            <if test="myCollectInAdvanceQueryDto.auditstatus!=null and  myCollectInAdvanceQueryDto.auditstatus!= ''">
+                AND iff.auditstatus = #{myCollectInAdvanceQueryDto.auditstatus}
+            </if>
             and  a.user_id = #{myCollectInAdvanceQueryDto.userId}
-            and  iff.auditstatus=0
             <if test="myCollectInAdvanceQueryDto.startDate!= null  and  myCollectInAdvanceQueryDto.startDate  !='' and myCollectInAdvanceQueryDto.endDate!= null  and  myCollectInAdvanceQueryDto.endDate  !=''">
                 AND ins.createtime  BETWEEN #{myCollectInAdvanceQueryDto.startDate} AND #{myCollectInAdvanceQueryDto.endDate}
             </if>
@@ -745,8 +757,8 @@
         LEFT JOIN ins_area_company iac ON iac.id = a.ins_order_no
         left join ins_fee_audit iff on a.ins_order_no=iff.ins_order_no
         <where>
-            iff.auditstatus=0
-            and iac.orderstatus = '3'
+             iac.orderstatus = '3'
+             AND iff.auditstatus =0
             <if test="myCollectInAdvanceQueryDto.userId!=null and  myCollectInAdvanceQueryDto.userId!= ''">
                 AND a.first_level_user_id = #{myCollectInAdvanceQueryDto.userId}
             </if>
@@ -762,8 +774,10 @@
         LEFT JOIN ins_area_company iac ON iac.id = a.ins_order_no
         left join ins_fee_audit iff on a.ins_order_no=iff.ins_order_no
         <where>
-            iff.auditstatus=0
-            and iac.orderstatus = '3'
+            iac.orderstatus = '3'
+            <if test="myCollectInAdvanceQueryDto.auditstatus!=null and  myCollectInAdvanceQueryDto.auditstatus!= ''">
+                AND iff.auditstatus = #{myCollectInAdvanceQueryDto.auditstatus}
+            </if>
             <if test="myCollectInAdvanceQueryDto.userId!=null and  myCollectInAdvanceQueryDto.userId!= ''">
                 AND a.three_level_user_id = #{myCollectInAdvanceQueryDto.userId}
             </if>
@@ -779,8 +793,10 @@
         LEFT JOIN ins_area_company iac ON iac.id = a.ins_order_no
         left join ins_fee_audit iff on a.ins_order_no=iff.ins_order_no
         <where>
-            iff.auditstatus=0
-            and iac.orderstatus = '3'
+            iac.orderstatus = '3'
+            <if test="myCollectInAdvanceQueryDto.auditstatus!=null and  myCollectInAdvanceQueryDto.auditstatus!= ''">
+                AND iff.auditstatus = #{myCollectInAdvanceQueryDto.auditstatus}
+            </if>
             <if test="myCollectInAdvanceQueryDto.userId!=null and  myCollectInAdvanceQueryDto.userId!= ''">
                 AND a.two_level_user_id = #{myCollectInAdvanceQueryDto.userId}
             </if>
@@ -800,18 +816,348 @@
         )
          as "amount"
         from
-        ins_fee_order_new a  left join ins_area_company ins  on  a.ins_order_no=ins.id
-        left join  ins_orders o ON o.orderno=ins.orderno
+        ins_fee_order_new a  left join ins_area_company iac  on  a.ins_order_no=iac.id
+        left join  ins_orders o ON o.orderno=iac.orderno
         left join ins_fee_audit iff on a.ins_order_no=iff.ins_order_no
         <where>
-            ins.orderstatus ='3'
+            iac.orderstatus = '3'
+             AND iff.auditstatus = 0
             and  a.user_id = #{myCollectInAdvanceQueryDto.userId}
-            and  iff.auditstatus=0
             <if test="myCollectInAdvanceQueryDto.startDate!= null  and  myCollectInAdvanceQueryDto.startDate  !='' and myCollectInAdvanceQueryDto.endDate!= null  and myCollectInAdvanceQueryDto.endDate  !=''">
-                AND ins.createtime  BETWEEN #{myCollectInAdvanceQueryDto.startDate} AND #{myCollectInAdvanceQueryDto.endDate}
+                AND iac.createtime  BETWEEN #{myCollectInAdvanceQueryDto.startDate} AND #{myCollectInAdvanceQueryDto.endDate}
             </if>
         </where>
     </select>
+    <select id="expeortYsOrSsByUserIdAndQuery"
+            resultType="com.ydtech.modules.admin.model.dto.ExportIncomeTypeDetalsDto">
+
+
+
+
+
+
+
+
+    </select>
+
 
 
+    <select id="findMyInsuranceByUserId"
+            resultType="com.ydtech.modules.admin.model.dto.ExportExpenditureTypeDetalsDto">
+        <include refid="common_List_sql"/>
+    </select>
+
+    <select id="exportMyInsuranceByUserId"
+            resultType="com.ydtech.modules.admin.model.dto.ExportExpenditureTypeDetalsDto">
+        <include refid="common_List_sql"/>
+    </select>
+
+    <sql id="common_List_sql">
+        SELECT
+        a.ins_order_no AS "subOrderNo",
+        DATE_FORMAT(iac.signing_time, '%Y-%m-%d %H:%i:%s')  AS "signingTime",
+        DATE_FORMAT(iff.audittime, '%Y-%m-%d %H:%i:%s')   AS "auditTime",
+        CASE iff.auditstatus WHEN '0' THEN '未审核' WHEN '1' THEN '已审核' ELSE '' END AS auditstatus,
+        o.licenseno AS "licenseno",
+        (
+        ifnull( a.jq_export_supervise_costs_premiums, 0 )+ ifnull( a.sy_export_supervise_costs_premiums, 0 )+ ifnull( a.no_export_supervise_costs_premiums, 0 )) + (
+        ifnull( a.jq_export_other_costs_premiums, 0 )+ ifnull( a.sy_export_other_costs_premiums, 0 )+ ifnull( a.no_export_other_costs_premiums, 0 )) AS "amount",
+        a.user_id AS userId,
+        iac.jqapplyno AS jqapplyno,
+        iac.syapplyno AS syapplyno,
+        iac.inscompany AS companyName,
+        o.insuredname AS insuredName,
+        ins.NAME AS partnerCompaniesName,
+        o.username as userName,
+        o.orderno as orderno,
+        o.frameno as frameNo,
+        JSON_EXTRACT( o.carinfo, '$.engineNo' ) as engineNo,
+        iac.product as productId
+        FROM
+        ins_fee_audit iff
+        LEFT JOIN ins_fee_order_new a ON a.ins_order_no = iff.ins_order_no
+        LEFT JOIN ins_area_company iac ON iac.id = a.ins_order_no
+        LEFT JOIN ins_orders o ON o.orderno = iac.orderno
+        LEFT JOIN ptl_agreement agree ON iac.agreement_id = agree.id
+        LEFT JOIN esm_ins_company ins ON ins.id = agree.partner_companies_id
+        WHERE
+        iac.orderstatus = '3'
+        <choose>
+            <when test="userList != null and userList.size>0">
+                AND ( a.user_id = #{vo.userId} or a.user_id in
+                <foreach collection="userList" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+                )
+            </when>
+            <otherwise>
+                AND a.user_id = #{vo.userId}
+            </otherwise>
+        </choose>
+        <if test="vo.orderNo!=null and  vo.orderNo!= ''">
+            AND o.orderno = #{vo.orderNo}
+        </if>
+        <if test="vo.subOrderNo!=null and  vo.subOrderNo!= ''">
+            AND iac.id =  #{vo.subOrderNo}
+        </if>
+        <if test="vo.userDLId!=null and  vo.userDLId!= ''">
+            AND  a.user_id =  #{vo.userDLId}
+        </if>
+        <if test="vo.userDLName!=null and  vo.userDLName!= ''">
+            AND o.username=  #{vo.userDLName}
+        </if>
+        <if test="vo.licenseNo!=null and  vo.licenseNo!= ''">
+            AND o.licenseno =  #{vo.licenseNo}
+        </if>
+        <if test="vo.startDate!=null and  vo.startDate!= '' and vo.endDate!=null and  vo.endDate!= ''">
+            AND iac.signing_time  BETWEEN #{vo.startDate} AND #{vo.endDate}
+        </if>
+        <if test="vo.auditstatus!=null and  vo.auditstatus!= ''">
+            AND iff.auditstatus =  #{vo.auditstatus}
+        </if>
+        <if test="vo.salesmanId!=null and  vo.salesmanId!= ''">
+            AND o.user_id =  #{vo.salesmanId}
+        </if>
+        <if test="vo.salesmanName!=null and  vo.salesmanName!= ''">
+            AND o.username =  #{vo.salesmanName}
+        </if>
+        <if test="vo.jqapplyno!=null and  vo.jqapplyno!= ''">
+            AND iac.jqapplyno  like concat('%', #{vo.jqapplyno},'%')
+        </if>
+        <if test="vo.syapplyno!=null and  vo.syapplyno!= ''">
+            AND iac.syapplyno like  concat('%', #{vo.syapplyno},'%')
+        </if>
+    </sql>
+    <select id="findMyInsuranceTGByUserId"
+            resultType="com.ydtech.modules.admin.model.dto.ExportExpenditureTypeDetalsTGDto">
+        <include refid="common_List_sql_tg"/>
+    </select>
+
+    <select id="exportMyInsuranceTGByUserId"
+            resultType="com.ydtech.modules.admin.model.dto.ExportExpenditureTypeDetalsTGDto">
+        <include refid="common_List_sql_tg"/>
+    </select>
+
+
+    <sql id="common_List_sql_tg">
+        SELECT
+        fee.subOrderNo,
+        DATE_FORMAT(fee.signingTime, '%Y-%m-%d %H:%i:%s')  AS "signingTime",
+        DATE_FORMAT(fee.audittime, '%Y-%m-%d %H:%i:%s')   AS "auditTime",
+        CASE fee.auditstatus WHEN '0' THEN '未审核' WHEN '1' THEN '已审核' ELSE '' END AS auditstatus,
+        fee.licenseno,
+        fee.amount,
+        fee.userId,
+        fee.userName,
+        fee.jqpremium,
+        fee.sypremium,
+        fee.jypremium,
+        fee.sumpremium,
+        fee.userLevel
+        FROM
+        (
+        SELECT
+        a.ins_order_no AS "subOrderNo",
+        iac.signing_time AS "signingTime",
+        o.licenseno AS "licenseno",
+        iff.audittime AS "auditTime",
+        iff.auditstatus AS auditstatus,
+        o.username AS userName,
+        o.userid AS userId,
+        iac.jqpremium AS jqpremium,
+        iac.sypremium AS sypremium,
+        iac.jypremium AS jypremium,
+        iac.sumpremium AS sumpremium,
+        a.first_detail_premiums AS "amount",
+        "一级代理" AS userLevel
+        FROM
+        ins_fee_audit iff
+        LEFT JOIN ins_fee_order_new a ON a.ins_order_no = iff.ins_order_no
+        LEFT JOIN ins_area_company iac ON iac.id = a.ins_order_no
+        LEFT JOIN ins_orders o ON o.orderno = iac.orderno
+        WHERE
+        iac.orderstatus = '3'
+        AND a.first_level_user_id = #{vo.userId}
+        <if test="vo.subOrderNo!=null and  vo.subOrderNo!= ''">
+            AND iac.id =  #{vo.subOrderNo}
+        </if>
+        <if test="vo.userDLId!=null and  vo.userDLId!= ''">
+            AND  o.userid =  #{vo.userDLId}
+        </if>
+        <if test="vo.userDLName!=null and  vo.userDLName!= ''">
+            AND  o.username=  #{vo.orderNo}
+        </if>
+        <if test="vo.licenseNo!=null and  vo.licenseNo!= ''">
+            AND o.licenseno =  #{vo.licenseNo}
+        </if>
+        <if test="vo.startDate!=null and  vo.startDate!= '' and vo.endDate!=null and  vo.endDate!= ''">
+            AND iac.signing_time  BETWEEN #{vo.startDate} AND #{vo.endDate}
+        </if>
+        <if test="vo.auditstatus!=null and  vo.auditstatus!= ''">
+            AND iff.auditstatus =  #{vo.auditstatus}
+        </if>
+        UNION
+        SELECT
+        a.ins_order_no AS "subOrderNo",
+        iac.signing_time AS "signingTime",
+        o.licenseno AS "licenseno",
+        iff.audittime AS "auditTime",
+        iff.auditstatus AS auditstatus,
+        o.username AS userName,
+        o.userid AS userId,
+        iac.jqpremium AS jqpremium,
+        iac.sypremium AS sypremium,
+        iac.jypremium AS jypremium,
+        iac.sumpremium AS sumpremium,
+        a.third_detail_premiums AS "amount",
+        "三级级代理" AS userLevel
+        FROM
+        ins_fee_audit iff
+        LEFT JOIN ins_fee_order_new a ON a.ins_order_no = iff.ins_order_no
+        LEFT JOIN ins_area_company iac ON iac.id = a.ins_order_no
+        LEFT JOIN ins_orders o ON o.orderno = iac.orderno
+        WHERE
+        iac.orderstatus = '3'
+        AND iff.auditstatus = 0
+        AND a.three_level_user_id = #{vo.userId}
+        <if test="vo.subOrderNo!=null and  vo.subOrderNo!= ''">
+            AND iac.id =  #{vo.subOrderNo}
+        </if>
+        <if test="vo.userDLId!=null and  vo.userDLId!= ''">
+            AND  o.userid =  #{vo.userDLId}
+        </if>
+        <if test="vo.userDLName!=null and  vo.userDLName!= ''">
+            AND  o.username=  #{vo.orderNo}
+        </if>
+        <if test="vo.licenseNo!=null and  vo.licenseNo!= ''">
+            AND o.licenseno =  #{vo.licenseNo}
+        </if>
+        <if test="vo.startDate!=null and  vo.startDate!= '' and vo.endDate!=null and  vo.endDate!= ''">
+            AND iac.signing_time  BETWEEN #{vo.startDate} AND #{vo.endDate}
+        </if>
+        <if test="vo.auditstatus!=null and  vo.auditstatus!= ''">
+            AND iff.auditstatus =  #{vo.auditstatus}
+        </if>
+        UNION
+        SELECT
+        a.ins_order_no AS "subOrderNo",
+        iac.signing_time AS "signingTime",
+        o.licenseno AS "licenseno",
+        iff.audittime AS "auditTime",
+        iff.auditstatus AS auditstatus,
+        o.username AS userName,
+        o.userid AS userId,
+        iac.jqpremium AS jqpremium,
+        iac.sypremium AS sypremium,
+        iac.jypremium AS jypremium,
+        iac.sumpremium AS sumpremium,
+        a.second_detail_premiums AS "amount",
+        "二级代理" AS userLevel
+        FROM
+        ins_fee_audit iff
+        LEFT JOIN ins_fee_order_new a ON a.ins_order_no = iff.ins_order_no
+        LEFT JOIN ins_area_company iac ON iac.id = a.ins_order_no
+        LEFT JOIN ins_orders o ON o.orderno = iac.orderno
+        WHERE
+        iac.orderstatus = '3'
+        AND a.two_level_user_id = #{vo.userId}
+        <if test="vo.subOrderNo!=null and  vo.subOrderNo!= ''">
+            AND iac.id =  #{vo.subOrderNo}
+        </if>
+        <if test="vo.userDLId!=null and  vo.userDLId!= ''">
+            AND  o.userid =  #{vo.userDLId}
+        </if>
+        <if test="vo.userDLName!=null and  vo.userDLName!= ''">
+            AND  o.username=  #{vo.orderNo}
+        </if>
+        <if test="vo.licenseNo!=null and  vo.licenseNo!= ''">
+            AND o.licenseno =  #{vo.licenseNo}
+        </if>
+        <if test="vo.startDate!=null and  vo.startDate!= '' and vo.endDate!=null and  vo.endDate!= ''">
+            AND iac.signing_time  BETWEEN #{vo.startDate} AND #{vo.endDate}
+        </if>
+        <if test="vo.auditstatus!=null and  vo.auditstatus!= ''">
+            AND iff.auditstatus =  #{vo.auditstatus}
+        </if>
+        ) AS fee
+        ORDER BY
+        fee.signingTime DESC
+    </sql>
+
+    <select id="findMyAmountYSOrSSCXAmount" resultType="java.math.BigDecimal">
+        SELECT
+            ifnull(sum(
+                    ifnull( a.jq_export_supervise_costs_premiums, 0 )+ ifnull( a.sy_export_supervise_costs_premiums, 0 )+ ifnull( a.no_export_supervise_costs_premiums, 0 ) +
+                    ifnull( a.jq_export_other_costs_premiums, 0 )+ ifnull( a.sy_export_other_costs_premiums, 0 )+ ifnull( a.no_export_other_costs_premiums, 0 )
+            ),0)
+        FROM
+            ins_fee_audit iff
+                LEFT JOIN ins_fee_order_new a ON a.ins_order_no = iff.ins_order_no
+                LEFT JOIN ins_area_company iac ON iac.id = a.ins_order_no
+        WHERE
+            iac.orderstatus = '3'
+          and iff.auditstatus=#{vo.auditstatus}
+          AND a.user_id =  #{vo.userId}
+          <if test="vo.startDate!=null and  vo.startDate!= '' and vo.endDate!=null and  vo.endDate!= ''">
+                AND iac.signingTime  BETWEEN #{vo.startDate} AND #{vo.endDate}
+         </if>
+    </select>
+    <select id="findMyAmountYSOrSSTGAmount" resultType="java.math.BigDecimal">
+        SELECT
+            ifnull(sum(fee.amount),0)
+        FROM
+            (
+                SELECT
+                    a.first_detail_premiums AS "amount"
+                FROM
+                    ins_fee_audit iff
+                        LEFT JOIN ins_fee_order_new a ON a.ins_order_no = iff.ins_order_no
+                        LEFT JOIN ins_area_company iac ON iac.id = a.ins_order_no
+                WHERE
+                    iac.orderstatus = '3'
+                  AND a.first_level_user_id =  #{vo.userId}
+                  and iff.auditstatus = #{vo.auditstatus}
+                  <if test="vo.startDate!=null and  vo.startDate!= '' and vo.endDate!=null and  vo.endDate!= ''">
+                        AND iac.signingTime  BETWEEN #{vo.startDate} AND #{vo.endDate}
+                  </if>
+                UNION
+                SELECT
+                    a.third_detail_premiums AS "amount"
+                FROM
+                    ins_fee_audit iff
+                        LEFT JOIN ins_fee_order_new a ON a.ins_order_no = iff.ins_order_no
+                        LEFT JOIN ins_area_company iac ON iac.id = a.ins_order_no
+                WHERE
+                    iac.orderstatus = '3'
+                  AND a.three_level_user_id = #{vo.userId}
+                  and iff.auditstatus = #{vo.auditstatus}
+                <if test="vo.startDate!=null and  vo.startDate!= '' and vo.endDate!=null and  vo.endDate!= ''">
+                    AND iac.signingTime  BETWEEN #{vo.startDate} AND #{vo.endDate}
+                </if>
+                UNION
+                SELECT
+                    a.second_detail_premiums AS "amount"
+                FROM
+                    ins_fee_audit iff
+                        LEFT JOIN ins_fee_order_new a ON a.ins_order_no = iff.ins_order_no
+                        LEFT JOIN ins_area_company iac ON iac.id = a.ins_order_no
+                WHERE
+                    iac.orderstatus = '3'
+                  AND a.two_level_user_id = #{vo.userId}
+                  and iff.auditstatus = #{vo.auditstatus}
+                 <if test="vo.startDate!=null and  vo.startDate!= '' and vo.endDate!=null and  vo.endDate!= ''">
+                    AND iac.signingTime  BETWEEN #{vo.startDate} AND #{vo.endDate}
+                  </if>
+            ) AS fee
+
+    </select>
+    <select id="findMyAmountYTXmount" resultType="java.math.BigDecimal">
+        SELECT
+            ifnull( sum( au.amount ), 0 )
+        FROM
+            sys_amount_auditing au
+        WHERE
+            au.user_id = #{userId}
+          AND auditing_status = '3'
+    </select>
 </mapper>