Commit 1f30947b authored by yaobaizheng's avatar yaobaizheng

立业人接口

parent 9102f3c8
package com.lyy.admin.DTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import java.util.List;
/**
* @Author:zhouxudong
*
* @version: 1.0 @Date: 2023/11/23 14:11 @Description: 分页查询条件
*/
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@ToString
@ApiModel(value = "分页查询条件", description = "分页查询条件")
public class CarrierPageDto {
@ApiModelProperty(value = "所属产业园id")
private Integer parkId;
@ApiModelProperty(value = "招商方向/产业分类")
private String investmentDirection;
@ApiModelProperty(value = "载体名称")
private String name;
/** 省份code */
@ApiModelProperty(value = "省份code")
private String provinceCode;
/** 省份 */
@ApiModelProperty(value = "省份")
private String provinceName;
/** 城市code */
@ApiModelProperty(value = "城市code")
private String cityCode;
/** 城市 */
@ApiModelProperty(value = "城市")
private String cityName;
/** 区/县code */
@ApiModelProperty(value = "区/县code")
private String regionCode;
/** 区/县 */
@ApiModelProperty(value = "区/县")
private String regionName;
@ApiModelProperty(value = "载体面积")
private String carrierArea;
@ApiModelProperty(value = "载体类型")
private String typeInfo;
@ApiModelProperty(value = "建筑结构")
private String carrierConstruction;
@ApiModelProperty(value = "标准层高")
private String floorHeight;
@ApiModelProperty(value = "标准承重")
private String loadBearing;
@ApiModelProperty(value = "柱距")
private String pillarDistance;
@ApiModelProperty(hidden = true)
private Double lowCarrierArea;
@ApiModelProperty(hidden = true)
private Double highCarrierArea;
@ApiModelProperty(hidden = true)
private Double lowFloorHeight;
@ApiModelProperty(hidden = true)
private Double highFloorHeight;
@ApiModelProperty(hidden = true)
private Double lowLoadBearing;
@ApiModelProperty(hidden = true)
private Double highLoadBearing;
@ApiModelProperty(hidden = true)
private Double lowPillarDistance;
@ApiModelProperty(hidden = true)
private Double highPillarDistance;
//数据库映射字段
@ApiModelProperty(hidden = true)
private List<String> carrierType;
}
package com.lyy.admin.VO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
/**
* @Author:zhouxudong
*
* @version: 1.0 @Date: 2023/11/23 14:49 @Description: 载体详情
*/
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@ToString
@ApiModel(value = "载体详情")
public class CarrierDetailVo {
@ApiModelProperty(value = "主键id")
private Integer id;
//-------需要拼接----------
@ApiModelProperty(value = "载体名称")
private String name;
@ApiModelProperty(value = "类型")
private String type;
@ApiModelProperty(value = "建筑面积")
private Double area;
@ApiModelProperty(value = "建筑结构")
private String structure;
// ------------park表取数据 start---------
@ApiModelProperty(value = "招商信息 /")
private List<CarrierInvestmentVo> investmentDetails;
// ------------park表取数据 end---------
// -------------载体详情-------------------
@ApiModelProperty(value = "层数")
private Integer floorNumber;
@ApiModelProperty(value = "层高(m)")
private BigDecimal floorHigh;
@ApiModelProperty(value = "单层面积(㎡)")
private BigDecimal singleArea;
/** 承重(单位:kg/㎡) */
@ApiModelProperty(value = "承重(单位:kg/㎡)")
private BigDecimal weight;
@ApiModelProperty(value = "柱距(m)")
private BigDecimal distance;
@ApiModelProperty(value = "电梯类型")
private String elevatorType;
/** 消防等级 */
@ApiModelProperty(value = "消防等级")
private String fireProtectionLevel;
@ApiModelProperty(value = "耐火等级")
private String fireResistant;
// ----------------所属产业园-----入住要求------》park 园区表中数据-----------------------
// @ApiModelProperty(value = "产业园信息 / 入住要求")
// private CarrierParkVo carrierParkVo;
//----------轮播图-------------------
@ApiModelProperty(value = "轮播图")
private List<String> imgUrls=new ArrayList<>();
@ApiModelProperty(value = "用户解锁额度剩余次数")
private Integer limitNum;
//---------是否可以查看 ---------
@ApiModelProperty(value = "是否可以查看")
private Boolean isView;
}
package com.lyy.admin.VO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
/**
* @Author:zhouxudong
* @version: 1.0
* @Date: 2023/11/24 14:15
* @Description: 招商信息 返回数据
*/
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@ToString
@ApiModel(value = "招商信息 返回数据")
public class CarrierInvestmentVo {
@ApiModelProperty(value = "招商类型")
private Integer code;
@ApiModelProperty(value = "招商类型名称")
private String codeName;
@ApiModelProperty(value = "招商详情")
private String details;
}
package com.lyy.admin.VO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
/**
* @Author:zhouxudong
* @version: 1.0
* @Date: 2023/11/23 14:32
* @Description: 载体分页返回数据
*/
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@ToString
@ApiModel(value = "载体分页返回数据")
public class CarrierPageVo {
@ApiModelProperty(value = "主键id")
private Integer id;
@ApiModelProperty(value = "载体名称")
private String name;
//园区名称
@ApiModelProperty(hidden=true)
private String parkName;
/** 省份code */
@ApiModelProperty(value = "省份code")
private String provinceCode;
/** 省份 */
@ApiModelProperty(value = "省份")
private String provinceName;
/** 城市code */
@ApiModelProperty(value = "城市code")
private String cityCode;
/** 城市 */
@ApiModelProperty(value = "城市")
private String cityName;
/** 区/县code */
@ApiModelProperty(value = "区/县code")
private String regionCode;
/** 区/县 */
@ApiModelProperty(value = "区/县")
private String regionName;
@ApiModelProperty(value = "建筑面积")
private Double area;
@ApiModelProperty(value = "载体类型")
private String type;
@ApiModelProperty(value = "图片")
private String imgUrl;
}
......@@ -116,6 +116,9 @@ public class DevelopmentInfoListVO implements Serializable {
@ApiModelProperty(value = "认证状态(1-未认证;2-认证中;3-已认证;4-已拒绝;9-已回退)")
private Integer status;
@ApiModelProperty(value = "认证状态(1-未认证;2-认证中;3-已认证;4-已拒绝;9-已回退)")
private String statusName;
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
package com.lyy.admin.VO;
import com.lyy.admin.domain.system.SysCarouselInfo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
@Data
public class LyrHomePageVo {
@ApiModelProperty(value = "园区总数")
private Long parkInfoCount = 0l;
@ApiModelProperty(value = "开发区总数")
private Long developmentInfoCount = 0l;
@ApiModelProperty(value = "载体总数")
private Long carrirInfoCount = 0l;
@ApiModelProperty(value = "土地总数")
private Long landInfoCount = 0l;
@ApiModelProperty(value = "热点园区")
private List<ParkInfoListVO> parkInfoListVO =new ArrayList<>();
}
......@@ -110,6 +110,12 @@ public class ParkInfoListVO implements Serializable {
@ApiModelProperty(value = "认证状态(1-未认证;2-认证中;3-已认证;4-已拒绝;9-已回退)")
private Integer status;
/**
* 认证状态(1-未认证;2-认证中;3-已认证;4-已拒绝)
*/
@ApiModelProperty(value = "认证状态(1-未认证;2-认证中;3-已认证;4-已拒绝;9-已回退)")
private String statusName;
/**
* 占地面积(单位:亩)
*/
......
......@@ -22,6 +22,7 @@ public class RedisConstants {
**/
public static final String LIMIT_SMS="liyeren_limit_sms:";
// 字典表数据 key
public static final String DICT_DATA = "dict_data";
//---------------------end------------------------------
}
package com.lyy.admin.common.utils;
import org.springframework.util.ObjectUtils;
import java.util.StringJoiner;
/**
* @Author:zhouxudong
* @version: 1.0
* @Date: 2023/11/28 15:00
* @Description:
*/
public class DataUtil {
public static String dealProvince(String province,String city){
StringJoiner sj = new StringJoiner("");
if(!ObjectUtils.isEmpty(province)){
province= province.replace("省", "");
if (province.contains("市")) {
province = "";
}
}else {
province = "";
}
if(!ObjectUtils.isEmpty(city)){
city = city.replace("市", "");
}else {
city ="";
}
return sj.add(province).add(city).toString();
}
}
......@@ -327,4 +327,14 @@ public class RedisUtil {
public static boolean addZset(String key,Object fileds,double end){
return Boolean.TRUE.equals(redisTemplate.opsForZSet().add(key, fileds, end));
}
/**
* @description: 删除指定redis 中 hash类型某个key
* @date: 2023/11/27 16:57
* @param: [key, fileds]
* @return: java.lang.Long
**/
public static boolean delHashKey(final String key,final String fileds){
return redisTemplate.opsForHash().delete(key,fileds)>0;
}
}
......@@ -3,18 +3,40 @@ package com.lyy.admin.controller.api;
import cn.hutool.crypto.SecureUtil;
import cn.hutool.crypto.symmetric.AES;
import cn.hutool.crypto.symmetric.SymmetricAlgorithm;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageInfo;
import com.lyy.admin.DTO.CarrierPageDto;
import com.lyy.admin.VO.*;
import com.lyy.admin.VO.sms.SendPhoneVo;
import com.lyy.admin.common.anno.Decrypt;
import com.lyy.admin.common.anno.Encrypt;
import com.lyy.admin.common.page.TableDataInfo;
import com.lyy.admin.controller.BaseController;
import com.lyy.admin.domain.developmentinfo.DevelopmentInfo;
import com.lyy.admin.domain.developmentinfo.DevelopmentInfoParam;
import com.lyy.admin.domain.parkinfo.ParkInfo;
import com.lyy.admin.domain.parkinfo.ParkInfoParam;
import com.lyy.admin.enumerate.DevelopmentStatusEnum;
import com.lyy.admin.enumerate.ExamineStatusEnum;
import com.lyy.admin.enumerate.ParkInfoEnum;
import com.lyy.admin.service.carrierinfo.CarrierInfoService;
import com.lyy.admin.service.developmentinfo.DevelopmentIndustrialLandInfoService;
import com.lyy.admin.service.developmentinfo.DevelopmentInfoService;
import com.lyy.admin.service.liyerenapi.LiyerenService;
import com.lyy.admin.service.parkinfo.ParkInfoService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.stream.Collectors;
/**
......@@ -26,10 +48,22 @@ import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/api/liyeren")
@Api(tags = "立业人接口")
public class ApiController {
public class ApiController extends BaseController {
@Autowired
LiyerenService liyerenService;
@Autowired
ParkInfoService parkInfoService;
@Autowired
DevelopmentInfoService developmentInfoService;
@Autowired
CarrierInfoService carrierInfoService;
@Autowired
DevelopmentIndustrialLandInfoService landInfoService;
//@Encrypt 加在方法上 @Decrypt 加在参数上
@PostMapping("/sendMsg")
......@@ -39,7 +73,147 @@ public class ApiController {
}
@PostMapping("/park/pageList")
@ApiOperation(value = "园区分页查询", notes = "")
@ApiImplicitParams({
@ApiImplicitParam(name = "pageNum", value = "第几页(可为空,后台默认值:1)", type = "String"),
@ApiImplicitParam(name = "pageSize", value = "每页展示数据量(可为空,后台默认值:10)", type = "String"),
@ApiImplicitParam(name = "orderByColumn", value = "排序字段(可为空,传类属性)", type = "String"),
@ApiImplicitParam(name = "isAsc", value = "排序字段(可为空,请传asc或者desc)", type = "String")
})
public TableDataInfo parkPageList(ParkInfoParam parkInfoParam) {
String status = ParkInfoEnum.STATUS_YRZ.getCode()+","+ParkInfoEnum.STATUS_DRZ.getCode();
parkInfoParam.setStatus(status);
startPage();
List<ParkInfo> lists = parkInfoService.selectParkInfoListVO(parkInfoParam);
List<ParkInfoListVO> parkInfoListVOs = lists.stream().map(parkInfo -> {
ParkInfoListVO parkInfoListVO = new ParkInfoListVO();
BeanUtils.copyProperties(parkInfo, parkInfoListVO);
parkInfoListVO.setStatusName(
ObjectUtils.isNotEmpty(parkInfoListVO.getStatus())
&& ExamineStatusEnum.STATUS_YRZ.getCode().equals(parkInfoListVO.getStatus())
? ExamineStatusEnum.getName(parkInfoListVO.getStatus())
: "");
return parkInfoListVO;
}).collect(Collectors.toList());
return getDataTable(parkInfoListVOs, new PageInfo(lists).getTotal());
}
@GetMapping("/park/detail/{id}")
@ApiOperation(value = "园区详情信息", notes = "rest风格传参,将参数拼接在url上")
@ApiImplicitParam(name = "id", value = "园区id", type = "Integer")
public ParkInfoAllVO parkDetail(@PathVariable Integer id) {
return parkInfoService.getParkInfo(id, 0, true);
}
@PostMapping("/development/pageList")
@ApiOperation(value = "开发区分页查询",notes = "")
@ApiImplicitParams({
@ApiImplicitParam(name = "pageNum", value = "第几页(可为空,后台默认值:1)", type = "String"),
@ApiImplicitParam(name = "pageSize", value = "每页展示数据量(可为空,后台默认值:10)", type = "String"),
@ApiImplicitParam(name = "orderByColumn", value = "排序字段(可为空,传类属性)", type = "String"),
@ApiImplicitParam(name = "isAsc", value = "排序字段(可为空,请传asc或者desc)", type = "String")
})
public TableDataInfo developmentPageList(DevelopmentInfoParam developmentInfoParam) {
String status = DevelopmentStatusEnum.STATUS_YRZ.getCode()+","+DevelopmentStatusEnum.STATUS_DRZ.getCode();
developmentInfoParam.setStatus(status);
startPage();
List<DevelopmentInfo> developmentInfos = developmentInfoService.selectDevelopmentInfoVOList(developmentInfoParam);
List<DevelopmentInfoListVO> developmentInfoVOs = developmentInfos.stream().map(developmentInfo -> {
DevelopmentInfoListVO developmentInfoVO = new DevelopmentInfoListVO();
BeanUtils.copyProperties(developmentInfo, developmentInfoVO);
developmentInfoVO.setStatusName(
ObjectUtils.isNotEmpty(developmentInfoVO.getStatus())
&& ExamineStatusEnum.STATUS_YRZ.getCode().equals(developmentInfoVO.getStatus())
? ExamineStatusEnum.getName(developmentInfoVO.getStatus())
: "");
return developmentInfoVO;
}).collect(Collectors.toList());
return getDataTable(developmentInfoVOs,new PageInfo(developmentInfos).getTotal());
}
@GetMapping("/development/detail/{id}")
@ApiOperation(value = "开发区详情",notes = "rest风格传参,将参数拼接在url上")
@ApiImplicitParam(name = "id", value = "开发区id", type = "Integer")
public DevelopmentInfoAllVO developmentDetail(@PathVariable Integer id) {
return developmentInfoService.getDevelopmentInfo(id,0,true);
}
@PostMapping("/carrier/pageList")
@ApiOperation(value = "分页获取载体信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "pageNum", value = "第几页(可为空,后台默认值:1)", type = "String"),
@ApiImplicitParam(name = "pageSize", value = "每页展示数据量(可为空,后台默认值:10)", type = "String"),
@ApiImplicitParam(name = "orderByColumn", value = "排序字段(可为空,传类属性)", type = "String"),
@ApiImplicitParam(name = "isAsc", value = "排序字段(可为空,请传asc或者desc)", type = "String")
})
public TableDataInfo carrierPageList(CarrierPageDto carrierPageDto) {
startPage();
List<CarrierPageVo> carrierPageVos = carrierInfoService.pageList(carrierPageDto);
return getDataTable(carrierPageVos);
}
@GetMapping("/carrier/detail/{id}")
@ApiOperation(value = "载体详情",notes = "rest风格传参,将参数拼接在url上")
@ApiImplicitParam(name = "id", value = "载体id", type = "Integer")
public CarrierDetailVo carrierDetail(@PathVariable Integer id) {
return carrierInfoService.detail(id);
}
@GetMapping("/getHomePage")
@ApiOperation(value = "园区总数、开发区总数、土地总数、载体总数、、热点园区", notes = "")
@ApiImplicitParam(name = "area", value = "所选区域名称", type = "String", readOnly = true)
public LyrHomePageVo getHomePage(String areaName) {
LyrHomePageVo homePageVO = new LyrHomePageVo();
long parkInfoCount = 91532l;
if (StringUtils.isNotBlank(areaName)) {
QueryWrapper<ParkInfo> piQW = new QueryWrapper<>();
piQW.and(
w -> w.eq("city_name", areaName)
.or().eq("region_name", areaName)
.or().eq("province_name", areaName)
);
piQW.in("status", ParkInfoEnum.STATUS_YRZ.getCode(),ParkInfoEnum.STATUS_DRZ.getCode());
parkInfoCount = parkInfoService.count(piQW);
}
homePageVO.setParkInfoCount(parkInfoCount);
long developmentInfoCount = 2634l;
if (StringUtils.isNotBlank(areaName)) {
QueryWrapper<DevelopmentInfo> diQW = new QueryWrapper<>();
diQW.and(
w -> w.eq("city_name", areaName)
.or().eq("region_name", areaName)
.or().eq("province_name", areaName)
);
diQW.in("status", DevelopmentStatusEnum.STATUS_YRZ.getCode(),DevelopmentStatusEnum.STATUS_DRZ.getCode());
developmentInfoCount = developmentInfoService.count(diQW);
}
homePageVO.setDevelopmentInfoCount(developmentInfoCount);
long carrirInfoCount = 11304;
if (StringUtils.isNotBlank(areaName)) {
carrirInfoCount = carrierInfoService.count(areaName);
}
homePageVO.setCarrirInfoCount(carrirInfoCount);
long landInfoCount = 8657;
if (StringUtils.isNotBlank(areaName)) {
landInfoCount = landInfoService.count(areaName);
}
homePageVO.setLandInfoCount(landInfoCount);
List<ParkInfo> lists = parkInfoService.selectHotParkInfoListVO();
List<ParkInfoListVO> parkInfoListVOs = lists.stream().map(parkInfo -> {
ParkInfoListVO parkInfoListVO = new ParkInfoListVO();
BeanUtils.copyProperties(parkInfo, parkInfoListVO);
return parkInfoListVO;
}).collect(Collectors.toList());
homePageVO.setParkInfoListVO(parkInfoListVOs);
return homePageVO;
}
......
package com.lyy.admin.controller.carrier;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.lyy.admin.DTO.CarrierPageDto;
import com.lyy.admin.VO.CarrierPageVo;
import com.lyy.admin.common.page.TableDataInfo;
import com.lyy.admin.controller.BaseController;
import com.lyy.admin.service.carrierinfo.CarrierInfoService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import static com.lyy.admin.common.utils.PageUtils.startPage;
/**
* @Author:zhouxudong
* @version: 1.0
* @Date: 2023/11/23 13:46
* @Description: 载体
*/
@RestController
@RequestMapping("/api/carrier/v1.0")
@Api(tags = "载体信息")
@RequiredArgsConstructor
public class CarrierController extends BaseController {
private final CarrierInfoService carrierInfoService;
@PostMapping("/page")
@ApiOperation(value = "分页获取载体信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "pageNum", value = "第几页(可为空,后台默认值:1)", type = "String"),
@ApiImplicitParam(name = "pageSize", value = "每页展示数据量(可为空,后台默认值:10)", type = "String"),
@ApiImplicitParam(name = "orderByColumn", value = "排序字段(可为空,传类属性)", type = "String"),
@ApiImplicitParam(name = "isAsc", value = "排序字段(可为空,请传asc或者desc)", type = "String")
})
public TableDataInfo page(CarrierPageDto carrierPageDto) {
startPage();
List<CarrierPageVo> carrierPageVos = carrierInfoService.pageList(carrierPageDto);
return getDataTable(carrierPageVos);
}
// public Page<CarrierPageVo> page(@RequestBody ParamEntity<CarrierPageDto> carrierPageDto){
// return this.carrierInfoService.pageList(carrierPageDto);
// }
// @GetMapping("/detail/{id}")
// @ApiOperation(value = "详情")
// @ApiImplicitParam(name = "id", value = "载体信息id", type = "Integer")
// public CarrierDetailVo detail(@PathVariable("id") Integer id, HttpServletRequest request){
// String token = request.getHeader(Constants.TOKEN_HEADER);
// return this.carrierInfoService.detail(id,token);
// }
}
......@@ -117,14 +117,6 @@ public class HomePageController extends BaseController {
String megalopolisInfoName = "";
Integer megalopoisId = null;
if (StringUtils.isNotBlank(area)) {
// QueryWrapper<MegalopolisInfo> miQW = new QueryWrapper<>();
// miQW.and(
// w -> w.eq("city_name", area)
// .or().eq("region_name", area)
// .or().eq("province_name", area)
// );
// megalopolisInfoCount = megalopolisInfoService.count(miQW);
QueryWrapper<MegalopolisCoreCityInfo> mcciQW = new QueryWrapper<>();
mcciQW.eq("city_name",area);
MegalopolisCoreCityInfo megalopolisCoreCityInfo = megalopolisCoreCityInfoService.getOne(mcciQW);
......@@ -152,8 +144,6 @@ public class HomePageController extends BaseController {
}
}
// long coverCityCount = homepageService.coverCityCount();
QueryWrapper<SysCarouselInfo> sysCarouselInfoQW = new QueryWrapper<>();
sysCarouselInfoQW.eq("`status`", 1);
sysCarouselInfoQW.eq("`type`", 3);
......@@ -172,15 +162,9 @@ public class HomePageController extends BaseController {
homePageVO.setMegalopolisInfoCount(megalopolisInfoCount);
homePageVO.setMegalopolisInfoId(megalopoisId);
homePageVO.setMegalopolisInfoName(megalopolisInfoName);
// homePageVO.setCoverCityCount(coverCityCount);
homePageVO.setSysCarouselInfolist(list);
homePageVO.setParkInfoListVO(parkInfoListVOs);
System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
// homePageVO.setParkInfoCount(100000l);
// homePageVO.setDevelopmentInfoCount(2600l);
// homePageVO.setMegalopolisInfoCount(30l);
//// homePageVO.setCoverCityCount(100l);
// homePageVO.setSysCarouselInfolist(list);
return homePageVO;
}
......
package com.lyy.admin.controller.system;
import cn.hutool.json.JSONObject;
import com.lyy.admin.domain.system.SysDictDataEntity;
import com.lyy.admin.service.system.SysDictDataService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @author: zhouxudong
* @version: 1.0
* @createTime: 2023/11/22 11:19
* @description: 字典表
*/
@Api(tags = "字典表对象功能接口")
@RestController
@RequestMapping("/api/sysDictData")
@RequiredArgsConstructor
public class SysDictDataController {
private final SysDictDataService sysDictDataService;
/**
* @description: 通过类型查询列表
* @date: 2023/11/22 11:17
* @param: [code]
* @return: java.util.List<com.lyy.admin.moudle.system.entity.SysDictDataEntity>
*/
@PostMapping("/listByCodes")
@ApiOperation(value = "通过类型查询字典列表",
notes = "园区(产业园级别:park_level;招商方向:park_direction;产业园面积:park_area;产业资源:park_resources;产业政策:industry_policy)" +
"开发区(开发区级别:development_level;开发区类型:development_type;招商方向:development_direction;开发区面积:development_area;产业政策:industry_policy" +
"土地(土地价格:land_price;土地类型:land_type;土地面积:land_area;)" +
"载体(载体面积:carrier_area;载体类型:carrier_type;建筑结构:carrier_construction;标准层高:floor_height;标准承重:load_bearing;柱距:pillar_distance)")
@ApiImplicitParam(name = "code", value = "字典查询关键词,以英文逗号拼接", type = "String")
public JSONObject listByCodes(String code) {
return this.sysDictDataService.listByCodes(code);
}
/**
* @description: 删除
* @date: 2023/11/27 16:50
* @param: [key]
* @return: boolean
**/
@DeleteMapping("/delete")
public boolean deleteRedis(@RequestParam(required=false) String key){
return this.sysDictDataService.deleteRedis(key);
}
/**
* @description: 查询数据 保存到redis
* @date: 2023/11/27 17:03
* @param: []
* @return: java.util.List<com.lyy.admin.moudle.system.entity.SysDictDataEntity>
**/
@GetMapping("/list")
public List<SysDictDataEntity> list(){
return this.sysDictDataService.saveRedis();
}
}
......@@ -15,14 +15,12 @@ import javax.validation.constraints.NotNull;
/**
*
* @TableName carrier_info
* @TableName carrier_info 载体主表
*/
@TableName(value ="carrier_info")
@Data
public class CarrierInfo implements Serializable {
/**
*
*/
@TableId(type = IdType.AUTO)
@ApiModelProperty(hidden = true)
private Integer id;
......@@ -153,6 +151,12 @@ public class CarrierInfo implements Serializable {
@ApiModelProperty(value = "耐火等级")
private String fireResistant;
@ApiModelProperty(value = "图片")
private String imgUrl;
@ApiModelProperty(value = "承重")
private String weight;
@TableField(exist = false)
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
package com.lyy.admin.domain.system;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import java.io.Serializable;
import java.util.Date;
/**
* 字典表;
* @author : http://www.chiner.pro
* @date : 2023-11-22
*/
@ApiModel(value = "字典表",description = "")
@TableName("sys_dict_data")
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class SysDictDataEntity implements Serializable{
// @TableId
// private Integer id;
/** 字典编号 */
@ApiModelProperty(name = "字典编号",notes = "")
@TableId
private String dictCode ;
/** 排序 */
@ApiModelProperty(name = "排序",notes = "")
private String dictSort ;
/** 标签 */
@ApiModelProperty(name = "标签",notes = "")
private String dictLabel ;
/** 键值 */
@ApiModelProperty(name = "键值",notes = "")
private String dictValue ;
/** 类型 */
@ApiModelProperty(name = "类型",notes = "")
private String dictType ;
/** 样式属性 */
@ApiModelProperty(name = "样式属性",notes = "")
private String cssClass ;
/** 表格回显样式 */
@ApiModelProperty(name = "表格回显样式",notes = "")
private String listClass ;
/** 是否默认 */
@ApiModelProperty(name = "是否默认",notes = "")
private String isDefault ;
/** 状态(0正常 1停用) */
@ApiModelProperty(name = "状态(0正常 1停用)",notes = "")
private String status ;
@ApiModelProperty(name = "状态(0正常 1停用)",notes = "")
private String detail ;
/** 备注 */
@ApiModelProperty(name = "备注",notes = "")
private String remark ;
/** 创建人 */
@ApiModelProperty(name = "创建人",notes = "")
private String createBy ;
/** 创建时间 */
@ApiModelProperty(name = "创建时间",notes = "")
private Date createTime ;
/** 更新人 */
@ApiModelProperty(name = "更新人",notes = "")
private String updateBy ;
/** 更新时间 */
@ApiModelProperty(name = "更新时间",notes = "")
private Date updateTime ;
}
package com.lyy.admin.enumerate;
import lombok.Getter;
/**
* @author: zhouxudong
* @version: 1.0
* @createTime: 2023/11/22 17:15
* @description: 字典code类型
*/
@Getter
public enum DictCodeEnum {
LAND_DIRECTION("land_direction", "土地招商方向"),
CARRIER_DIRECTION("carrier_direction", "载体招商方向"),
PARK_LEVEL("park_level", "园区级别"),
CARRIER_TYPE("carrier_type", "载体类型 映射"),
DEVELOPMENT_LEVEL("development_level", "开发区级别 映射"),
CAROUSEL_TYPE("carousel_type", "轮播图 映射"),
DEVELOPMENT_TYPE("development_type", "开发区类型 映射");
private final String code;
private final String name;
DictCodeEnum(String code, String name) {
this.code = code;
this.name = name;
}
}
package com.lyy.admin.enumerate;
import lombok.Getter;
/**
* @author: zhouxudong
* @version: 1.0
* @createTime: 2023/11/24 15:59
* @description: 开发区状态信息
*/
@Getter
public enum ExamineStatusEnum {
STATUS_WRZ(1,"草稿"),
STATUS_RZZ(2,"认证中"),
STATUS_YRZ(3,"已认证"),
STATUS_YJJ(4,"未通过"),
STATUS_DRZ(5,"待认证"),
STATUS_ZF(9,"作废");
private Integer code;
private String name;
ExamineStatusEnum(Integer typeId, String name) {
this.code = typeId;
this.name = name;
}
public Integer getCode() {
return code;
}
public String getName() {
return name;
}
public static String getName(Integer code){
for (ExamineStatusEnum bt: values()){
if (bt.code.equals(code)){
return bt.name;
}
}
return null;
}
}
package com.lyy.admin.mapper.carrierinfo;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.lyy.admin.DTO.CarrierPageDto;
import com.lyy.admin.VO.CarrierPageVo;
import com.lyy.admin.domain.carrierinfo.CarrierInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.lyy.admin.VO.CarrierInfoListVO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
......@@ -15,6 +19,11 @@ import java.util.List;
public interface CarrierInfoMapper extends BaseMapper<CarrierInfo> {
public List<CarrierInfoListVO> selectCarrierInfoVOList(Integer id);
List<CarrierPageVo> pageList(@Param("param") CarrierPageDto carrierPageDto);
Long count(String areaName);
}
......
......@@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
public interface DevelopmentIndustrialLandInfoMapper extends BaseMapper<DevelopmentIndustrialLandInfo> {
Long count(String areaName);
}
......
package com.lyy.admin.mapper.system;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.lyy.admin.domain.system.SysDictDataEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* @author: zhouxudong
* @version: 1.0
* @createTime: 2023/11/22 11:19
* @description: 字典表
*/
@Mapper
public interface SysDictDataMapper extends BaseMapper<SysDictDataEntity>{
}
package com.lyy.admin.service.carrierinfo;
import com.lyy.admin.DTO.CarrierPageDto;
import com.lyy.admin.VO.CarrierDetailVo;
import com.lyy.admin.VO.CarrierPageVo;
import com.lyy.admin.domain.carrierinfo.CarrierInfo;
import com.baomidou.mybatisplus.extension.service.IService;
import com.lyy.admin.VO.CarrierInfoListVO;
......@@ -15,4 +18,9 @@ public interface CarrierInfoService extends IService<CarrierInfo> {
public List<CarrierInfoListVO> selectCarrierInfoVOList(Integer id);
List<CarrierPageVo> pageList(CarrierPageDto carrierPageDto);
CarrierDetailVo detail(Integer id);
Long count(String areaName);
}
package com.lyy.admin.service.carrierinfo.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.NumberUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.lyy.admin.DTO.CarrierPageDto;
import com.lyy.admin.VO.CarrierDetailVo;
import com.lyy.admin.VO.CarrierInvestmentVo;
import com.lyy.admin.VO.CarrierPageVo;
import com.lyy.admin.common.constant.RedisConstants;
import com.lyy.admin.common.utils.DataUtil;
import com.lyy.admin.common.utils.MethodUtils;
import com.lyy.admin.common.utils.StringUtils;
import com.lyy.admin.common.utils.redis.RedisUtil;
import com.lyy.admin.domain.carrierinfo.CarrierInfo;
import com.lyy.admin.VO.CarrierInfoListVO;
import com.lyy.admin.domain.system.SysDictDataEntity;
import com.lyy.admin.enumerate.DictCodeEnum;
import com.lyy.admin.service.carrierinfo.CarrierInfoService;
import com.lyy.admin.mapper.carrierinfo.CarrierInfoMapper;
import com.lyy.admin.service.parkinfo.ParkInfoService;
import com.lyy.admin.service.system.SysDictDataService;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.*;
/**
* @author 26996
......@@ -20,12 +39,125 @@ public class CarrierInfoServiceImpl extends ServiceImpl<CarrierInfoMapper, Carri
implements CarrierInfoService{
@Autowired
CarrierInfoMapper carrierInfoMapper;
SysDictDataService sysDictDataService;
// @Autowired
// ParkInfoService parkInfoService;
@Override
public List<CarrierInfoListVO> selectCarrierInfoVOList(Integer id) {
List<CarrierInfoListVO> carrierInfoVOS = carrierInfoMapper.selectCarrierInfoVOList(id);
List<CarrierInfoListVO> carrierInfoVOS = this.baseMapper.selectCarrierInfoVOList(id);
return carrierInfoVOS;
}
@Override
public List<CarrierPageVo> pageList(CarrierPageDto carrierPageDto) {
String carrierArea = carrierPageDto.getCarrierArea();
String floorHeight = carrierPageDto.getFloorHeight();
String loadBearing = carrierPageDto.getLoadBearing();
String pillarDistance = carrierPageDto.getPillarDistance();
if (StringUtils.isNotBlank(carrierArea)) {
String[] split = carrierArea.split("-");
carrierPageDto.setLowCarrierArea(Double.valueOf(split[0]));
if (split.length > 1) {
carrierPageDto.setHighCarrierArea(Double.valueOf(split[1]));
}
}
if (StringUtils.isNotBlank(floorHeight)) {
String[] split = floorHeight.split("-");
carrierPageDto.setLowFloorHeight(Double.valueOf(split[0]));
if (split.length > 1) {
carrierPageDto.setHighFloorHeight(Double.valueOf(split[1]));
}
}
if (StringUtils.isNotBlank(loadBearing)) {
String[] split = loadBearing.split("-");
carrierPageDto.setLowLoadBearing(Double.valueOf(split[0]));
if (split.length > 1) {
carrierPageDto.setHighLoadBearing(Double.valueOf(split[1]));
}
}
if (StringUtils.isNotBlank(pillarDistance)) {
String[] split = pillarDistance.split("-");
carrierPageDto.setLowPillarDistance(Double.valueOf(split[0]));
if (split.length > 1) {
carrierPageDto.setHighPillarDistance(Double.valueOf(split[1]));
}
}
// 映射字段
String carrierType = carrierPageDto.getTypeInfo();
if (StringUtils.isNotBlank(carrierType)) {
Map<String, SysDictDataEntity> dictDataEntityMap =
this.sysDictDataService.listByCode(DictCodeEnum.CARRIER_TYPE.getCode());
SysDictDataEntity sysDictDataEntity = dictDataEntityMap.get(carrierType);
if (ObjectUtils.isNotEmpty(sysDictDataEntity)) {
String detail = sysDictDataEntity.getDetail();
carrierPageDto.setCarrierType(Arrays.asList(detail.split(",")));
}
}
List<CarrierPageVo> records = this.baseMapper.pageList(carrierPageDto);
if(!CollectionUtils.isEmpty(records)){
records.forEach(data->{
StringJoiner sj = new StringJoiner("");
String provinceName = data.getProvinceName();
String cityName = data.getCityName();
Double area = data.getArea();
String name = sj.add(DataUtil.dealProvince(provinceName, cityName)).add(data.getRegionName()).add(data.getParkName()).
add(ObjectUtils.isEmpty(area) ? "" : NumberUtil.roundStr(area,0) + "㎡").add(data.getType()).toString();
data.setName(name);
});
}
return records;
}
@Override
public CarrierDetailVo detail(Integer id) {
CarrierInfo carrierInfo = this.getById(id);
CarrierDetailVo carrierDetailVo = BeanUtil.copyProperties(carrierInfo, CarrierDetailVo.class);
// 招商方向
List<CarrierInvestmentVo> investmentVos=new ArrayList<>();
Integer parkId = carrierInfo.getParkId();
// if(ObjectUtils.isNotEmpty(parkId)){
// investmentVos = parkInfoService.listInvestDetail(carrierInfo.getParkId());
// }
// carrierDetailVo.setInvestmentDetails(investmentVos);
// // 入住要求
// if (ObjectUtils.isNotEmpty(parkId)) {
// ParkInfo parkInfo = parkInfoService.getById(parkId);
// Optional.ofNullable(parkInfo)
// .ifPresent(
// data -> {
// // ---产业园信息--
// CarrierParkVo carrierParkVo = BeanUtil.copyProperties(data, CarrierParkVo.class);
//
// List<String> list = this.parkInfoService.investmentDirection(data.getId());
// carrierParkVo.setInvestmentDetails(list);
// carrierDetailVo.setCarrierParkVo(carrierParkVo);
// });
// }
// // 轮播图
// carrierDetailVo.setImgUrls(this.sysCarouselInfoService.getImgUrls(CarouselTypeEnum.CARRIER.getType(),id));
//// //视频
//// carrierDetailVo.setVideoUrlList(this.sysCarouselInfoService.getVideos(CarouselTypeEnum.CARRIER.getType(), id));
//
// if(carrierDetailVo.getCarrierParkVo() != null){
// StringJoiner sj = new StringJoiner("");
// String provinceName = carrierDetailVo.getCarrierParkVo().getProvinceName();
// String cityName = carrierDetailVo.getCarrierParkVo().getCityName();
// Double area = carrierDetailVo.getArea();
// String name = sj.add(DataUtil.dealProvince(provinceName, cityName)).add(carrierDetailVo.getCarrierParkVo().getRegionName()).
// add(carrierDetailVo.getCarrierParkVo().getName()).add(ObjectUtils.isEmpty(area) ? "" : NumberUtil.roundStr(area,0) + "㎡").add(carrierDetailVo.getType()).toString();
// carrierDetailVo.setName(name);
// }
return carrierDetailVo;
}
@Override
public Long count(String areaName) {
return this.baseMapper.count(areaName);
}
}
......
......@@ -14,4 +14,6 @@ import java.util.List;
public interface DevelopmentIndustrialLandInfoService extends IService<DevelopmentIndustrialLandInfo> {
List<DevelopmentIndustrialLandInfo> listByParam(LandInfoParam landInfoParam);
Long count(String areaName);
}
......@@ -38,6 +38,11 @@ public class DevelopmentIndustrialLandInfoServiceImpl extends ServiceImpl<Develo
List<DevelopmentIndustrialLandInfo> landInfos = developmentIndustrialLandInfoMapper.selectList(developmentIndustrialLandInfoLambdaQueryWrapper);
return landInfos;
}
@Override
public Long count(String areaName) {
return this.baseMapper.count(areaName);
}
}
......
......@@ -336,7 +336,7 @@ public class ParkInfoServiceImpl extends ServiceImpl<ParkInfoMapper, ParkInfo> i
PSIWrapper.eq("park_id", id);
List<ParkSewageInfo> parkSewageInfos = parkSewageInfoMapper.selectList(PSIWrapper);
// parkInfoAllVO.setParkSewageInfo(parkSewageInfos);
Map<String, BigDecimal> map = parkSewageInfos.stream().collect(Collectors.toMap(ParkSewageInfo::getType, ParkSewageInfo::getPrice, (key1, key2) -> key1));
Map<String, BigDecimal> map = parkSewageInfos.stream().filter(e-> StringUtils.isNotBlank(e.getType())).collect(Collectors.toMap(ParkSewageInfo::getType, ParkSewageInfo::getPrice, (key1, key2) -> key1));
ParkInfoVO parkInfoVO = new ParkInfoVO();
BeanUtils.copyProperties(parkInfo, parkInfoVO);
......
package com.lyy.admin.service.system;
import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;
import com.lyy.admin.domain.system.SysDictDataEntity;
import java.util.List;
import java.util.Map;
/**
* @author: zhouxudong
* @version: 1.0
* @createTime: 2023/11/22 11:19
* @description: 字典表
*/
public interface SysDictDataService extends IService<SysDictDataEntity> {
Map<String, SysDictDataEntity> listByCode(String code);
/**
* @author: yaobaizheng
* @createTime: 2023/11/28 11:19
* @description: 通过code查询字典数据
*/
JSONObject listByCodes(String code);
/**
* @description: 删除
* @date: 2023/11/27 16:50
* @param: [key]
* @return: boolean
**/
boolean deleteRedis(String key);
/**
* @description: 查询数据 保存到redis
* @date: 2023/11/27 17:03
* @param: []
* @return: java.util.List<com.lyy.admin.moudle.system.entity.SysDictDataEntity>
**/
List<SysDictDataEntity> saveRedis();
}
package com.lyy.admin.service.system.impl;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.lyy.admin.common.constant.RedisConstants;
import com.lyy.admin.common.utils.StringUtils;
import com.lyy.admin.common.utils.redis.RedisUtil;
import com.lyy.admin.domain.system.SysDictDataEntity;
import com.lyy.admin.mapper.system.SysDictDataMapper;
import com.lyy.admin.service.system.SysDictDataService;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @author: zhouxudong
* @version: 1.0
* @createTime: 2023/11/22 11:19
* @description: 字典表
*/
@Service
public class SysDictDataServiceImpl extends ServiceImpl<SysDictDataMapper, SysDictDataEntity> implements SysDictDataService {
@Override
public Map<String, SysDictDataEntity> listByCode(String code) {
Object value= RedisUtil.hGet(RedisConstants.DICT_DATA, code);
Map<String,SysDictDataEntity> result=new HashMap<>();
if(ObjectUtils.isNotEmpty(value)){
List<SysDictDataEntity> list = JSONUtil.toList(JSONUtil.toJsonStr(value), SysDictDataEntity.class);
list.forEach(data->{
result.put(data.getDictValue(),data);
});
}else {
LambdaQueryWrapper<SysDictDataEntity> lambdaQueryWrapper=new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(SysDictDataEntity::getDictType,code).eq(SysDictDataEntity::getStatus,0);
List<SysDictDataEntity> list = this.list(lambdaQueryWrapper);
if(!CollectionUtils.isEmpty(list)){
RedisUtil.hPut(RedisConstants.DICT_DATA, code,list);
}
list.forEach(data->{
result.put(data.getDictValue(),data);
});
}
return result;
}
/**
* @author: yaobaizheng
* @createTime: 2023/11/28 11:19
* @description: 通过code查询字典数据
*/
@Override
// public Map<String, List<SysDictDataEntity>> listByCodes(String code) {
public JSONObject listByCodes(String code) {
// Map<String,List<SysDictDataEntity>> map = new HashMap<>();
JSONObject jsonObject = new JSONObject();
String[] split = code.split(",");
for (String s : split) {
Object value= RedisUtil.hGet(RedisConstants.DICT_DATA, s);
if(ObjectUtils.isNotEmpty(value)){
List<SysDictDataEntity> list = JSONUtil.toList(JSONUtil.toJsonStr(value), SysDictDataEntity.class);
// map.put(s, list);
jsonObject.putOpt(s,list);
}else {
LambdaQueryWrapper<SysDictDataEntity> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(SysDictDataEntity::getDictType, s);
List<SysDictDataEntity> list = this.list(lambdaQueryWrapper);
// map.put(s,list);
jsonObject.putOpt(s,list);
if(!CollectionUtils.isEmpty(list)){
RedisUtil.hPut(RedisConstants.DICT_DATA, s,list);
}
}
}
// return map;
return jsonObject;
}
/**
* @description: 删除 不传key表示删除字典表 传key 删除字典表中某个key
* @date: 2023/11/27 16:50
* @param: [key]
* @return: boolean
**/
@Override
public boolean deleteRedis(String key) {
if(StringUtils.isNotEmpty(key)){
return RedisUtil.delHashKey(RedisConstants.DICT_DATA,key);
}else {
return RedisUtil.del(RedisConstants.DICT_DATA);
}
}
/**
* @description: 查询数据 保存到redis
* @date: 2023/11/27 17:03
* @param: []
* @return: java.util.List<com.lyy.admin.moudle.system.entity.SysDictDataEntity>
**/
@Override
public List<SysDictDataEntity> saveRedis() {
RedisUtil.del(RedisConstants.DICT_DATA);
LambdaQueryWrapper<SysDictDataEntity> queryWrapper=new LambdaQueryWrapper<>();
queryWrapper.eq(SysDictDataEntity::getStatus, 0);
List<SysDictDataEntity> list = this.list(queryWrapper);
Map<String, List<SysDictDataEntity>> collect = list.stream().collect(Collectors.groupingBy(SysDictDataEntity::getDictType));
collect.forEach((code,data)->{
RedisUtil.hPut(RedisConstants.DICT_DATA,code,data);
});
return list;
}
}
......@@ -32,7 +32,10 @@
park_id,building_number,structure,
type,area,fire_protection_level,
has_crown_block,water,electricity,
gas,heating
gas,heating,wenjuanxingid,floor_number,floor_high,single_area,
distance,elevator_type,fire_resistant,
province_code,province_name,city_code,city_name,region_code,region_name,
address,img_url,contact_person,phone,weight
</sql>
<sql id="CarrierInfoVOList">
......@@ -50,4 +53,91 @@
</if>
</where>
</select>
<select id="pageList" parameterType="com.lyy.admin.DTO.CarrierPageDto" resultType="com.lyy.admin.VO.CarrierPageVo">
select
a.id,
b.province_code,
b.province_name,
b.city_code,
b.city_name,
b.region_code,
b.region_name,
b.name as parkName,
a.area,
a.type,
a.img_url
from carrier_info a
left join park_info b on a.park_id=b.id
<where>
1=1
<if test="param.name != null and param.name != ''">
AND CONCAT( REPLACE(b.province_name,'省',''), REPLACE(b.city_name,'市',''),b.region_name,b.name,case when a.area is null then '' else CONCAT(ROUND(a.area,0),'㎡') end ,a.type) LIKE concat('%', #{param.name}, '%')
</if>
<if test="param.carrierType != null and param.carrierType.size() > 0">
AND a.type in
<foreach item="item" collection="param.carrierType" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="param.carrierConstruction != null and param.carrierConstruction != ''">
AND a.structure=#{param.carrierConstruction}
</if>
<if test="param.provinceName != null and param.provinceName != ''">
AND b.province_name=#{param.provinceName}
</if>
<if test="param.cityName != null and param.cityName != ''">
AND b.city_name=#{param.cityName}
</if>
<if test="param.regionName != null and param.regionName != ''">
AND b.region_name=#{param.regionName}
</if>
<if test="param.investmentDirection != null and param.investmentDirection != ''">
and (SELECT GROUP_CONCAT(c.industrial_track) from park_investment_direction_info c where c.park_id=b.id) like concat('%',#{param.investmentDirection}, '%')
</if>
/*载体面积*/
<if test="param.lowCarrierArea != null and param.lowCarrierArea != ''">
AND a.area &gt;=#{param.lowCarrierArea}
</if>
<if test="param.highCarrierArea != null and param.highCarrierArea != ''">
AND a.area &lt;= #{param.highCarrierArea}
</if>
/*层高*/
<if test="param.lowFloorHeight != null and param.lowFloorHeight != ''">
AND a.floor_high &gt;= #{param.lowFloorHeight}
</if>
<if test="param.highFloorHeight != null and param.highFloorHeight != ''">
AND a.floor_high &lt;= #{param.highFloorHeight}
</if>
/*承重*/
<if test="param.lowLoadBearing != null and param.lowLoadBearing != ''">
AND a.weight &gt;= #{param.lowLoadBearing}
</if>
<if test="param.highLoadBearing != null and param.highLoadBearing != ''">
AND a.weight &lt;= #{param.highLoadBearing}
</if>
/*柱距*/
<if test="param.lowPillarDistance != null and param.lowPillarDistance != ''">
AND a.distance &gt;= #{param.lowPillarDistance}
</if>
<if test="param.highPillarDistance != null and param.highPillarDistance != ''">
AND a.distance &lt;= #{param.highPillarDistance}
</if>
<if test="param.parkId != null and param.parkId != ''">
AND a.park_id = #{param.parkId}
</if>
</where>
order by a.create_time desc
</select>
<select id="count" resultType="Long">
select count(1) from carrier_info ci left join park_info pi on ci.park_id = pi.id
<where>
<if test="areaName != null and areaName != ''">
and (pi.province_name=#{areaName}
or pi.city_name=#{areaName}
or pi.region_name=#{areaName} )
</if>
</where>
</select>
</mapper>
......@@ -19,4 +19,15 @@
address,area,land_status,
development_id
</sql>
<select id="count" resultType="Long">
select count(1) from development_industrial_land_info dili left join development_info di on dili.development_id = di.id
<where>
<if test="areaName != null and areaName != ''">
and (di.province_name=#{areaName}
or di.city_name=#{areaName}
or di.region_name=#{areaName} )
</if>
</where>
</select>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.lyy.admin.mapper.system.SysDictDataMapper">
</mapper>
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