From 076f5a4f0a7c5a4d3a6d3a1a61ff96a0091e3320 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Sat, 06 May 2023 15:04:21 +0800
Subject: [PATCH] 星级补贴逻辑修改
---
src/main/java/cc/mrbird/febs/pay/service/impl/NBYHServiceImpl.java | 33 -
src/main/resources/templates/febs/views/modules/mallMember/agentAllMember.html | 3
src/main/java/cc/mrbird/febs/rabbit/consumer/AgentConsumer.java | 134 +++---
src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java | 14
src/test/java/cc/mrbird/febs/ProfitTest.java | 7
src/main/java/cc/mrbird/febs/mall/dto/MallOrderInfoDto.java | 2
src/main/java/cc/mrbird/febs/mall/dto/AgentDto.java | 2
src/main/resources/templates/febs/views/modules/mallMember/agentList.html | 14
src/main/java/cc/mrbird/febs/mall/dto/RegisterDto.java | 4
src/main/java/cc/mrbird/febs/mall/service/IAgentService.java | 2
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java | 69 ++++
src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java | 8
src/main/java/cc/mrbird/febs/mall/entity/MallMemberWithdraw.java | 6
src/main/resources/templates/febs/views/modules/mallMember/moneyFlowList.html | 15
src/main/resources/templates/febs/views/modules/mallMember/scoreAchieveReleaseList.html | 3
src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java | 8
src/main/java/cc/mrbird/febs/mall/dto/HlmBasicPerkDto.java | 8
src/main/java/cc/mrbird/febs/mall/controller/AdminMallOrderController.java | 64 +++
src/main/resources/mapper/modules/MallMoneyFlowMapper.xml | 8
src/main/java/cc/mrbird/febs/mall/vo/AdminAgentVo.java | 2
src/main/resources/templates/febs/views/modules/mallMember/chargeFlowListType.html | 76 ++++
src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java | 5
src/main/java/cc/mrbird/febs/mall/dto/MoneyChargeListDto.java | 2
src/main/java/cc/mrbird/febs/mall/vo/AdminAgentMemberVo.java | 2
src/main/java/cc/mrbird/febs/mall/entity/MallMoneyFlow.java | 3
src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java | 4
src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberWithdrawServiceImpl.java | 6
src/main/java/cc/mrbird/febs/mall/vo/AdminMallOrderInfoVo.java | 2
src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java | 99 +++++
src/main/resources/mapper/modules/MallMemberMapper.xml | 16
src/main/resources/templates/febs/views/modules/mallMember/chargeFlowList.html | 40 +
src/main/resources/mapper/modules/MallOrderInfoMapper.xml | 4
src/main/java/cc/mrbird/febs/mall/vo/AdminMoneyChargeListVo.java | 2
src/main/java/cc/mrbird/febs/mall/dto/MoneyFlowListDto.java | 2
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 25
src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html | 50 ++
src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java | 3
src/main/java/cc/mrbird/febs/mall/entity/MallMember.java | 7
src/main/java/cc/mrbird/febs/mall/controller/ViewMallMemberController.java | 15
src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java | 193 ++++++++++
src/main/java/cc/mrbird/febs/mall/quartz/ProfitJob.java | 11
src/main/resources/mapper/modules/MallScoreAchieveReleaseMapper.xml | 1
src/main/resources/templates/febs/views/modules/order/orderList.html | 17
src/main/java/cc/mrbird/febs/mall/vo/AdminMoneyFlowListVo.java | 2
src/main/resources/templates/febs/views/modules/system/hlmBasicPerk.html | 19 +
45 files changed, 877 insertions(+), 135 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java b/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java
index f0cafc8..9ecd9a5 100644
--- a/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java
+++ b/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java
@@ -6,6 +6,14 @@
@Getter
public enum DataDictionaryEnum {
/**
+ * 星级补贴百分比
+ */
+ PERK_AGENT_ACHIEVE_PERCENT("PERK_SET","PERK_AGENT_ACHIEVE_PERCENT"),
+ /**
+ * 星级补贴总数
+ */
+ PERK_AGENT_ACHIEVE_TOTAL("PERK_SET","PERK_AGENT_ACHIEVE_TOTAL"),
+ /**
* 贡献点设置-购买商品获得
*/
STAR_GET("PERK_SET","STAR_GET"),
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java
index 50cd54d..f0fd5ad 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java
@@ -4,11 +4,21 @@
import cc.mrbird.febs.common.controller.BaseController;
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.entity.QueryRequest;
+import cc.mrbird.febs.common.utils.excl.ExcelSheetPO;
+import cc.mrbird.febs.common.utils.excl.ExcelUtil;
+import cc.mrbird.febs.common.utils.excl.ExcelVersion;
+import cc.mrbird.febs.common.utils.excl.ResponseHeadUtil;
import cc.mrbird.febs.mall.dto.*;
import cc.mrbird.febs.mall.entity.*;
+import cc.mrbird.febs.mall.mapper.MallMemberMapper;
+import cc.mrbird.febs.mall.mapper.MallMemberWalletMapper;
import cc.mrbird.febs.mall.service.IAdminMallMemberService;
import cc.mrbird.febs.mall.service.IApiMallMemberService;
import cc.mrbird.febs.mall.vo.AdminAgentLevelOptionTreeVo;
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.annotations.Param;
@@ -16,8 +26,15 @@
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
+import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import javax.validation.constraints.NotNull;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.net.URLEncoder;
+import java.text.DecimalFormat;
+import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -29,6 +46,8 @@
public class AdminMallMemberController extends BaseController {
private final IAdminMallMemberService mallMemberService;
+ private final MallMemberWalletMapper mallMemberWalletMapper;
+ private final MallMemberMapper mallMemberMapper;
private final IApiMallMemberService apiMallMemberService;
/**
@@ -79,6 +98,30 @@
@ControllerEndpoint(operation = "会员列表---开启", exceptionMessage = "开启失败")
public FebsResponse openAccount(@NotNull(message = "{required}") @PathVariable Long id) {
return mallMemberService.openAccount(id);
+ }
+
+ /**
+ * 会员列表---禁止
+ *
+ * @param id
+ * @return
+ */
+ @GetMapping("outsideWithYes/{id}")
+ @ControllerEndpoint(operation = "会员列表---禁止", exceptionMessage = "禁止失败")
+ public FebsResponse outsideWithYes(@NotNull(message = "{required}") @PathVariable Long id) {
+ return mallMemberService.outsideWithType(id,1);
+ }
+
+ /**
+ * 会员列表---开启
+ *
+ * @param id
+ * @return
+ */
+ @GetMapping("outsideWithNo/{id}")
+ @ControllerEndpoint(operation = "会员列表---开启", exceptionMessage = "开启失败")
+ public FebsResponse outsideWithNo(@NotNull(message = "{required}") @PathVariable Long id) {
+ return mallMemberService.outsideWithType(id,2);
}
/**
@@ -195,6 +238,15 @@
@ControllerEndpoint(operation = "会员提现-同意", exceptionMessage = "操作失败")
public FebsResponse chargeAgree(@NotNull(message = "{required}") @PathVariable Long id) {
return mallMemberService.chargeAgree(id);
+ }
+
+ /**
+ * 会员提现-同意
+ */
+ @PostMapping("chargeAgreeWithType")
+ @ControllerEndpoint(operation = " 会员提现-同意", exceptionMessage = "操作失败")
+ public FebsResponse chargeAgreeWithType(@Valid MallMemberWithdraw mallMemberWithdraw) {
+ return mallMemberService.chargeAgreeWithType(mallMemberWithdraw);
}
/**
@@ -482,4 +534,51 @@
return new FebsResponse().success().data(dataTable);
}
+ @GetMapping("exportMember")
+ @ControllerEndpoint(operation = "会员列表", exceptionMessage = "导出失败")
+ public FebsResponse exportMemberList(MallMember mallMember, HttpServletResponse response) throws IOException {
+
+ List<ExcelSheetPO> res = new ArrayList<>();
+ ExcelSheetPO orderSheet = new ExcelSheetPO();
+ String title = "会员列表";
+ orderSheet.setSheetName(title);
+ orderSheet.setTitle(title);
+ String[] header = {"登录账户", "手机号码", "名称", "余额", "现金积分", "贡献点", "补贴额度", "凭证", "凭证现金"};
+ orderSheet.setHeaders(header);
+
+ QueryRequest request = new QueryRequest();
+ request.setPageNum(1);
+ request.setPageSize(9999);
+ List<MallMember> dataList = mallMemberMapper.selectList(null);
+ List<List<Object>> list = new ArrayList<>();
+ if (dataList.size() > 0) {
+ for (MallMember item : dataList) {
+ List<Object> temp = new ArrayList<>();
+ temp.add(item.getAccountLogin());
+ temp.add(item.getPhone());
+ temp.add(item.getName());
+
+ Long memberId = item.getId();
+ MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(memberId);
+ if(ObjectUtil.isNotNull(mallMemberWallet)){
+ temp.add(mallMemberWallet.getBalance());
+ temp.add(mallMemberWallet.getPrizeScore());
+ temp.add(mallMemberWallet.getStar());
+ temp.add(mallMemberWallet.getTotalScore());
+ temp.add(mallMemberWallet.getVoucherCnt());
+ temp.add(mallMemberWallet.getVoucherAmount());
+ }
+ list.add(temp);
+ }
+ }
+ orderSheet.setDataList(list);
+ res.add(orderSheet);
+ response = ResponseHeadUtil.setExcelHead(response);
+ response.setHeader("Content-Disposition",
+ "attachment;filename=" + URLEncoder.encode(title + DateUtil.format(new Date(), "yyyyMMDDHHmmss") + ".xlsx".trim(), "UTF-8"));
+ OutputStream os = response.getOutputStream();
+ ExcelUtil.createWorkbookAtOutStream(ExcelVersion.V2007, res, os, true);
+ return null;
+ }
+
}
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallOrderController.java b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallOrderController.java
index ba47f51..4c7a4bb 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallOrderController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallOrderController.java
@@ -14,6 +14,7 @@
import cc.mrbird.febs.mall.entity.*;
import cc.mrbird.febs.mall.mapper.MallExpressInfoMapper;
import cc.mrbird.febs.mall.mapper.MallMemberMapper;
+import cc.mrbird.febs.mall.mapper.MallOrderInfoMapper;
import cc.mrbird.febs.mall.mapper.MallOrderRefundOperationMapper;
import cc.mrbird.febs.mall.service.IAdminMallGoodsService;
import cc.mrbird.febs.mall.service.IAdminMallOrderService;
@@ -52,6 +53,7 @@
private final IAdminMallOrderService adminMallOrderService;
private final MallExpressInfoMapper mallExpressInfoMapper;
private final MallMemberMapper mallMemberMapper;
+ private final MallOrderInfoMapper mallOrderInfoMapper;
/**
* 订单列表
@@ -340,6 +342,68 @@
return null;
}
+ @GetMapping("exportOrderListAll")
+ @ControllerEndpoint(operation = "订单列表", exceptionMessage = "导出失败")
+ public FebsResponse exportOrderListAll(MallOrderInfo mallOrderInfo, HttpServletResponse response) throws IOException {
+
+ List<ExcelSheetPO> res = new ArrayList<>();
+ ExcelSheetPO orderSheet = new ExcelSheetPO();
+ String title = "订单列表";
+ orderSheet.setSheetName(title);
+ orderSheet.setTitle(title);
+ String[] header = {"订单编号", "登录账户", "购买人", "手机号码", "订单金额", "状态"};
+ orderSheet.setHeaders(header);
+
+ QueryRequest request = new QueryRequest();
+ request.setPageNum(1);
+ request.setPageSize(9999);
+ List<MallOrderInfo> dataList = mallOrderInfoMapper.selectList(null);
+ List<List<Object>> list = new ArrayList<>();
+ if (dataList.size() > 0) {
+ for (MallOrderInfo item : dataList) {
+ List<Object> temp = new ArrayList<>();
+ temp.add(item.getOrderNo());
+ temp.add(mallMemberMapper.selectById(item.getMemberId()).getAccountLogin());
+ temp.add(mallMemberMapper.selectById(item.getMemberId()).getName());
+ temp.add(mallMemberMapper.selectById(item.getMemberId()).getPhone());
+ temp.add(item.getAmount());
+ switch (item.getStatus()) {
+ case 1:
+ temp.add("待支付");
+ break;
+ case 2:
+ temp.add("待发货");
+ break;
+ case 3:
+ temp.add("待收货");
+ break;
+ case 4:
+ temp.add("已完成");
+ break;
+ case 5:
+ temp.add("退款中");
+ break;
+ case 6:
+ temp.add("已退款");
+ break;
+ case 7:
+ temp.add("已取消");
+ break;
+ default:
+ }
+ list.add(temp);
+ }
+ }
+ orderSheet.setDataList(list);
+ res.add(orderSheet);
+ response = ResponseHeadUtil.setExcelHead(response);
+ response.setHeader("Content-Disposition",
+ "attachment;filename=" + URLEncoder.encode(title + DateUtil.format(new Date(), "yyyyMMDDHHmmss") + ".xlsx".trim(), "UTF-8"));
+ OutputStream os = response.getOutputStream();
+ ExcelUtil.createWorkbookAtOutStream(ExcelVersion.V2007, res, os, true);
+ return null;
+ }
+
@PostMapping(value = "/importDeliver")
@ControllerEndpoint(operation = "导入发货", exceptionMessage = "导入失败")
public FebsResponse importDeliver(@RequestBody MultipartFile file) throws IOException {
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java b/src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java
index a24183c..1518632 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java
@@ -115,6 +115,14 @@
DataDictionaryEnum.AGENT_PERK.getType(),
DataDictionaryEnum.AGENT_PERK.getCode(),
hlmBasicPerkDto.getAgentPerk());
+ commonService.updateDataDic(
+ DataDictionaryEnum.PERK_AGENT_ACHIEVE_TOTAL.getType(),
+ DataDictionaryEnum.PERK_AGENT_ACHIEVE_TOTAL.getCode(),
+ hlmBasicPerkDto.getPerkAgentAchieveTotal());
+ commonService.updateDataDic(
+ DataDictionaryEnum.PERK_AGENT_ACHIEVE_PERCENT.getType(),
+ DataDictionaryEnum.PERK_AGENT_ACHIEVE_PERCENT.getCode(),
+ hlmBasicPerkDto.getPerkAgentAchievePercent());
return new FebsResponse().success();
}
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ViewMallMemberController.java b/src/main/java/cc/mrbird/febs/mall/controller/ViewMallMemberController.java
index 767c777..dcb5383 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ViewMallMemberController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ViewMallMemberController.java
@@ -155,6 +155,21 @@
}
/**
+ * 提现列表-付款方式
+ * @param id
+ * @param model
+ * @return
+ */
+ @GetMapping("chargeFlowListType/{id}")
+ @RequiresPermissions("chargeFlowListType:update")
+ public String chargeFlowListType(@PathVariable long id, Model model) {
+ AdminMallMemberPaymentVo data = new AdminMallMemberPaymentVo();
+ data.setId(id);
+ model.addAttribute("chargeUpdateInfo", data);
+ return FebsUtil.view("modules/mallMember/chargeFlowListType");
+ }
+
+ /**
* 代理列表
* @return
*/
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java b/src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java
index 0efed2f..7e5e601 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java
@@ -215,6 +215,20 @@
String agentPerk = ObjectUtil.isEmpty(agentPerkDic.getValue()) ? "0" : agentPerkDic.getValue();
hlmBasicPerkDto.setAgentPerk(agentPerk);
}
+ DataDictionaryCustom perkAgentAchieveTotalDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+ DataDictionaryEnum.PERK_AGENT_ACHIEVE_TOTAL.getType(),
+ DataDictionaryEnum.PERK_AGENT_ACHIEVE_TOTAL.getCode());
+ if (perkAgentAchieveTotalDic != null) {
+ String perkAgentAchieveTotal = ObjectUtil.isEmpty(perkAgentAchieveTotalDic.getValue()) ? "0" : perkAgentAchieveTotalDic.getValue();
+ hlmBasicPerkDto.setPerkAgentAchieveTotal(perkAgentAchieveTotal);
+ }
+ DataDictionaryCustom perkAgentAchievePercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+ DataDictionaryEnum.PERK_AGENT_ACHIEVE_PERCENT.getType(),
+ DataDictionaryEnum.PERK_AGENT_ACHIEVE_PERCENT.getCode());
+ if (perkAgentAchievePercentDic != null) {
+ String perkAgentAchievePercent = ObjectUtil.isEmpty(perkAgentAchievePercentDic.getValue()) ? "0" : perkAgentAchievePercentDic.getValue();
+ hlmBasicPerkDto.setPerkAgentAchievePercent(perkAgentAchievePercent);
+ }
model.addAttribute("hlmBasicPerk", hlmBasicPerkDto);
return FebsUtil.view("modules/system/hlmBasicPerk");
}
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/AgentDto.java b/src/main/java/cc/mrbird/febs/mall/dto/AgentDto.java
index 8bc8028..67f197e 100644
--- a/src/main/java/cc/mrbird/febs/mall/dto/AgentDto.java
+++ b/src/main/java/cc/mrbird/febs/mall/dto/AgentDto.java
@@ -9,6 +9,8 @@
private String name;
+ private String accountLogin;
+
private String account;
private String level;
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/HlmBasicPerkDto.java b/src/main/java/cc/mrbird/febs/mall/dto/HlmBasicPerkDto.java
index e6074c3..0578fe2 100644
--- a/src/main/java/cc/mrbird/febs/mall/dto/HlmBasicPerkDto.java
+++ b/src/main/java/cc/mrbird/febs/mall/dto/HlmBasicPerkDto.java
@@ -27,5 +27,13 @@
* 基础补贴-代理商补贴
*/
private String agentPerk;
+ /**
+ * 星级补贴总数
+ */
+ private String perkAgentAchieveTotal;
+ /**
+ * 星级补贴百分比
+ */
+ private String perkAgentAchievePercent;
}
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/MallOrderInfoDto.java b/src/main/java/cc/mrbird/febs/mall/dto/MallOrderInfoDto.java
index 0dbafff..e6f253c 100644
--- a/src/main/java/cc/mrbird/febs/mall/dto/MallOrderInfoDto.java
+++ b/src/main/java/cc/mrbird/febs/mall/dto/MallOrderInfoDto.java
@@ -23,6 +23,8 @@
private String name;
+ private String accountLogin;
+
private Integer orderType;
private String startTime;
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/MoneyChargeListDto.java b/src/main/java/cc/mrbird/febs/mall/dto/MoneyChargeListDto.java
index f8cd89a..4acb2b3 100644
--- a/src/main/java/cc/mrbird/febs/mall/dto/MoneyChargeListDto.java
+++ b/src/main/java/cc/mrbird/febs/mall/dto/MoneyChargeListDto.java
@@ -9,6 +9,8 @@
private String name;
+ private String accountLogin;
+
private String phone;
private Integer status;
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/MoneyFlowListDto.java b/src/main/java/cc/mrbird/febs/mall/dto/MoneyFlowListDto.java
index 4f9560b..ae38f06 100644
--- a/src/main/java/cc/mrbird/febs/mall/dto/MoneyFlowListDto.java
+++ b/src/main/java/cc/mrbird/febs/mall/dto/MoneyFlowListDto.java
@@ -7,6 +7,8 @@
@ApiModel(value = "MoneyFlowListDto", description = "接收参数类")
public class MoneyFlowListDto {
+ private String accountLogin;
+
private String name;
private String phone;
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/RegisterDto.java b/src/main/java/cc/mrbird/febs/mall/dto/RegisterDto.java
index c873610..d637872 100644
--- a/src/main/java/cc/mrbird/febs/mall/dto/RegisterDto.java
+++ b/src/main/java/cc/mrbird/febs/mall/dto/RegisterDto.java
@@ -15,6 +15,10 @@
public class RegisterDto {
@NotBlank(message = "账号不能为空")
+ @ApiModelProperty(value = "账号", example = "hjsj")
+ private String accountLogin;
+
+ @NotBlank(message = "手机号不能为空")
@ApiModelProperty(value = "手机号", example = "15773001234")
private String account;
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/MallMember.java b/src/main/java/cc/mrbird/febs/mall/entity/MallMember.java
index c0d175d..e177ca0 100644
--- a/src/main/java/cc/mrbird/febs/mall/entity/MallMember.java
+++ b/src/main/java/cc/mrbird/febs/mall/entity/MallMember.java
@@ -18,6 +18,10 @@
public class MallMember extends BaseEntity {
/**
+ * 登录账号
+ */
+ private String accountLogin;
+ /**
* 姓名
*/
private String name;
@@ -160,4 +164,7 @@
//内转标识 1:开启 2:关闭
private Integer insideWith;
+
+ //提现开关 1:开启 2:关闭
+ private Integer outsideWith;
}
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/MallMemberWithdraw.java b/src/main/java/cc/mrbird/febs/mall/entity/MallMemberWithdraw.java
index aa9a6cd..d0fba2a 100644
--- a/src/main/java/cc/mrbird/febs/mall/entity/MallMemberWithdraw.java
+++ b/src/main/java/cc/mrbird/febs/mall/entity/MallMemberWithdraw.java
@@ -1,6 +1,7 @@
package cc.mrbird.febs.mall.entity;
import cc.mrbird.febs.common.entity.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@@ -32,4 +33,9 @@
private String withdrawNo;
private String remark;
+ /**
+ * 绿色凭证
+ */
+ @TableField(exist = false)
+ private String agreeType;
}
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/MallMoneyFlow.java b/src/main/java/cc/mrbird/febs/mall/entity/MallMoneyFlow.java
index 5b05c03..091b5bd 100644
--- a/src/main/java/cc/mrbird/febs/mall/entity/MallMoneyFlow.java
+++ b/src/main/java/cc/mrbird/febs/mall/entity/MallMoneyFlow.java
@@ -52,5 +52,8 @@
private String name;
@TableField(exist = false)
+ private String accountLogin;
+
+ @TableField(exist = false)
private String phone;
}
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java
index 8318cac..492c3b6 100644
--- a/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java
@@ -103,4 +103,8 @@
List<MallMember> selectByRole(@Param("type") int type, @Param("state")int state);
List<MallMember> selectByLevel( @Param("level")String type);
+
+ MallMember selectByAccountLogin(@Param("accountLogin")String accountLogin);
+
+ MallMember selectInfoByAccountLoginAndPwd(@Param("accountLogin")String account, @Param("password")String md5Pwd);
}
diff --git a/src/main/java/cc/mrbird/febs/mall/quartz/ProfitJob.java b/src/main/java/cc/mrbird/febs/mall/quartz/ProfitJob.java
index c000908..fe90cf4 100644
--- a/src/main/java/cc/mrbird/febs/mall/quartz/ProfitJob.java
+++ b/src/main/java/cc/mrbird/febs/mall/quartz/ProfitJob.java
@@ -7,6 +7,7 @@
import cc.mrbird.febs.mall.entity.MallMoneyFlow;
import cc.mrbird.febs.mall.mapper.MallMemberMapper;
import cc.mrbird.febs.mall.mapper.MallMoneyFlowMapper;
+import cc.mrbird.febs.mall.service.IAgentService;
import cc.mrbird.febs.mall.service.IApiMallMemberService;
import cc.mrbird.febs.mall.service.IApiMallMemberWalletService;
import cc.mrbird.febs.mall.service.IMemberProfitService;
@@ -36,6 +37,8 @@
@Autowired
private IMemberProfitService memberProfitService;
+ @Autowired
+ private IAgentService agentService;
/**
* 代理分红
@@ -106,6 +109,14 @@
memberProfitService.achieveReleaseJob();
}
+ /**
+ * 代理星级补贴
+ */
+ @Scheduled(cron = "0 0 0 * * ?")
+ public void perkAgentAchieveJob() {
+ agentService.perkAgent();
+ }
+
diff --git a/src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java b/src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java
index 529b72d..559c53f 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java
@@ -5,6 +5,7 @@
import cc.mrbird.febs.mall.dto.*;
import cc.mrbird.febs.mall.entity.*;
import cc.mrbird.febs.mall.vo.*;
+import com.alipay.api.domain.AlipayOfflineTrade;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
@@ -116,4 +117,8 @@
FebsResponse searchInfo(Long id);
FebsResponse accountInfo(Long id);
+
+ FebsResponse outsideWithType(Long id, int i);
+
+ FebsResponse chargeAgreeWithType(MallMemberWithdraw mallMemberWithdraw);
}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/IAgentService.java b/src/main/java/cc/mrbird/febs/mall/service/IAgentService.java
index 53c62d4..ee9999f 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/IAgentService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/IAgentService.java
@@ -37,4 +37,6 @@
* 按购买业绩(不按权益积分)每天静态释0.6%~1.2%
*/
void achieveReleasePercent();
+
+ void perkAgent();
}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
index 900d4f2..1e1ee93 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
@@ -806,6 +806,75 @@
return new FebsResponse().success().message("可以转账");
}
+ @Override
+ public FebsResponse outsideWithType(Long id, int i) {
+ MallMember mallMember = mallMemberMapper.selectById(id);
+ if(ObjectUtil.isEmpty(mallMember)) {
+ return new FebsResponse().fail().message("会员信息不存在");
+ }
+ mallMember.setOutsideWith(i);
+ mallMemberMapper.updateById(mallMember);
+ return new FebsResponse().success();
+ }
+
+ @Override
+ public FebsResponse chargeAgreeWithType(MallMemberWithdraw mallMemberWithdrawInfo) {
+ MallMemberWithdraw mallMemberWithdraw = mallMemberWithdrawMapper.selectById(mallMemberWithdrawInfo.getId());
+
+ if(ObjectUtil.isEmpty(mallMemberWithdraw)){
+ return new FebsResponse().fail().message("系统繁忙,请刷新后重试");
+ }
+ if(1 != mallMemberWithdraw.getStatus()){
+ return new FebsResponse().fail().message("当前状态不是提现中");
+ }
+
+ Long wtihdrawTypeId = mallMemberWithdraw.getWtihdrawTypeId();
+ MallMemberBank mallMemberBank = mallMemberBankMapper.selectById(wtihdrawTypeId);
+ if(ObjectUtil.isEmpty(mallMemberBank)){
+ return new FebsResponse().fail().message("提现银行卡已删除");
+ }
+ String agreeType = mallMemberWithdrawInfo.getAgreeType();
+ if("1".equals(agreeType)){
+ mallMemberWithdraw.setStatus(2);
+ mallMemberWithdrawMapper.updateById(mallMemberWithdraw);
+
+ QueryWrapper<MallMoneyFlow> flowQueryWrapper = new QueryWrapper<>();
+ flowQueryWrapper.eq("order_no",mallMemberWithdraw.getWithdrawNo());
+ flowQueryWrapper.eq("type",MoneyFlowTypeEnum.WITHDRAWAL.getValue());
+ MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectOne(flowQueryWrapper);
+ if(ObjectUtil.isNotEmpty(mallMoneyFlow)){
+ mallMoneyFlow.setStatus(2);
+ mallMoneyFlowMapper.updateById(mallMoneyFlow);
+ }
+ return new FebsResponse().success();
+ }else{
+ String bankName = mallMemberBank.getBankName();
+ NBYHResponse nbyhResponse = new NBYHResponse();
+ if("宁波银行".equals(bankName)){
+ nbyhResponse = nbyhService.tradeSinge(mallMemberWithdraw.getId());
+ }else{
+ nbyhResponse = nbyhService.tradeSingeOuterTransfer(mallMemberWithdraw.getId());
+ }
+ if(nbyhResponse.isFlag()){
+ mallMemberWithdraw.setStatus(2);
+ mallMemberWithdrawMapper.updateById(mallMemberWithdraw);
+
+ QueryWrapper<MallMoneyFlow> flowQueryWrapper = new QueryWrapper<>();
+ flowQueryWrapper.eq("order_no",mallMemberWithdraw.getWithdrawNo());
+ flowQueryWrapper.eq("type",MoneyFlowTypeEnum.WITHDRAWAL.getValue());
+ MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectOne(flowQueryWrapper);
+ if(ObjectUtil.isNotEmpty(mallMoneyFlow)){
+ mallMoneyFlow.setStatus(2);
+ mallMoneyFlowMapper.updateById(mallMoneyFlow);
+ }
+ return new FebsResponse().success().message(nbyhResponse.getMsg());
+ }else{
+ return new FebsResponse().fail().message(nbyhResponse.getMsg());
+ }
+ }
+
+ }
+
private String refererIds(String parentId) {
boolean flag = false;
if (StrUtil.isBlank(parentId)) {
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java
index 2e1f3a1..7f0f76c 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java
@@ -52,6 +52,8 @@
private final MallMoneyFlowMapper mallMoneyFlowMapper;
private final MallMqRecordMapper mallMqRecordMapper;
+ private final ICommonService commonService;
+
@Override
@Transactional(rollbackFor = Exception.class)
public void autoUpAgentLevel(Long memberId) {
@@ -241,12 +243,41 @@
* 从最顶级级别的合伙人开始补贴
* 补贴完,把已经补贴的合伙人加入下一个级别
*/
- List<MallMember> sevenLevelRecord = getStarRecord(null, MemberLevelEnum.SEVEN_LEVEL.name(), amount, mallOrderInfo.getOrderNo(), memberId,MoneyFlowTypeEnum.STAR_PERK_SEVEN.getValue());
- List<MallMember> sixLevelRecord = getStarRecord(sevenLevelRecord, MemberLevelEnum.SIX_LEVEL.name(), amount, mallOrderInfo.getOrderNo(), memberId,MoneyFlowTypeEnum.STAR_PERK_SIX.getValue());
- List<MallMember> fifthLevelRecord = getStarRecord(sixLevelRecord, MemberLevelEnum.FIFTH_LEVEL.name(), amount, mallOrderInfo.getOrderNo(), memberId,MoneyFlowTypeEnum.STAR_PERK_FIVE.getValue());
- List<MallMember> fourLevelRecord = getStarRecord(fifthLevelRecord, MemberLevelEnum.FOUR_LEVEL.name(), amount, mallOrderInfo.getOrderNo(), memberId,MoneyFlowTypeEnum.STAR_PERK_FOUR.getValue());
- List<MallMember> thirdLevelRecord = getStarRecord(fourLevelRecord, MemberLevelEnum.THIRD_LEVEL.name(), amount, mallOrderInfo.getOrderNo(), memberId,MoneyFlowTypeEnum.STAR_PERK_THREE.getValue());
- List<MallMember> secondLevelRecord = getStarRecord(thirdLevelRecord, MemberLevelEnum.SECOND_LEVEL.name(), amount, mallOrderInfo.getOrderNo(), memberId,MoneyFlowTypeEnum.STAR_PERK_TWO.getValue());
+
+ DataDictionaryCustom perkAgentAchieveTotalDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+ DataDictionaryEnum.PERK_AGENT_ACHIEVE_TOTAL.getType(),
+ DataDictionaryEnum.PERK_AGENT_ACHIEVE_TOTAL.getCode());
+ BigDecimal perkAgentAchieveTotal = new BigDecimal(perkAgentAchieveTotalDic.getValue());
+ //星级奖励百分比等于每个级别的累计之和
+ List<DataDictionaryCustom> starPerkDics = dataDictionaryCustomMapper.selectDicByType(
+ "AGENT_LEVEL_REQUIRE");
+ BigDecimal totalProfitProp = BigDecimal.ZERO;
+ if(CollUtil.isNotEmpty(starPerkDics)){
+ for(DataDictionaryCustom starPerkDic : starPerkDics){
+ String starPerkStr = starPerkDic.getValue();
+ AgentInfo agentInfo = JSONObject.parseObject(starPerkStr, AgentInfo.class);
+ BigDecimal profitProp = agentInfo.getProfitProp().abs().divide(new BigDecimal(100));
+ String code = starPerkDic.getCode();
+ //存在当前级别的会员,则加上这个比例的补贴
+ List<MallMember> mallMembers = memberMapper.selectByLevel(code);
+ if(CollUtil.isNotEmpty(mallMembers)){
+ totalProfitProp = totalProfitProp.add(profitProp);
+ }
+ }
+ }
+
+ if(totalProfitProp.compareTo(BigDecimal.ZERO) > 0){
+ BigDecimal perkTotal = amount.multiply(totalProfitProp).setScale(2,BigDecimal.ROUND_DOWN);
+ perkAgentAchieveTotal = perkAgentAchieveTotal.add(perkTotal);
+ perkAgentAchieveTotalDic.setValue(perkAgentAchieveTotal.toString());
+ dataDictionaryCustomMapper.updateById(perkAgentAchieveTotalDic);
+ }
+// List<MallMember> sevenLevelRecord = getStarRecord(null, MemberLevelEnum.SEVEN_LEVEL.name(), amount, mallOrderInfo.getOrderNo(), memberId,MoneyFlowTypeEnum.STAR_PERK_SEVEN.getValue());
+// List<MallMember> sixLevelRecord = getStarRecord(sevenLevelRecord, MemberLevelEnum.SIX_LEVEL.name(), amount, mallOrderInfo.getOrderNo(), memberId,MoneyFlowTypeEnum.STAR_PERK_SIX.getValue());
+// List<MallMember> fifthLevelRecord = getStarRecord(sixLevelRecord, MemberLevelEnum.FIFTH_LEVEL.name(), amount, mallOrderInfo.getOrderNo(), memberId,MoneyFlowTypeEnum.STAR_PERK_FIVE.getValue());
+// List<MallMember> fourLevelRecord = getStarRecord(fifthLevelRecord, MemberLevelEnum.FOUR_LEVEL.name(), amount, mallOrderInfo.getOrderNo(), memberId,MoneyFlowTypeEnum.STAR_PERK_FOUR.getValue());
+// List<MallMember> thirdLevelRecord = getStarRecord(fourLevelRecord, MemberLevelEnum.THIRD_LEVEL.name(), amount, mallOrderInfo.getOrderNo(), memberId,MoneyFlowTypeEnum.STAR_PERK_THREE.getValue());
+// List<MallMember> secondLevelRecord = getStarRecord(thirdLevelRecord, MemberLevelEnum.SECOND_LEVEL.name(), amount, mallOrderInfo.getOrderNo(), memberId,MoneyFlowTypeEnum.STAR_PERK_TWO.getValue());
/**
* 团队补贴
@@ -345,7 +376,8 @@
* @return
*/
public List<MallMember> getStarRecord(List<MallMember> mallMembersOlds,String LevelParam,BigDecimal amount,String orderNo,Long memberId,int starPerkType){
-
+ //实际补贴总金额
+ BigDecimal totalPerkAgentAmount = BigDecimal.ZERO;
//根据用户的level获取用户
List<MallMember> mallMemberStars = memberMapper.selectMemberWithLevel(LevelParam);
if(CollUtil.isNotEmpty(mallMembersOlds)){
@@ -367,13 +399,32 @@
if(starSum <= 0){
return mallMemberStars;
}
+
+ BigDecimal totalProfitProp = BigDecimal.ZERO;
+ List<DataDictionaryCustom> agentLevelRequireDics = dataDictionaryCustomMapper.selectDicByType("AGENT_LEVEL_REQUIRE");
+ if(CollUtil.isNotEmpty(agentLevelRequireDics)){
+ for(DataDictionaryCustom dic : agentLevelRequireDics){
+ String starPerkStr = dic.getValue();
+ AgentInfo agentInfo = JSONObject.parseObject(starPerkStr, AgentInfo.class);
+ //当前星级所占份数
+ BigDecimal profitProp = agentInfo.getProfitProp().abs();
+ List<MallMember> mallMembers = memberMapper.selectByLevel(dic.getCode());
+ if(CollUtil.isNotEmpty(mallMembers)){
+ totalProfitProp = profitProp.add(totalProfitProp);
+ }
+ }
+ }
//星级补贴比例
DataDictionaryCustom starPerkDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
"AGENT_LEVEL_REQUIRE",
LevelParam);
String starPerkStr = starPerkDic.getValue();
AgentInfo agentInfo = JSONObject.parseObject(starPerkStr, AgentInfo.class);
- BigDecimal profitProp = agentInfo.getProfitProp().abs().divide(new BigDecimal(100));
+// BigDecimal profitProp = agentInfo.getProfitProp().abs().divide(new BigDecimal(100));
+ //当前星级所占份数
+ BigDecimal profitProp = agentInfo.getProfitProp().abs();
+ //每一份多少钱
+ amount = amount.divide(totalProfitProp,4,BigDecimal.ROUND_DOWN);
//当前等级的星级补贴
BigDecimal starPerkAmountSum = amount.multiply(profitProp);
//当前等级的每一个贡献点的补贴金额
@@ -416,6 +467,7 @@
mallMoneyFlows.add(mallMoneyFlow);
reduceStar(mallMemberWallet.getMemberId(),starPerkAmount);
+ totalPerkAgentAmount = totalPerkAgentAmount.add(starPerkAmount);
}
count = count + 1;
if (count % 1000 == 0 || count == mallMemberWallets.size()) {
@@ -452,6 +504,16 @@
}
}
}
+
+ log.info("============实际补贴金额:{}",totalPerkAgentAmount.setScale(2,BigDecimal.ROUND_DOWN));
+ DataDictionaryCustom totalPerkAgentAmountDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+ DataDictionaryEnum.PERK_AGENT_ACHIEVE_TOTAL.getType(),
+ DataDictionaryEnum.PERK_AGENT_ACHIEVE_TOTAL.getCode()
+ );
+ totalPerkAgentAmountDic.setValue(
+ new BigDecimal(totalPerkAgentAmountDic.getValue()).subtract(totalPerkAgentAmount).setScale(2,BigDecimal.ROUND_DOWN).toString()
+ );
+ dataDictionaryCustomMapper.updateById(totalPerkAgentAmountDic);
return mallMemberStars;
}
@@ -591,15 +653,41 @@
);
List<MallMember> mallMembers = memberMapper.selectByLevel(MemberLevelEnum.SECOND_LEVEL.getType());
+ BigDecimal jobAchieveReleasePercent = new BigDecimal(jobAchieveReleasePercentDic.getValue())
+ .multiply(new BigDecimal(0.001));
+ BigDecimal totalAchieve = BigDecimal.ZERO;
+ Integer totalStar = 0;
if(CollUtil.isNotEmpty(mallMembers)){
for(MallMember mallMember : mallMembers){
//总业绩
- BigDecimal sumAchieve = mallAchieveRecordMapper.selectSumAchieveByMemberId(mallMember.getId());
- BigDecimal jobAchieveReleasePercent = new BigDecimal(jobAchieveReleasePercentDic.getValue())
- .multiply(new BigDecimal(0.001));
- //每个人的补贴额度
- BigDecimal multiply = sumAchieve.multiply(jobAchieveReleasePercent);
+ BigDecimal achieve = mallAchieveRecordMapper.selectSumAchieveByMemberId(mallMember.getId());
+ totalAchieve = totalAchieve.add(achieve);
+
MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(mallMember.getId());
+ Integer star = mallMemberWallet.getStar();
+ totalStar = totalStar + star;
+ }
+ }
+ if(BigDecimal.ZERO.compareTo(totalAchieve) >= 0){
+ return;
+ }
+ //总释放=总业绩*一星每日业绩每日释放业绩到余额的千分比
+ totalAchieve = totalAchieve.multiply(jobAchieveReleasePercent);
+
+ if(totalStar <= 0){
+ return;
+ }
+ //一个贡献点的价值
+ BigDecimal divide = totalAchieve.divide(new BigDecimal(totalStar), 2, BigDecimal.ROUND_DOWN);
+
+ if(CollUtil.isNotEmpty(mallMembers)){
+ for(MallMember mallMember : mallMembers){
+
+ MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(mallMember.getId());
+ Integer star = mallMemberWallet.getStar();
+ //每个人贡献值数量*一个贡献点的价值=获取的收益
+ BigDecimal multiply = divide.multiply(new BigDecimal(star)).setScale(2,BigDecimal.ROUND_DOWN);
+
BigDecimal totalScore = mallMemberWallet.getTotalScore();
if(BigDecimal.ZERO.compareTo(multiply) < 0){
if(BigDecimal.ZERO.compareTo(totalScore) < 0){
@@ -623,6 +711,85 @@
}
}
}
+
+
+
+// if(CollUtil.isNotEmpty(mallMembers)){
+// for(MallMember mallMember : mallMembers){
+// //总业绩
+// BigDecimal sumAchieve = mallAchieveRecordMapper.selectSumAchieveByMemberId(mallMember.getId());
+// //每个人的补贴额度
+// BigDecimal multiply = sumAchieve.multiply(jobAchieveReleasePercent);
+// MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(mallMember.getId());
+// BigDecimal totalScore = mallMemberWallet.getTotalScore();
+// if(BigDecimal.ZERO.compareTo(multiply) < 0){
+// if(BigDecimal.ZERO.compareTo(totalScore) < 0){
+// if(totalScore.compareTo(multiply) < 0){
+// multiply = totalScore;
+// }
+// //减少补贴额度
+// mallMemberWalletMapper.reduceTotalScoreById(multiply, mallMemberWallet.getId());
+//
+// reduceStar(mallMember.getId(),multiply);
+//
+// mallMemberWalletMapper.addBalanceById(multiply, mallMemberWallet.getId());
+//
+// mallMoneyFlowService.addMoneyFlow(
+// mallMember.getId(),
+// multiply,
+// MoneyFlowTypeEnum.STATIC_BONUS.getValue(),
+// MallUtils.getOrderNum(),
+// FlowTypeEnum.BALANCE.getValue());
+// }
+// }
+// }
+// }
+ }
+
+ @Override
+ public void perkAgent() {
+ DataDictionaryCustom totalAmountDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+ DataDictionaryEnum.PERK_AGENT_ACHIEVE_TOTAL.getType(),
+ DataDictionaryEnum.PERK_AGENT_ACHIEVE_TOTAL.getCode()
+ );
+ if(ObjectUtil.isEmpty(totalAmountDic)){
+ return;
+ }
+ //星级补贴总数
+ BigDecimal totalAmount = new BigDecimal(totalAmountDic.getValue()).setScale(2, BigDecimal.ROUND_DOWN);
+ if(BigDecimal.ZERO.compareTo(totalAmount) >= 0){
+ return;
+ }
+
+ DataDictionaryCustom perkAgentPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+ DataDictionaryEnum.PERK_AGENT_ACHIEVE_PERCENT.getType(),
+ DataDictionaryEnum.PERK_AGENT_ACHIEVE_PERCENT.getCode()
+ );
+ if(ObjectUtil.isEmpty(perkAgentPercentDic)){
+ return;
+ }
+ //星级补贴百分比
+ BigDecimal perkAgentPercent = new BigDecimal(perkAgentPercentDic.getValue()).abs().divide(new BigDecimal(100));
+ BigDecimal amount = totalAmount.multiply(perkAgentPercent);
+ if(BigDecimal.ZERO.compareTo(amount) >= 0){
+ return;
+ }
+// //星级补贴总数
+// totalAmountDic.setValue(totalAmount.subtract(amount).setScale(2,BigDecimal.ROUND_DOWN).toString());
+// dataDictionaryCustomMapper.updateById(totalAmountDic);
+
+ String orderNo = MallUtils.getOrderNum("SPA");
+ /**
+ * 星级奖励
+ * 从最顶级级别的合伙人开始补贴
+ * 补贴完,把已经补贴的合伙人加入下一个级别
+ */
+ List<MallMember> sevenLevelRecord = getStarRecord(null, MemberLevelEnum.SEVEN_LEVEL.name(), amount, orderNo, 0L,MoneyFlowTypeEnum.STAR_PERK_SEVEN.getValue());
+ List<MallMember> sixLevelRecord = getStarRecord(sevenLevelRecord, MemberLevelEnum.SIX_LEVEL.name(), amount, orderNo, 0L,MoneyFlowTypeEnum.STAR_PERK_SIX.getValue());
+ List<MallMember> fifthLevelRecord = getStarRecord(sixLevelRecord, MemberLevelEnum.FIFTH_LEVEL.name(), amount, orderNo, 0L,MoneyFlowTypeEnum.STAR_PERK_FIVE.getValue());
+ List<MallMember> fourLevelRecord = getStarRecord(fifthLevelRecord, MemberLevelEnum.FOUR_LEVEL.name(), amount, orderNo, 0L,MoneyFlowTypeEnum.STAR_PERK_FOUR.getValue());
+ List<MallMember> thirdLevelRecord = getStarRecord(fourLevelRecord, MemberLevelEnum.THIRD_LEVEL.name(), amount, orderNo, 0L,MoneyFlowTypeEnum.STAR_PERK_THREE.getValue());
+ List<MallMember> secondLevelRecord = getStarRecord(thirdLevelRecord, MemberLevelEnum.SECOND_LEVEL.name(), amount, orderNo, 0L,MoneyFlowTypeEnum.STAR_PERK_TWO.getValue());
}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
index 384cb75..f2855ed 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -67,18 +67,23 @@
@Transactional(rollbackFor = Exception.class)
@Override
public FebsResponse register(RegisterDto registerDto) {
- MallMember mallMember = this.baseMapper.selectInfoByAccount(registerDto.getAccount());
+// MallMember mallMember = this.baseMapper.selectInfoByAccount(registerDto.getAccount());
+// if (mallMember != null) {
+// throw new FebsException("该账号已被占用");
+// }
+ String accountLogin = registerDto.getAccountLogin();
+ MallMember mallMember = this.baseMapper.selectByAccountLogin(accountLogin);
if (mallMember != null) {
throw new FebsException("该账号已被占用");
}
- List<MallMember> mallMembers = this.baseMapper.selectMemberByName(registerDto.getName());
- if (CollUtil.isNotEmpty(mallMembers)) {
- MallRegisterAppeal registerAppeal = mallRegisterAppealMapper.selectByPhoneAndName(registerDto.getName(), registerDto.getAccount());
- if (registerAppeal == null || registerAppeal.getStatus() != 1) {
- return new FebsResponse().code(HttpStatus.ACCEPTED).message("用户名已存在");
- }
- }
+// List<MallMember> mallMembers = this.baseMapper.selectMemberByName(registerDto.getName());
+// if (CollUtil.isNotEmpty(mallMembers)) {
+// MallRegisterAppeal registerAppeal = mallRegisterAppealMapper.selectByPhoneAndName(registerDto.getName(), registerDto.getAccount());
+// if (registerAppeal == null || registerAppeal.getStatus() != 1) {
+// return new FebsResponse().code(HttpStatus.ACCEPTED).message("用户名已存在");
+// }
+// }
String account = registerDto.getAccount();
if (!"admin".equals(registerDto.getRegistType())) {
@@ -90,6 +95,7 @@
}
mallMember = new MallMember();
+ mallMember.setAccountLogin(accountLogin);
mallMember.setPassword(SecureUtil.md5(registerDto.getPassword()));
// 判断账号类型
@@ -160,7 +166,8 @@
public FebsResponse toLogin(LoginDto loginDto) {
String md5Pwd = SecureUtil.md5(loginDto.getPassword());
- MallMember mallMember = this.baseMapper.selectInfoByAccountAndPwd(loginDto.getAccount(), md5Pwd);
+// MallMember mallMember = this.baseMapper.selectInfoByAccountAndPwd(loginDto.getAccount(), md5Pwd);
+ MallMember mallMember = this.baseMapper.selectInfoByAccountLoginAndPwd(loginDto.getAccount(), md5Pwd);
if (mallMember == null) {
throw new FebsException("用户不存在或账号密码错误");
}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberWithdrawServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberWithdrawServiceImpl.java
index d24988d..d9eddd8 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberWithdrawServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberWithdrawServiceImpl.java
@@ -53,6 +53,12 @@
public void withdrawal(WithdrawalDto withdrawalDto) {
Long memberId = LoginUserUtil.getLoginUser().getId();
MallMember mallMember = mallMemberService.getById(memberId);
+
+ Integer outsideWith = mallMember.getOutsideWith() == null ? 2 :mallMember.getOutsideWith();
+ if (1 != outsideWith) {
+ throw new FebsException("功能升级中");
+ }
+
if (StrUtil.isBlank(mallMember.getTradePassword())) {
throw new FebsException("未设置支付密码");
}
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/AdminAgentMemberVo.java b/src/main/java/cc/mrbird/febs/mall/vo/AdminAgentMemberVo.java
index eb25e51..77aa70f 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/AdminAgentMemberVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/AdminAgentMemberVo.java
@@ -13,6 +13,8 @@
private String name;
+ private String accountLogin;
+
private String phone;
private String level;
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/AdminAgentVo.java b/src/main/java/cc/mrbird/febs/mall/vo/AdminAgentVo.java
index c9ace57..67b20a4 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/AdminAgentVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/AdminAgentVo.java
@@ -13,6 +13,8 @@
private String name;
+ private String accountLogin;
+
private String phone;
private String bindPhone;
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/AdminMallOrderInfoVo.java b/src/main/java/cc/mrbird/febs/mall/vo/AdminMallOrderInfoVo.java
index 8807def..4b7b1a0 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/AdminMallOrderInfoVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/AdminMallOrderInfoVo.java
@@ -47,6 +47,8 @@
private String name;
+ private String accountLogin;
+
private String phone;
private String address;
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/AdminMoneyChargeListVo.java b/src/main/java/cc/mrbird/febs/mall/vo/AdminMoneyChargeListVo.java
index 49df3af..80053ce 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/AdminMoneyChargeListVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/AdminMoneyChargeListVo.java
@@ -26,6 +26,8 @@
private String name;
+ private String accountLogin;
+
private String phone;
private String bindPhone;
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/AdminMoneyFlowListVo.java b/src/main/java/cc/mrbird/febs/mall/vo/AdminMoneyFlowListVo.java
index 1f931a5..65b4161 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/AdminMoneyFlowListVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/AdminMoneyFlowListVo.java
@@ -28,6 +28,8 @@
private String name;
+ private String accountLogin;
+
private String phone;
private Integer status;
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java b/src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java
index a5aa7c2..20d222a 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java
@@ -15,6 +15,9 @@
@ApiModelProperty(value = "id")
private Long id;
+ @ApiModelProperty(value = "登录账号")
+ private String accountLogin;
+
@ApiModelProperty(value = "昵称")
private String name;
diff --git a/src/main/java/cc/mrbird/febs/pay/service/impl/NBYHServiceImpl.java b/src/main/java/cc/mrbird/febs/pay/service/impl/NBYHServiceImpl.java
index d3509a0..00d9202 100644
--- a/src/main/java/cc/mrbird/febs/pay/service/impl/NBYHServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/pay/service/impl/NBYHServiceImpl.java
@@ -15,6 +15,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import javax.annotation.Resource;
import java.io.*;
import java.math.BigDecimal;
import java.net.*;
@@ -107,15 +108,12 @@
* 接收报文url
*/
// private static final String URL = "http://127.0.0.1:9080/directlink/httpAccess";
-// private static final String URL = "http://220.168.79.89:9080/directlink/httpAccess";
- private static final String URL = "http://747f9407.r3.cpolar.top/directlink/httpAccess";
-// private static final String URL = "http://1d6d-220-168-79-89.ngrok.io/directlink/httpAccess";
+ private static final String URL = "http://n5z7ej.natappfree.cc/directlink/httpAccess";
/**
* 签名ip
*/
// private static final String VERIFY_IP = "127.0.0.1";
- private static final String VERIFY_IP = "3b425db8.r10.cpolar.top";
-// private static final String VERIFY_IP = "747f9407.r3.cpolar.top";
+ private static final String VERIFY_IP = "server.natappfree.cc";
/**
* 付款账号
*/
@@ -123,7 +121,8 @@
/**
* 签名端口
*/
- private static final int VERIFY_PORT = 8010;
+ private static final int VERIFY_PORT = 41933;
+// private static final int VERIFY_PORT = 8010;
/**
* cookies
@@ -154,22 +153,12 @@
try {
InetAddress addr = InetAddress.getByName(VERIFY_IP);
- String hostName = addr.getHostName();
-// Socket socket = new Socket(hostName, VERIFY_PORT);
- String hostAddress = addr.getHostAddress();
- SocketAddress address = new InetSocketAddress(VERIFY_IP, 8010);
+ Socket socket = new Socket(addr, VERIFY_PORT);
- Proxy proxy = new Proxy(Proxy.Type.HTTP, address);
- Socket socket = new Socket(proxy);
- int port = socket.getPort();
System.out.println("发送登录请求:"+addr);
- System.out.println("发送登录请求:"+address);
- System.out.println("发送登录请求:"+hostName);
- System.out.println("发送登录请求:"+port);
+ System.out.println("发送登录请求:"+socket.getKeepAlive());
// System.out.println("发送登录请求:");
// test.executeServerHttpService("srv001_signOn");
-// System.out.println("\n发送转账结果查询请求:");
-// executeServerHttpService("srv008_transferResultInfoQuery","转账结果查询","2023032910585227466");
// System.out.println("\n发送跨行转账请求:");
// test.executeServerHttpService("srv007_singleOuterTransfer","跨行转账",null);
// System.out.println("\n发送行内转账请求:");
@@ -180,11 +169,11 @@
}
- @Autowired
+ @Resource
private MallMemberWithdrawMapper mallMemberWithdrawMapper;
- @Autowired
+ @Resource
private MallMemberWithdrawMsgMapper mallMemberWithdrawMsgMapper;
- @Autowired
+ @Resource
private MallMemberBankMapper mallMemberBankMapper;
@Override
@@ -683,6 +672,8 @@
try {
addr = InetAddress.getByName(VERIFY_IP);
socket = new Socket(addr, VERIFY_PORT);
+// InetAddress localHost = addr.getLocalHost();
+// socket = new Socket(localHost, VERIFY_PORT);
// 发送
BufferedWriter wr = new BufferedWriter(new OutputStreamWriter(
socket.getOutputStream(),"GBK"));
diff --git a/src/main/java/cc/mrbird/febs/rabbit/consumer/AgentConsumer.java b/src/main/java/cc/mrbird/febs/rabbit/consumer/AgentConsumer.java
index 927279a..30df9c7 100644
--- a/src/main/java/cc/mrbird/febs/rabbit/consumer/AgentConsumer.java
+++ b/src/main/java/cc/mrbird/febs/rabbit/consumer/AgentConsumer.java
@@ -29,71 +29,71 @@
@Autowired
private IMemberProfitService memberProfitService;
-// @RabbitListener(queues = QueueConstants.QUEUE_DEFAULT)
-// public void agentReturn(Message message, Channel channel) {
-// log.info("消费者:{}", new String(message.getBody()));
-// }
-//
-// @RabbitListener(queues = "hlm_queue_order_delay")
-// public void orderCancelDelay(String id) {
-// try {
-// orderInfoService.autoCancelOrder(Long.parseLong(id));
-// } catch (Exception e) {
-// log.error("订单超时支付异常", e);
-// }
-// }
-//
-// @RabbitListener(queues = QueueConstants.AGENT_AUTO_LEVEL_UP)
-// public void agentAutoLevelUp(String id) {
-// log.info("收到合伙人自动升级消息:{}", id);
-// try {
-// agentService.autoUpAgentLevel(Long.parseLong(id));
-// } catch (Exception e) {
-// log.error("合伙人自动升级异常", e);
-// }
-// }
-//
-// @RabbitListener(queues = QueueConstants.AGENT_RETURN_MONEY)
-// public void agentReturnMoney(String orderId) {
-// log.info("收到返利消息:{}", orderId);
-// try {
-// agentService.returnMoneyToAgent(Long.parseLong(orderId));
-// } catch (Exception e) {
-// log.error("返利异常", e);
-// }
-// }
-//
-// @RabbitListener(queues = QueueConstants.ORDER_RETURN_MONEY)
-// public void orderReturnMoney(String orderId) {
-// log.info("收到订单返利消息:{}", orderId);
-// try {
-// memberProfitService.dynamicProfit(Long.parseLong(orderId));
-// } catch (Exception e) {
-// log.error("订单返利异常:", e);
-// }
-// }
-//
-// @RabbitListener(queues = QueueConstants.PERK_MONEY)
-// public void perkMoneyConsumer(String id) {
-// log.info("收到补贴消息:{}", id);
-// try {
-// agentService.perkMoneyConsumer(Long.parseLong(id));
-// } catch (Exception e) {
-// log.error("用户补贴异常", e);
-// // todo 更新表
-//
-// }
-// }
-//
-// @RabbitListener(queues = QueueConstants.FORCE_VOUCHER_SALE)
-// public void forceVoucherSaleConsumer(String price) {
-// log.info("收到强制卖出消息,价格:{}",price);
-// try {
-// memberProfitService.selaHalfVoucher(price);
-// } catch (Exception e) {
-// log.error("强制卖出异常", e);
-// // todo 更新表
-//
-// }
-// }
+ @RabbitListener(queues = QueueConstants.QUEUE_DEFAULT)
+ public void agentReturn(Message message, Channel channel) {
+ log.info("消费者:{}", new String(message.getBody()));
+ }
+
+ @RabbitListener(queues = "hlm_queue_order_delay")
+ public void orderCancelDelay(String id) {
+ try {
+ orderInfoService.autoCancelOrder(Long.parseLong(id));
+ } catch (Exception e) {
+ log.error("订单超时支付异常", e);
+ }
+ }
+
+ @RabbitListener(queues = QueueConstants.AGENT_AUTO_LEVEL_UP)
+ public void agentAutoLevelUp(String id) {
+ log.info("收到合伙人自动升级消息:{}", id);
+ try {
+ agentService.autoUpAgentLevel(Long.parseLong(id));
+ } catch (Exception e) {
+ log.error("合伙人自动升级异常", e);
+ }
+ }
+
+ @RabbitListener(queues = QueueConstants.AGENT_RETURN_MONEY)
+ public void agentReturnMoney(String orderId) {
+ log.info("收到返利消息:{}", orderId);
+ try {
+ agentService.returnMoneyToAgent(Long.parseLong(orderId));
+ } catch (Exception e) {
+ log.error("返利异常", e);
+ }
+ }
+
+ @RabbitListener(queues = QueueConstants.ORDER_RETURN_MONEY)
+ public void orderReturnMoney(String orderId) {
+ log.info("收到订单返利消息:{}", orderId);
+ try {
+ memberProfitService.dynamicProfit(Long.parseLong(orderId));
+ } catch (Exception e) {
+ log.error("订单返利异常:", e);
+ }
+ }
+
+ @RabbitListener(queues = QueueConstants.PERK_MONEY)
+ public void perkMoneyConsumer(String id) {
+ log.info("收到补贴消息:{}", id);
+ try {
+ agentService.perkMoneyConsumer(Long.parseLong(id));
+ } catch (Exception e) {
+ log.error("用户补贴异常", e);
+ // todo 更新表
+
+ }
+ }
+
+ @RabbitListener(queues = QueueConstants.FORCE_VOUCHER_SALE)
+ public void forceVoucherSaleConsumer(String price) {
+ log.info("收到强制卖出消息,价格:{}",price);
+ try {
+ memberProfitService.selaHalfVoucher(price);
+ } catch (Exception e) {
+ log.error("强制卖出异常", e);
+ // todo 更新表
+
+ }
+ }
}
diff --git a/src/main/resources/mapper/modules/MallMemberMapper.xml b/src/main/resources/mapper/modules/MallMemberMapper.xml
index 9a6e4ed..30011e0 100644
--- a/src/main/resources/mapper/modules/MallMemberMapper.xml
+++ b/src/main/resources/mapper/modules/MallMemberMapper.xml
@@ -24,6 +24,9 @@
<if test="record.name!=null and record.name!=''">
and m.name like concat('%', #{record.name},'%')
</if>
+ <if test="record.accountLogin!=null and record.accountLogin!=''">
+ and m.account_login like concat('%', #{record.accountLogin},'%')
+ </if>
<if test="record.account!=null and record.account!=''">
and (
m.phone like concat('%', #{record.account},'%')
@@ -163,6 +166,9 @@
left join data_dictionary_custom a on a.code = m.level
<where>
<if test="record != null" >
+ <if test="record.accountLogin!=null and record.accountLogin!=''">
+ and m.account_login like concat('%', #{record.accountLogin},'%')
+ </if>
<if test="record.name!=null and record.name!=''">
and m.name like concat('%', #{record.name},'%')
</if>
@@ -450,4 +456,14 @@
select * from mall_member
where level = #{level}
</select>
+
+ <select id="selectByAccountLogin" resultType="cc.mrbird.febs.mall.entity.MallMember">
+ select * from mall_member
+ where account_login = #{accountLogin}
+ </select>
+
+ <select id="selectInfoByAccountLoginAndPwd" resultType="cc.mrbird.febs.mall.entity.MallMember">
+ select * from mall_member
+ where account_login = #{accountLogin} and password = #{password}
+ </select>
</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml b/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml
index 6f89a70..8fe8066 100644
--- a/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml
+++ b/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml
@@ -47,6 +47,7 @@
a.*,
b.name,
b.bind_phone bindPhone,
+ b.account_login accountLogin,
c.pay_method payMethod,
b.phone,
d.name fromMemberName
@@ -56,6 +57,9 @@
left join mall_member d on d.id = a.rt_member_id
<where>
<if test="record != null" >
+ <if test="record.accountLogin!=null and record.accountLogin!=''">
+ and b.account_login like concat('%', #{record.accountLogin},'%')
+ </if>
<if test="record.name!=null and record.name!=''">
and b.name like concat('%', #{record.name},'%')
</if>
@@ -83,12 +87,16 @@
a.remark remark,
a.status status,
b.name,
+ b.account_login accountLogin,
b.bind_phone bindPhone,
b.phone
from mall_member_withdraw a
inner join mall_member b on a.member_id=b.id
<where>
<if test="record != null" >
+ <if test="record.accountLogin!=null and record.accountLogin!=''">
+ and b.account_login like concat('%', #{record.accountLogin},'%')
+ </if>
<if test="record.name!=null and record.name!=''">
and b.name like concat('%', #{record.name},'%')
</if>
diff --git a/src/main/resources/mapper/modules/MallOrderInfoMapper.xml b/src/main/resources/mapper/modules/MallOrderInfoMapper.xml
index 8316f7d..fb2e09e 100644
--- a/src/main/resources/mapper/modules/MallOrderInfoMapper.xml
+++ b/src/main/resources/mapper/modules/MallOrderInfoMapper.xml
@@ -47,6 +47,7 @@
select a.*,
b.name memberName,
b.bind_phone memberBindPhone,
+ b.account_login accountLogin,
b.phone memberPhone,
c.goods_name
from mall_order_item c
@@ -72,6 +73,9 @@
<if test="record.name != null and record.name != ''">
and b.name like CONCAT('%', CONCAT(#{record.name}, '%'))
</if>
+ <if test="record.accountLogin != null and record.accountLogin != ''">
+ and b.account_login like CONCAT('%', CONCAT(#{record.accountLogin}, '%'))
+ </if>
<if test="record.startTime != null and record.startTime != ''">
and a.order_time >= #{record.startTime}
</if>
diff --git a/src/main/resources/mapper/modules/MallScoreAchieveReleaseMapper.xml b/src/main/resources/mapper/modules/MallScoreAchieveReleaseMapper.xml
index dcbc73b..17e3b35 100644
--- a/src/main/resources/mapper/modules/MallScoreAchieveReleaseMapper.xml
+++ b/src/main/resources/mapper/modules/MallScoreAchieveReleaseMapper.xml
@@ -13,6 +13,7 @@
select
a.*,
b.name name,
+ b.account_login accountLogin,
b.phone phone
from mall_money_flow a
left join mall_member b on b.id = a.member_id
diff --git a/src/main/resources/templates/febs/views/modules/mallMember/agentAllMember.html b/src/main/resources/templates/febs/views/modules/mallMember/agentAllMember.html
index 5216595..818999b 100644
--- a/src/main/resources/templates/febs/views/modules/mallMember/agentAllMember.html
+++ b/src/main/resources/templates/febs/views/modules/mallMember/agentAllMember.html
@@ -49,8 +49,9 @@
id: 'agentChild',
url: ctx + 'admin/mallMember/agentChild?parentId=1',
cols: [[
+ {field: 'accountLogin', title: '登录账户', minWidth: 150,align:'center'},
{field: 'name', title: '姓名', minWidth: 150,align:'center'},
- {field: 'phone', title: '电话', minWidth: 150,align:'center',hide:toolbarAgentListChild},
+ {field: 'phone', title: '手机号码', minWidth: 150,align:'center',hide:toolbarAgentListChild},
{field: 'inviteId', title: '邀请码', minWidth: 150,align:'center'},
{field: 'levelName', title: '等级', minWidth: 150,align:'center'},
{field: 'amount', title: '团队业绩', minWidth: 150,align:'center'},
diff --git a/src/main/resources/templates/febs/views/modules/mallMember/agentList.html b/src/main/resources/templates/febs/views/modules/mallMember/agentList.html
index 2a9e086..5eb4024 100644
--- a/src/main/resources/templates/febs/views/modules/mallMember/agentList.html
+++ b/src/main/resources/templates/febs/views/modules/mallMember/agentList.html
@@ -8,15 +8,21 @@
<div class="layui-col-md10">
<div class="layui-form-item">
<div class="layui-inline">
+ <label class="layui-form-label">登录账户:</label>
+ <div class="layui-input-inline">
+ <input type="text" placeholder="登录账户" name="accountLogin" autocomplete="off" class="layui-input">
+ </div>
+ </div>
+ <div class="layui-inline">
<label class="layui-form-label">名称:</label>
<div class="layui-input-inline">
<input type="text" placeholder="名称" name="name" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline">
- <label class="layui-form-label">账号:</label>
+ <label class="layui-form-label">手机号码:</label>
<div class="layui-input-inline">
- <input type="text" placeholder="账号" name="account" autocomplete="off" class="layui-input">
+ <input type="text" placeholder="手机号码" name="account" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline">
@@ -141,7 +147,8 @@
url: ctx + 'admin/mallMember/getAgentList',
cols: [[
// {field: 'bindPhone', title: '手机号', minWidth: 150,align:'left'},
- {field: 'phone', title: '账号', minWidth: 150,align:'left',hide:toolbarAgentList},
+ {field: 'phone', title: '手机号码', minWidth: 150,align:'left',hide:toolbarAgentList},
+ {field: 'accountLogin', title: '登录账号', minWidth: 100,align:'left'},
{field: 'name', title: '名称', minWidth: 100,align:'left'},
{field: 'inviteId', title: '邀请码', minWidth: 100,align:'left'},
{field: 'levelName', title: '代理层级', minWidth: 100,align:'left'},
@@ -159,6 +166,7 @@
// 获取查询参数
function getQueryParams() {
return {
+ accountLogin: $searchForm.find('input[name="accountLogin"]').val().trim(),
name: $searchForm.find('input[name="name"]').val().trim(),
account: $searchForm.find('input[name="account"]').val().trim(),
level: $searchForm.find("select[name='level']").val(),
diff --git a/src/main/resources/templates/febs/views/modules/mallMember/chargeFlowList.html b/src/main/resources/templates/febs/views/modules/mallMember/chargeFlowList.html
index 5e4e4d2..7d9317e 100644
--- a/src/main/resources/templates/febs/views/modules/mallMember/chargeFlowList.html
+++ b/src/main/resources/templates/febs/views/modules/mallMember/chargeFlowList.html
@@ -8,15 +8,21 @@
<div class="layui-col-md10">
<div class="layui-form-item">
<div class="layui-inline">
+ <label class="layui-form-label">登录账户:</label>
+ <div class="layui-input-inline">
+ <input type="text" placeholder="登录账户" name="accountLogin" autocomplete="off" class="layui-input">
+ </div>
+ </div>
+ <div class="layui-inline">
<label class="layui-form-label">名称:</label>
<div class="layui-input-inline">
<input type="text" placeholder="名称" name="name" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline">
- <label class="layui-form-label">账号:</label>
+ <label class="layui-form-label">手机号码:</label>
<div class="layui-input-inline">
- <input type="text" placeholder="账号" name="phone" autocomplete="off" class="layui-input">
+ <input type="text" placeholder="手机号码" name="phone" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline">
@@ -50,6 +56,7 @@
</div>
<script type="text/html" id="charge-flow-list-option">
{{# if(d.status === 1) { }}
+<!-- <button class="layui-btn layui-btn-normal layui-btn-xs" type="button" shiro:hasPermission="chargeAgree:update" lay-event="chargeAgree">同意</button>-->
<button class="layui-btn layui-btn-normal layui-btn-xs" type="button" shiro:hasPermission="chargeAgree:update" lay-event="chargeAgree">同意</button>
<button class="layui-btn layui-btn-normal layui-btn-xs" type="button" shiro:hasPermission="searchInfo:view" lay-event="searchInfo">查询结果</button>
<button class="layui-btn layui-btn-normal layui-btn-xs" type="button" shiro:hasPermission="accountInfo:view" lay-event="accountInfo">账户余额</button>
@@ -87,9 +94,20 @@
table.on('tool(moneyFlowChargeTable)', function (obj) {
var data = obj.data,
layEvent = obj.event;
+ // if (layEvent === 'chargeAgree') {
+ // febs.modal.confirm('同意', '同意提现?', function () {
+ // chargeAgree(data.id);
+ // });
+ // }
if (layEvent === 'chargeAgree') {
- febs.modal.confirm('同意', '同意提现?', function () {
- chargeAgree(data.id);
+ febs.modal.open( '提现方式', 'modules/mallMember/chargeFlowListType/' + data.id, {
+ btn: ['提交', '取消'],
+ yes: function (index, layero) {
+ $('#charge-update').find('#submit').trigger('click');
+ },
+ btn2: function () {
+ layer.closeAll();
+ }
});
}
if (layEvent === 'chargeDisagree') {
@@ -117,16 +135,16 @@
febs.get(ctx + 'admin/mallMember/searchInfo/' + id, null, function (data) {
febs.alert.success(data.message);
// febs.alert.success('操作成功');
- window.location.reload();
- // $query.click();
+ // window.location.reload();
+ $query.click();
});
}
function accountInfo(id) {
febs.get(ctx + 'admin/mallMember/accountInfo/' + id, null, function (data) {
febs.alert.success(data.message);
// febs.alert.success('操作成功');
- window.location.reload();
- // $query.click();
+ // window.location.reload();
+ $query.click();
});
}
function chargeAgree(id) {
@@ -164,9 +182,10 @@
totalRow: true ,// 开启合计行
cols: [[
{field: 'withdrawNo', title: '编号', minWidth: 100,align:'left', totalRowText: '合计:'},
+ {field: 'accountLogin', title: '登录账户', minWidth: 100,align:'left'},
{field: 'name', title: '名称', minWidth: 100,align:'left'},
- {field: 'phone', title: '账号', minWidth: 150,align:'left'},
- {field: 'bindPhone', title: '手机号', minWidth: 150,align:'left'},
+ {field: 'phone', title: '手机号码', minWidth: 150,align:'left'},
+ // {field: 'bindPhone', title: '手机号', minWidth: 150,align:'left'},
{field: 'amount', title: '金额', minWidth: 150,align:'left',totalRow: '{{= parseInt(d.amount) }}'},
{field: 'amountFee', title: '手续费', minWidth: 150,align:'left',totalRow: '{{= parseInt(d.amountFee) }}'},
{field: 'remark', title: '类型', minWidth: 150,align:'left'},
@@ -192,6 +211,7 @@
function getQueryParams() {
return {
name: $searchForm.find('input[name="name"]').val().trim(),
+ accountLogin: $searchForm.find('input[name="accountLogin"]').val().trim(),
phone: $searchForm.find('input[name="phone"]').val().trim(),
status: $searchForm.find("select[name='status']").val(),
};
diff --git a/src/main/resources/templates/febs/views/modules/mallMember/chargeFlowListType.html b/src/main/resources/templates/febs/views/modules/mallMember/chargeFlowListType.html
new file mode 100644
index 0000000..386f772
--- /dev/null
+++ b/src/main/resources/templates/febs/views/modules/mallMember/chargeFlowListType.html
@@ -0,0 +1,76 @@
+<style>
+ #charge-update {
+ padding: 20px 25px 25px 0;
+ }
+
+ #charge-update .layui-treeSelect .ztree li a, .ztree li span {
+ margin: 0 0 2px 3px !important;
+ }
+ #charge-update #data-permission-tree-block {
+ border: 1px solid #eee;
+ border-radius: 2px;
+ padding: 3px 0;
+ }
+ #charge-update .layui-treeSelect .ztree li span.button.switch {
+ top: 1px;
+ left: 3px;
+ }
+
+</style>
+<div class="layui-fluid" id="charge-update">
+ <form class="layui-form" action="" lay-filter="charge-update-form">
+
+ <blockquote class="layui-elem-quote blue-border">请选择以下提现方式</blockquote>
+ <div class="layui-form-item febs-hide">
+ <label class="layui-form-label febs-form-item-require">id:</label>
+ <div class="layui-input-block">
+ <input type="text" name="id">
+ </div>
+ </div>
+ <div class="layui-form-item sftj">
+ <label class="layui-form-label febs-form-item-require">方式:</label>
+ <div class="layui-input-block">
+ <input type="radio" name="agreeType" value="1" title="手动转账" >
+ <input type="radio" name="agreeType" value="2" title="宁波银行转账" checked="">
+ </div>
+ </div>
+ <div class="layui-form-item febs-hide">
+ <button class="layui-btn" lay-submit="" lay-filter="charge-update-form-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,
+ chargeUpdateInfo = [[${chargeUpdateInfo}]],
+ $view = $('#charge-update'),
+ validate = layui.validate,
+ _deptTree;
+
+ form.render();
+
+ initUserValue();
+
+ function initUserValue() {
+ form.val("charge-update-form", {
+ "id": chargeUpdateInfo.id
+ });
+ }
+
+ form.on('submit(charge-update-form-submit)', function (data) {
+ febs.post(ctx + 'admin/mallMember/chargeAgreeWithType', data.field, function () {
+ layer.closeAll();
+ febs.alert.success('操作成功');
+ $('#febs-money-flow-charge').find('#reset').click();
+ });
+ return false;
+ });
+ });
+</script>
\ No newline at end of file
diff --git a/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html b/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
index 6b99f98..4b46ec5 100644
--- a/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
+++ b/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
@@ -8,6 +8,12 @@
<div class="layui-col-md10">
<div class="layui-form-item">
<div class="layui-inline">
+ <label class="layui-form-label">登录账户:</label>
+ <div class="layui-input-inline">
+ <input type="text" placeholder="登录账户" name="accountLogin" autocomplete="off" class="layui-input">
+ </div>
+ </div>
+ <div class="layui-inline">
<label class="layui-form-label">名称:</label>
<div class="layui-input-inline">
<input type="text" placeholder="名称" name="name" autocomplete="off" class="layui-input">
@@ -16,7 +22,7 @@
<div class="layui-inline">
<label class="layui-form-label">账号:</label>
<div class="layui-input-inline">
- <input type="text" placeholder="账号/邀请码" name="account" autocomplete="off" class="layui-input">
+ <input type="text" placeholder="手机号码/邀请码" name="account" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline">
@@ -110,6 +116,13 @@
<input type="checkbox" value={{d.id}} lay-text="是|否" lay-skin="switch" lay-filter="switchInsideWith">
{{# } }}
</script>
+<script type="text/html" id="switchOutsideWith">
+ {{# if(d.outsideWith === 1) { }}
+ <input type="checkbox" value={{d.id}} lay-text="是|否" checked lay-skin="switch" lay-filter="switchOutsideWith">
+ {{# } else { }}
+ <input type="checkbox" value={{d.id}} lay-text="是|否" lay-skin="switch" lay-filter="switchOutsideWith">
+ {{# } }}
+</script>
<style>
.layui-form-onswitch {
background-color: #5FB878 !important;
@@ -117,6 +130,7 @@
</style>
<script type="text/html" id="tableMemberBar">
<div class="layui-btn-container">
+ <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" lay-event="exportMember">导出会员信息</button>
<button class="layui-btn layui-btn-normal layui-btn-sm" type="button" shiro:hasPermission="addMember:update" lay-event="registMember">添加会员</button>
<button class="layui-btn layui-btn-normal layui-btn-sm" type="button" shiro:hasPermission="mallSystemPay:update" lay-event="balance">拨付余额</button>
<!-- <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" shiro:hasPermission="mallSystemPay:update" lay-event="score">拨付赠送积分</button>-->
@@ -130,7 +144,7 @@
<!-- 表格操作栏 end -->
<script data-th-inline="none" type="text/javascript">
// 引入组件并初始化
- layui.use([ 'jquery', 'form', 'table', 'febs'], function () {
+ layui.use([ 'jquery', 'form', 'table', 'upload','febs'], function () {
var $ = layui.jquery,
febs = layui.febs,
form = layui.form,
@@ -199,6 +213,18 @@
}
});
+ function outsideWithYes(id) {
+ febs.get(ctx + 'admin/mallMember/outsideWithYes/' + id, null, function () {
+ febs.alert.success('操作成功');
+ $query.click();
+ });
+ }
+ function outsideWithNo(id) {
+ febs.get(ctx + 'admin/mallMember/outsideWithNo/' + id, null, function () {
+ febs.alert.success('操作成功');
+ $query.click();
+ });
+ }
function insideWithYes(id) {
febs.get(ctx + 'admin/mallMember/insideWithYes/' + id, null, function () {
febs.alert.success('操作成功');
@@ -264,11 +290,12 @@
id: 'userTable',
url: ctx + 'admin/mallMember/getMallMemberList',
toolbar:"#tableMemberBar",
- defaultToolbar:[],
+ // defaultToolbar:[],
totalRow: true ,// 开启合计行
cols: [[
{type: 'checkbox'},
- {field: 'phone', title: '账号', minWidth: 150,align:'left',hide:toolbarMallmember},
+ {field: 'accountLogin', title: '登录账户', minWidth: 150,align:'left'},
+ {field: 'phone', title: '手机号码', minWidth: 150,align:'left',hide:toolbarMallmember},
{field: 'name', title: '名称', minWidth: 100,align:'left', totalRowText: '合计:'},
{field: 'inviteId', title: '邀请码', minWidth: 100,align:'left'},
{field: 'balance', title: '余额', minWidth: 100,align:'left',totalRow: '{{= parseInt(d.balance) }}'},
@@ -284,6 +311,7 @@
{field: 'creater', title: '联创', templet:'#switchCreate', minWidth: 120,align:'left' ,hide:toolbarMallmember},
{field: 'partner', title: '合伙人', templet:'#switchPartner', minWidth: 120,align:'left' ,hide:toolbarMallmember},
{field: 'insideWith', title: '是否内转', templet:'#switchInsideWith', minWidth: 120,align:'left' ,hide:toolbarMallmember},
+ {field: 'outsideWith', title: '是否提现', templet:'#switchOutsideWith', minWidth: 120,align:'left' ,hide:toolbarMallmember},
{field: 'accountType', title: '账号类型',
templet: function (d) {
if (d.accountType === 2) {
@@ -313,7 +341,12 @@
var data = obj.data,
layEvent = obj.event;
+ if (layEvent === 'exportMember') {
+ window.location.href = ctx + "admin/mallMember/exportMember";
+ }
+
if (layEvent === 'registMember') {
+
febs.modal.open( '添加会员', 'modules/mallMember/addMember', {
btn: ['提交', '取消'],
yes: function (index, layero) {
@@ -467,6 +500,7 @@
return {
name: $searchForm.find('input[name="name"]').val().trim(),
account: $searchForm.find('input[name="account"]').val().trim(),
+ accountLogin: $searchForm.find('input[name="accountLogin"]').val().trim(),
accountStatus: $searchForm.find("select[name='accountStatus']").val(),
level: $searchForm.find("select[name='level']").val(),
};
@@ -480,6 +514,14 @@
}
})
+ form.on('switch(switchOutsideWith)', function (data) {
+ if (data.elem.checked) {
+ outsideWithYes(data.value);
+ } else {
+ outsideWithNo(data.value);
+ }
+ })
+
form.on('switch(switchStatus)', function (data) {
if (data.elem.checked) {
openAccount(data.value);
diff --git a/src/main/resources/templates/febs/views/modules/mallMember/moneyFlowList.html b/src/main/resources/templates/febs/views/modules/mallMember/moneyFlowList.html
index 1568604..107977e 100644
--- a/src/main/resources/templates/febs/views/modules/mallMember/moneyFlowList.html
+++ b/src/main/resources/templates/febs/views/modules/mallMember/moneyFlowList.html
@@ -8,15 +8,21 @@
<div class="layui-col-md10">
<div class="layui-form-item">
<div class="layui-inline">
+ <label class="layui-form-label">登录账户:</label>
+ <div class="layui-input-inline">
+ <input type="text" placeholder="登录账户" name="accountLogin" autocomplete="off" class="layui-input">
+ </div>
+ </div>
+ <div class="layui-inline">
<label class="layui-form-label">名称:</label>
<div class="layui-input-inline">
<input type="text" placeholder="名称" name="name" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline">
- <label class="layui-form-label">账号:</label>
+ <label class="layui-form-label">手机号码:</label>
<div class="layui-input-inline">
- <input type="text" placeholder="账号" name="phone" autocomplete="off" class="layui-input">
+ <input type="text" placeholder="手机号码" name="phone" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline">
@@ -24,6 +30,7 @@
<div class="layui-input-inline">
<select name="type">
<option value="">请选择</option>
+ <option value="1">静态收益</option>
<option value="2">直推奖</option>
<option value="8">提现</option>
<option value="9">转账</option>
@@ -123,8 +130,9 @@
id: 'moneyFlowTable',
url: ctx + 'admin/mallMember/getMoneyFlowList',
cols: [[
+ {field: 'accountLogin', title: '登录账户', minWidth: 100,align:'left'},
{field: 'name', title: '名称', minWidth: 100,align:'left'},
- {field: 'phone', title: '账号', minWidth: 150,align:'left'},
+ {field: 'phone', title: '手机号码', minWidth: 150,align:'left'},
{field: 'amount', title: '金额', minWidth: 150,align:'left'},
{field: 'fromMemberName', title: '来自', minWidth: 150,align:'left'},
{field: 'type', title: '流水类型',
@@ -216,6 +224,7 @@
function getQueryParams() {
return {
name: $searchForm.find('input[name="name"]').val().trim(),
+ accountLogin: $searchForm.find('input[name="accountLogin"]').val().trim(),
phone: $searchForm.find('input[name="phone"]').val().trim(),
type: $searchForm.find("select[name='type']").val(),
flowType: $searchForm.find("select[name='flowType']").val(),
diff --git a/src/main/resources/templates/febs/views/modules/mallMember/scoreAchieveReleaseList.html b/src/main/resources/templates/febs/views/modules/mallMember/scoreAchieveReleaseList.html
index b5879eb..1885e7c 100644
--- a/src/main/resources/templates/febs/views/modules/mallMember/scoreAchieveReleaseList.html
+++ b/src/main/resources/templates/febs/views/modules/mallMember/scoreAchieveReleaseList.html
@@ -30,7 +30,8 @@
totalRow: true ,// 开启合计行
cols: [[
{field: 'name', title: '名称', minWidth: 150,align:'center', totalRowText: '合计:'},
- {field: 'phone', title: '电话', minWidth: 150,align:'center'},
+ {field: 'accountLogin', title: '登录账户', minWidth: 150,align:'center'},
+ {field: 'phone', title: '手机号码', minWidth: 150,align:'center'},
{field: 'createdTime', title: '释放时间', minWidth: 150,align:'center'},
{field: 'type', title: '类型',
templet: function (d) {
diff --git a/src/main/resources/templates/febs/views/modules/order/orderList.html b/src/main/resources/templates/febs/views/modules/order/orderList.html
index 1b57287..f371842 100644
--- a/src/main/resources/templates/febs/views/modules/order/orderList.html
+++ b/src/main/resources/templates/febs/views/modules/order/orderList.html
@@ -7,6 +7,12 @@
<div class="layui-form-item">
<div class="layui-col-md10">
<div class="layui-inline">
+ <label class="layui-form-label">登录账户:</label>
+ <div class="layui-input-inline">
+ <input type="text" placeholder="登录账户" name="accountLogin" autocomplete="off" class="layui-input">
+ </div>
+ </div>
+ <div class="layui-inline">
<label class="layui-form-label">购买人:</label>
<div class="layui-input-inline">
<input type="text" placeholder="购买人" name="name" autocomplete="off" class="layui-input">
@@ -121,6 +127,7 @@
<button class="layui-btn layui-btn-sm layui-btn-primary febs-button-blue-plain" shiro:hasPermission="orderDetail:view" id="importDeliver" lay-event="importDeliver">导入发货</button>
<button class="layui-btn layui-btn-sm layui-btn-primary febs-button-blue-plain" shiro:hasPermission="orderDetail:view" lay-event="exportDeliverDone">导出已发货订单</button>
<button id="printSelect" type="button" class="layui-btn layui-btn-sm layui-btn-primary febs-button-blue-plain" shiro:hasPermission="orderDetail:view">自定义打印</button>
+ <button class="layui-btn layui-btn-sm layui-btn-primary febs-button-blue-plain" shiro:hasPermission="orderDetail:view" lay-event="exportDeliverAll">导出全部订单</button>
</div>
</script>
<!-- 表格操作栏 end -->
@@ -165,6 +172,10 @@
if (event == 'exportDeliver') {
window.location.href = ctx + "admin/order/exportOrderList?orderType=1&status=2";
+ }
+
+ if (event == 'exportDeliverAll') {
+ window.location.href = ctx + "admin/order/exportOrderListAll?orderType=1&status=0";
}
if (event == 'exportDeliverDone') {
@@ -287,9 +298,10 @@
cols: [[
{type: 'checkbox',fixed: 'left'},
{field: 'orderNo', title: '订单编号', minWidth: 120,align:'left', totalRowText: '合计:'},
+ {field: 'accountLogin', title: '登录账户', minWidth: 120,align:'left'},
{field: 'memberName', title: '购买人', minWidth: 120,align:'left'},
- {field: 'memberPhone', title: '账号', minWidth: 120,align:'left'},
- {field: 'memberBindPhone', title: '联系方式', minWidth: 120,align:'left'},
+ {field: 'memberPhone', title: '手机号码', minWidth: 120,align:'left'},
+ // {field: 'memberBindPhone', title: '联系方式', minWidth: 120,align:'left'},
{field: 'goodsName', title: '商品信息', minWidth: 200,align:'left'},
{field: 'remark', title: '备注', minWidth: 200,align:'left'},
{field: 'amount', title: '订单金额', minWidth: 120,align:'left',totalRow: '{{= parseInt(d.amount) }}'},
@@ -366,6 +378,7 @@
return {
startTime: $searchForm.find('input[name="startTime"]').val().trim(),
endTime: $searchForm.find('input[name="endTime"]').val().trim(),
+ accountLogin: $searchForm.find('input[name="accountLogin"]').val().trim(),
name: $searchForm.find('input[name="name"]').val().trim(),
orderNo: $searchForm.find('input[name="orderNo"]').val().trim(),
goodsName: $searchForm.find('input[name="goodsName"]').val().trim(),
diff --git a/src/main/resources/templates/febs/views/modules/system/hlmBasicPerk.html b/src/main/resources/templates/febs/views/modules/system/hlmBasicPerk.html
index bad857b..78664ca 100644
--- a/src/main/resources/templates/febs/views/modules/system/hlmBasicPerk.html
+++ b/src/main/resources/templates/febs/views/modules/system/hlmBasicPerk.html
@@ -40,6 +40,23 @@
</div>
</div>
</div>
+ <div class="layui-card-body">
+ <blockquote class="layui-elem-quote blue-border">星级每日补贴</blockquote>
+ <div class="layui-row layui-col-space10 layui-form-item">
+ <label class="layui-form-label febs-form-item-require">补贴总额:</label>
+ <div class="layui-input-block">
+ <input type="text" name="perkAgentAchieveTotal" lay-verify="required" placeholder="请输入数字" autocomplete="off" class="layui-input" >
+ <div class="layui-word-aux">例:15000</div>
+ </div>
+ </div>
+ <div class="layui-form-item">
+ <label class="layui-form-label febs-form-item-require">补贴百分比:</label>
+ <div class="layui-input-block">
+ <input type="text" name="perkAgentAchievePercent" lay-verify="required" placeholder="请输入数字" autocomplete="off" class="layui-input" >
+ <div class="layui-word-aux">例:15%,填写15</div>
+ </div>
+ </div>
+ </div>
<div class="layui-card-footer">
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="hlm-basic-perk-submit" id="submit">保存</button>
@@ -82,6 +99,8 @@
function initHlmBasicPerkValue() {
form.val("hlm-basic-perk-form", {
+ "perkAgentAchieveTotal": hlmBasicPerk.perkAgentAchieveTotal,
+ "perkAgentAchievePercent": hlmBasicPerk.perkAgentAchievePercent,
"sharePerk": hlmBasicPerk.sharePerk,
"teamPerk": hlmBasicPerk.teamPerk,
"teamEqualsPerk": hlmBasicPerk.teamEqualsPerk,
diff --git a/src/test/java/cc/mrbird/febs/ProfitTest.java b/src/test/java/cc/mrbird/febs/ProfitTest.java
index 53af054..5040508 100644
--- a/src/test/java/cc/mrbird/febs/ProfitTest.java
+++ b/src/test/java/cc/mrbird/febs/ProfitTest.java
@@ -37,6 +37,8 @@
@SpringBootTest
public class ProfitTest {
+ @Autowired
+ private IAgentService agentService;
// @Autowired
// private AgentConsumer agentConsumer;
//
@@ -92,6 +94,7 @@
private NBYHService nbyhService;
@Autowired
private IAdminMallMemberService mallMemberService;
+
@Test
public void agentProfitTrade() {
// try {
@@ -102,10 +105,12 @@
// nbyhService.tradeSinge(306L);
// nbyhService.tradeSingeOuterTransfer(306L);
// nbyhService.accountInfoQuery(306L);
-// nbyhService.transferResultInfoQuery(306L);
+// nbyhService.transferResultInfoQuery(315L);
// mallMemberService.chargeAgree(307L);
// mallMemberService.searchInfo(307L);
+
+ agentService.perkAgent();
}
@Test
public void agentProfit() {
--
Gitblit v1.9.1