Upd:日报表KPI修改BD团队数量统计,由统计原领队商户量,更改为统计团队商户量

master
duLingLing 5 years ago
parent 210868316f
commit c40c0425c4

@ -3,6 +3,7 @@ package au.com.royalpay.payment.manage.analysis.core.impls;
import au.com.royalpay.payment.manage.analysis.core.DailyReport; import au.com.royalpay.payment.manage.analysis.core.DailyReport;
import au.com.royalpay.payment.manage.mappers.cashback.CashbackRecordsMapper; import au.com.royalpay.payment.manage.mappers.cashback.CashbackRecordsMapper;
import au.com.royalpay.payment.manage.mappers.financial.FinancialBDCommissionConfigMapper; import au.com.royalpay.payment.manage.mappers.financial.FinancialBDCommissionConfigMapper;
import au.com.royalpay.payment.manage.mappers.financial.FinancialBDConfigMapper;
import au.com.royalpay.payment.manage.mappers.financial.FinancialBDPrizeLogMapper; import au.com.royalpay.payment.manage.mappers.financial.FinancialBDPrizeLogMapper;
import au.com.royalpay.payment.manage.mappers.log.ClearingLogMapper; import au.com.royalpay.payment.manage.mappers.log.ClearingLogMapper;
import au.com.royalpay.payment.manage.mappers.log.DailyReportMapper; import au.com.royalpay.payment.manage.mappers.log.DailyReportMapper;
@ -10,7 +11,6 @@ import au.com.royalpay.payment.manage.mappers.payment.TransactionMapper;
import au.com.royalpay.payment.manage.mappers.redpack.ActPartnerLMLogMapper; import au.com.royalpay.payment.manage.mappers.redpack.ActPartnerLMLogMapper;
import au.com.royalpay.payment.manage.mappers.system.ClientMapper; import au.com.royalpay.payment.manage.mappers.system.ClientMapper;
import au.com.royalpay.payment.manage.mappers.system.ManagerMapper; import au.com.royalpay.payment.manage.mappers.system.ManagerMapper;
import au.com.royalpay.payment.tools.permission.enums.ManagerRole;
import au.com.royalpay.payment.tools.connections.mpsupport.MpWechatApi; import au.com.royalpay.payment.tools.connections.mpsupport.MpWechatApi;
import au.com.royalpay.payment.tools.connections.mpsupport.MpWechatApiProvider; import au.com.royalpay.payment.tools.connections.mpsupport.MpWechatApiProvider;
import au.com.royalpay.payment.tools.connections.mpsupport.beans.TemplateMessage; import au.com.royalpay.payment.tools.connections.mpsupport.beans.TemplateMessage;
@ -18,6 +18,7 @@ import au.com.royalpay.payment.tools.env.PlatformEnvironment;
import au.com.royalpay.payment.tools.exceptions.BadRequestException; import au.com.royalpay.payment.tools.exceptions.BadRequestException;
import au.com.royalpay.payment.tools.exceptions.ForbiddenException; import au.com.royalpay.payment.tools.exceptions.ForbiddenException;
import au.com.royalpay.payment.tools.exceptions.NotFoundException; import au.com.royalpay.payment.tools.exceptions.NotFoundException;
import au.com.royalpay.payment.tools.permission.enums.ManagerRole;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import org.apache.commons.lang3.time.DateFormatUtils; import org.apache.commons.lang3.time.DateFormatUtils;
@ -31,7 +32,10 @@ import java.math.BigDecimal;
import java.text.DecimalFormat; import java.text.DecimalFormat;
import java.text.NumberFormat; import java.text.NumberFormat;
import java.text.ParseException; import java.text.ParseException;
import java.util.*; import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
/** /**
* Created by yishuqian on 16/11/2017. * Created by yishuqian on 16/11/2017.
@ -59,7 +63,8 @@ public class DailyReportImp implements DailyReport {
private Logger logger = LoggerFactory.getLogger(getClass()); private Logger logger = LoggerFactory.getLogger(getClass());
@Resource @Resource
private TransactionMapper transactionMapper; private TransactionMapper transactionMapper;
@Resource
private FinancialBDConfigMapper financialBDConfigMapper;
@Override @Override
public void generateReport(String date, boolean sendMsg) { public void generateReport(String date, boolean sendMsg) {
@ -134,20 +139,22 @@ public class DailyReportImp implements DailyReport {
kpi.put("kpi_percent", p.getBigDecimal("month_amount").divide(kpi_amount, 4, BigDecimal.ROUND_HALF_DOWN).multiply(BigDecimal.valueOf(100)).toString().substring(0, 5) + "%"); kpi.put("kpi_percent", p.getBigDecimal("month_amount").divide(kpi_amount, 4, BigDecimal.ROUND_HALF_DOWN).multiply(BigDecimal.valueOf(100)).toString().substring(0, 5) + "%");
for (JSONObject clientAmount : clientsAmount) { for (JSONObject clientAmount : clientsAmount) {
if (clientAmount.getString("bd_group").equals(kpi.getString("bd_group"))) { if (clientAmount.getString("bd_group").equals(kpi.getString("bd_group"))) {
//查询该领队下所有BD
List<JSONObject> teamBDs = financialBDConfigMapper.listGroupBds(kpi.getString("bd_group"));
int bdMonthClientCount = 0;
int bdYesterdayClientCount = 0;
for (int i = 0; i < teamBDs.size(); i++) {
// sys_clients中查询出此bd创建并属于此bd的商户并且时间是昨天和本月 // sys_clients中查询出此bd创建并属于此bd的商户并且时间是昨天和本月
JSONObject countByBd = clientMapper.findCountByBd(clientAmount.getString("bd_group"), DateUtils.truncate(DateUtils.addDays(dt, 1), Calendar.DATE), DateUtils.truncate(dt, Calendar.DATE), DateUtils.truncate(dt, Calendar.MONTH)); JSONObject countByBd = clientMapper.findCountByBd(teamBDs.get(i).getString("manager_id"), DateUtils.truncate(DateUtils.addDays(dt, 1), Calendar.DATE), DateUtils.truncate(dt, Calendar.DATE), DateUtils.truncate(dt, Calendar.MONTH));
if (countByBd.getInteger("month_count") == null){ if (countByBd.getInteger("month_count") != null) {
kpi.put("clients_month", 0); bdMonthClientCount += countByBd.getInteger("month_count");
}else {
kpi.put("clients_month", countByBd.getInteger("month_count"));
} }
if (countByBd.getInteger("yesterday_count") == null){ if (countByBd.getInteger("yesterday_count") != null) {
kpi.put("clients_yesterday", 0); bdYesterdayClientCount += countByBd.getInteger("yesterday_count");
}else {
kpi.put("clients_yesterday", countByBd.getInteger("yesterday_count"));
} }
// kpi.put("clients_month", clientAmount.getBigDecimal("clients_month")); }
// kpi.put("clients_yesterday", clientAmount.getBigDecimal("clients_yesterday")); kpi.put("clients_month", bdMonthClientCount);
kpi.put("clients_yesterday", bdYesterdayClientCount);
} }
} }
total_kpi_amount = total_kpi_amount.add(kpi_amount); total_kpi_amount = total_kpi_amount.add(kpi_amount);
@ -364,7 +371,6 @@ public class DailyReportImp implements DailyReport {
} }
@Override @Override
public JSONObject getReport(String reportId, String openid) { public JSONObject getReport(String reportId, String openid) {
JSONObject manager = managerMapper.findByWxOpenId(openid); JSONObject manager = managerMapper.findByWxOpenId(openid);
@ -382,6 +388,7 @@ public class DailyReportImp implements DailyReport {
report.put("report_date", report.getDate("report_date")); report.put("report_date", report.getDate("report_date"));
return report; return report;
} }
private void publishMessages(List<JSONObject> users, String reportId, String range) { private void publishMessages(List<JSONObject> users, String reportId, String range) {
ArrayList<String> clean_users = new ArrayList<>(); ArrayList<String> clean_users = new ArrayList<>();
String url = PlatformEnvironment.getEnv().concatUrl("/analysis/daily_reports/" + reportId); String url = PlatformEnvironment.getEnv().concatUrl("/analysis/daily_reports/" + reportId);

Loading…
Cancel
Save