Procházet zdrojové kódy

合伙人bug修改

xuqiang před 1 rokem
rodič
revize
f76fc2c21b

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

@@ -54,4 +54,7 @@ public class SysUserDto extends PageRequest {
     private String notSelected;
     //区分管理还是审核
     private int examine;
+
+
+    private SysUserDto dto;
 }

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

@@ -1621,7 +1621,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     public Page<SysUserBaseVO> findPartnerUserList(SysUserDto sysUserDto) {
         Page<SysUserBaseVO> page = new Page<>(sysUserDto.getPageNum(),
                 sysUserDto.getPageSize());
-        Page<SysUserBaseVO> backUserList = sysUserMapper.findPartnerUserList(page, sysUserDto);
+        Page<SysUserBaseVO> backUserList = sysUserMapper.findPartnerUserList(page, sysUserDto.getDto());
         return backUserList;
     }
 

+ 3 - 12
src/main/java/com/ydtech/modules/partner/controller/PartnerCommissionDetailsController.java

@@ -3,9 +3,8 @@ package com.ydtech.modules.partner.controller;
 
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.modules.base.controller.BaseController;
-import com.ydtech.modules.partner.model.PartnerCommissionDetails;
 import com.ydtech.modules.partner.model.param.PartnerDetailsParam;
-import com.ydtech.modules.partner.service.PartnerCommissionDetailsService;
+import com.ydtech.modules.partner.service.PartnerPremiumDetailsService;
 import io.swagger.annotations.Api;
 import lombok.RequiredArgsConstructor;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -22,22 +21,14 @@ import java.util.List;
 @RequiredArgsConstructor
 public class PartnerCommissionDetailsController extends BaseController {
 
-
     @Autowired
-    private PartnerCommissionDetailsService detailsService;
-
-
-    @PostMapping("/save")
-    public HttpResult  save(@RequestBody List<PartnerCommissionDetails> detailsList){
-        return HttpResult.ok(detailsService.saveDetails(detailsList) > 0 ? "保存成功" : "保存失败");
-    }
-
+    private PartnerPremiumDetailsService partnerPremiumDetailsService;
 
 
     @PostMapping("/queryPage")
     public HttpResult queryPage(@RequestBody PartnerDetailsParam detailsParam){
         detailsParam.setPage(buildPageRequest(detailsParam.getPageDto()));
-        return HttpResult.ok(detailsService.queryPage(detailsParam));
+        return HttpResult.ok(partnerPremiumDetailsService.queryPage(detailsParam));
     }
 
 }

+ 0 - 10
src/main/java/com/ydtech/modules/partner/dao/PartnerCommissionDetailsMapper.java

@@ -1,10 +0,0 @@
-package com.ydtech.modules.partner.dao;
-
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.ydtech.modules.partner.model.PartnerCommissionDetails;
-import org.apache.ibatis.annotations.Mapper;
-
-@Mapper
-public interface PartnerCommissionDetailsMapper extends BaseMapper<PartnerCommissionDetails> {
-}

+ 24 - 2
src/main/java/com/ydtech/modules/partner/dao/PartnerPremiumDetailsMapper.java

@@ -1,15 +1,16 @@
 package com.ydtech.modules.partner.dao;
 
 
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ydtech.modules.partner.model.PartnerPremiumDetails;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
-
 import java.math.BigDecimal;
-import java.util.Set;
 
 @Mapper
 public interface PartnerPremiumDetailsMapper extends BaseMapper<PartnerPremiumDetails> {
@@ -19,4 +20,25 @@ public interface PartnerPremiumDetailsMapper extends BaseMapper<PartnerPremiumDe
     @Select("SELECT SUM(sumpremium) FROM partner_premium_details ${ew.customSqlSegment} ")
     BigDecimal selectTotalSumPremium(@Param("ew") QueryWrapper<PartnerPremiumDetails> queryWrapper);
 
+
+
+    @Select("SELECT " +
+            " d.orderno, " +
+            " d.company_id, " +
+            " d.user_id, " +
+            " d.user_name, " +
+            " d.issuer_id, " +
+            " d.issuer_name, " +
+            " d.sumpremium, " +
+            " d.proportional, " +
+            " d.extract_fee, " +
+            " d.licenseno, " +
+            " d.source, " +
+            " d.create_time, " +
+            " u.`name` AS userName, " +
+            " u.mobile " +
+            "FROM " +
+            " partner_premium_details d " +
+            " LEFT JOIN sys_user u ON u.id = d.user_id  ${ew.customSqlSegment}")
+    Page<PartnerPremiumDetails> queryPage(@Param("page") Page page, @Param("ew") Wrapper<PartnerPremiumDetails> queryWrapper);
 }

