|
@@ -280,6 +280,9 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
@Value("${shared.rateTrend}")
|
|
|
private String SHARED_RATE_TREND;
|
|
|
|
|
|
+ @Value("${shared.customerOrder}")
|
|
|
+ private String SHARED_CUSTOMER_ORDER;
|
|
|
+
|
|
|
|
|
|
@Override
|
|
|
public TopOldOrderVo queryById(String orderSn) {
|
|
@@ -3736,6 +3739,76 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
return this.baseMapper.getTenantCreateList(bo);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public TableDataInfo<TopConversionRateDataVo> getCustomerOrderData(TopOrderStatisticsBo bo) {
|
|
|
+ TableDataInfo<TopConversionRateDataVo> tableDataInfo = new TableDataInfo();
|
|
|
+ //筛选时间处理
|
|
|
+ if (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);
|
|
|
+ }
|
|
|
+ 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.getStartTime())){
|
|
|
+ params.put("begintime", DateUtils.timestampToDateFormat(bo.getStartTime(),"yyyy/MM/dd"));
|
|
|
+ }
|
|
|
+ if (ObjectUtils.isNotNull(bo.getSort())){
|
|
|
+ params.put("sort", bo.getSort().toString());
|
|
|
+ }
|
|
|
+ if (ObjectUtils.isNotNull(bo.getEndTime())){
|
|
|
+ params.put("endtime", DateUtils.timestampToDateFormat(bo.getEndTime(),"yyyy/MM/dd"));
|
|
|
+ }
|
|
|
+ if (ObjectUtils.isNotNull(bo.getTenantId())){
|
|
|
+ params.put("orgid", bo.getTenantId().toString());
|
|
|
+ }else {
|
|
|
+ params.put("orgid", "1");
|
|
|
+ }
|
|
|
+ if (ObjectUtils.isNotNull(bo.getCustomerId())){
|
|
|
+ params.put("saleid", bo.getCustomerId().toString());
|
|
|
+ }else {
|
|
|
+ params.put("saleid", "0");
|
|
|
+ }
|
|
|
+ String respone = "";
|
|
|
+ try {
|
|
|
+ respone = HttpUtils.postFormBody(SHARED_CUSTOMER_ORDER, 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);
|
|
|
+ if (CollectionUtils.isNotEmpty(rateVo.get_Data())){
|
|
|
+ rateVo.get_Data().forEach(item -> {
|
|
|
+ item.setTbDealRate(item.getTbDealRate().multiply(new BigDecimal("100.00")));
|
|
|
+ item.setHbDealRate(item.getHbDealRate().multiply(new BigDecimal("100.00")));
|
|
|
+ item.setZbDealRateStr(item.getZbDealRate().multiply(new BigDecimal("100.00")) + "%");
|
|
|
+ item.setTbPriceRate(item.getTbPriceRate().multiply(new BigDecimal("100.00")));
|
|
|
+ item.setHbPriceRate(item.getHbPriceRate().multiply(new BigDecimal("100.00")));
|
|
|
+ item.setZbPriceRateStr(item.getZbPriceRate().multiply(new BigDecimal("100.00")) + "%");
|
|
|
+ item.setConverDealRate(item.getConverDealRate().multiply(new BigDecimal("100.00")));
|
|
|
+ });
|
|
|
+ }
|
|
|
+ tableDataInfo.setRows(rateVo.get_Data());
|
|
|
+ tableDataInfo.setTotal(rateVo.getTotalCount());
|
|
|
+ }
|
|
|
+ }catch (Exception e){
|
|
|
+ e.printStackTrace();
|
|
|
+ throw new CustomException("公海客户转化排行接口错误");
|
|
|
+ }
|
|
|
+ return tableDataInfo;
|
|
|
+ }
|
|
|
+
|
|
|
private List<Long> getDayTime(Long startTime,Long endTime){
|
|
|
List<Long> tiemList = new ArrayList<>();
|
|
|
Long zeroTime = DateUtils.getScheduleTimeZeroTime(startTime);
|