Commit 7776b9ed authored by yaobaizheng's avatar yaobaizheng

开发区详情

parent 45b99080
package com.postcard.service.moudle.development.controller;
import com.postcard.service.moudle.development.service.DevelopmentInfoService;
import com.postcard.service.moudle.development.vo.DevelopmentDetailVo;
import com.postcard.service.moudle.development.vo.DevelopmentSourceVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -24,5 +26,13 @@ public class DevelopmentInfoController {
public DevelopmentSourceVo source(){
return this.developmentInfoSerivce.source();
}
@GetMapping("/detail/{id}")
@ApiOperation(value = "开发区详情")
@ApiImplicitParam(name = "id", value = "开发区详情id", type = "Integer")
public DevelopmentDetailVo detail(@PathVariable Integer id){
return developmentInfoSerivce.detail(id);
}
}
......@@ -3,6 +3,7 @@ package com.postcard.service.moudle.development.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.postcard.service.moudle.carrier.vo.CarrierInvestmentVo;
import com.postcard.service.moudle.development.entity.DevelopmentInfo;
import com.postcard.service.moudle.development.vo.DevelopmentDetailVo;
import com.postcard.service.moudle.development.vo.DevelopmentSourceVo;
import java.util.List;
......@@ -35,4 +36,12 @@ public interface DevelopmentInfoService extends IService<DevelopmentInfo> {
* @return: com.postcard.service.moudle.development.vo.DevelopmentSourceVo
**/
DevelopmentSourceVo source();
/**
* @description: 开发区详情
* @date: 2023/11/21 17:40
* @param: [id]
* @return: com.lyy.admin.moudle.park.vo.ParkInfoAllVO
**/
DevelopmentDetailVo detail(Integer id);
}
package com.postcard.service.moudle.development.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.postcard.service.enums.CarouselTypeEnum;
import com.postcard.service.enums.StatusEnum;
import com.postcard.service.moudle.carrier.vo.CarrierInvestmentVo;
import com.postcard.service.moudle.development.entity.DevelopmentIndustryPolicyInfo;
import com.postcard.service.moudle.development.entity.DevelopmentInfo;
import com.postcard.service.moudle.development.entity.DevelopmentInvestmentDirectionInfo;
import com.postcard.service.moudle.development.mapper.DevelopmentInfoMapper;
import com.postcard.service.moudle.development.service.*;
import com.postcard.service.moudle.development.vo.DevelopmentDetailVo;
import com.postcard.service.moudle.development.vo.DevelopmentPolicyVo;
import com.postcard.service.moudle.development.vo.DevelopmentSourceVo;
import com.postcard.service.moudle.land.service.LandInfoService;
import com.postcard.service.moudle.park.service.ParkInfoService;
import com.postcard.service.moudle.startObjectExtensionInfo.VO.StarObjectExtensionInfoVO;
import com.postcard.service.moudle.startObjectExtensionInfo.domain.StarObjectExtensionInfo;
import com.postcard.service.moudle.startObjectExtensionInfo.service.StarObjectExtensionInfoService;
import com.postcard.service.moudle.system.service.SysCarouselInfoService;
import com.postcard.service.moudle.system.service.SysDictDataService;
import com.postcard.service.moudle.system.vo.ResourceVo;
import com.postcard.service.moudle.system.vo.VideoVo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
......@@ -53,6 +62,8 @@ public class DevelopmentInfoServiceImpl extends ServiceImpl<DevelopmentInfoMappe
@Autowired SysDictDataService sysDictDataService;
@Autowired StarObjectExtensionInfoService starObjectExtensionInfoService;
@Value("${development.id}")
private Integer developMentId;
......@@ -99,6 +110,35 @@ public class DevelopmentInfoServiceImpl extends ServiceImpl<DevelopmentInfoMappe
return developmentSourceVo;
}
@Override
public DevelopmentDetailVo detail(Integer id){
DevelopmentDetailVo developmentDetailVo = new DevelopmentDetailVo();
// 产业政策
LambdaQueryWrapper<DevelopmentIndustryPolicyInfo> DIPIQueryWrqpper = new LambdaQueryWrapper<>();
DIPIQueryWrqpper.eq(DevelopmentIndustryPolicyInfo::getDevelopmentId, id);
List<DevelopmentIndustryPolicyInfo> list1 =
developmentIndustryPolicyInfoService.list(DIPIQueryWrqpper);
List<DevelopmentPolicyVo> developmentPolicyVos =
Convert.toList(DevelopmentPolicyVo.class, list1);
LinkedHashMap<String, List<DevelopmentPolicyVo>> collect3 =
developmentPolicyVos.stream().collect(Collectors.groupingBy(DevelopmentPolicyVo::getType,LinkedHashMap::new,Collectors.toList()));
JSONArray policyJsonArray = new JSONArray();
for (Map.Entry<String, List<DevelopmentPolicyVo>> entry : collect3.entrySet()) {
JSONObject jsonObject = new JSONObject();
jsonObject.putOpt("type", entry.getKey());
jsonObject.putOpt("info", entry.getValue());
policyJsonArray.add(jsonObject);
}
developmentDetailVo.setPolicyList(policyJsonArray);
developmentDetailVo.setStarObjectExtensionInfoMap(starObjectExtensionInfoService.detail(id));
return null;
}
@Override
public List<CarrierInvestmentVo> getInvestment(Integer developmentId) {
LambdaQueryWrapper<DevelopmentInvestmentDirectionInfo> investQuery = new LambdaQueryWrapper<>();
......
......@@ -7,6 +7,7 @@ import com.postcard.service.config.other.String2String;
import com.postcard.service.moudle.carrier.vo.CarrierInvestmentVo;
import com.postcard.service.moudle.land.vo.LandPageVo;
import com.postcard.service.moudle.park.vo.ParkPageVo;
import com.postcard.service.moudle.startObjectExtensionInfo.VO.StarObjectExtensionInfoVO;
import com.postcard.service.moudle.system.vo.VideoVo;
import com.postcard.service.moudle.system.vo.VrVo;
import io.swagger.annotations.ApiModel;
......@@ -27,62 +28,26 @@ import java.util.Map;
@ApiModel(value = "开发区详情", description = "开发区详情")
public class DevelopmentDetailVo implements Serializable {
// -------------------头部信息-----------------------------
@ApiModelProperty(value = "主键id")
private Integer id;
@ApiModelProperty(value = "开发区名称")
private String name;
@ApiModelProperty(value = "开发区级别")
private String levelCode;
// //------------------招商亮点---------------------------------------------
// @ApiModelProperty(value = "招商亮点")
// private JSONArray investmentLight;
//
// //------------------重点产业---------------------------------------------
// @ApiModelProperty(value = "重点产业")
// private JSONArray primaryIndustry;
@ApiModelProperty(value = "开发区级别名称")
private String levelName;
@ApiModelProperty(value = "招商亮点 重点产业")
private Map<String, List<StarObjectExtensionInfoVO>> starObjectExtensionInfoMap;
@ApiModelProperty(value = "开发区类型")
private String type;
@ApiModelProperty(value = "规划面积(平方公里)")
private BigDecimal planArea;
@ApiModelProperty(value = "主导产业")
private String primaryIndustry;
@ApiModelProperty(value = "招商方向")
private List<CarrierInvestmentVo> investmentDetails;
@ApiModelProperty(value = "省code")
private String provinceCode;
@ApiModelProperty(value = "省")
private String provinceName;
@ApiModelProperty(value = "市code")
private String cityCode;
@ApiModelProperty(value = "市")
private String cityName;
@ApiModelProperty(value = "区/县code")
private String regionCode;
@ApiModelProperty(value = "区/县")
private String regionName;
@ApiModelProperty(value = "详细地址")
private String address;
//------------园区对接人------------------------------------------------
@ApiModelProperty(value = "招商对接人")
private String contactPerson;
// @ApiModelProperty(value = "联系电话")
// private String contactPhone;
//------------开发区简介------------------------------------------------
@ApiModelProperty(value = "开发区简介")
private String description;
//------------------招商政策---------------------------------------------
@ApiModelProperty(value = "招商政策")
private JSONArray policyList;
//------------要素成本------------------------------------------------
@ApiModelProperty(value = "人力成本(元/月)")
......@@ -126,68 +91,4 @@ public class DevelopmentDetailVo implements Serializable {
@JsonSerialize(using = String2String.class)
private String naturalGasPrice;
//------------------重点企业---------------------------------------------
@ApiModelProperty(value = "重点企业详情")
private JSONArray enterpriseList;
//------------------产业政策---------------------------------------------
@ApiModelProperty(value = "产业政策详情")
private JSONArray policyList;
//------------------产业基金---------------------------------------------
@ApiModelProperty(value = "产业基金")
private List<DevelopmentFundVo> fundList;
//------------------入驻要求---------------------------------------------
@ApiModelProperty(value = "总投资额(亿元)")
private BigDecimal investmentAmountTotal;
@ApiModelProperty(value = "亩均投资强度(单位:万/亩)")
private String investmentStrength;
@ApiModelProperty(value = "亩均税收(单位:万/亩)")
private String taxationStrength;
@ApiModelProperty(value = "亩均年产值(单位:万/亩)")
private String averageOutputValue;
@ApiModelProperty(value = "投资周期(月)")
private Integer buildingPeriod;
@ApiModelProperty(value = "环评要求")
private String environmentalEquirements;
@ApiModelProperty(value = "能评要求(单位:tce/万元)")
private String valueAddedEnergy;
@ApiModelProperty(value = "禁限目录")
private String prohibitedDirectory;
@ApiModelProperty(value = "经度(坐标系gcj02)")
private BigDecimal longitude;
@ApiModelProperty(value = "纬度(坐标系gcj02)")
private BigDecimal latitude;
//--------------------开发区内所属产业园列表--------------------------------
@ApiModelProperty(value = "开发区内产业园列表")
private List<ParkPageVo> parkPageList;
//--------------------开发区内土地列表--------------------------------
@ApiModelProperty(value = "开发区内土地列表")
private List<LandPageVo> LandPageList;
@ApiModelProperty(value = "轮播图")
private List<String> imgUrlList;
@ApiModelProperty(value = "轮播视频")
private List<VideoVo> videoUrlList;
@ApiModelProperty(value = "VR")
private List<VrVo> vrUrlList;
@ApiModelProperty(value = "载体数目")
private Integer carrierNum;
}
package com.postcard.service.moudle.development.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "开发区产业政策信息")
public class DevelopmentPolicyVo {
@ApiModelProperty(value = "政策类型")
private String type;
@ApiModelProperty(value = "政策名称")
private String name;
@ApiModelProperty(value = "政策类型")
private String content;
}
......@@ -5,6 +5,8 @@ import cn.hutool.core.date.TimeInterval;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.postcard.service.domain.ParamEntity;
import com.postcard.service.enums.ParkStatusEnum;
import com.postcard.service.moudle.development.service.DevelopmentInfoService;
import com.postcard.service.moudle.development.vo.DevelopmentDetailVo;
import com.postcard.service.moudle.park.dto.ParkPageDto;
import com.postcard.service.moudle.park.service.ParkInfoService;
import com.postcard.service.moudle.park.vo.ParkDetailVo;
......@@ -55,4 +57,5 @@ public class ParkInfoController {
return parkInfoService.detail(id);
}
}
......@@ -43,7 +43,7 @@ public class ParkPageDto {
private List<Integer> statusList;
/** 所属开发区id */
@ApiModelProperty(value = "所属开发区id")
@ApiModelProperty(hidden = true)
private Integer developmentId;
}
......@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.postcard.service.domain.ParamEntity;
import com.postcard.service.moudle.carrier.vo.CarrierInvestmentVo;
import com.postcard.service.moudle.development.vo.DevelopmentDetailVo;
import com.postcard.service.moudle.park.dto.ParkPageDto;
import com.postcard.service.moudle.park.entity.ParkInfo;
import com.postcard.service.moudle.park.vo.ParkDetailVo;
......@@ -36,6 +37,7 @@ public interface ParkInfoService extends IService<ParkInfo> {
**/
ParkDetailVo detail(Integer id);
/**
* @description: 查询园区的一级招商方向
* @date: 2023/11/28 11:23
......
......@@ -15,6 +15,7 @@ import com.postcard.service.enums.ParkStatusEnum;
import com.postcard.service.moudle.carrier.entity.CarrierInfo;
import com.postcard.service.moudle.carrier.service.CarrierInfoService;
import com.postcard.service.moudle.carrier.vo.CarrierInvestmentVo;
import com.postcard.service.moudle.development.vo.DevelopmentDetailVo;
import com.postcard.service.moudle.park.dto.ParkPageDto;
import com.postcard.service.moudle.park.entity.ParkInfo;
import com.postcard.service.moudle.park.entity.ParkInvestmentDirectionInfo;
......@@ -32,6 +33,7 @@ import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.checkerframework.checker.units.qual.C;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
......@@ -53,11 +55,13 @@ public class ParkInfoServiceImpl extends ServiceImpl<ParkInfoMapper, ParkInfo>
"rentPrice,salePrice,propertyPrice,electricityPrice,industrialWater,substationLevel,lifeSewagePrice,gas,steam,nresidentsHeating";
@Autowired
ParkInvestmentDirectionInfoService parkInvestmentDirectionInfoService;
private ParkInvestmentDirectionInfoService parkInvestmentDirectionInfoService;
@Autowired
SysCarouselInfoService sysCarouselInfoService;
private SysCarouselInfoService sysCarouselInfoService;
@Autowired
CarrierInfoService carrierInfoService;
private CarrierInfoService carrierInfoService;
@Value("${development.id}")
private Integer developmentId;
/**
* @description: 分页查询园区列表
......@@ -69,6 +73,7 @@ public class ParkInfoServiceImpl extends ServiceImpl<ParkInfoMapper, ParkInfo>
public Page<ParkPageVo> pageList(ParamEntity<ParkPageDto> param) {
TimeInterval timer = DateUtil.timer();
ParkPageDto parkInfoParam = param.getCondition();
parkInfoParam.setDevelopmentId(developmentId);
String coverArea = parkInfoParam.getCoverArea();
if (ObjectUtils.isNotEmpty(coverArea)) {
String[] split = coverArea.split("-");
......@@ -138,6 +143,7 @@ public class ParkInfoServiceImpl extends ServiceImpl<ParkInfoMapper, ParkInfo>
return parkDetailVo;
}
/**
* @description: 获取配套设施
* @date: 2023/11/22 10:33
......
package com.postcard.service.moudle.startObjectExtensionInfo.VO;
import lombok.Data;
import java.io.Serializable;
/**
*
* @TableName star_object_extension_info
*/
@Data
public class StarObjectExtensionInfoVO implements Serializable {
/**
*
*/
private String title;
/**
*
*/
private String coverUrl;
/**
* 介绍
*/
private String titleIntroduce;
}
\ No newline at end of file
package com.postcard.service.moudle.startObjectExtensionInfo.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* @TableName star_object_extension_info
*/
@TableName(value = "star_object_extension_info")
@Data
public class StarObjectExtensionInfo implements Serializable {
/**
*
*/
@TableId(type = IdType.AUTO)
private Integer id;
/**
*
*/
private Date createTime;
/**
*
*/
private Date updateTime;
/**
* 排序
*/
private Integer sortNumber;
/**
*
*/
private String title;
/**
*
*/
private String coverUrl;
/**
* 介绍
*/
private String titleIntroduce;
/**
*
*/
private String objectType;
/**
*
*/
private Integer objectId;
private String objectName;
private Integer status;
/**
*
*/
private String titleOfType;
@TableField(exist = false)
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
package com.postcard.service.moudle.startObjectExtensionInfo.enums;
public enum StarObjectTitleOfTypeEnum {
INDUSTRY("产业情况"),
REGION("区域亮点");
private String name;
StarObjectTitleOfTypeEnum(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
package com.postcard.service.moudle.startObjectExtensionInfo.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.postcard.service.moudle.startObjectExtensionInfo.domain.StarObjectExtensionInfo;
/**
* @author lixl
* @description 针对表【star_object_extension_info】的数据库操作Mapper
* @createDate 2023-11-24 14:54:01
* @Entity generator.domain.StarObjectExtensionInfo
*/
public interface StarObjectExtensionInfoMapper extends BaseMapper<StarObjectExtensionInfo> {
}
package com.postcard.service.moudle.startObjectExtensionInfo.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.postcard.service.moudle.startObjectExtensionInfo.VO.StarObjectExtensionInfoVO;
import com.postcard.service.moudle.startObjectExtensionInfo.domain.StarObjectExtensionInfo;
import java.util.List;
import java.util.Map;
/**
* @author lixl
* @description 针对表【star_object_extension_info】的数据库操作Service
* @createDate 2023-11-24 14:54:01
*/
public interface StarObjectExtensionInfoService extends IService<StarObjectExtensionInfo> {
/**
* 开发区 区域亮点、产业情况
* @param id
*/
Map<String, List<StarObjectExtensionInfoVO>> detail(Integer id);
}
package com.postcard.service.moudle.startObjectExtensionInfo.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.postcard.service.enums.CarouselTypeEnum;
import com.postcard.service.enums.StatusEnum;
import com.postcard.service.moudle.development.vo.DevelopmentDetailVo;
import com.postcard.service.moudle.startObjectExtensionInfo.VO.StarObjectExtensionInfoVO;
import com.postcard.service.moudle.startObjectExtensionInfo.domain.StarObjectExtensionInfo;
import com.postcard.service.moudle.startObjectExtensionInfo.mapper.StarObjectExtensionInfoMapper;
import com.postcard.service.moudle.startObjectExtensionInfo.service.StarObjectExtensionInfoService;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @author lixl
* @description 针对表【star_object_extension_info】的数据库操作Service实现
* @createDate 2023-11-24 14:54:01
*/
@Service
public class StarObjectExtensionInfoServiceImpl extends ServiceImpl<StarObjectExtensionInfoMapper, StarObjectExtensionInfo>
implements StarObjectExtensionInfoService {
/**
* 开发区 区域亮点、产业情况
* @param id
*/
@Override
public Map<String, List<StarObjectExtensionInfoVO>> detail(Integer id) {
LambdaQueryWrapper<StarObjectExtensionInfo> queryWrapper =
new LambdaQueryWrapper<StarObjectExtensionInfo>()
.eq(StarObjectExtensionInfo::getStatus, StatusEnum.ENABLE.getCode())
.eq(StarObjectExtensionInfo::getObjectType, CarouselTypeEnum.KAIFAQU.getType())
.eq(StarObjectExtensionInfo::getObjectId, id)
.orderByAsc(StarObjectExtensionInfo::getSortNumber);
List<StarObjectExtensionInfo> extensionAllInfo =
this.baseMapper.selectList(queryWrapper);
Map<String, List<StarObjectExtensionInfoVO>> result = new HashMap<>();
Map<String, List<StarObjectExtensionInfo>> extensionInfoMap =
extensionAllInfo.stream()
.collect(Collectors.groupingBy(StarObjectExtensionInfo::getTitleOfType));
extensionInfoMap.forEach(
(titleOfType, infosList) -> {
List<StarObjectExtensionInfoVO> starObjectExtensionInfoVOList = new ArrayList<>();
infosList.stream()
.forEach(
starObjectExtensionInfo -> {
StarObjectExtensionInfoVO starObjectExtensionInfoVO =
new StarObjectExtensionInfoVO();
BeanUtils.copyProperties(starObjectExtensionInfo, starObjectExtensionInfoVO);
starObjectExtensionInfoVOList.add(starObjectExtensionInfoVO);
});
result.put(titleOfType, starObjectExtensionInfoVOList);
});
return result;
}
}
......@@ -11,7 +11,7 @@ import lombok.*;
*/
@Getter
@Setter
@AllArgsConstructor
//@AllArgsConstructor
@NoArgsConstructor
@ToString
@ApiModel(value = "咨询列表分页查询条件", description = "")
......
......@@ -102,8 +102,8 @@
<select id="pageList" resultType="com.postcard.service.moudle.park.vo.ParkPageVo"
parameterType="com.postcard.service.moudle.park.dto.ParkPageDto">
select id ,name,
-- province_code, province_name,city_code,
-- city_name,region_code,region_name,
province_code, province_name,city_code,
city_name,region_code,region_name,
status,primary_industry,level_code,
level_name,cover_area,img_url,longitude,latitude
from park_info pi
......
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