From 90ebe50085945f76743de252b7875e8f3f088eae Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Sun, 14 Mar 2021 19:53:38 +0800 Subject: [PATCH] 分销员后台0315 --- zq-erp/src/main/java/com/matrix/system/fenxiao/dto/DelFyfaApplyDto.java | 17 + zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-apply.html | 3 zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-update.html | 4 zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoUserAction.java | 81 +++++++- zq-erp/src/main/java/com/matrix/system/fenxiao/dto/FyfaManageDto.java | 16 + zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopSalesmanGradeDao.java | 8 zq-erp/src/main/java/com/matrix/system/fenxiao/dto/AddSaleManApplyDto.java | 6 zq-erp/src/main/java/com/matrix/system/fenxiao/vo/ShopSalesmanAppliingVo.java | 3 zq-erp/src/main/java/com/matrix/system/fenxiao/dto/UpdateFyfaDto.java | 29 +++ zq-erp/src/main/java/com/matrix/system/fenxiao/vo/FyfaManageVo.java | 29 +++ zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanGradeDao.xml | 19 ++ zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-user.html | 192 +++++++++++++++++--- zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanApplyService.java | 81 ++++++++ zq-erp/src/main/java/com/matrix/system/fenxiao/dto/ExamineSaleManApplyDto.java | 3 zq-erp/src/main/java/com/matrix/system/fenxiao/dto/ShopSalesmanDetailDto.java | 3 zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopSalesmanApplyDao.java | 3 zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanApplyDao.xml | 11 17 files changed, 450 insertions(+), 58 deletions(-) diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoUserAction.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoUserAction.java index f462439..169a429 100644 --- a/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoUserAction.java +++ b/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("当前记录有误"); } diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopSalesmanApplyDao.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopSalesmanApplyDao.java index f8a5e83..4b5aad7 100644 --- a/zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopSalesmanApplyDao.java +++ b/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); diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopSalesmanGradeDao.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopSalesmanGradeDao.java index d1326a1..e51ec22 100644 --- a/zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopSalesmanGradeDao.java +++ b/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); + } \ No newline at end of file diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/AddSaleManApplyDto.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/AddSaleManApplyDto.java index 99356a1..881a1d2 100644 --- a/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/AddSaleManApplyDto.java +++ b/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; diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/DelFyfaApplyDto.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/DelFyfaApplyDto.java new file mode 100644 index 0000000..4e32d24 --- /dev/null +++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/DelFyfaApplyDto.java @@ -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; + +} diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/ExamineSaleManApplyDto.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/ExamineSaleManApplyDto.java index 83e868e..fb5da49 100644 --- a/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/ExamineSaleManApplyDto.java +++ b/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; diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/FyfaManageDto.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/FyfaManageDto.java new file mode 100644 index 0000000..4966537 --- /dev/null +++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/FyfaManageDto.java @@ -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; + +} diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/ShopSalesmanDetailDto.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/ShopSalesmanDetailDto.java index e9e771e..a16bfa5 100644 --- a/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/ShopSalesmanDetailDto.java +++ b/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; diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/UpdateFyfaDto.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/UpdateFyfaDto.java new file mode 100644 index 0000000..ea89977 --- /dev/null +++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/UpdateFyfaDto.java @@ -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; + +} diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanApplyService.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanApplyService.java index 801eeb3..0530ac5 100644 --- a/zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanApplyService.java +++ b/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("操作成功"); + } + diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/vo/FyfaManageVo.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/vo/FyfaManageVo.java new file mode 100644 index 0000000..97dc22d --- /dev/null +++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/vo/FyfaManageVo.java @@ -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; + +} diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/vo/ShopSalesmanAppliingVo.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/vo/ShopSalesmanAppliingVo.java index 20fe6e9..5f11a89 100644 --- a/zq-erp/src/main/java/com/matrix/system/fenxiao/vo/ShopSalesmanAppliingVo.java +++ b/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; diff --git a/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanApplyDao.xml b/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanApplyDao.xml index b661f60..ae87aa8 100644 --- a/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanApplyDao.xml +++ b/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> diff --git a/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanGradeDao.xml b/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanGradeDao.xml index 311d174..00dd2d4 100644 --- a/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanGradeDao.xml +++ b/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> \ No newline at end of file diff --git a/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-apply.html b/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-apply.html index 8be97f9..5183b02 100644 --- a/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-apply.html +++ b/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({ diff --git a/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-update.html b/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-update.html index 39b2425..5dad6bc 100644 --- a/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-update.html +++ b/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, } }, //查询 diff --git a/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-user.html b/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-user.html index 8d2fe90..17e7e78 100644 --- a/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-user.html +++ b/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(); } }); }, -- Gitblit v1.9.1