src/main/java/cc/mrbird/febs/common/enumerates/AgentLevelEnum.java
@@ -9,14 +9,12 @@ @Getter public enum AgentLevelEnum { ZERO_LEVEL("未激活"), ZERO_LEVEL("非会员"), FIRST_LEVEL("普通会员"), SECOND_LEVEL("业务经理"), THIRD_LEVEL("区域代理"), FOUR_LEVEL("代理"), FIFTH_LEVEL("总代"), SIX_LEVEL("董事"), SEVEN_LEVEL("股东"); SECOND_LEVEL("区级代理"), THIRD_LEVEL("市级代理"), FOUR_LEVEL("省级代理"), FIFTH_LEVEL("全国总代"); private String name; src/main/java/cc/mrbird/febs/mall/dto/AgentLevelUpdateDto.java
@@ -41,4 +41,6 @@ * 团队收益 1-指定金额 2-比例 */ private Integer teamIncomeType; private BigDecimal profitProp; } src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
@@ -192,17 +192,10 @@ @Override public AdminAgentLevelUpdateInfoVo getAgentLevelUpdateInfoById(long id) { AdminAgentLevelUpdateInfoVo adminAgentLevelUpdateInfoVo = new AdminAgentLevelUpdateInfoVo(); DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectById(id); String value = dataDictionaryCustom.getValue(); //{"directIncome":36,"lastCnt":3,"orderCnt":500,"orderType":2,"teamIncome":6,"teamIncomeType":2} JSONObject jsonObject = JSONObject.parseObject(value); adminAgentLevelUpdateInfoVo.setDirectIncome(new BigDecimal((jsonObject.get("directIncome")==null?0:jsonObject.get("directIncome")).toString())); adminAgentLevelUpdateInfoVo.setLastCnt(Integer.parseInt((jsonObject.get("lastCnt")==null?0:jsonObject.get("lastCnt")).toString())); adminAgentLevelUpdateInfoVo.setOrderCnt(Integer.parseInt((jsonObject.get("orderCnt")==null?0:jsonObject.get("orderCnt")).toString())); adminAgentLevelUpdateInfoVo.setOrderType(Integer.parseInt(jsonObject.get("orderType").toString())); adminAgentLevelUpdateInfoVo.setTeamIncome(new BigDecimal((jsonObject.get("teamIncome")==null?0:jsonObject.get("teamIncome")).toString())); adminAgentLevelUpdateInfoVo.setTeamIncomeType(Integer.parseInt(jsonObject.get("orderType").toString())); AdminAgentLevelUpdateInfoVo adminAgentLevelUpdateInfoVo = JSONObject.parseObject(value, AdminAgentLevelUpdateInfoVo.class); adminAgentLevelUpdateInfoVo.setId(id); return adminAgentLevelUpdateInfoVo; } @@ -210,15 +203,9 @@ @Override public FebsResponse agentLevelUpdate(AgentLevelUpdateDto agentLevelUpdateDto) { DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectById(agentLevelUpdateDto.getId()); AgentLevelUpdateDto agentLevelUpdateDtoJson = new AgentLevelUpdateDto(); agentLevelUpdateDtoJson.setDirectIncome(agentLevelUpdateDto.getDirectIncome()); agentLevelUpdateDtoJson.setLastCnt(agentLevelUpdateDto.getLastCnt()); agentLevelUpdateDtoJson.setOrderCnt(agentLevelUpdateDto.getOrderCnt()); agentLevelUpdateDtoJson.setTeamIncome(agentLevelUpdateDto.getTeamIncome()); agentLevelUpdateDtoJson.setOrderType(agentLevelUpdateDto.getOrderType()); agentLevelUpdateDtoJson.setTeamIncomeType(agentLevelUpdateDto.getTeamIncomeType()); JSONObject jsonObject = (JSONObject)JSONObject.toJSON(agentLevelUpdateDtoJson); dataDictionaryCustom.setValue(jsonObject.toString()); agentLevelUpdateDto.setId(null); dataDictionaryCustom.setValue(JSONObject.toJSONString(agentLevelUpdateDto)); dataDictionaryCustomMapper.updateById(dataDictionaryCustom); return new FebsResponse().success(); } src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -110,7 +110,7 @@ mallMember.setName(registerDto.getName()); mallMember.setAccountStatus(MallMember.ACCOUNT_STATUS_ENABLE); mallMember.setAccountType(MallMember.ACCOUNT_TYPE_NORMAL); mallMember.setLevel(AgentLevelEnum.FIRST_LEVEL.name()); mallMember.setLevel(AgentLevelEnum.ZERO_LEVEL.name()); mallMember.setSex("男"); mallMember.setBindPhone(registerDto.getAccount()); src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -225,12 +225,7 @@ orderInfo.setPayTime(new Date()); orderInfo.setPayResult("1"); // MallMember mallMember = memberMapper.selectById(member.getId()); // if (AgentLevelEnum.ZERO_LEVEL.name().equals(mallMember.getLevel())) { // mallMember.setLevel(AgentLevelEnum.FIRST_LEVEL.name()); // memberMapper.updateById(mallMember); // } boolean hasTc = false; // 静态倍数 List<MallOrderItem> orderItems = this.baseMapper.getMallOrderItemByOrderId(orderInfo.getId()); if (CollUtil.isNotEmpty(orderItems)) { @@ -238,6 +233,7 @@ MallGoods mallGoods = mallGoodsMapper.selectById(orderItem.getGoodsId()); if (mallGoods.getIsNormal() == 2) { hasTc = true; MallGoodsSku sku = mallGoodsSkuMapper.selectById(orderItem.getSkuId()); BigDecimal score = sku.getOriginalPrice().multiply(mallGoods.getStaticMulti()); @@ -247,6 +243,15 @@ } } // 购买套餐后,升级为普通会员 if (hasTc) { MallMember mallMember = memberMapper.selectById(member.getId()); if (AgentLevelEnum.ZERO_LEVEL.name().equals(mallMember.getLevel())) { mallMember.setLevel(AgentLevelEnum.FIRST_LEVEL.name()); memberMapper.updateById(mallMember); } } mallMoneyFlowService.addMoneyFlow(member.getId(), orderInfo.getAmount().negate(), MoneyFlowTypeEnum.PAY.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue()); // agentProducer.sendAutoLevelUpMsg(member.getId()); agentProducer.sendOrderReturn(orderInfo.getId()); src/main/java/cc/mrbird/febs/mall/vo/AdminAgentLevelUpdateInfoVo.java
@@ -41,4 +41,6 @@ * 团队收益 1-指定金额 2-比例 */ private Integer teamIncomeType; private BigDecimal profitProp; } src/main/resources/templates/febs/views/modules/mallMember/agentLevelUpdate-bak.html
New file @@ -0,0 +1,119 @@ <style> #agent-level-edit { padding: 20px 25px 25px 0; } #agent-level-edit .layui-treeSelect .ztree li a, .ztree li span { margin: 0 0 2px 3px !important; } #agent-level-edit #data-permission-tree-block { border: 1px solid #eee; border-radius: 2px; padding: 3px 0; } #agent-level-edit .layui-treeSelect .ztree li span.button.switch { top: 1px; left: 3px; } #agent-level-edit img{ max-width:200px } </style> <div class="layui-fluid" id="agent-level-edit"> <form class="layui-form" action="" lay-filter="agent-level-edit-form"> <div class="layui-form-item febs-hide"> <label class="layui-form-label">id:</label> <div class="layui-input-block"> <input type="text" name="id"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label febs-form-item-require">下单数量要求:</label> <div class="layui-input-block"> <input type="radio" name="orderType" value="1" title="直推" > <input type="radio" name="orderType" value="2" title="团队"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label febs-form-item-require">下单数量:</label> <div class="layui-input-block"> <input type="number" name="orderCnt" class="layui-input"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label febs-form-item-require">需要上一级的数量:</label> <div class="layui-input-block"> <input type="number" name="lastCnt" class="layui-input"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label febs-form-item-require">团队收益类型:</label> <div class="layui-input-block"> <input type="radio" name="teamIncomeType" value="1" title="指定金额" > <input type="radio" name="teamIncomeType" value="2" title="比例"> </div> </div> <div class="layui-form-item"> <div style="text-align:center;color: red">提示:【团队收益】如果选择【比例】,请输入百分比数字,如:80%,请输入80</div> </div> <div class="layui-form-item"> <label class="layui-form-label febs-form-item-require">团队收益:</label> <div class="layui-input-block"> <input type="number" name="teamIncome" class="layui-input"> </div> </div> <div class="layui-form-item"> <div style="text-align:center;color: red">提示:【直推收益】请输入百分比数字,如:80%,请输入80</div> </div> <div class="layui-form-item"> <label class="layui-form-label febs-form-item-require">直推收益:</label> <div class="layui-input-block"> <input type="number" name="directIncome" class="layui-input"> </div> </div> <div class="layui-form-item febs-hide"> <button class="layui-btn" lay-submit="" lay-filter="agent-level-edit-submit" id="submit"></button> </div> </form> </div> <script data-th-inline="javascript"> layui.use(['febs', 'form', 'formSelects', 'validate', 'treeSelect', 'eleTree'], function () { var $ = layui.$, febs = layui.febs, layer = layui.layer, formSelects = layui.formSelects, treeSelect = layui.treeSelect, form = layui.form, eleTree = layui.eleTree, agentLevelUpdateInfo = [[${agentLevelUpdateInfo}]], $view = $('#agent-level-edit'), validate = layui.validate, _deptTree; form.render(); initUserValue(); function initUserValue() { form.val("agent-level-edit-form", { "id": agentLevelUpdateInfo.id, "orderType": agentLevelUpdateInfo.orderType, "orderCnt": agentLevelUpdateInfo.orderCnt, "directIncome": agentLevelUpdateInfo.directIncome, "teamIncome": agentLevelUpdateInfo.teamIncome, "teamIncomeType": agentLevelUpdateInfo.teamIncomeType, "lastCnt": agentLevelUpdateInfo.lastCnt }); } form.on('submit(agent-level-edit-submit)', function (data) { febs.post(ctx + 'admin/mallMember/agentLevelUpdate', data.field, function () { layer.closeAll(); febs.alert.success('操作成功'); $('#febs-user-agent-level').find('#reset').click(); }); return false; }); }); </script> src/main/resources/templates/febs/views/modules/mallMember/agentLevelUpdate.html
@@ -29,47 +29,17 @@ </div> </div> <div class="layui-form-item"> <label class="layui-form-label febs-form-item-require">下单数量要求:</label> <label class="layui-form-label febs-form-item-require">团队业绩:</label> <div class="layui-input-block"> <input type="radio" name="orderType" value="1" title="直推" > <input type="radio" name="orderType" value="2" title="团队"> <input type="number" name="teamIncome" class="layui-input" placeholder="万元"> <div class="layui-form-mid layui-word-aux">万元</div> </div> </div> <div class="layui-form-item"> <label class="layui-form-label febs-form-item-require">下单数量:</label> <label class="layui-form-label febs-form-item-require">返利比例:</label> <div class="layui-input-block"> <input type="number" name="orderCnt" class="layui-input"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label febs-form-item-require">需要上一级的数量:</label> <div class="layui-input-block"> <input type="number" name="lastCnt" class="layui-input"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label febs-form-item-require">团队收益类型:</label> <div class="layui-input-block"> <input type="radio" name="teamIncomeType" value="1" title="指定金额" > <input type="radio" name="teamIncomeType" value="2" title="比例"> </div> </div> <div class="layui-form-item"> <div style="text-align:center;color: red">提示:【团队收益】如果选择【比例】,请输入百分比数字,如:80%,请输入80</div> </div> <div class="layui-form-item"> <label class="layui-form-label febs-form-item-require">团队收益:</label> <div class="layui-input-block"> <input type="number" name="teamIncome" class="layui-input"> </div> </div> <div class="layui-form-item"> <div style="text-align:center;color: red">提示:【直推收益】请输入百分比数字,如:80%,请输入80</div> </div> <div class="layui-form-item"> <label class="layui-form-label febs-form-item-require">直推收益:</label> <div class="layui-input-block"> <input type="number" name="directIncome" class="layui-input"> <input type="number" name="profitProp" class="layui-input" placeholder="%"> <div class="layui-form-mid layui-word-aux">%</div> </div> </div> <div class="layui-form-item febs-hide"> @@ -98,12 +68,8 @@ function initUserValue() { form.val("agent-level-edit-form", { "id": agentLevelUpdateInfo.id, "orderType": agentLevelUpdateInfo.orderType, "orderCnt": agentLevelUpdateInfo.orderCnt, "directIncome": agentLevelUpdateInfo.directIncome, "teamIncome": agentLevelUpdateInfo.teamIncome, "teamIncomeType": agentLevelUpdateInfo.teamIncomeType, "lastCnt": agentLevelUpdateInfo.lastCnt "profitProp": agentLevelUpdateInfo.profitProp }); } src/main/resources/templates/febs/views/modules/mallMember/agentList.html
@@ -18,17 +18,15 @@ </div> </div> <div class="layui-inline"> <label class="layui-form-label layui-form-label-sm">账户状态</label> <label class="layui-form-label layui-form-label-sm">代理层级</label> <div class="layui-input-inline"> <select name="level"> <option value="">请选择</option> <option value="ZERO_LEVEL">未激活</option> <option value="FIRST_LEVEL">普通会员</option> <option value="SECOND_LEVEL">业务经理</option> <option value="THIRD_LEVEL">区域代理</option> <option value="FOUR_LEVEL">代理</option> <option value="FIFTH_LEVEL">总代</option> <option value="SIX_LEVEL">董事</option> <option value="SECOND_LEVEL">区级代理</option> <option value="THIRD_LEVEL">市级代理</option> <option value="FOUR_LEVEL">省级代理</option> <option value="FIFTH_LEVEL">全国总代</option> </select> </div> </div>