|
@@ -89,7 +89,7 @@ public class KuaishouItemCollectSamplesServiceImpl implements IKuaishouItemColle
|
|
|
for (KuaishouItemCollectSamples samples : kuaishouItemCollectSamples) {
|
|
|
Long promoterId = samples.getPromoterId();
|
|
|
JSONObject jsonObject = dataMap.get(promoterId);
|
|
|
- if(!Check.isNull(jsonObject)){
|
|
|
+ if (!Check.isNull(jsonObject)) {
|
|
|
samples.setValidAmount(jsonObject.getLong("validAmount"));
|
|
|
samples.setValidOrderNum(jsonObject.getLong("validOrderNum"));
|
|
|
}
|
|
@@ -348,7 +348,15 @@ public class KuaishouItemCollectSamplesServiceImpl implements IKuaishouItemColle
|
|
|
|
|
|
|
|
|
@Override
|
|
|
- public JSONObject getPersonalInfo(Long userId) {
|
|
|
+ public JSONObject getPersonalInfo(Long userId, String type) {
|
|
|
+ Long collectSampleId = null;
|
|
|
+ Long itemCreateId = null;
|
|
|
+ if ("1".equals(type)) {
|
|
|
+ collectSampleId = userId;
|
|
|
+ } else {
|
|
|
+ itemCreateId = userId;
|
|
|
+ }
|
|
|
+
|
|
|
JSONObject returnJson = new JSONObject();
|
|
|
JSONObject data = new JSONObject();
|
|
|
SysUser sysUser = userService.selectUserById(userId);
|
|
@@ -356,11 +364,11 @@ public class KuaishouItemCollectSamplesServiceImpl implements IKuaishouItemColle
|
|
|
data.put("userName", sysUser.getNickName());
|
|
|
}
|
|
|
Integer status = 1; //待审核领样数
|
|
|
- data.put("toBeReviewed", kuaishouItemCollectSamplesMapper.getSampleCountByUserId(userId, status));
|
|
|
+ data.put("toBeReviewed", kuaishouItemCollectSamplesMapper.getSampleCountByUserId(collectSampleId, itemCreateId, status));
|
|
|
status = 3;//待发货领样数
|
|
|
- data.put("toBeShipped", kuaishouItemCollectSamplesMapper.getSampleCountByUserId(userId, status));
|
|
|
+ data.put("toBeShipped", kuaishouItemCollectSamplesMapper.getSampleCountByUserId(collectSampleId, itemCreateId, status));
|
|
|
status = 5;//待上传作业数
|
|
|
- data.put("toBeUploaded", kuaishouItemCollectSamplesMapper.getSampleCountByUserId(userId, status));
|
|
|
+ data.put("toBeUploaded", kuaishouItemCollectSamplesMapper.getSampleCountByUserId(collectSampleId, itemCreateId, status));
|
|
|
returnJson.put("code", 0);
|
|
|
returnJson.put("message", "调用成功");
|
|
|
returnJson.put("data", data);
|
|
@@ -368,16 +376,31 @@ public class KuaishouItemCollectSamplesServiceImpl implements IKuaishouItemColle
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public JSONObject getOrderData(Long userId, String statDate) {
|
|
|
+ public JSONObject getOrderData(Long userId, String startDate, String endDate, String type) {
|
|
|
JSONObject returnJson = new JSONObject();
|
|
|
+ returnJson.put("code", 0);
|
|
|
+ returnJson.put("message", "调用成功");
|
|
|
+ if ("1".equals(type)) {
|
|
|
+ returnJson.put("data", getgetOrderDataByChannel(userId, startDate, endDate));
|
|
|
+ } else {
|
|
|
+ returnJson.put("data", getgetOrderDataByAttractInvestment(userId, startDate, endDate));
|
|
|
+ }
|
|
|
+ return returnJson;
|
|
|
+ }
|
|
|
+
|
|
|
+ //渠道数据
|
|
|
+ private JSONObject getgetOrderDataByChannel(Long userId, String startDate, String endDate) {
|
|
|
+ long startTime = System.currentTimeMillis();
|
|
|
JSONObject data = new JSONObject();
|
|
|
List<Long> promoterIds = promoterService.selectPromoterIdList(userId);
|
|
|
+ System.out.println("用时:"+(System.currentTimeMillis()-startTime)/1000 +"s");
|
|
|
if (Check.isNotNull(promoterIds)) {
|
|
|
data.put("promoterCount", promoterIds.size());//达人总数
|
|
|
- JSONObject Sample = kuaishouItemCollectSamplesMapper.queryTheNumberOfCompletedJobs(promoterIds, statDate);
|
|
|
+ JSONObject Sample = kuaishouItemCollectSamplesMapper.queryTheNumberOfCompletedJobs(promoterIds, startDate, endDate);
|
|
|
+ System.out.println("用时:"+(System.currentTimeMillis()-startTime)/1000 +"s");
|
|
|
data.put("completeCount", Sample.getInteger("completeCount"));//完成作业数
|
|
|
data.put("completeRate", Sample.getString("completeRate"));//合格作业率
|
|
|
- JSONObject order = supplyChainService.selectOrderInfo(promoterIds, statDate);
|
|
|
+ JSONObject order = supplyChainService.selectOrderInfo(promoterIds, startDate, endDate);
|
|
|
data.put("allNumber", order.getInteger("allNumber"));//订单总数
|
|
|
data.put("validOrderNUm", order.getInteger("validOrderNUm"));//有效订单数
|
|
|
data.put("inValidOrderNUm", order.getInteger("allNumber") - order.getInteger("validOrderNUm"));//失效订单数
|
|
@@ -397,27 +420,83 @@ public class KuaishouItemCollectSamplesServiceImpl implements IKuaishouItemColle
|
|
|
String LastStart = DateUtils.getSubtractTime(date, 13);
|
|
|
|
|
|
//日环比
|
|
|
- JSONObject dateOrderRate = supplyChainService.selectOrderRate(promoterIds, today, today, yesterday, yesterday);
|
|
|
+ JSONObject dateOrderRate = supplyChainService.selectOrderRate(promoterIds, null, today, today, yesterday, yesterday);
|
|
|
data.put("dateOrderRate", dateOrderRate.getString("orderRate"));
|
|
|
data.put("dateAmountRate", dateOrderRate.getString("amountRate"));
|
|
|
//周同比
|
|
|
- JSONObject monthOrderRate = supplyChainService.selectOrderRate(promoterIds, today, today, todayOfLastWeek, todayOfLastWeek);
|
|
|
+ JSONObject monthOrderRate = supplyChainService.selectOrderRate(promoterIds, null, today, today, todayOfLastWeek, todayOfLastWeek);
|
|
|
data.put("monthOrderRate", monthOrderRate.getString("orderRate"));
|
|
|
data.put("monthAmountRate", monthOrderRate.getString("amountRate"));
|
|
|
//数据对比
|
|
|
- JSONObject dataOrderRate = supplyChainService.selectOrderRate(promoterIds, start, today, LastStart, todayOfLastWeek);
|
|
|
+ JSONObject dataOrderRate = supplyChainService.selectOrderRate(promoterIds, null, start, today, LastStart, todayOfLastWeek);
|
|
|
data.put("dataOrderRate", dataOrderRate.getString("orderRate"));
|
|
|
data.put("dataAmountRate", dataOrderRate.getString("amountRate"));
|
|
|
}
|
|
|
+ return data;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ //招商数据
|
|
|
+ private JSONObject getgetOrderDataByAttractInvestment(Long userId, String startDate, String endDate) {
|
|
|
+ JSONObject data = new JSONObject();
|
|
|
+ List<Long> promoterIds = promoterService.selectPromoterIdList(null);
|
|
|
+ if (Check.isNotNull(promoterIds)) {
|
|
|
+ data.put("promoterCount", promoterIds.size());//达人总数
|
|
|
+ }
|
|
|
+ //查询登录人(创建人)的所有商品
|
|
|
+ List<Long> itemIds = kuaishouItemCollectSamplesMapper.getItemIdsByCreateId(userId);
|
|
|
+ JSONObject order = supplyChainService.selectOrderInfoByItemIds(itemIds, startDate, endDate);
|
|
|
+ data.put("sendCount", order.getInteger("sendCount"));//发货数
|
|
|
+ data.put("sendRate", order.getString("sendRate"));//订单发货率
|
|
|
+ data.put("allNumber", order.getInteger("allNumber"));//订单总数
|
|
|
+ data.put("validOrderNUm", order.getInteger("validOrderNUm"));//有效订单数
|
|
|
+ data.put("inValidOrderNUm", order.getInteger("allNumber") - order.getInteger("validOrderNUm"));//失效订单数
|
|
|
+ data.put("orderAmount", order.getInteger("orderAmount"));//订单金额
|
|
|
+ data.put("regimentalPromotionAmount", order.getInteger("regimentalPromotionAmount"));//预估服务费
|
|
|
+ data.put("baseAmount", order.getInteger("baseAmount"));//累计货贷基数
|
|
|
+ //当天
|
|
|
+ String today = DateUtils.getNowDateStr();
|
|
|
+ Date date = new Date();
|
|
|
+ //昨天
|
|
|
+ String yesterday = DateUtils.getSubtractTime(date, 1);
|
|
|
+ //上周的同一天(上个近七天的结束日期)
|
|
|
+ String todayOfLastWeek = DateUtils.getSubtractTime(date, 7);
|
|
|
+ //当前近七天的开始日期
|
|
|
+ String start = DateUtils.getSubtractTime(date, 6);
|
|
|
+ //上个近七天的开始日期
|
|
|
+ String LastStart = DateUtils.getSubtractTime(date, 13);
|
|
|
+
|
|
|
+ //日环比
|
|
|
+ JSONObject dateOrderRate = supplyChainService.selectOrderRate(null, itemIds, today, today, yesterday, yesterday);
|
|
|
+ data.put("dateOrderRate", dateOrderRate.getString("orderRate"));
|
|
|
+ data.put("dateAmountRate", dateOrderRate.getString("amountRate"));
|
|
|
+ //周同比
|
|
|
+ JSONObject monthOrderRate = supplyChainService.selectOrderRate(null, itemIds, today, today, todayOfLastWeek, todayOfLastWeek);
|
|
|
+ data.put("monthOrderRate", monthOrderRate.getString("orderRate"));
|
|
|
+ data.put("monthAmountRate", monthOrderRate.getString("amountRate"));
|
|
|
+ //数据对比
|
|
|
+ JSONObject dataOrderRate = supplyChainService.selectOrderRate(null, itemIds, start, today, LastStart, todayOfLastWeek);
|
|
|
+ data.put("dataOrderRate", dataOrderRate.getString("orderRate"));
|
|
|
+ data.put("dataAmountRate", dataOrderRate.getString("amountRate"));
|
|
|
+
|
|
|
+ return data;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public JSONObject getDataAnalysis(Long userId, String type) {
|
|
|
+ JSONObject returnJson = new JSONObject();
|
|
|
returnJson.put("code", 0);
|
|
|
returnJson.put("message", "调用成功");
|
|
|
- returnJson.put("data", data);
|
|
|
+ if ("1".equals(type)) {
|
|
|
+ returnJson.put("data", getDataAnalysisByChannel(userId));
|
|
|
+ } else {
|
|
|
+ returnJson.put("data", getDataAnalysisByAttractInvestment(userId));
|
|
|
+ }
|
|
|
return returnJson;
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
- public JSONObject getDataAnalysis(Long userId) {
|
|
|
- JSONObject returnJson = new JSONObject();
|
|
|
+ // 渠道—数据分析
|
|
|
+ private JSONObject getDataAnalysisByChannel(Long userId) {
|
|
|
JSONObject data = new JSONObject();
|
|
|
List<Long> promoterIds = promoterService.selectPromoterIdList(userId);
|
|
|
if (Check.isNotNull(promoterIds)) {
|
|
@@ -461,12 +540,54 @@ public class KuaishouItemCollectSamplesServiceImpl implements IKuaishouItemColle
|
|
|
data.put("promoterRate", promoter.getString("rate"));
|
|
|
}
|
|
|
}
|
|
|
- returnJson.put("code", 0);
|
|
|
- returnJson.put("message", "调用成功");
|
|
|
- returnJson.put("data", data);
|
|
|
- return returnJson;
|
|
|
+ return data;
|
|
|
}
|
|
|
|
|
|
+ // 招商—数据分析
|
|
|
+ private JSONObject getDataAnalysisByAttractInvestment(Long userId) {
|
|
|
+ JSONObject data = new JSONObject();
|
|
|
+ //查询登录人(创建人)的所有商品
|
|
|
+ List<Long> itemIds = kuaishouItemCollectSamplesMapper.getItemIdsByCreateId(userId);
|
|
|
+ if (Check.isNotNull(itemIds)) {
|
|
|
+ //当天
|
|
|
+ String end = DateUtils.getNowDateStr();
|
|
|
+ //当前月份第一天
|
|
|
+ String start = DateUtils.getFirstDayByMonth();
|
|
|
+ List<JSONObject> list = supplyChainService.getMonthOrderAmountByItems(itemIds, start, end);
|
|
|
+ List<String> allDates = DateUtils.getAllDatesOfTwoTimes(start, end);
|
|
|
+ if (Check.isNull(list) || list.size() != allDates.size()) {
|
|
|
+ String orderAmountStr = JSONObject.toJSONString(list);
|
|
|
+ for (String date : allDates) {
|
|
|
+ if (!orderAmountStr.contains(date)) {
|
|
|
+ JSONObject obj = new JSONObject();
|
|
|
+ obj.put("date", date);
|
|
|
+ obj.put("orderAmount", 0);
|
|
|
+ obj.put("totalRegimentalSettleAmount", 0);
|
|
|
+ obj.put("orderCount", 0);
|
|
|
+ list.add(obj);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //排序
|
|
|
+ Collections.sort(list, new Comparator<JSONObject>() {
|
|
|
+ @Override
|
|
|
+ public int compare(JSONObject o1, JSONObject o2) {
|
|
|
+ return o1.getString("date").compareTo(o2.getString("date"));
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ data.put("list", list);
|
|
|
+ JSONObject amount = supplyChainService.getMonthOrderAmountTotalByItems(itemIds, start, end);
|
|
|
+ if (Check.isNotNull(amount)) {
|
|
|
+ data.put("orderAmount", amount.getInteger("orderAmount"));
|
|
|
+ data.put("totalRegimentalSettleAmount", amount.getInteger("totalRegimentalSettleAmount"));
|
|
|
+ data.put("orderAmountRate", amount.getString("orderAmountRate"));
|
|
|
+ data.put("totalRegimentalSettleAmountRate", amount.getString("totalRegimentalSettleAmountRate"));
|
|
|
+ data.put("orderCount", amount.getString("orderCount"));
|
|
|
+ data.put("orderCountRate", amount.getString("orderCountRate"));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return data;
|
|
|
+ }
|
|
|
|
|
|
}
|
|
|
|