+ 1 - 1
src/main/java/com/ydtech/modules/partner/dao/PartnerUserMapper.java

@@ -18,7 +18,7 @@ import java.util.*;
 public interface PartnerUserMapper extends BaseMapper<PartnerUser> {
 
     //分页查询
-    IPage<PartnerUserVo> selectPage(Page page, @Param("queryVo")QueryVo queryVo);
+    IPage<PartnerUserVo> queryPage(Page page, @Param("queryVo")QueryVo queryVo);
 
     @MapKey("userId")
     List<Map<String, String>> selectRecommender(@Param("level") String level);

+ 0 - 49
src/main/java/com/ydtech/modules/partner/model/PartnerCommissionDetails.java

@@ -1,49 +0,0 @@
-package com.ydtech.modules.partner.model;
-
-
-import com.ydtech.modules.base.model.BaseEntity;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.math.BigDecimal;
-import java.util.Date;
-
-@Data
-public class PartnerCommissionDetails extends BaseEntity {
-
-
-    @ApiModelProperty(value = "id")
-    private String id;
-
-    @ApiModelProperty(value = "订单号")
-    private String orderNo;
-
-    @ApiModelProperty(value = "车牌号")
-    private String licenseNo;
-
-    @ApiModelProperty(value = "保费")
-    private BigDecimal premium;
-
-    @ApiModelProperty(value = "签单时间")
-    private Date signingTime;
-
-    @ApiModelProperty(value = "等级")
-    private String grade;
-
-    @ApiModelProperty(value = "佣金比例")
-    private BigDecimal commissionRate;
-
-    @ApiModelProperty(value = "佣金")
-    private BigDecimal commission;
-
-    @ApiModelProperty(value = "姓名")
-    private String userName;
-
-    @ApiModelProperty(value = "手机号")
-    private String mobile;
-
-    @ApiModelProperty(value = "工号")
-    private String userId;
-
-
-}

+ 4 - 0
src/main/java/com/ydtech/modules/partner/model/PartnerPremiumDetails.java

@@ -1,6 +1,7 @@
 package com.ydtech.modules.partner.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;
@@ -120,4 +121,7 @@ public class PartnerPremiumDetails {
     @ApiModelProperty(value = "费用来源(1,2,3,4,5级)")
     private Integer source;
 
+    @TableField(exist = false)
+    private String mobile;
+
 }

+ 2 - 2
src/main/java/com/ydtech/modules/partner/model/param/PartnerDetailsParam.java

@@ -23,10 +23,10 @@ public class PartnerDetailsParam extends PageRequest {
     private String grade;
 
     @ApiModelProperty(value = "订单号")
-    private String orderNo;
+    private String orderno;
 
     @ApiModelProperty(value = "车牌号")
-    private String licenseNo;
+    private String licenseno;
 
     @ApiModelProperty(value = "签单时间")
     private List<String> signingTime;

+ 0 - 67
src/main/java/com/ydtech/modules/partner/service/Impl/PartnerCommissionDetailsServiceImpl.java

@@ -1,67 +0,0 @@
-package com.ydtech.modules.partner.service.Impl;
-
-import cn.hutool.core.collection.CollectionUtil;
-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.exception.SystemException;
-import com.ydtech.modules.partner.dao.PartnerCommissionDetailsMapper;
-import com.ydtech.modules.partner.model.PartnerCommissionDetails;
-import com.ydtech.modules.partner.model.param.PartnerDetailsParam;
-import com.ydtech.modules.partner.service.PartnerCommissionDetailsService;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.util.List;
-
-@Service
-public class PartnerCommissionDetailsServiceImpl extends ServiceImpl<PartnerCommissionDetailsMapper, PartnerCommissionDetails> implements PartnerCommissionDetailsService {
-
-
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    public int saveDetails(List<PartnerCommissionDetails> detailsList) {
-        if (detailsList == null || detailsList.isEmpty()) {
-            return 0;
-        }
-        boolean success = saveBatch(detailsList);
-        if (success) {
-            return detailsList.size();
-        } else {
-            // 可根据实际需求扩展更详细的错误处理逻辑
-            throw new SystemException("保存失败");
-        }
-    }
-
-
-
-    @Override
-    public Page queryPage(PartnerDetailsParam detailsParam) {
-        LambdaQueryWrapper<PartnerCommissionDetails> lambdaQueryWrapper = new LambdaQueryWrapper<>();
-        lambdaQueryWrapper.like(StringUtils.isNotBlank(detailsParam.getUserName()), PartnerCommissionDetails::getUserName,detailsParam.getUserName());
-        lambdaQueryWrapper.like(StringUtils.isNotBlank(detailsParam.getMobile()), PartnerCommissionDetails::getMobile,detailsParam.getMobile());
-        lambdaQueryWrapper.like(StringUtils.isNotBlank(detailsParam.getUserId()), PartnerCommissionDetails::getUserId,detailsParam.getUserId());
-        lambdaQueryWrapper.like(StringUtils.isNotBlank(detailsParam.getOrderNo()), PartnerCommissionDetails::getOrderNo,detailsParam.getOrderNo());
-        lambdaQueryWrapper.like(StringUtils.isNotBlank(detailsParam.getLicenseNo()), PartnerCommissionDetails::getLicenseNo,detailsParam.getLicenseNo());
-
-        if (CollectionUtil.isNotEmpty(detailsParam.getSigningTime())){
-            String startTime = detailsParam.getSigningTime().get(0);
-            String endTime = null;
-            if (detailsParam.getSigningTime().size() >= 2){
-                endTime = detailsParam.getSigningTime().get(1);
-            }
-            if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
-                lambdaQueryWrapper.between(PartnerCommissionDetails::getCreateTime, startTime, endTime);
-            } else if (startTime != null) {
-                lambdaQueryWrapper.ge(PartnerCommissionDetails::getCreateTime, startTime);
-            } else if (endTime != null) {
-                lambdaQueryWrapper.le(PartnerCommissionDetails::getCreateTime, endTime);
-            }
-        }
-        lambdaQueryWrapper.orderByDesc(PartnerCommissionDetails::getCreateTime);
-        return baseMapper.selectPage(detailsParam.getPage(), lambdaQueryWrapper);
-    }
-
-
-}

+ 62 - 0
src/main/java/com/ydtech/modules/partner/service/Impl/PartnerPremiumDetailsServiceImpl.java

@@ -0,0 +1,62 @@
+package com.ydtech.modules.partner.service.Impl;
+
+import cn.hutool.core.collection.CollectionUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ydtech.modules.partner.dao.PartnerPremiumDetailsMapper;
+import com.ydtech.modules.partner.model.PartnerPremiumDetails;
+import com.ydtech.modules.partner.model.param.PartnerDetailsParam;
+import com.ydtech.modules.partner.service.PartnerPremiumDetailsService;
+import com.ydtech.utils.StringUtils;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+
+@Service
+public class PartnerPremiumDetailsServiceImpl extends ServiceImpl<PartnerPremiumDetailsMapper, PartnerPremiumDetails> implements PartnerPremiumDetailsService {
+    @Override
+    public IPage queryPage(PartnerDetailsParam detailsParam) {
+
+        QueryWrapper<PartnerPremiumDetails> queryWrapper = new QueryWrapper<>();
+
+        queryWrapper.like(StringUtils.isNotBlank(detailsParam.getUserName()), "u.`name`",detailsParam.getUserName());
+        queryWrapper.like(StringUtils.isNotBlank(detailsParam.getMobile()), "u.mobile",detailsParam.getMobile());
+        queryWrapper.like(StringUtils.isNotBlank(detailsParam.getUserId()), "d.user_id",detailsParam.getUserId());
+        queryWrapper.like(StringUtils.isNotBlank(detailsParam.getOrderno()), "d.orderno",detailsParam.getOrderno());
+        queryWrapper.like(StringUtils.isNotBlank(detailsParam.getLicenseno()), "d.licenseno",detailsParam.getLicenseno());
+        if (CollectionUtil.isNotEmpty(detailsParam.getSigningTime())){
+            String startTime = detailsParam.getSigningTime().get(0);
+            String endTime = null;
+            if (detailsParam.getSigningTime().size() >= 2){
+                endTime = detailsParam.getSigningTime().get(1);
+            }
+            if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
+                queryWrapper.between("d.create_time", startTime, endTime);
+            } else if (startTime != null) {
+                queryWrapper.ge("d.create_time", startTime);
+            } else if (endTime != null) {
+                queryWrapper.le("d.create_time", endTime);
+            }
+        }
+        queryWrapper.orderByDesc("d.create_time");
+        return baseMapper.queryPage(detailsParam.getPage(), queryWrapper);
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}

+ 1 - 1
src/main/java/com/ydtech/modules/partner/service/Impl/PartnerUserServiceImpl.java

@@ -70,7 +70,7 @@ public class PartnerUserServiceImpl extends ServiceImpl<PartnerUserMapper, Partn
 
     @Override
     public IPage<PartnerUserVo> queryPage(QueryVo queryVo) {
-        IPage<PartnerUserVo> page = baseMapper.selectPage(queryVo.getPage(),queryVo);
+        IPage<PartnerUserVo> page = baseMapper.queryPage(queryVo.getPage(),queryVo);
         return page;
     }
 

+ 0 - 16
src/main/java/com/ydtech/modules/partner/service/PartnerCommissionDetailsService.java

@@ -1,16 +0,0 @@
-package com.ydtech.modules.partner.service;
-
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ydtech.modules.partner.model.PartnerCommissionDetails;
-import com.ydtech.modules.partner.model.param.PartnerDetailsParam;
-
-import java.util.List;
-
-public interface PartnerCommissionDetailsService {
-
-
-    int saveDetails(List<PartnerCommissionDetails> detailsList);
-
-
-    Page queryPage(PartnerDetailsParam detailsParam);
-}

+ 11 - 0
src/main/java/com/ydtech/modules/partner/service/PartnerPremiumDetailsService.java

@@ -0,0 +1,11 @@
+package com.ydtech.modules.partner.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.ydtech.modules.partner.model.param.PartnerDetailsParam;
+
+public interface PartnerPremiumDetailsService {
+
+
+    IPage queryPage(PartnerDetailsParam detailsParam);
+
+}

+ 1 - 1
src/main/resources/mapper/modules/admin/SysUserMapper.xml

@@ -2207,7 +2207,7 @@
         LEFT JOIN sys_role t4 ON t3.role_id = t4.id
         AND sd.del_flag = '0'
         WHERE
-         su.status = 2 and su.type = 4
+         su.status in(6,2)  and su.type = 4
         <if test='user !=null  '>
             <if test='user.name !=null and user.name!="" '>
                 and su.name like concat('%',#{user.name},'%')

+ 79 - 71
src/main/resources/mapper/modules/partner/PartnerUserMapper.xml

@@ -3,7 +3,7 @@
 <mapper namespace="com.ydtech.modules.partner.dao.PartnerUserMapper">
 
 
-    <select id="selectPage" resultType="com.ydtech.modules.partner.model.vo.PartnerUserVo">
+    <select id="queryPage" resultType="com.ydtech.modules.partner.model.vo.PartnerUserVo">
         SELECT
         t.id,
         t.NAME AS userName,
@@ -11,7 +11,7 @@
         t.user_id,
         t.dept_id,
         d.`name` deptName,
-        u.NAME AS referrerName,
+        (SELECT sys_user.`name` FROM sys_user WHERE sys_user.id = t.referrer_id ) referrerName,
         t.commission_rate,
         t.referrer_id,
         t.create_by,
@@ -26,7 +26,7 @@
         LEFT JOIN sys_dept d ON t.dept_id = d.id
         LEFT JOIN sys_user u ON u.id = t.user_id
         <where>
-           u.status in (1,3)
+           u.status in (1,3) and t.grade in (1,2,3,4)
            <if test="queryVo.name != null and queryVo.name != ''">
                and t.name like concat('%', #{queryVo.name}, '%')
            </if>
@@ -52,6 +52,7 @@
                and t.referrer_id like concat('%', #{queryVo.referrerId}, '%')
            </if>
        </where>
+        order by t.create_time desc
     </select>
 
 
@@ -75,7 +76,7 @@
             mobile,
             user_id,
             dept_id,
-            (SELECT `name` FROM sys_dept d WHERE d.id = partner_user.dept_id) AS deptName,
+            (SELECT `name` FROM sys_dept d WHERE d.id = partner_user.dept_id) AS agencyName,
             (SELECT `name` FROM sys_user u WHERE u.id = partner_user.referrer_id) AS suggestName,
             grade AS type,
             referrer_id,
@@ -147,8 +148,8 @@ select grade,grade_name from  partner_rule
     <select id="selectStatistics" resultType="java.util.Map">
         <if test="grade == 1">
             SELECT
-            (
-                SELECT
+            ifnull(
+                (SELECT
                 COUNT( p.id )
                 FROM
                 partner_user p
@@ -156,10 +157,10 @@ select grade,grade_name from  partner_rule
                 WHERE
                 u.STATUS = 1 AND p.user_id != #{params.userId}
                 AND p.referrer_id = #{params.userId}
-                AND p.grade = 2
+                AND p.grade = 2),0
             ) v1,
-            (
-                SELECT
+            ifnull(
+               ( SELECT
                 COUNT(u1.id)
                 FROM
                 partner_user u1
@@ -175,10 +176,10 @@ select grade,grade_name from  partner_rule
                 WHERE
                 u.grade = 2
                 AND u.referrer_id = #{params.userId}
-                )
+                ) ),0
             ) v2,
-            (
-                SELECT
+            ifnull(
+              ( SELECT
                 COUNT( p.id )
                 FROM
                 partner_user p
@@ -187,59 +188,63 @@ select grade,grade_name from  partner_rule
                 u.STATUS = 1 AND p.user_id != #{params.userId}
                 AND p.referrer_id = #{params.userId}
                 AND p.grade = 2
-                AND to_days(u.approve_time) = to_days(now())
+                AND to_days(u.approve_time) = to_days(now()) ),0
             ) v3,
-            (
-                    SELECT
-                    COUNT(u1.id)
-                    FROM
-                    partner_user u1
-                    LEFT JOIN sys_user_track u ON u.user_id = u1.user_id
-                    WHERE
-
-                    u.`status` = 1 AND to_days(u.approve_time) = to_days(now()) AND
-                    u1.user_id != #{params.userId} AND
-                    u1.referrer_id IN (
-                    SELECT
-                    u.user_id
-                    FROM
-                    partner_user u
-                    LEFT JOIN sys_user_track t ON t.user_id = u.user_id
-                    WHERE
-                    t.`status` = 1 AND
-                    u.grade = 2
-                    AND u.referrer_id = #{params.userId}
-                )
+            ifnull(
+                (SELECT
+            COUNT(u1.id)
+            FROM
+            partner_user u1
+            LEFT JOIN sys_user_track u ON u.user_id = u1.user_id
+            WHERE
+
+            u.`status` = 1 AND to_days(u.approve_time) = to_days(now()) AND
+            u1.user_id != #{params.userId} AND
+            u1.referrer_id IN (
+            SELECT
+            u.user_id
+            FROM
+            partner_user u
+            LEFT JOIN sys_user_track t ON t.user_id = u.user_id
+            WHERE
+            t.`status` = 1 AND
+            u.grade = 2
+            AND u.referrer_id = #{params.userId}
+            )),0
             ) v4
         </if>
         <if test="grade == 2">
             SELECT
-            (
-            SELECT count(1) FROM partner_user WHERE grade = 3 and referrer_id = #{params.userId}
+            ifnull(
+                ( SELECT count(1) FROM partner_user WHERE grade = 3 and referrer_id = #{params.userId}),0
             ) v1,
 --  合伙人的工作室
-            (
-            SELECT COUNT(1) FROM partner_user WHERE grade = 4 AND referrer_id in (
-            SELECT user_id FROM partner_user WHERE grade = 3 and referrer_id = #{params.userId})
+            ifnull(
+                ( SELECT COUNT(1) FROM partner_user WHERE grade = 4 AND referrer_id in (
+            SELECT user_id FROM partner_user WHERE grade = 3 and referrer_id = #{params.userId})),0
             ) v2,
 --                     我今日新增的合伙人
-            (
-            SELECT count(1) FROM partner_user WHERE grade = 3 and referrer_id = #{params.userId} and  to_days(create_time) = to_days(now())
+            ifnull(
+        (SELECT count(1) FROM partner_user WHERE grade = 3 and referrer_id = #{params.userId} and  to_days(create_time) = to_days(now())),0
             ) v3,
-            (
+            ifnull( (
             SELECT COUNT(1) FROM partner_user WHERE  grade = 4 and  to_days(create_time) = to_days(now()) AND referrer_id in (
             SELECT user_id FROM partner_user WHERE grade = 3 and referrer_id = #{params.userId})
+            ),0
+
             ) v4,
-            (
-            SELECT SUM(db.sumpremium) FROM (
-            SELECT sumpremium FROM partner_premium_details WHERE  to_days(create_time) = to_days(now()) AND user_id in
-            <foreach collection="params.relatedPerList" item="item" index="index" separator="," open="(" close=")">
-                #{item}
-            </foreach>
-            GROUP BY issuer_id,sumpremium ) db
+            ifnull(
+                (
+                SELECT SUM(db.sumpremium) FROM (
+                SELECT sumpremium FROM partner_premium_details WHERE  to_days(create_time) = to_days(now()) AND user_id in
+                <foreach collection="params.relatedPerList" item="item" index="index" separator="," open="(" close=")">
+                    #{item}
+                </foreach>
+                GROUP BY issuer_id,sumpremium ) db
+                ),0
             ) v5,
-            (
-            SELECT SUM(extract_fee) FROM partner_premium_details WHERE  to_days(create_time) = to_days(now()) AND user_id = #{params.userId}
+            ifnull(
+                (SELECT SUM(extract_fee) FROM partner_premium_details WHERE  to_days(create_time) = to_days(now()) AND user_id = #{params.userId}),0
             ) v6
         </if>
         <if test="grade == 3">
@@ -279,28 +284,31 @@ select grade,grade_name from  partner_rule
         </if>
         <if test="grade == 4">
             SELECT
-            ( SELECT COUNT( 1 ) FROM partner_user WHERE grade = 5 and referrer_id = #{params.userId} ) v1,
-            ( SELECT COUNT( 1 ) FROM partner_user WHERE grade = 6 and referrer_id = #{params.userId} ) v2,
-            (
-            SELECT
-            COUNT( 1 )
-            FROM
-            partner_user
-            WHERE
-            grade = 5
-            AND to_days(create_time) = to_days(now())
+            ifnull( (SELECT COUNT( 1 ) FROM partner_user WHERE grade = 5 and referrer_id = #{params.userId}),0 ) v1,
+            ifnull( (SELECT COUNT( 1 ) FROM partner_user WHERE grade = 6 and referrer_id = #{params.userId}),0 ) v2,
+            ifnull(
+                (
+                SELECT
+                COUNT( 1 )
+                FROM
+                partner_user
+                WHERE
+                grade = 5
+                AND to_days(create_time) = to_days(now())
+                ),0
             ) v3,
-            (
-            SELECT
-            COUNT( 1 )
-            FROM
-            partner_user
-            WHERE
-            grade = 6
-            AND to_days(create_time) = to_days(now())
+            ifnull((
+                SELECT
+                COUNT( 1 )
+                FROM
+                partner_user
+                WHERE
+                grade = 6
+                AND to_days(create_time) = to_days(now())
+                ),0
             ) v4,
-            ( SELECT SUM(sumpremium) FROM partner_premium_details WHERE user_id = #{params.userId} AND to_days(create_time) = to_days(now()) ) v5,
-            ( SELECT SUM(extract_fee) FROM partner_premium_details WHERE user_id = #{params.userId} AND to_days(create_time) = to_days(now()) ) v6
+            ifnull( (SELECT SUM(sumpremium) FROM partner_premium_details WHERE user_id = #{params.userId} AND to_days(create_time) = to_days(now())),0 ) v5,
+            ifnull( (SELECT SUM(extract_fee) FROM partner_premium_details WHERE user_id = #{params.userId} AND to_days(create_time) = to_days(now())),0 ) v6
         </if>
     </select>