|
@@ -261,6 +261,21 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
@Value("${oldOrder.updateRemark}")
|
|
|
private String UPDATE_REMARK;
|
|
|
|
|
|
+ @Value("${shared.statistics}")
|
|
|
+ private String SHARED_STATISTICS;
|
|
|
+
|
|
|
+ @Value("${shared.customer}")
|
|
|
+ private String SHARED_CUSTOMER;
|
|
|
+
|
|
|
+ @Value("${shared.cert}")
|
|
|
+ private String SHARED_CERT;
|
|
|
+
|
|
|
+ @Value("${shared.orderArea}")
|
|
|
+ private String SHARED_ORDER_AREA;
|
|
|
+
|
|
|
+ @Value("${shared.rateData}")
|
|
|
+ private String SHARED_RATE_DATA;
|
|
|
+
|
|
|
|
|
|
@Override
|
|
|
public TopOldOrderVo queryById(String orderSn) {
|
|
@@ -2161,14 +2176,12 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
return;
|
|
|
}
|
|
|
//环比
|
|
|
- item.setWeekRate("100%");
|
|
|
Long startTime = bo.getStartTime();
|
|
|
Long endTime = bo.getEndTime();
|
|
|
Long time = endTime - startTime;
|
|
|
TopOrderStatisticsBo topOrderStatisticsBo = new TopOrderStatisticsBo();
|
|
|
topOrderStatisticsBo.setStartTime(startTime - time);
|
|
|
topOrderStatisticsBo.setEndTime(startTime);
|
|
|
-
|
|
|
topOrderStatisticsBo.setCustomerId(item.getCustomerId());
|
|
|
List<TopOrderStatisticsMoneyVo> moneyStatistics = baseMapper.getMoneyStatistics(topOrderStatisticsBo);
|
|
|
if (CollectionUtils.isNotEmpty(moneyStatistics)){
|
|
@@ -2176,12 +2189,10 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
if (money.compareTo(BigDecimal.ZERO) > 0){
|
|
|
BigDecimal subtract = item.getMoney().subtract(money);
|
|
|
BigDecimal divide = subtract.divide(money,2, RoundingMode.HALF_UP);
|
|
|
- String s = divide.multiply(new BigDecimal("100")).toString();
|
|
|
- item.setWeekRate(s+"%");
|
|
|
+ item.setWeekRate(divide.multiply(new BigDecimal("100")));
|
|
|
}
|
|
|
}
|
|
|
//同比
|
|
|
- item.setYearRate("100%");
|
|
|
Long startBefore = DateUtils.getDayBefore(bo.getStartTime(), 365);
|
|
|
Long endBefore = DateUtils.getDayBefore(bo.getEndTime(), 365);
|
|
|
topOrderStatisticsBo.setStartTime(startBefore);
|
|
@@ -2192,8 +2203,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
if (money.compareTo(BigDecimal.ZERO) > 0){
|
|
|
BigDecimal subtract = item.getMoney().subtract(money);
|
|
|
BigDecimal divide = subtract.divide(money,2, RoundingMode.HALF_UP);
|
|
|
- String s = divide.multiply(new BigDecimal("100")).toString();
|
|
|
- item.setYearRate(s+"%");
|
|
|
+ item.setYearRate(divide.multiply(new BigDecimal("100")));
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -2247,14 +2257,12 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
return;
|
|
|
}
|
|
|
//环比
|
|
|
- item.setWeekRate("100%");
|
|
|
Long startTime = bo.getStartTime();
|
|
|
Long endTime = bo.getEndTime();
|
|
|
Long time = endTime - startTime;
|
|
|
TopOrderStatisticsBo topOrderStatisticsBo = new TopOrderStatisticsBo();
|
|
|
topOrderStatisticsBo.setStartTime(startTime - time);
|
|
|
topOrderStatisticsBo.setEndTime(startTime);
|
|
|
-
|
|
|
topOrderStatisticsBo.setCustomerId(item.getCustomerId());
|
|
|
List<TopOrderStatisticsNumVo> numStatistics = baseMapper.getNumStatistics(topOrderStatisticsBo);
|
|
|
if (CollectionUtils.isNotEmpty(numStatistics)){
|
|
@@ -2262,12 +2270,10 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
if (num > 0){
|
|
|
Long subtract = item.getOrderNum() - num;
|
|
|
BigDecimal divide = new BigDecimal(subtract).divide(new BigDecimal(num),2, RoundingMode.HALF_UP);
|
|
|
- String s = divide.multiply(new BigDecimal("100")).toString();
|
|
|
- item.setWeekRate(s+"%");
|
|
|
+ item.setWeekRate(divide.multiply(new BigDecimal("100")));
|
|
|
}
|
|
|
}
|
|
|
//同比
|
|
|
- item.setYearRate("100%");
|
|
|
Long startBefore = DateUtils.getDayBefore(bo.getStartTime(), 365);
|
|
|
Long endBefore = DateUtils.getDayBefore(bo.getEndTime(), 365);
|
|
|
topOrderStatisticsBo.setStartTime(startBefore);
|
|
@@ -2278,8 +2284,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
if (num > 0){
|
|
|
Long subtract = item.getOrderNum() - num;
|
|
|
BigDecimal divide = new BigDecimal(subtract).divide(new BigDecimal(num),2, RoundingMode.HALF_UP);
|
|
|
- String s = divide.multiply(new BigDecimal("100")).toString();
|
|
|
- item.setYearRate(s+"%");
|
|
|
+ item.setYearRate(divide.multiply(new BigDecimal("100")));
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -2333,7 +2338,6 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
return;
|
|
|
}
|
|
|
//环比
|
|
|
- item.setWeekRate("100");
|
|
|
Long startTime = bo.getStartTime();
|
|
|
Long endTime = bo.getEndTime();
|
|
|
Long time = endTime - startTime;
|
|
@@ -2346,12 +2350,10 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
if (money.compareTo(BigDecimal.ZERO) > 0){
|
|
|
BigDecimal subtract = item.getMoney().subtract(money);
|
|
|
BigDecimal divide = subtract.divide(money,2, RoundingMode.HALF_UP);
|
|
|
- String s = divide.multiply(new BigDecimal("100")).toString();
|
|
|
- item.setWeekRate(s);
|
|
|
+ item.setWeekRate(divide.multiply(new BigDecimal("100")));
|
|
|
}
|
|
|
|
|
|
//同比
|
|
|
- item.setYearRate("100");
|
|
|
Long startBefore = DateUtils.getDayBefore(bo.getStartTime(), 365);
|
|
|
Long endBefore = DateUtils.getDayBefore(bo.getEndTime(), 365);
|
|
|
topOrderStatisticsBo.setStartTime(startBefore);
|
|
@@ -2362,8 +2364,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
if (money2.compareTo(BigDecimal.ZERO) > 0){
|
|
|
BigDecimal subtract = item.getMoney().subtract(money2);
|
|
|
BigDecimal divide = subtract.divide(money2,2, RoundingMode.HALF_UP);
|
|
|
- String s = divide.multiply(new BigDecimal("100")).toString();
|
|
|
- item.setYearRate(s);
|
|
|
+ item.setYearRate(divide.multiply(new BigDecimal("100")));
|
|
|
}
|
|
|
|
|
|
//占比
|
|
@@ -2415,24 +2416,20 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
return;
|
|
|
}
|
|
|
//环比
|
|
|
- item.setWeekRate("100");
|
|
|
Long startTime = bo.getStartTime();
|
|
|
Long endTime = bo.getEndTime();
|
|
|
Long time = endTime - startTime;
|
|
|
TopOrderStatisticsBo topOrderStatisticsBo = new TopOrderStatisticsBo();
|
|
|
topOrderStatisticsBo.setStartTime(startTime - time);
|
|
|
topOrderStatisticsBo.setEndTime(startTime);
|
|
|
-
|
|
|
topOrderStatisticsBo.setCustomerId(item.getCustomerId());
|
|
|
Long num = baseMapper.getSingleTenantStatisticsOrderNum(topOrderStatisticsBo);
|
|
|
if (num > 0){
|
|
|
Long subtract = item.getOrderNum() - num;
|
|
|
BigDecimal divide = new BigDecimal(subtract).divide(new BigDecimal(num),2, RoundingMode.HALF_UP);
|
|
|
- String s = divide.multiply(new BigDecimal("100")).toString();
|
|
|
- item.setWeekRate(s);
|
|
|
+ item.setWeekRate(divide.multiply(new BigDecimal("100")));
|
|
|
}
|
|
|
//同比
|
|
|
- item.setYearRate("100");
|
|
|
Long startBefore = DateUtils.getDayBefore(bo.getStartTime(), 365);
|
|
|
Long endBefore = DateUtils.getDayBefore(bo.getEndTime(), 365);
|
|
|
topOrderStatisticsBo.setStartTime(startBefore);
|
|
@@ -2441,8 +2438,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
if (num2 > 0){
|
|
|
Long subtract = item.getOrderNum() - num2;
|
|
|
BigDecimal divide = new BigDecimal(subtract).divide(new BigDecimal(num2),2, RoundingMode.HALF_UP);
|
|
|
- String s = divide.multiply(new BigDecimal("100")).toString();
|
|
|
- item.setWeekRate(s);
|
|
|
+ item.setWeekRate(divide.multiply(new BigDecimal("100")));
|
|
|
}
|
|
|
|
|
|
//占比
|
|
@@ -2495,7 +2491,6 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
return;
|
|
|
}
|
|
|
//环比
|
|
|
- item.setWeekRate("100");
|
|
|
Long startTime = bo.getStartTime();
|
|
|
Long endTime = bo.getEndTime();
|
|
|
Long time = endTime - startTime;
|
|
@@ -2511,13 +2506,11 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
if (money.compareTo(BigDecimal.ZERO) > 0){
|
|
|
BigDecimal subtract = item.getMoney().subtract(money);
|
|
|
BigDecimal divide = subtract.divide(money,2, RoundingMode.HALF_UP);
|
|
|
- String s = divide.multiply(new BigDecimal("100")).toString();
|
|
|
- item.setWeekRate(s);
|
|
|
+ item.setWeekRate(divide.multiply(new BigDecimal("100")));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//同比
|
|
|
- item.setYearRate("100");
|
|
|
Long startBefore = DateUtils.getDayBefore(bo.getStartTime(), 365);
|
|
|
Long endBefore = DateUtils.getDayBefore(bo.getEndTime(), 365);
|
|
|
topOrderStatisticsBo.setStartTime(startBefore);
|
|
@@ -2531,8 +2524,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
if (money2.compareTo(BigDecimal.ZERO) > 0){
|
|
|
BigDecimal subtract = item.getMoney().subtract(money2);
|
|
|
BigDecimal divide = subtract.divide(money2,2, RoundingMode.HALF_UP);
|
|
|
- String s = divide.multiply(new BigDecimal("100")).toString();
|
|
|
- item.setYearRate(s);
|
|
|
+ item.setYearRate(divide.multiply(new BigDecimal("100")));
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -2585,7 +2577,6 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
return;
|
|
|
}
|
|
|
//环比
|
|
|
- item.setWeekRate("100");
|
|
|
Long startTime = bo.getStartTime();
|
|
|
Long endTime = bo.getEndTime();
|
|
|
Long time = endTime - startTime;
|
|
@@ -2600,12 +2591,10 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
if (num > 0){
|
|
|
Long subtract = item.getOrderNum() - num;
|
|
|
BigDecimal divide = new BigDecimal(subtract).divide(new BigDecimal(num),2, RoundingMode.HALF_UP);
|
|
|
- String s = divide.multiply(new BigDecimal("100")).toString();
|
|
|
- item.setWeekRate(s);
|
|
|
+ item.setWeekRate(divide.multiply(new BigDecimal("100")));
|
|
|
}
|
|
|
}
|
|
|
//同比
|
|
|
- item.setYearRate("100");
|
|
|
Long startBefore = DateUtils.getDayBefore(bo.getStartTime(), 365);
|
|
|
Long endBefore = DateUtils.getDayBefore(bo.getEndTime(), 365);
|
|
|
topOrderStatisticsBo.setStartTime(startBefore);
|
|
@@ -2618,8 +2607,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
if (num > 0){
|
|
|
Long subtract = item.getOrderNum() - num;
|
|
|
BigDecimal divide = new BigDecimal(subtract).divide(new BigDecimal(num),2, RoundingMode.HALF_UP);
|
|
|
- String s = divide.multiply(new BigDecimal("100")).toString();
|
|
|
- item.setWeekRate(s);
|
|
|
+ item.setWeekRate(divide.multiply(new BigDecimal("100")));
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -2700,6 +2688,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
twoVo.setCustomerId(customerId);
|
|
|
twoVo.setCustomerName(customerName);
|
|
|
twoVo.setTime(day);
|
|
|
+ twoVo.setTimeStr(DateUtils.timestampToDateFormat(day,"yyyy-MM-dd"));
|
|
|
if (voList.stream().anyMatch(x -> DateUtils.getScheduleTimeStrZeroTime(x.getTimeStr(), "yyyy-MM-dd").equals(day))){
|
|
|
TopOrderStatisticsTwoVo statisticsTwoVo = voList.stream()
|
|
|
.filter(x -> DateUtils.getScheduleTimeStrZeroTime(x.getTimeStr(), "yyyy-MM-dd").equals(day)).findFirst().get();
|
|
@@ -2744,6 +2733,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
twoVo.setCustomerId(customerId);
|
|
|
twoVo.setCustomerName(customerName);
|
|
|
twoVo.setTime(time);
|
|
|
+ twoVo.setTimeStr(DateUtils.timestampToDateFormat(time,"yyyy-MM-dd"));
|
|
|
if (voList2.stream().anyMatch(x ->
|
|
|
DateUtils.getScheduleTimeZeroTime(x.getOrderTime()) >= time
|
|
|
&& DateUtils.getScheduleTimeZeroTime(x.getOrderTime()) <= weekTime.get(time))){
|
|
@@ -2792,6 +2782,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
twoVo.setCustomerId(customerId);
|
|
|
twoVo.setCustomerName(customerName);
|
|
|
twoVo.setTime(time);
|
|
|
+ twoVo.setTimeStr(DateUtils.timestampToDateFormat(time,"yyyy-MM"));
|
|
|
if (voList2.stream().anyMatch(x ->
|
|
|
DateUtils.getScheduleTimeZeroTime(x.getOrderTime()) >= time
|
|
|
&& DateUtils.getScheduleTimeZeroTime(x.getOrderTime()) <= monthTime.get(time))){
|
|
@@ -2860,7 +2851,6 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
}
|
|
|
//订单金额
|
|
|
//环比
|
|
|
- item.setWeekRate("100%");
|
|
|
Long startTime = bo.getStartTime();
|
|
|
Long endTime = bo.getEndTime();
|
|
|
Long time = endTime - startTime;
|
|
@@ -2874,8 +2864,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
if (money.compareTo(BigDecimal.ZERO) > 0){
|
|
|
BigDecimal subtract = item.getMoney().subtract(money);
|
|
|
BigDecimal divide = subtract.divide(money,2, RoundingMode.HALF_UP);
|
|
|
- String s = divide.multiply(new BigDecimal("100")).toString();
|
|
|
- item.setMoneyWeekRate(s+"%");
|
|
|
+ item.setMoneyWeekRate(divide.multiply(new BigDecimal("100")));
|
|
|
}
|
|
|
}
|
|
|
List<TopOrderStatisticsNumVo> numStatistics = baseMapper.getNumStatistics(topOrderStatisticsBo);
|
|
@@ -2884,13 +2873,11 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
if (num > 0){
|
|
|
Long subtract = item.getOrderNum() - num;
|
|
|
BigDecimal divide = new BigDecimal(subtract).divide(new BigDecimal(num),2, RoundingMode.HALF_UP);
|
|
|
- String s = divide.multiply(new BigDecimal("100")).toString();
|
|
|
- item.setWeekRate(s+"%");
|
|
|
+ item.setWeekRate(divide.multiply(new BigDecimal("100")));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//同比
|
|
|
- item.setYearRate("100%");
|
|
|
Long startBefore = DateUtils.getDayBefore(bo.getStartTime(), 365);
|
|
|
Long endBefore = DateUtils.getDayBefore(bo.getEndTime(), 365);
|
|
|
topOrderStatisticsBo.setStartTime(startBefore);
|
|
@@ -2901,8 +2888,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
if (money.compareTo(BigDecimal.ZERO) > 0){
|
|
|
BigDecimal subtract = item.getMoney().subtract(money);
|
|
|
BigDecimal divide = subtract.divide(money,2, RoundingMode.HALF_UP);
|
|
|
- String s = divide.multiply(new BigDecimal("100")).toString();
|
|
|
- item.setMoneyYearRate(s+"%");
|
|
|
+ item.setMoneyYearRate(divide.multiply(new BigDecimal("100")));
|
|
|
}
|
|
|
}
|
|
|
List<TopOrderStatisticsNumVo> numStatistics2 = baseMapper.getNumStatistics(topOrderStatisticsBo);
|
|
@@ -2911,8 +2897,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
if (num > 0){
|
|
|
Long subtract = item.getOrderNum() - num;
|
|
|
BigDecimal divide = new BigDecimal(subtract).divide(new BigDecimal(num),2, RoundingMode.HALF_UP);
|
|
|
- String s = divide.multiply(new BigDecimal("100")).toString();
|
|
|
- item.setYearRate(s+"%");
|
|
|
+ item.setYearRate(divide.multiply(new BigDecimal("100")));
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -2929,6 +2914,195 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
}
|
|
|
|
|
|
|
|
|
+ @Override
|
|
|
+ public TopSharedCustomerTotalVo getSharedStatistics(TopOrderStatisticsBo bo) {
|
|
|
+ TopSharedCustomerTotalVo totalVo = new TopSharedCustomerTotalVo();
|
|
|
+ //筛选时间处理
|
|
|
+ if (ObjectUtils.isNull(bo.getTimeSign()) && ObjectUtils.isNull(bo.getStartTime()) && ObjectUtils.isNull(bo.getEndTime())){
|
|
|
+ //没有选择时间范围,默认为当前时间向前推30天
|
|
|
+ Long nowTime = DateUtils.getNowTime();
|
|
|
+ Long dayBefore = DateUtils.getDayBefore(nowTime, 30);
|
|
|
+ bo.setStartTime(dayBefore);
|
|
|
+ bo.setEndTime(nowTime);
|
|
|
+ }else if (ObjectUtils.isNotNull(bo.getTimeSign())){
|
|
|
+ switch (bo.getTimeSign()){
|
|
|
+ case 1://本周
|
|
|
+ Map<String, Long> timeInterval = DateUtils.getTimeInterval(new Date());
|
|
|
+ bo.setStartTime(timeInterval.get("start"));
|
|
|
+ bo.setEndTime(timeInterval.get("end"));
|
|
|
+ break;
|
|
|
+ case 2://本月
|
|
|
+ Long toMonthZeroTime = DateUtils.getToMonthZeroTime();
|
|
|
+ bo.setStartTime(toMonthZeroTime);
|
|
|
+ bo.setEndTime(DateUtils.getNowTime());
|
|
|
+ break;
|
|
|
+ case 3://本年
|
|
|
+ Long toYearZeroTime = DateUtils.getToYearZeroTime();
|
|
|
+ bo.setStartTime(toYearZeroTime);
|
|
|
+ bo.setEndTime(DateUtils.getNowTime());
|
|
|
+ break;
|
|
|
+ default :
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Map<String, String> params = new HashMap<>();
|
|
|
+ Long nowTime = DateUtils.getNowTime();
|
|
|
+ String sign = ToolsUtils.EncoderByMd5( nowTime.toString() + "pubilc2022");
|
|
|
+ params.put("stamp", nowTime.toString());
|
|
|
+ params.put("sign", sign);
|
|
|
+ if (ObjectUtils.isNotNull(bo.getTenantId())){
|
|
|
+ params.put("orgid", bo.getTenantId().toString());
|
|
|
+ }else {
|
|
|
+ params.put("orgid", "1");
|
|
|
+ }
|
|
|
+ params.put("begintime", DateUtils.timestampToDateFormat(bo.getStartTime(),"yyyy/MM/dd"));
|
|
|
+ params.put("endtime", DateUtils.timestampToDateFormat(bo.getEndTime(),"yyyy/MM/dd"));
|
|
|
+ params.put("saleid", "0");
|
|
|
+ String respone = "";
|
|
|
+ try {
|
|
|
+ respone = HttpUtils.postFormBody(SHARED_STATISTICS, params);
|
|
|
+ if (!respone.contains("\"Status\":true")) {
|
|
|
+ throw new CustomException("公海客户统计接口错误");
|
|
|
+ }
|
|
|
+ JSONObject jsonObject = JSONObject.parseObject(respone);
|
|
|
+ Object data = jsonObject.get("Data");
|
|
|
+ if (ObjectUtils.isNotNull(data)){
|
|
|
+ totalVo = JSONObject.parseObject(JSONObject.toJSONString(data), TopSharedCustomerTotalVo.class);
|
|
|
+ }
|
|
|
+ }catch (Exception e){
|
|
|
+ e.printStackTrace();
|
|
|
+ throw new CustomException("公海客户统计接口错误");
|
|
|
+ }
|
|
|
+ return totalVo;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public TopCustomerStatsVo getCustomerStatsData(TopOrderStatisticsBo bo) {
|
|
|
+ TopCustomerStatsVo statsVo = new TopCustomerStatsVo();
|
|
|
+ Map<String, String> params = new HashMap<>();
|
|
|
+ Long nowTime = DateUtils.getNowTime();
|
|
|
+ String sign = ToolsUtils.EncoderByMd5( nowTime.toString() + "pubilc2022");
|
|
|
+ params.put("stamp", nowTime.toString());
|
|
|
+ params.put("sign", sign);
|
|
|
+ String respone = "";
|
|
|
+ try {
|
|
|
+ respone = HttpUtils.postFormBody(SHARED_CUSTOMER, params);
|
|
|
+ if (!respone.contains("\"Status\":true")) {
|
|
|
+ throw new CustomException("公海总客户接口错误");
|
|
|
+ }
|
|
|
+ JSONObject jsonObject = JSONObject.parseObject(respone);
|
|
|
+ Object data = jsonObject.get("Data");
|
|
|
+ if (ObjectUtils.isNotNull(data)){
|
|
|
+ statsVo = JSONObject.parseObject(JSONObject.toJSONString(data), TopCustomerStatsVo.class);
|
|
|
+ }
|
|
|
+ }catch (Exception e){
|
|
|
+ e.printStackTrace();
|
|
|
+ throw new CustomException("公海总客户接口错误");
|
|
|
+ }
|
|
|
+ return statsVo;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public TopCertStatsVo getCertStatsData(TopOrderStatisticsBo bo) {
|
|
|
+ TopCertStatsVo statsVo = new TopCertStatsVo();
|
|
|
+ Map<String, String> params = new HashMap<>();
|
|
|
+ Long nowTime = DateUtils.getNowTime();
|
|
|
+ String sign = ToolsUtils.EncoderByMd5( nowTime.toString() + "pubilc2022");
|
|
|
+ params.put("stamp", nowTime.toString());
|
|
|
+ params.put("sign", sign);
|
|
|
+ if (ObjectUtils.isNotNull(bo.getTenantId())){
|
|
|
+ params.put("orgid", bo.getTenantId().toString());
|
|
|
+ }
|
|
|
+ if (ObjectUtils.isNotNull(bo.getCustomerId())){
|
|
|
+ params.put("saleId", bo.getCustomerId().toString());
|
|
|
+ }
|
|
|
+ String respone = "";
|
|
|
+ try {
|
|
|
+ respone = HttpUtils.postFormBody(SHARED_CERT, params);
|
|
|
+ if (!respone.contains("\"Status\":true")) {
|
|
|
+ throw new CustomException("公海过期预警接口错误");
|
|
|
+ }
|
|
|
+ JSONObject jsonObject = JSONObject.parseObject(respone);
|
|
|
+ Object data = jsonObject.get("Data");
|
|
|
+ if (ObjectUtils.isNotNull(data)){
|
|
|
+ statsVo = JSONObject.parseObject(JSONObject.toJSONString(data), TopCertStatsVo.class);
|
|
|
+ }
|
|
|
+ }catch (Exception e){
|
|
|
+ e.printStackTrace();
|
|
|
+ throw new CustomException("公海过期预警接口错误");
|
|
|
+ }
|
|
|
+ return statsVo;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public TopOrderAreaVo getOrderAreaData(TopOrderStatisticsBo bo) {
|
|
|
+ TopOrderAreaVo areaVo = new TopOrderAreaVo();
|
|
|
+ Map<String, String> params = new HashMap<>();
|
|
|
+ Long nowTime = DateUtils.getNowTime();
|
|
|
+ String sign = ToolsUtils.EncoderByMd5( nowTime.toString() + "pubilc2022");
|
|
|
+ params.put("stamp", nowTime.toString());
|
|
|
+ params.put("sign", sign);
|
|
|
+ params.put("page", bo.getPageNum().toString());
|
|
|
+ params.put("pagesize", bo.getPageSize().toString());
|
|
|
+ if (ObjectUtils.isNotNull(bo.getTenantId())){
|
|
|
+ params.put("orgid", bo.getTenantId().toString());
|
|
|
+ }
|
|
|
+ if (ObjectUtils.isNotNull(bo.getCustomerId())){
|
|
|
+ params.put("saleid", bo.getCustomerId().toString());
|
|
|
+ }
|
|
|
+ String respone = "";
|
|
|
+ try {
|
|
|
+ respone = HttpUtils.postFormBody(SHARED_ORDER_AREA, params);
|
|
|
+ if (!respone.contains("\"Status\":true")) {
|
|
|
+ throw new CustomException("公海过期预警接口错误");
|
|
|
+ }
|
|
|
+ JSONObject jsonObject = JSONObject.parseObject(respone);
|
|
|
+ Object data = jsonObject.get("Data");
|
|
|
+ if (ObjectUtils.isNotNull(data)){
|
|
|
+ areaVo = JSONObject.parseObject(JSONObject.toJSONString(data), TopOrderAreaVo.class);
|
|
|
+ }
|
|
|
+ }catch (Exception e){
|
|
|
+ e.printStackTrace();
|
|
|
+ throw new CustomException("公海过期预警接口错误");
|
|
|
+ }
|
|
|
+ return areaVo;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public TopConversionRateVo getConversionRateData(TopOrderStatisticsBo bo) {
|
|
|
+ TopConversionRateVo rateVo = new TopConversionRateVo();
|
|
|
+ Map<String, String> params = new HashMap<>();
|
|
|
+ Long nowTime = DateUtils.getNowTime();
|
|
|
+ String sign = ToolsUtils.EncoderByMd5(nowTime.toString() + "pubilc2022");
|
|
|
+ params.put("stamp", nowTime.toString());
|
|
|
+ params.put("sign", sign);
|
|
|
+ params.put("type", bo.getType().toString());
|
|
|
+ params.put("page", bo.getPageNum().toString());
|
|
|
+ params.put("pagesize", bo.getPageSize().toString());
|
|
|
+ if (ObjectUtils.isNotNull(bo.getTenantId())){
|
|
|
+ params.put("orgid", bo.getTenantId().toString());
|
|
|
+ }
|
|
|
+ if (ObjectUtils.isNotNull(bo.getCustomerId())){
|
|
|
+ params.put("saleid", bo.getCustomerId().toString());
|
|
|
+ }
|
|
|
+ String respone = "";
|
|
|
+ try {
|
|
|
+ respone = HttpUtils.postFormBody(SHARED_ORDER_AREA, params);
|
|
|
+ if (!respone.contains("\"Status\":true")) {
|
|
|
+ throw new CustomException("公海客户转化排行接口错误");
|
|
|
+ }
|
|
|
+ JSONObject jsonObject = JSONObject.parseObject(respone);
|
|
|
+ Object data = jsonObject.get("Data");
|
|
|
+ if (ObjectUtils.isNotNull(data)){
|
|
|
+ rateVo = JSONObject.parseObject(JSONObject.toJSONString(data), TopConversionRateVo.class);
|
|
|
+ }
|
|
|
+ }catch (Exception e){
|
|
|
+ e.printStackTrace();
|
|
|
+ throw new CustomException("公海客户转化排行接口错误");
|
|
|
+ }
|
|
|
+ return rateVo;
|
|
|
+ }
|
|
|
+
|
|
|
private List<Long> getDayTime(Long startTime,Long endTime){
|
|
|
List<Long> tiemList = new ArrayList<>();
|
|
|
Long zeroTime = DateUtils.getScheduleTimeZeroTime(startTime);
|