Commit 66dc3c32 authored by Administrator's avatar Administrator

-

parent c08b4092
...@@ -3,6 +3,7 @@ package com.dsk.web.controller.search.macroMarket; ...@@ -3,6 +3,7 @@ package com.dsk.web.controller.search.macroMarket;
import com.dsk.common.core.domain.AjaxResult; import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.dtos.*; import com.dsk.common.dtos.*;
import com.dsk.system.service.EconomicService; import com.dsk.system.service.EconomicService;
import com.dsk.web.controller.tool.IpUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -20,7 +21,7 @@ import javax.validation.Valid; ...@@ -20,7 +21,7 @@ import javax.validation.Valid;
*/ */
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping(value ="/economic") @RequestMapping(value ="/enterprises")
public class RegionalEconomicDataController { public class RegionalEconomicDataController {
@Autowired @Autowired
......
/** /**
* *
*/ */
package com.dsk.web.controller.search.macroMarket; package com.dsk.web.controller.tool;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
......
package com.dsk.web.controller.search.macroMarket; package com.dsk.web.controller.tool;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
......
...@@ -46,4 +46,9 @@ public class CacheConstants ...@@ -46,4 +46,9 @@ public class CacheConstants
* 查甲方 菜单选线 * 查甲方 菜单选线
*/ */
public static final String DATA_UIPGROUPDATA = "data:uipGroupData"; public static final String DATA_UIPGROUPDATA = "data:uipGroupData";
/**
* 查甲方 菜单选线
*/
public static final String PERSONAL_LOCATION = "personal:location";
} }
...@@ -16,5 +16,15 @@ public class OpRegionalLocalDto { ...@@ -16,5 +16,15 @@ public class OpRegionalLocalDto {
*/ */
private Integer provinceId; private Integer provinceId;
/**
* 市Id
*/
private Integer cityId;
/**
* 区 Id
*/
private Integer areaId;
private String ip; private String ip;
} }
...@@ -2,15 +2,23 @@ package com.dsk.system.service.impl; ...@@ -2,15 +2,23 @@ package com.dsk.system.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.dsk.common.constant.CacheConstants;
import com.dsk.common.core.domain.AjaxResult; import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.core.redis.RedisCache;
import com.dsk.common.dtos.*; import com.dsk.common.dtos.*;
import com.dsk.common.utils.DateUtils; import com.dsk.common.utils.DateUtils;
import com.dsk.common.utils.DskOpenApiUtil; import com.dsk.common.utils.DskOpenApiUtil;
import com.dsk.common.utils.SecurityUtils;
import com.dsk.system.service.EconomicService; import com.dsk.system.service.EconomicService;
import org.apache.commons.collections4.MapUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.concurrent.TimeUnit;
/** /**
* @ClassName EconomicServiceImpl * @ClassName EconomicServiceImpl
...@@ -22,9 +30,12 @@ import java.util.Map; ...@@ -22,9 +30,12 @@ import java.util.Map;
@Service @Service
public class EconomicServiceImpl implements EconomicService { public class EconomicServiceImpl implements EconomicService {
@Autowired @Resource
private DskOpenApiUtil dskOpenApiUtil; private DskOpenApiUtil dskOpenApiUtil;
@Resource
private RedisCache redisCache;
@Override @Override
public AjaxResult nationalPage(OpRegionalEconomicDataV1PageDto dto) { public AjaxResult nationalPage(OpRegionalEconomicDataV1PageDto dto) {
if (ObjectUtil.isEmpty(dto.getYear())) { if (ObjectUtil.isEmpty(dto.getYear())) {
...@@ -48,7 +59,24 @@ public class EconomicServiceImpl implements EconomicService { ...@@ -48,7 +59,24 @@ public class EconomicServiceImpl implements EconomicService {
@Override @Override
public AjaxResult location(OpRegionalLocalDto detailsDto) { public AjaxResult location(OpRegionalLocalDto detailsDto) {
Long userId = SecurityUtils.getLoginUser().getUserId();
String redisKey = CacheConstants.PERSONAL_LOCATION + userId;
Map<String, Object> cacheMap = redisCache.getCacheMap(redisKey);
if (MapUtils.isNotEmpty(cacheMap)) {
return AjaxResult.success(cacheMap);
}
Map<String, Object> map = dskOpenApiUtil.requestBody("/economic/location", BeanUtil.beanToMap(detailsDto, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/economic/location", BeanUtil.beanToMap(detailsDto, false, false));
Integer code = MapUtils.getInteger(map, "code", 300);
if (!code.equals(HttpStatus.OK.value())) {
throw new RuntimeException();
}
Map data = MapUtils.getMap(map, "data", null);
if (ObjectUtil.isNotEmpty(detailsDto.getProvinceId()) || ObjectUtil.isNotEmpty(detailsDto.getCityId()) || ObjectUtil.isNotEmpty(detailsDto.getAreaId())) {
redisCache.setCacheMap(redisKey, data);
}
return BeanUtil.toBean(map, AjaxResult.class); return BeanUtil.toBean(map, AjaxResult.class);
} }
......
...@@ -4,7 +4,6 @@ import cn.hutool.core.bean.BeanUtil; ...@@ -4,7 +4,6 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.dsk.acc.openapi.client.util.CommonUtils; import com.dsk.acc.openapi.client.util.CommonUtils;
import com.dsk.common.core.domain.AjaxResult; import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.core.domain.model.EnterpriseInfoHeaderBody;
import com.dsk.common.dtos.ComposeQueryDto; import com.dsk.common.dtos.ComposeQueryDto;
import com.dsk.common.utils.DskOpenApiUtil; import com.dsk.common.utils.DskOpenApiUtil;
import com.dsk.system.service.RegionalEnterprisesService; import com.dsk.system.service.RegionalEnterprisesService;
...@@ -14,8 +13,7 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -14,8 +13,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.*;
import java.util.Map;
/** /**
* @ClassName RegionalEnterprisesServiceImpl * @ClassName RegionalEnterprisesServiceImpl
...@@ -37,45 +35,91 @@ public class RegionalEnterprisesServiceImpl implements RegionalEnterprisesServic ...@@ -37,45 +35,91 @@ public class RegionalEnterprisesServiceImpl implements RegionalEnterprisesServic
if (code.equals(HttpStatus.OK.value())) { if (code.equals(HttpStatus.OK.value())) {
Map data = MapUtils.getMap(map, "data", null); Map data = MapUtils.getMap(map, "data", null);
List<Object> list = CommonUtils.assertAsArray(MapUtils.getObject(data, "list", "")); List<Object> list = CommonUtils.assertAsArray(MapUtils.getObject(data, "list", ""));
// 常合作客户
List<Integer> getTopCustomerIds = getTopCustomerIds(list);
Map<String,Object> topCustomerIdsMap = new HashMap<>(1);
topCustomerIdsMap.put("ids", getTopCustomerIds);
Map<String, Object> topCustomerMap = dskOpenApiUtil.requestBody("/operate/enterprise/selectCompanyNameList", topCustomerIdsMap);
// 常合作供应商
List<Integer> getTopSupplierIds = getTopSupplierIds(list);
Map<String,Object> topSupplierIdsMap = new HashMap<>(1);
topSupplierIdsMap.put("ids", getTopSupplierIds);
Map<String, Object> topSupplierMap = dskOpenApiUtil.requestBody("/operate/enterprise/selectCompanyNameList", topSupplierIdsMap);
if (CollectionUtils.isNotEmpty(list)) { if (CollectionUtils.isNotEmpty(list)) {
for (Object companyObj : list) { for (Object companyObj : list) {
Map<String, Object> companyMap = CommonUtils.assertAsMap(companyObj); Map<String, Object> companyMap = CommonUtils.assertAsMap(companyObj);
companyMap.put("topCustomer", null);
//常合作客户id //常合作客户id
Integer topCustomerId = MapUtils.getInteger(companyMap, "topCustomerId"); Integer topCustomerId = MapUtils.getInteger(companyMap, "topCustomerId");
EnterpriseInfoHeaderBody body = new EnterpriseInfoHeaderBody();
body.setCompanyId(topCustomerId);
if (ObjectUtil.isNotEmpty(topCustomerId)) { if (ObjectUtil.isNotEmpty(topCustomerId)) {
Map<String, Object> infoHeaderMap = dskOpenApiUtil.requestBody("/api/jsk/enterprise/infoHeader", BeanUtil.beanToMap(body, false, false)); Integer topCustomerCode = MapUtils.getInteger(topCustomerMap, "code", 300);
Integer infoHeaderCode = MapUtils.getInteger(infoHeaderMap, "code", 300); if (topCustomerCode.equals(HttpStatus.OK.value())) {
if (infoHeaderCode.equals(HttpStatus.OK.value())) { List<Map<String, Object>> companyNameList = (List<Map<String, Object>>)MapUtils.getObject(topCustomerMap, "data", null);
Map infoHeaderData = MapUtils.getMap(infoHeaderMap, "data", null); for (Map<String, Object> comMap : companyNameList) {
String companyName = MapUtils.getString(infoHeaderData, "companyName", null); Integer id = MapUtils.getInteger(comMap, "id", 0);
companyMap.put("topCustomer", companyName); if (id.equals(topCustomerId)) {
} else { String companyName = MapUtils.getString(comMap, "companyName", null);
companyMap.put("topCustomer", null); companyMap.put("topCustomer", companyName);
}
}
} }
} else {
companyMap.put("topCustomer", null);
} }
//常合作供应商id //常合作供应商id
Integer topSupplierId = MapUtils.getInteger(companyMap, "topSupplierId"); Integer topSupplierId = MapUtils.getInteger(companyMap, "topSupplierId");
body.setCompanyId(topSupplierId); companyMap.put("topSupplier", null);
if (ObjectUtil.isNotEmpty(topSupplierId)) { if (ObjectUtil.isNotEmpty(topSupplierId)) {
Map<String, Object> infoHeaderMap = dskOpenApiUtil.requestBody("/api/jsk/enterprise/infoHeader", BeanUtil.beanToMap(body, false, false)); Integer topSupplierCode = MapUtils.getInteger(topSupplierMap, "code", 300);
Integer infoHeaderCode = MapUtils.getInteger(infoHeaderMap, "code", 300); if (topSupplierCode.equals(HttpStatus.OK.value())) {
if (infoHeaderCode.equals(HttpStatus.OK.value())) { List<Map<String, Object>> companyNameList = (List<Map<String, Object>>)MapUtils.getObject(topSupplierMap, "data", null);
Map infoHeaderData = MapUtils.getMap(infoHeaderMap, "data", null); for (Map<String, Object> comMap : companyNameList) {
String companyName = MapUtils.getString(infoHeaderData, "companyName", null); Integer id = MapUtils.getInteger(comMap, "id", 0);
companyMap.put("topSupplier", companyName); if (id.equals(topCustomerId)) {
} else { String companyName = MapUtils.getString(comMap, "companyName", null);
companyMap.put("topSupplier", null); companyMap.put("topSupplier", companyName);
}
}
} }
} else {
companyMap.put("topSupplier", null);
} }
} }
} }
} }
return BeanUtil.toBean(map, AjaxResult.class); return BeanUtil.toBean(map, AjaxResult.class);
} }
/***
*@Description: 获取企业Id-客户
*@Param:
*@return: java.util.List<java.lang.Integer>
*@Author: Dgm
*@date: 2023/7/11 16:04
*/
public List<Integer> getTopCustomerIds(List<Object> list) {
List<Integer> getIds = new ArrayList<>(20);
for (Object companyObj : list) {
Map<String, Object> companyMap = CommonUtils.assertAsMap(companyObj);
//常合作客户id
Integer topCustomerId = MapUtils.getInteger(companyMap, "topCustomerId");
getIds.add(topCustomerId);
}
return getIds;
}
/***
*@Description: 获取企业Id-供应商
*@Param:
*@return: java.util.List<java.lang.Integer>
*@Author: Dgm
*@date: 2023/7/11 16:04
*/
public List<Integer> getTopSupplierIds(List<Object> list) {
List<Integer> getIds = new ArrayList<>(20);
for (Object companyObj : list) {
Map<String, Object> companyMap = CommonUtils.assertAsMap(companyObj);
//常合作供应商id
Integer topSupplierId = MapUtils.getInteger(companyMap, "topSupplierId");
getIds.add(topSupplierId);
}
return getIds;
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment