zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoUserAction.java
@@ -2,19 +2,25 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.matrix.core.constance.MatrixConstance; import com.matrix.core.pojo.AjaxResult; import com.matrix.core.tools.StringUtils; import com.matrix.core.tools.WebUtil; import com.matrix.system.common.bean.SysUsers; import com.matrix.system.fenxiao.dto.ShopSalesmanAppliingDto; import com.matrix.system.fenxiao.dto.ShopSalesmanApplyDto; import com.matrix.system.fenxiao.service.ShopSalesmanApplyService; import com.matrix.system.fenxiao.vo.ShopSalesmanAppliingVo; import com.matrix.system.fenxiao.vo.ShopSalesmanApplyVo; import com.matrix.system.fenxiao.vo.ShopSalesmanGradeVo; import com.matrix.system.hive.action.util.QueryUtil; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponses; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; @RestController @RequestMapping(value = "/fenXiao/fenXiaoUser") @@ -41,23 +47,12 @@ shopSalesmanApplyDto.setOrder("desc"); } Page<ShopSalesmanApplyVo> page = new Page(shopSalesmanApplyDto.getPageNum(), shopSalesmanApplyDto.getPageSize()); IPage<ShopSalesmanApplyVo> rows = shopSalesmanApplyService.findShopSalesmanApplyList(page,shopSalesmanApplyDto); AjaxResult result = AjaxResult.buildSuccessInstance(rows.getRecords(),rows.getTotal()); return result; } /** * 跳转 分销员待审核记录页面 * @RequestMapping(value = "/shopSalesmanAppliing") public String shopSalesmanAppliing() { return "admin/fenxiao/fenxiao-apply"; } */ /** *获取分销员待审核记录 @@ -71,8 +66,6 @@ AjaxResult findShopSalesmanAppliingList(@RequestBody ShopSalesmanAppliingDto shopSalesmanAppliingDto) { //设置用户公司ID QueryUtil.setQueryLimitCom(shopSalesmanAppliingDto); //查询条件待审核状态 shopSalesmanAppliingDto.setApplyStatus(1); //排序 if(StringUtils.isBlank(shopSalesmanAppliingDto.getSort())){ shopSalesmanAppliingDto.setSort("create_time"); @@ -80,9 +73,41 @@ } Page<ShopSalesmanAppliingVo> page = new Page(shopSalesmanAppliingDto.getPageNum(), shopSalesmanAppliingDto.getPageSize()); IPage<ShopSalesmanAppliingVo> rows = shopSalesmanApplyService.findShopSalesmanAppliingList(page,shopSalesmanAppliingDto); IPage<ShopSalesmanAppliingVo> rows = shopSalesmanApplyService.selectBizUserApplyList(page,shopSalesmanAppliingDto); //IPage<ShopSalesmanAppliingVo> rows = shopSalesmanApplyService.findShopSalesmanAppliingList(page,shopSalesmanAppliingDto); AjaxResult result = AjaxResult.buildSuccessInstance(rows.getRecords(),rows.getTotal()); return result; } /** *获取对应的分销员等级 */ @RequestMapping(value = "/getShopSalesmanGrade") private @ResponseBody AjaxResult getShopSalesmanGradeVo(){ AjaxResult result= AjaxResult.buildSuccessInstance("查询成功"); SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); List<ShopSalesmanGradeVo> dataList = shopSalesmanApplyService.getShopSalesmanGradeVo(user.getCompanyId()); result.putInMap("salesGrade", dataList); return result; } /** * 改变发布状态:已发布 * @param userId * */ @RequestMapping(value = "/addSaleManApply") public @ResponseBody AjaxResult addSaleManApply(String userId,long gradeId) { AjaxResult result= AjaxResult.buildSuccessInstance("设置成功"); SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); shopSalesmanApplyService.addSaleManApply(userId,gradeId); return result; } public static void main(String[] args) { System.out.println("===="+Long.parseLong("")); } } zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopSalesmanApplyDao.java
@@ -28,4 +28,7 @@ IPage<ShopSalesmanAppliingVo> findShopSalesmanAppliingList(Page<ShopSalesmanAppliingVo> page, @Param("record")ShopSalesmanAppliingDto shopSalesmanAppliingDto); IPage<ShopSalesmanAppliingVo> selectBizUserApplyList(Page<ShopSalesmanAppliingVo> page, @Param("record")ShopSalesmanAppliingDto shopSalesmanAppliingDto); } zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopSalesmanGradeDao.java
@@ -2,6 +2,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.matrix.system.fenxiao.entity.ShopSalesmanGrade; import com.matrix.system.fenxiao.vo.ShopSalesmanGradeVo; import io.lettuce.core.dynamic.annotation.Param; import java.util.List; /** * @description 推广员等级 @@ -10,4 +14,6 @@ */ public interface ShopSalesmanGradeDao extends BaseMapper<ShopSalesmanGrade> { List<ShopSalesmanGradeVo> getShopSalesmanGradeVo(@Param("companyId")Long companyId); } zq-erp/src/main/java/com/matrix/system/fenxiao/dto/ShopSalesmanAppliingDto.java
@@ -15,8 +15,6 @@ @ApiModelProperty(hidden = true) private Long companyId; @ApiModelProperty(hidden = true) private Integer applyStatus; } zq-erp/src/main/java/com/matrix/system/fenxiao/entity/ShopSalesmanApply.java
@@ -63,6 +63,9 @@ @ApiModelProperty(value = "备注") private String remark; @ApiModelProperty(value = "等级ID") private long gradeId; /** * 公司ID */ zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanApplyService.java
@@ -1,5 +1,7 @@ package com.matrix.system.fenxiao.service; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -14,15 +16,19 @@ import com.matrix.system.common.interceptor.HostInterceptor; 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.ShopSalesmanAppliingDto; import com.matrix.system.fenxiao.dto.ShopSalesmanApplyDto; import com.matrix.system.fenxiao.entity.ShopSalesmanApply; import com.matrix.system.fenxiao.entity.ShopSalesmanGrade; import com.matrix.system.fenxiao.vo.ShopSalesmanAppliingVo; import com.matrix.system.fenxiao.vo.ShopSalesmanApplyVo; import com.matrix.system.fenxiao.vo.ShopSalesmanGradeVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; import java.util.List; /** * @description 推广员申请记录 @@ -38,6 +44,9 @@ @Autowired ShopSalesmanApplyDao salesmanApplyDao; @Autowired ShopSalesmanGradeDao shopSalesmanGradeDao; @Autowired private BizUserDao bizUserDao; @@ -51,7 +60,7 @@ * @param invitationId * @return */ public ShopSalesmanApply applyToBeAnSalesman(String openId, String invitationId) { public ShopSalesmanApply applyToBeAnSalesman(String openId,long gradeId,String invitationId) { BizUser loginUser=bizUserDao.findByOpenId(openId); //校验审核状态,和是否重复发起 @@ -63,6 +72,7 @@ ShopSalesmanApply shopSalesmanApply=new ShopSalesmanApply(); shopSalesmanApply.setUserId(openId); shopSalesmanApply.setCreateBy(loginUser.getNickName()); shopSalesmanApply.setApplyWay(ShopSalesmanApply.APPLY_WAY_SELF); @@ -77,6 +87,16 @@ }else if(StringUtils.isNotBlank(loginUser.getParentOpenId())){ //如果曾经是被邀请进来的则自动绑定为之前邀请人的下级 shopSalesmanApply.setParentUserId(loginUser.getParentOpenId()); } if(ObjectUtil.isNotEmpty(gradeId)){ shopSalesmanApply.setGradeId(gradeId); }else{ //获取初始等级ID(公司id,是否为初始等级) Wrapper<ShopSalesmanGrade> queryWrapperOrepool = new QueryWrapper<>(); ((QueryWrapper<ShopSalesmanGrade>) queryWrapperOrepool).eq("company_id", loginUser.getCompanyId()); ((QueryWrapper<ShopSalesmanGrade>) queryWrapperOrepool).eq("is_default", 1); ShopSalesmanGrade shopSalesmanGrade = shopSalesmanGradeDao.selectOne(queryWrapperOrepool); shopSalesmanApply.setGradeId(shopSalesmanGrade.getId()); } BusParameterSettings busParameterSettings = busParameterSettingsDao.selectCompanyParamByCode(FenxiaoSettingConstant.FX_AUDIT_METHOD, HostInterceptor.getCompanyId()); @@ -106,4 +126,33 @@ return salesmanApplyDao.findShopSalesmanAppliingList(page,shopSalesmanAppliingDto); } public IPage<ShopSalesmanAppliingVo> selectBizUserApplyList(Page<ShopSalesmanAppliingVo> page, ShopSalesmanAppliingDto shopSalesmanAppliingDto) { return salesmanApplyDao.selectBizUserApplyList(page,shopSalesmanAppliingDto); } public List<ShopSalesmanGradeVo> getShopSalesmanGradeVo(Long companyId) { return shopSalesmanGradeDao.getShopSalesmanGradeVo(companyId); } public void addSaleManApply(String userId,long gradeId) { BizUser user = bizUserDao.selectById(userId); applyToBeAnSalesman(user.getOpenId(),gradeId, ""); } } zq-erp/src/main/java/com/matrix/system/fenxiao/vo/ShopSalesmanGradeVo.java
New file @@ -0,0 +1,17 @@ package com.matrix.system.fenxiao.vo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel(value = "ShopSalesmanGradeVo", description = "返参") public class ShopSalesmanGradeVo { @ApiModelProperty(value = "id") private Long id; @ApiModelProperty(value = "等级名称") private String name; } zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesmanAction.java
@@ -84,7 +84,7 @@ public AjaxResult applyToBeAnSalesman(@RequestBody Map<String,String> param) { BizUser loginUser = redisUserLoginUtils.getLoginUser(BizUser.class); String invitationId = param.get("invitationId"); ShopSalesmanApply shopSalesmanApply= shopSalesmanApplyService.applyToBeAnSalesman(loginUser.getOpenId(),invitationId); ShopSalesmanApply shopSalesmanApply= shopSalesmanApplyService.applyToBeAnSalesman(loginUser.getOpenId(),Long.parseLong(""),invitationId); loginUser=bizUserDao.selectById(loginUser.getUserId()); redisUserLoginUtils.updateUserInfo(loginUser); return AjaxResult.buildSuccessInstance(shopSalesmanApply); zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanApplyDao.xml
@@ -64,7 +64,7 @@ LEFT JOIN biz_user b ON a.user_id = b.user_id LEFT JOIN shop_salesman_grade g ON b.salesman_grade = g.id <where> and a.company_id=#{record.companyId} a.company_id=#{record.companyId} <if test="record.shenheState != null and record.shenheState != ''"> and a.apply_status=#{record.shenheState} </if> @@ -82,7 +82,7 @@ shop_salesman_apply a LEFT JOIN biz_user b ON a.user_id = b.user_id <where> and a.company_id = #{record.companyId} a.company_id = #{record.companyId} and a.apply_status = #{record.applyStatus} <if test="record.nickName != null and record.nickName != ''"> and b.nick_name like concat('%',#{record.nickName},'%') @@ -93,5 +93,23 @@ a.${record.sort} ${record.order} </if> </select> <select id="selectBizUserApplyList" resultType="com.matrix.system.fenxiao.vo.ShopSalesmanAppliingVo"> SELECT a.user_id userId, a.nick_name nickName FROM biz_user a <where> a.company_id = #{record.companyId} and a.is_sales != 1 <if test="record.nickName != null and record.nickName != ''"> and a.nick_name like concat('%',#{record.nickName},'%') </if> </where> <if test="record.sort !=null"> order by a.${record.sort} ${record.order} </if> </select> </mapper> zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanGradeDao.xml
@@ -34,4 +34,15 @@ <result property="companyId" column="company_id" /> </resultMap> <select id="getShopSalesmanGradeVo" resultType="com.matrix.system.fenxiao.vo.ShopSalesmanGradeVo"> SELECT a.id, a.name FROM shop_salesman_grade a where a.company_id = #{companyId} </select> </mapper> zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-apply.html
@@ -18,12 +18,6 @@ .panel-body{ overflow: hidden; } .rowPanel{ background: #ffffff; padding: 0px 10px ; padding-top: 10px; margin: 0px 0px 10px 0px; } .paginationStyle{ background: #ffffff; padding: 10px 10px; @@ -34,7 +28,7 @@ </head> <body> <div class="panel-body" id="app"> <el-row class="rowPanel" > <el-row style="display:flex;align-items: center;"> <el-form ref="form" :model="form" inline > <el-form-item prop="nickName"> <el-input v-model="form.nickName" placeholder="请输入会员姓名"></el-input> @@ -50,17 +44,28 @@ <el-table id="proj" :data="table.rows" :height="height" stripe @sort-change="sortChange"> <el-table-column prop="userId" label="订单号" width="180"> label="" width="300"> </el-table-column> <el-table-column prop="nickname" label="分销员昵称" width="180"> </el-table-column> <el-table-column prop="salesGrade" label="分销等级" width="180"> <template slot-scope="scope"> <el-select v-model="scope.row.proJbruserValue" @focus="getDatalist(scope.row)" placeholder="请选择" filterable allow-create> <el-option v-for="item in salesGradeList " :key="item.id" :label="item.name" :value="item.id"> </el-option> </el-select> </template> </el-table-column> <el-table-column label="操作"> <template slot-scope="scope"> <el-button type="text" size="small">设置为分销员</el-button> <el-button type="text" size="small" @click="addSaleManApply(scope.row)">设置为分销员</el-button> </template> </el-table-column> </el-table> @@ -102,6 +107,7 @@ order:'', sort:'' }, salesGradeList: [], height:'calc(100vh - 240px)', }, created: function () { @@ -109,6 +115,32 @@ window.addEventListener("keydown", this.keydown); }, methods: { //设置为分销员 addSaleManApply(row){ let _this = this; let userId = row.userId; let gradeId = row.salesGrade; AjaxProxy.requst({ app: _this, data:[], url: basePath + '/fenXiao/fenXiaoUser/addSaleManApply?userId='+userId+'&gradeId='+gradeId, callback: function (data) { _this.$message.success(data.info); } }); }, // select下拉框获取焦点的时候查询对应的下拉框数据源 getDatalist(row) { let _this = this; AjaxProxy.requst({ app: _this, data:[], url: basePath + '/fenXiao/fenXiaoUser/getShopSalesmanGrade', callback: function (data) { _this.salesGradeList = data.mapInfo.salesGrade; } }); }, changePageSize(val) { this.table.pageSize = val; this.loadData();