xiaoyong931011
2021-03-14 90ebe50085945f76743de252b7875e8f3f088eae
分销员后台0315
4 files added
13 files modified
508 ■■■■ changed files
zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoUserAction.java 81 ●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopSalesmanApplyDao.java 3 ●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopSalesmanGradeDao.java 8 ●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/fenxiao/dto/AddSaleManApplyDto.java 6 ●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/fenxiao/dto/DelFyfaApplyDto.java 17 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/fenxiao/dto/ExamineSaleManApplyDto.java 3 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/fenxiao/dto/FyfaManageDto.java 16 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/fenxiao/dto/ShopSalesmanDetailDto.java 3 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/fenxiao/dto/UpdateFyfaDto.java 29 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanApplyService.java 81 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/fenxiao/vo/FyfaManageVo.java 29 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/fenxiao/vo/ShopSalesmanAppliingVo.java 3 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanApplyDao.xml 11 ●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanGradeDao.xml 19 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-apply.html 3 ●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-update.html 4 ●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-user.html 192 ●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoUserAction.java
@@ -1,7 +1,7 @@
package com.matrix.system.fenxiao.action;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.matrix.biz.bean.BizUser;
@@ -15,6 +15,7 @@
import com.matrix.system.fenxiao.dao.ShopSalesmanGradeDao;
import com.matrix.system.fenxiao.dto.*;
import com.matrix.system.fenxiao.entity.ShopSalesmanApply;
import com.matrix.system.fenxiao.entity.ShopSalesmanGrade;
import com.matrix.system.fenxiao.service.ShopSalesmanApplyService;
import com.matrix.system.fenxiao.vo.*;
import com.matrix.system.hive.action.util.QueryUtil;
@@ -54,7 +55,8 @@
        AjaxResult result= AjaxResult.buildSuccessInstance("查询成功");
        //根据OPENID查询基础信息
        String userId = shopSalesmanDetailDto.getUserId();
        SalesmanBasicDetailVo salesmanBasicDetailVo = shopSalesmanApplyService.selectShopSalesmanDetailByOpenId(userId);
        String applyId = shopSalesmanDetailDto.getApplyId();
        SalesmanBasicDetailVo salesmanBasicDetailVo = shopSalesmanApplyService.selectShopSalesmanDetailByOpenId(userId,Long.parseLong(applyId));
        result.putInMap("basicdetail", salesmanBasicDetailVo);
        //排序
        if(StringUtils.isBlank(shopSalesmanDetailDto.getSort())){
@@ -97,6 +99,60 @@
    public @ResponseBody
    AjaxResult unbundlingSaleMan(@RequestBody UnbundlingSaleManDto unbundlingSaleManDto) {
        return shopSalesmanApplyService.unbundlingSaleMan(unbundlingSaleManDto);
    }
    /**
     * 分佣方案
     */
    @ApiOperation(value = "查询分佣方案")
    @ApiResponses({
            @ApiResponse(code = 200, message = "OK",  response = FyfaManageVo.class)
    })
    @PostMapping(value = "/findFyfaManageList")
    public @ResponseBody
    AjaxResult findFyfaManageList(@RequestBody FyfaManageDto fyfaManageDto) {
        //设置用户公司ID
        QueryUtil.setQueryLimitCom(fyfaManageDto);
        //排序
        if(StringUtils.isBlank(fyfaManageDto.getSort())){
            fyfaManageDto.setSort("create_time");
            fyfaManageDto.setOrder("asc");
        }
        Page<FyfaManageVo> page = new Page(fyfaManageDto.getPageNum(), fyfaManageDto.getPageSize());
        IPage<FyfaManageVo> rows = shopSalesmanApplyService.findFyfaManageList(page,fyfaManageDto);
        AjaxResult result = AjaxResult.buildSuccessInstance(rows.getRecords(),rows.getTotal());
        return result;
    }
    /**
     *新增分佣方案
     */
    @ApiOperation(value = "新增分佣方案")
    @RequestMapping(value = "/addFyfa")
    private @ResponseBody AjaxResult addFyfa(){
        SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
        shopSalesmanApplyService.addFyfa(user);
        return AjaxResult.buildSuccessInstance("新增成功");
    }
    /**
     *修改分佣方案
     */
    @ApiOperation(value = "修改分佣方案")
    @PostMapping(value = "/updateFyfa")
    public @ResponseBody
    AjaxResult updateFyfa(@RequestBody UpdateFyfaDto updateFyfaDto) {
        return shopSalesmanApplyService.updateFyfa(updateFyfaDto);
    }
    /**
     *删除分佣方案
     */
    @ApiOperation(value = "删除分佣方案")
    @PostMapping(value = "/delFyfaApply")
    public @ResponseBody
    AjaxResult delFyfaApply(@RequestBody DelFyfaApplyDto delFyfaApplyDto) {
        return shopSalesmanApplyService.delFyfaApply(delFyfaApplyDto);
    }
    /**
@@ -155,13 +211,21 @@
    @ApiOperation(value = "新增分销员")
    @PostMapping(value = "/addSaleManApply")
    public @ResponseBody
    AjaxResult findShopSalesmanAppliingList(@RequestBody AddSaleManApplyDto addSaleManApplyDto) {
    AjaxResult addSaleManApply(@RequestBody AddSaleManApplyDto addSaleManApplyDto) {
        String gradeId = addSaleManApplyDto.getGradeId();
        if(StrUtil.isBlankOrUndefined(gradeId)) {
            return AjaxResult.buildSuccessInstance("请选择分销等级");
        }
        ShopSalesmanGrade selectById = shopSalesmanGradeDao.selectById(Long.parseLong(gradeId));
        if(ObjectUtil.isEmpty(selectById)) {
            return AjaxResult.buildSuccessInstance("请选择分销等级");
        }
        //设置用户公司ID
        QueryUtil.setQueryLimitCom(addSaleManApplyDto);
        AjaxResult result= AjaxResult.buildSuccessInstance("设置成功");
        shopSalesmanApplyService.addSaleManApply(addSaleManApplyDto.getUserId(),addSaleManApplyDto.getGradeId());
        return result;
        shopSalesmanApplyService.addSaleManApply(addSaleManApplyDto.getOpenId(),gradeId);
        return AjaxResult.buildSuccessInstance("设置成功");
    }
    
    /**
@@ -185,10 +249,7 @@
        QueryUtil.setQueryLimitCom(examineSaleManApplyDto);
        String userId = examineSaleManApplyDto.getUserId();
        //待审核状态才允许提交
        QueryWrapper<ShopSalesmanApply> queryWrapperOrepool = new QueryWrapper<>();
        queryWrapperOrepool.eq("user_id", userId);
        queryWrapperOrepool.eq("company_id", examineSaleManApplyDto.getCompanyId());
        ShopSalesmanApply shopSalesmanApply = shopSalesmanApplyDao.selectOne(queryWrapperOrepool);
        ShopSalesmanApply shopSalesmanApply = shopSalesmanApplyDao.selectById(examineSaleManApplyDto.getApplyId());
        if(ObjectUtil.isEmpty(shopSalesmanApply)) {
            return  AjaxResult.buildFailInstance("当前记录有误");
        }
zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopSalesmanApplyDao.java
@@ -38,7 +38,8 @@
    SalesmanCenterInfo selectSalesmanCenterInfo(String openId);
    SalesmanBasicDetailVo selectShopSalesmanDetailByOpenId(@Param("userId")String userId, @Param("companyId")Long companyId);
    SalesmanBasicDetailVo selectShopSalesmanDetailByOpenId(@Param("userId")String userId,
            @Param("companyId")Long companyId,@Param("applyId")long applyId);
    IPage<ShopCustomDetailVo> findCustomDetail(Page<ShopCustomDetailVo> page,
                                               @Param("record")ShopSalesmanDetailDto shopSalesmanDetailDto);
zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopSalesmanGradeDao.java
@@ -1,9 +1,13 @@
package com.matrix.system.fenxiao.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.matrix.system.fenxiao.dto.FyfaManageDto;
import com.matrix.system.fenxiao.entity.ShopSalesmanGrade;
import com.matrix.system.fenxiao.vo.FyfaManageVo;
import com.matrix.system.fenxiao.vo.ShopSalesmanGradeVo;
import io.lettuce.core.dynamic.annotation.Param;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -16,4 +20,6 @@
    List<ShopSalesmanGradeVo> getShopSalesmanGradeVo(@Param("companyId")Long companyId);
    IPage<FyfaManageVo> findFyfaManageList(Page<FyfaManageVo> page,@Param("record")FyfaManageDto fyfaManageDto);
}
zq-erp/src/main/java/com/matrix/system/fenxiao/dto/AddSaleManApplyDto.java
@@ -4,16 +4,16 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
@Data
@ApiModel(value = "AddSaleManApplyDto", description = "查询参数")
public class AddSaleManApplyDto {
    @NotNull
    @ApiModelProperty(value ="会员ID")
    private String userId;
    
    @ApiModelProperty(value = "申请用户openId")
    private String openId;
    @ApiModelProperty(value ="等级ID")
    private String gradeId;
zq-erp/src/main/java/com/matrix/system/fenxiao/dto/DelFyfaApplyDto.java
New file
@@ -0,0 +1,17 @@
package com.matrix.system.fenxiao.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "DelFyfaApplyDto", description = "参数")
public class DelFyfaApplyDto {
    @ApiModelProperty(value ="申请记录ID")
     private Long gradeId;
    @ApiModelProperty(hidden = true)
    private Long companyId;
}
zq-erp/src/main/java/com/matrix/system/fenxiao/dto/ExamineSaleManApplyDto.java
@@ -13,6 +13,9 @@
    @NotNull
    @ApiModelProperty(value ="会员ID")
    private String userId;
    @ApiModelProperty(value = "申请记录ID")
    private Long applyId;
    @ApiModelProperty(value ="审核状态   2:同意 3:不同意")
    private Integer applyState;
zq-erp/src/main/java/com/matrix/system/fenxiao/dto/FyfaManageDto.java
New file
@@ -0,0 +1,16 @@
package com.matrix.system.fenxiao.dto;
import com.matrix.core.pojo.BasePageQueryDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "FyfaManageDto", description = "查询参数")
public class FyfaManageDto extends BasePageQueryDto {
    @ApiModelProperty(hidden = true)
    private Long companyId;
}
zq-erp/src/main/java/com/matrix/system/fenxiao/dto/ShopSalesmanDetailDto.java
@@ -16,6 +16,9 @@
    @ApiModelProperty(value ="会员OPENID")
    private String userId;
    @ApiModelProperty(value ="申请记录ID")
    private String applyId;
    @ApiModelProperty(value = " 结算状态1,待结算,2,已结算,3已退款")
    private Integer orderType;
    
zq-erp/src/main/java/com/matrix/system/fenxiao/dto/UpdateFyfaDto.java
New file
@@ -0,0 +1,29 @@
package com.matrix.system.fenxiao.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "UpdateFyfaDto", description = "参数")
public class UpdateFyfaDto {
    @ApiModelProperty(value = "id")
    private Long id;
    @ApiModelProperty(value = "方案名称")
    private String  name;
    @ApiModelProperty(value = "推广提成%")
    private Double  sealesCommission;
    @ApiModelProperty(value = "邀请提成 %")
    private Double  invitationCommission;
    @ApiModelProperty(value = "等级条件(推广金额)")
    private Double  gradeCondition;
    @ApiModelProperty(hidden = true)
    private Long companyId;
}
zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanApplyService.java
@@ -12,18 +12,23 @@
import com.matrix.core.pojo.AjaxResult;
import com.matrix.core.tools.StringUtils;
import com.matrix.system.common.bean.BusParameterSettings;
import com.matrix.system.common.bean.SysUsers;
import com.matrix.system.common.dao.BusParameterSettingsDao;
import com.matrix.system.fenxiao.constant.FenxiaoSettingConstant;
import com.matrix.system.fenxiao.dao.ShopSalesmanApplyDao;
import com.matrix.system.fenxiao.dao.ShopSalesmanGradeDao;
import com.matrix.system.fenxiao.dto.ChangeSaleManGradeDto;
import com.matrix.system.fenxiao.dto.DelFyfaApplyDto;
import com.matrix.system.fenxiao.dto.DelSaleManGradeApplyDto;
import com.matrix.system.fenxiao.dto.FyfaManageDto;
import com.matrix.system.fenxiao.dto.ShopSalesmanAppliingDto;
import com.matrix.system.fenxiao.dto.ShopSalesmanApplyDto;
import com.matrix.system.fenxiao.dto.ShopSalesmanDetailDto;
import com.matrix.system.fenxiao.dto.UnbundlingSaleManDto;
import com.matrix.system.fenxiao.dto.UpdateFyfaDto;
import com.matrix.system.fenxiao.entity.ShopSalesmanApply;
import com.matrix.system.fenxiao.entity.ShopSalesmanGrade;
import com.matrix.system.fenxiao.vo.FyfaManageVo;
import com.matrix.system.fenxiao.vo.SalesmanBasicDetailVo;
import com.matrix.system.fenxiao.vo.ShopCustomDetailVo;
import com.matrix.system.fenxiao.vo.ShopOrderDetailVo;
@@ -33,11 +38,13 @@
import com.matrix.system.hive.action.util.QueryUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
@@ -77,6 +84,7 @@
        //校验审核状态,和是否重复发起
        QueryWrapper<ShopSalesmanApply> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("user_id",loginUser.getOpenId());
        queryWrapper.in("apply_status",Arrays.asList("1,2".split(",")));
        ShopSalesmanApply checkApply = shopSalesmanApplyDao.selectOne(queryWrapper);
        if(checkApply==null||
                checkApply.getApplyStatus()==ShopSalesmanApply.APPLY_STATUS_WTG){
@@ -148,7 +156,7 @@
    
    @Transactional(rollbackFor = Exception.class)
    public void addSaleManApply(String userId,String gradeId) {
        BizUser user = bizUserDao.selectById(userId);
        BizUser user = bizUserDao.findByOpenId(userId);
        applyToBeAnSalesman(user.getOpenId(),gradeId, "",ShopSalesmanApply.APPLY_WAY_HAND_ADD);
    }
@@ -156,7 +164,7 @@
    public void examineSaleManApply(ShopSalesmanApply shopSalesmanApply, Integer applyState) {
        String userId = shopSalesmanApply.getUserId();
        String parentUserId = shopSalesmanApply.getParentUserId();
        BizUser bizUser = bizUserDao.selectById(userId);
        BizUser bizUser = bizUserDao.findByOpenId(userId);
        //修改审核记录
        if(ShopSalesmanApply.APPLY_STATUS_TG == applyState) {
            shopSalesmanApply.setApplyStatus(ShopSalesmanApply.APPLY_STATUS_TG);
@@ -178,11 +186,11 @@
        return null;
    }
    public SalesmanBasicDetailVo selectShopSalesmanDetailByOpenId(String userId) {
    public SalesmanBasicDetailVo selectShopSalesmanDetailByOpenId(String userId, long applyId) {
        //获取个人信息
        BizUser bizUser = bizUserDao.findByOpenId(userId);
        Long companyId = bizUser.getCompanyId();
        return shopSalesmanApplyDao.selectShopSalesmanDetailByOpenId(userId,companyId);
        return shopSalesmanApplyDao.selectShopSalesmanDetailByOpenId(userId,companyId,applyId);
    }
    public IPage<ShopCustomDetailVo> findCustomDetail(Page<ShopCustomDetailVo> page,
@@ -200,6 +208,7 @@
        return shopSalesmanApplyDao.findShopOrderDetail(pageOrder,shopSalesmanDetailDto);
    }
    @Transactional(rollbackFor = Exception.class)
    public AjaxResult changeSaleManGrade(ChangeSaleManGradeDto changeSaleManGradeDto) {
        //设置用户公司ID
        QueryUtil.setQueryLimitCom(changeSaleManGradeDto);
@@ -220,16 +229,28 @@
        if(BizUser.IS_SALES != isSales) {
            return AjaxResult.buildFailInstance("当前用户未通过审核,不允许修改");
        }
        //修改申请记录的等级
        QueryWrapper<ShopSalesmanApply> queryShopSalesmanApply = new QueryWrapper<>();
        queryShopSalesmanApply.eq("apply_status", 2);
        queryShopSalesmanApply.eq("user_id", userId);
        queryShopSalesmanApply.eq("company_id", companyId);
        ShopSalesmanApply shopSalesmanApply = shopSalesmanApplyDao.selectOne(queryShopSalesmanApply);
        Long gradeId = changeSaleManGradeDto.getGradeId();
        if(ObjectUtil.isEmpty(gradeId)) {
            findByOpenId.setSalesmanGrade(shopSalesmanGrade.getId());
            shopSalesmanApply.setGradeId(shopSalesmanGrade.getId());
        }else {
            findByOpenId.setSalesmanGrade(gradeId);
            shopSalesmanApply.setGradeId(gradeId);
        }
        bizUserDao.updateByModel(findByOpenId);
        shopSalesmanApplyDao.updateById(shopSalesmanApply);
        return AjaxResult.buildFailInstance("修改等级成功");
    }
    @Transactional(rollbackFor = Exception.class)
    public AjaxResult unbundlingSaleMan(UnbundlingSaleManDto unbundlingSaleManDto) {
        //设置用户公司ID
        QueryUtil.setQueryLimitCom(unbundlingSaleManDto);
@@ -244,6 +265,7 @@
        return AjaxResult.buildFailInstance("解绑成功");
    }
    @Transactional(rollbackFor = Exception.class)
    public AjaxResult delSaleManGradeApply(DelSaleManGradeApplyDto delSaleManGradeApplyDto) {
        //设置用户公司ID
        QueryUtil.setQueryLimitCom(delSaleManGradeApplyDto);
@@ -264,6 +286,57 @@
        return AjaxResult.buildFailInstance("操作成功");
    }
    public IPage<FyfaManageVo> findFyfaManageList(Page<FyfaManageVo> page, FyfaManageDto fyfaManageDto) {
        return shopSalesmanGradeDao.findFyfaManageList(page,fyfaManageDto);
    }
    @Transactional(rollbackFor = Exception.class)
    public void addFyfa(SysUsers user) {
        ShopSalesmanGrade shopSalesmanGrade = new ShopSalesmanGrade();
        shopSalesmanGrade.setIsDefault(2);
        shopSalesmanGrade.setCreateBy(user.getSuName());
        shopSalesmanGrade.setUpdateBy(user.getSuName());
        shopSalesmanGrade.setCreateTime(new Date());
        shopSalesmanGrade.setUpdateTime(new Date());
        shopSalesmanGrade.setCompanyId(user.getCompanyId());
        shopSalesmanGradeDao.insert(shopSalesmanGrade);
    }
    @Transactional(rollbackFor = Exception.class)
    public AjaxResult delFyfaApply(DelFyfaApplyDto delFyfaApplyDto) {
        //设置用户公司ID
        QueryUtil.setQueryLimitCom(delFyfaApplyDto);
        Long gradeId = delFyfaApplyDto.getGradeId();
        ShopSalesmanGrade selectById = shopSalesmanGradeDao.selectById(gradeId);
        if(ObjectUtil.isEmpty(selectById)) {
            return AjaxResult.buildFailInstance("当前行数据不存在,请刷新页面");
        }
        shopSalesmanGradeDao.deleteById(gradeId);
        return AjaxResult.buildFailInstance("操作成功");
    }
    @Transactional(rollbackFor = Exception.class)
    public AjaxResult updateFyfa(UpdateFyfaDto updateFyfaDto) {
        ShopSalesmanGrade selectById = shopSalesmanGradeDao.selectById(updateFyfaDto.getId());
        if(ObjectUtil.isEmpty(selectById)) {
            return AjaxResult.buildFailInstance("当前行数据不存在,请刷新页面");
        }
        String name = updateFyfaDto.getName();
        if(StrUtil.isEmpty(name)) {
            return AjaxResult.buildFailInstance("请输入方案名称");
        }
        //设置用户公司ID
        QueryUtil.setQueryLimitCom(updateFyfaDto);
        selectById.setCompanyId(updateFyfaDto.getCompanyId());
        selectById.setName(updateFyfaDto.getName());
        selectById.setSealesCommission(updateFyfaDto.getSealesCommission());
        selectById.setInvitationCommission(updateFyfaDto.getInvitationCommission());
        selectById.setGradeCondition(updateFyfaDto.getGradeCondition());
        shopSalesmanGradeDao.updateById(selectById);
        return AjaxResult.buildFailInstance("操作成功");
    }
    
    
    
zq-erp/src/main/java/com/matrix/system/fenxiao/vo/FyfaManageVo.java
New file
@@ -0,0 +1,29 @@
package com.matrix.system.fenxiao.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "FyfaManageVo", description = "分佣方案信息返回类")
public class FyfaManageVo {
    @ApiModelProperty(value = "id")
    private Long id;
    @ApiModelProperty(value = "方案名称")
    private String  name;
    @ApiModelProperty(value = "推广提成%")
    private Double  sealesCommission;
    @ApiModelProperty(value = "邀请提成 %")
    private Double  invitationCommission;
    @ApiModelProperty(value = "等级条件(推广金额)")
    private Double  gradeCondition;
    @ApiModelProperty(value = "默认等级1是,2不是")
    private Integer  isDefault;
}
zq-erp/src/main/java/com/matrix/system/fenxiao/vo/ShopSalesmanAppliingVo.java
@@ -13,6 +13,9 @@
    
    @ApiModelProperty(value = "申请用户id")
    private String  userId;
    @ApiModelProperty(value = "申请用户openId")
    private String  openId;
    
    @ApiModelProperty(value = "分销员")
    private String nickname;
zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanApplyDao.xml
@@ -118,18 +118,17 @@
    </select>
    <select id="selectBizUserApplyList" resultType="com.matrix.system.fenxiao.vo.ShopSalesmanAppliingVo">
        SELECT
        a.open_id userId,
        a.user_id userId,
        a.open_id openId,
        a.nick_name nickName,
        a.avatar_url avatarUrl,
        a.create_time createTime,
        a.phone_number phone
        FROM
        biz_user a
        LEFT JOIN shop_salesman_apply b ON a.open_id = b.user_id
        <where>
            a.company_id = #{record.companyId}
            and a.is_sales != 1
            and b.apply_status not in (1,2)
            <if test="record.nickName != null and record.nickName != ''">
                and a.nick_name like concat('%',#{record.nickName},'%')
            </if>
@@ -220,9 +219,7 @@
        shop_salesman_apply a
        LEFT JOIN biz_user b ON a.user_id = b.open_id
        LEFT JOIN shop_salesman_grade g ON a.grade_id = g.id
        <where>
            a.company_id=#{companyId} and a.user_id = #{userId}
        </where>
            where a.id = #{applyId}
    </select>
    <select id="findCustomDetail" resultType="com.matrix.system.fenxiao.vo.ShopCustomDetailVo">
@@ -240,6 +237,7 @@
            a.company_id = #{record.companyId}
            AND b.is_sales != 1
            and b.parent_open_id = #{record.userId}
            and a.apply_status = 2
            <if test="record.userName != null and record.userName != ''">
                and b.nick_name like concat('%',#{record.userName},'%')
            </if>
@@ -263,6 +261,7 @@
            a.company_id = #{record.companyId}
            AND b.is_sales = 1
            and b.parent_open_id = #{record.userId}
            and a.apply_status = 2
            <if test="record.userName != null and record.userName != ''">
                and b.nick_name like concat('%',#{record.userName},'%')
            </if>
zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanGradeDao.xml
@@ -45,4 +45,23 @@
        a.company_id = #{companyId}
    </select>
    <select id="findFyfaManageList" resultType="com.matrix.system.fenxiao.vo.FyfaManageVo">
        SELECT
            a.id id,
            a.name name,
            a.seales_commission sealesCommission,
            a.invitation_commission invitationCommission,
            a.grade_condition gradeCondition,
            a.is_default isDefault
        FROM
        shop_salesman_grade a
        <where>
            a.company_id = #{record.companyId}
        </where>
        <if test="record.sort !=null">
            order by
            a.${record.sort} ${record.order}
        </if>
    </select>
</mapper>
zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-apply.html
@@ -124,10 +124,11 @@
            addSaleManApply(row){
                let _this = this;
                let userId = row.userId;
                let openId = row.openId;
                let gradeId = row.proJbruserValue;
                alert(gradeId);
                let obj = {
                    userId: userId,
                    openId: openId,
                    gradeId: gradeId,
                }
                AjaxProxy.requst({
zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-update.html
@@ -332,6 +332,7 @@
<script>
    //获取传输的USERID对象
    var userId = $.query.get("userId");
    var applyId = $.query.get("applyId");
    var app = new Vue({
        el: '#app',
@@ -442,6 +443,7 @@
                    order:_this.form.order,
                    sort:_this.form.sort,
                    userId:userId,
                    applyId:applyId,
                }
            },
            //查询
@@ -486,6 +488,7 @@
                    order:_this.formlow.order,
                    sort:_this.formlow.sort,
                    userId:userId,
                    applyId:applyId,
                }
            },
            //查询
@@ -531,6 +534,7 @@
                    order:_this.formOrder.order,
                    sort:_this.formOrder.sort,
                    userId:userId,
                    applyId:applyId,
                }
            },
            //查询
zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-user.html
@@ -149,42 +149,58 @@
                </el-tab-pane>
                <el-tab-pane label="分佣方案" name="second">
                    <template>
                        <el-table
                                :data="tableData"
                                style="width: 100%"
                                height="250">
                    <el-row class="table-style" >
                        <el-table id="proj" :data="fyfaList.rows"  :height="height">
                            <el-table-column
                                    prop="name"
                                    label="方案名称"
                                    width="180">
                                    label="方案名称">
                                <template slot-scope="scope">
                                    <el-input class="edit-input" v-model="scope.row.name" placeholder="方案名称"></el-input>
                                </template>
                            </el-table-column>
                            <el-table-column
                                    prop="name"
                                    label="推广提成%"
                                    width="180">
                                    prop="sealesCommission"
                                    label="推广提成 %">
                                <template slot-scope="scope">
                                    <el-input class="edit-input" v-model="scope.row.sealesCommission" oninput ="value=value.replace(/[^0-9.]/g,'')" placeholder="推广提成 %"></el-input>
                                </template>
                            </el-table-column>
                            <el-table-column
                                    prop="name"
                                    label="邀请提成 %"
                                    width="180">
                                    prop="invitationCommission"
                                    label="邀请提成 %">
                                <template slot-scope="scope">
                                    <el-input class="edit-input" v-model="scope.row.invitationCommission" oninput ="value=value.replace(/[^0-9.]/g,'')" placeholder="邀请提成 %"></el-input>
                                </template>
                            </el-table-column>
                            <el-table-column
                                    prop="name"
                                    label="等级条件(推广金额额)"
                                    width="180">
                                    prop="gradeCondition"
                                    label="等级条件(推广金额)">
                                <template slot-scope="scope">
                                    <el-input class="edit-input" v-model="scope.row.gradeCondition" oninput ="value=value.replace(/[^0-9.]/g,'')" placeholder="等级条件(推广金额)"></el-input>
                                </template>
                            </el-table-column>
                            <el-table-column
                                fixed="right"
                                label="操作"
                                width="100">
                            <template slot-scope="scope">
                                <el-button @click="handleClick(scope.row)" type="text" size="small">查看</el-button>
                                <el-button type="text" size="small">编辑</el-button>
                            </template>
                        </el-table-column>
                            <el-table-column label="操作" width="240">
                                <template slot-scope="scope">
                                    <el-row style="display:flex;">
                                        <el-button type="primary" v-if="scope.row.isDefault == 1" size="mini" @click="addFyfa()">新增</el-button>
                                        <el-button type="primary" size="mini" @click="updateFyfa(scope.row)">保存</el-button>
                                        <el-button type="primary" v-if="scope.row.isDefault == 2" size="mini" @click="delFyfa(scope.row)">删除</el-button>
                                    </el-row>
                                </template>
                            </el-table-column>
                        </el-table>
                    </template>
                    </el-row>
                    <el-row class="paginationStyle"  >
                        <el-pagination background
                                       @size-change="changePageSizelow"
                                       @current-change="changeCurrentPagelow"
                                       :current-page="fyfaList.currentPage"
                                       :page-sizes="[10, 20, 30, 50]"
                                       :page-size="fyfaList.pageSize"
                                       layout="total, sizes, prev, pager, next, jumper"
                                       :total="fyfaList.total">
                        </el-pagination>
                    </el-row>
                </el-tab-pane>
                <el-tab-pane label="推广文案" name="third">
@@ -196,6 +212,7 @@
                        <el-button type="primary" @click="submit()">保存</el-button>
                    </el-row>
                </el-tab-pane>
                <el-tab-pane label="分享图片上传" name="fourth">
                    <el-row>
                        <div class="ibox-content">
@@ -217,6 +234,7 @@
                        </div>
                    </el-row>
                </el-tab-pane>
            </el-tabs>
        </el-row>
</div>
@@ -238,17 +256,24 @@
    var app = new Vue({
        el: '#app',
        data: {
            height:'calc(100vh - 240px)',
            fxy:[],
            fenxiaoGrade: "",
            tableData:[],
            tgwa: "",
            activeName: 'first',
            multipleSelection: [],
            jfyxq:[],
            fxtp:{},
            jfdxj:[],
            mdjf:[],
            scjf:[],
            //分佣方案
            fyfaList:{
                rows:[],
                total:0,
                pageSize:10,
                currentPage:1,
            },
            //分销员管理
            shenheAgreeType : 2,
            shenheDisagreeType : 3,
            form:{
@@ -291,6 +316,7 @@
            loadInfo() {
                let _this = this;
                _this.loadParamSetting();
                _this.loadFyfaSetting();
                _this.getSalemanGradeList();
            },
            submittp(paramValue) {
@@ -311,6 +337,106 @@
            handleClick(row) {
                console.log(row);
            },
            //分佣方案
            loadFyfaSetting() {
                let _this = this;
                let data=_this.getRequestParam();
                data.pageSize=_this.fyfaList.pageSize;
                data.pageNum=_this.fyfaList.currentPage;
                AjaxProxy.requst({
                    app: _this,
                    data:data,
                    url: basePath + '/fenXiao/fenXiaoUser/findFyfaManageList',
                    callback: function (data) {
                        _this.fyfaList.rows = data.rows;
                        _this.fyfaList.total = data.total;
                    }
                });
            },
            changePageSizelow(val) {
                this.fyfaList.pageSize = val;
                this.loadFyfaSetting();
            },
            changeCurrentPagelow(val) {
                this.fyfaList.currentPage = val;
                this.loadFyfaSetting();
            },
            //新增
            addFyfa(){
                let _this = this;
                AjaxProxy.requst({
                    app: _this,
                    data:[],
                    url: basePath + '/fenXiao/fenXiaoUser/addFyfa',
                    callback: function (data) {
                        _this.$message.success(data.info);
                    }
                });
                _this.loadFyfaSetting();
            },
            updateFyfa(row){
                let _this = this;
                let id = row.id;
                let name = row.name;
                let sealesCommission = row.sealesCommission;
                let invitationCommission = row.invitationCommission;
                let gradeCondition = row.gradeCondition;
                let obj = {
                    id: id,
                    name: name,
                    sealesCommission: sealesCommission,
                    invitationCommission: invitationCommission,
                    gradeCondition: gradeCondition,
                }
                AjaxProxy.requst({
                    app: _this,
                    data:obj,
                    url: basePath + '/fenXiao/fenXiaoUser/updateFyfa',
                    callback: function (data) {
                        _this.$message.success(data.info);
                        _this.loadFyfaSetting();
                    }
                });
            },
            //删除
            delFyfa(row){
                let _this = this;
                _this.$confirm('是否删除?', '删除', {
                    distinguishCancelAndClose: true,//设置关闭按钮和不通过按钮的区别
                    confirmButtonText: '确认',
                    cancelButtonText: '取消',
                    type: 'info'
                }).then(() => {
                    //通过
                    _this.delFyfaApply(row);
                    _this.loadFyfaSetting();
                }).catch(action => {
                    //不通过
                    if(action === 'cancel'){
                        console.log("cancel");
                    }else{
                        //关闭按钮
                        console.log("close");
                        //this.$message({type: 'info',message: ''})
                    }
                });
            },
            delFyfaApply(row){
                let _this = this;
                let id = row.id;
                let obj = {
                    gradeId: id,
                }
                AjaxProxy.requst({
                    app: _this,
                    data:obj,
                    url: basePath + '/fenXiao/fenXiaoUser/delFyfaApply',
                    callback: function (data) {
                        _this.$message.success(data.info);
                    }
                });
            },
            //分销员管理
            loadParamSetting() {
                let _this = this;
                let data=_this.getRequestParam();
@@ -433,7 +559,7 @@
                    url: basePath + '/fenXiao/fenXiaoUser/delSaleManGradeApply',
                    callback: function (data) {
                        _this.$message.success(data.info);
                        this.loadParamSetting();
                        _this.loadParamSetting();
                    }
                });
            },
@@ -444,7 +570,7 @@
                    title: "修改等级",
                    maxmin: true,
                    area: [MUI.SIZE_L, '500px'],
                    content : [ basePath + '/admin/redirect/fenxiao/fenxiao-update?userId=' + row.userId ]
                    content : [ basePath + '/admin/redirect/fenxiao/fenxiao-update?userId=' + row.userId+'&applyId='+row.id ]
                }));
            },
            //审核
@@ -471,8 +597,10 @@
            examineSaleManApply(row,type){
                let _this = this;
                let userId = row.userId;
                let applyId = row.id;
                let obj = {
                    userId: userId,
                    applyId: applyId,
                    applyState: type,
                }
                AjaxProxy.requst({
@@ -481,7 +609,7 @@
                    url: basePath + '/fenXiao/fenXiaoUser/examineSaleManApply',
                    callback: function (data) {
                        _this.$message.success(data.info);
                        this.loadParamSetting();
                        _this.loadParamSetting();
                    }
                });
            },