Commit 9a97c8ad authored by lixuan's avatar lixuan

feat: 房源

parent d7ee08db
Pipeline #145517 failed with stages
package com.ruoyi.web.controller.house;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.system.domain.house.BusinessEntityInfo;
import com.ruoyi.system.domain.house.HouseResourceBusinessEntityInfoMapping;
import com.ruoyi.system.mapper.house.BusinessEntityInfoMapper;
import com.ruoyi.system.mapper.house.HouseResourceBusinessEntityInfoMappingMapper;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import java.util.stream.Collectors;
@RestController
@RequestMapping("/api/houseResourceBusinessEntityInfoMapping")
public class HouseResourceBusinessEntityInfoMappingController {
......@@ -32,20 +24,20 @@ public class HouseResourceBusinessEntityInfoMappingController {
@PostMapping("/start")
@Transactional(rollbackFor = Exception.class)
public AjaxResult start() {
List<BusinessEntityInfo> businessEntityInfos = businessEntityInfoMapper.selectAllBusinessEntityInfos();
Map<String, List<BusinessEntityInfo>> group = businessEntityInfos.stream().collect(Collectors.groupingBy(BusinessEntityInfo::getHouseResourceId));
group.forEach((houseResourceId, businessEntityInfoList) -> {
System.out.println("当前处理houseId = " + houseResourceId);
if (!CollectionUtils.isEmpty(businessEntityInfoList)) {
for (BusinessEntityInfo businessEntityInfo : businessEntityInfoList) {
HouseResourceBusinessEntityInfoMapping houseResourceBusinessEntityInfoMapping = new HouseResourceBusinessEntityInfoMapping();
houseResourceBusinessEntityInfoMapping.setId(UUID.randomUUID().toString().replaceAll("-", ""));
houseResourceBusinessEntityInfoMapping.setHouseResourceId(houseResourceId);
houseResourceBusinessEntityInfoMapping.setBusinessEntityInfoId(businessEntityInfo.getId());
houseResourceBusinessEntityInfoMappingMapper.insert(houseResourceBusinessEntityInfoMapping);
}
}
});
// List<BusinessEntityInfo> businessEntityInfos = businessEntityInfoMapper.selectAllBusinessEntityInfos();
// Map<String, List<BusinessEntityInfo>> group = businessEntityInfos.stream().collect(Collectors.groupingBy(BusinessEntityInfo::getHouseResourceId));
// group.forEach((houseResourceId, businessEntityInfoList) -> {
// System.out.println("当前处理houseId = " + houseResourceId);
// if (!CollectionUtils.isEmpty(businessEntityInfoList)) {
// for (BusinessEntityInfo businessEntityInfo : businessEntityInfoList) {
// HouseResourceBusinessEntityInfoMapping houseResourceBusinessEntityInfoMapping = new HouseResourceBusinessEntityInfoMapping();
// houseResourceBusinessEntityInfoMapping.setId(UUID.randomUUID().toString().replaceAll("-", ""));
// houseResourceBusinessEntityInfoMapping.setHouseResourceId(houseResourceId);
// houseResourceBusinessEntityInfoMapping.setBusinessEntityInfoId(businessEntityInfo.getId());
// houseResourceBusinessEntityInfoMappingMapper.insert(houseResourceBusinessEntityInfoMapping);
// }
// }
// });
System.out.println("数据处理完成");
return AjaxResult.success();
}
......
......@@ -9,8 +9,6 @@ public class BusinessEntityInfo implements Serializable {
private String id;
private String houseResourceId;
private String name;
private String nature;
......
......@@ -23,14 +23,6 @@ public interface BusinessEntityInfoMapper {
// 查询所有业务实体信息
List<BusinessEntityInfo> selectAllBusinessEntityInfos();
void deleteByHouseResourceId(@Param("houseResourceId") String houseResourceId);
List<BusinessEntityInfo> selectAllBusinessEntityInfosByHouseResourceId(@Param("houseResourceId") String houseResourceId);
List<BusinessEntityInfo> selectAllBusinessEntityInfosByHouseResourceIds(@Param("houseResourceIds") List<String> houseResourceIds);
BigDecimal selectYearSellByHouseResourceId(@Param("houseResourceId") String houseResourceId);
List<BusinessEntityInfo> selectByName(@Param("name") String name);
List<BusinessEntityInfo> selectByIdList(@Param("idList") List<String> idList);
......
package com.ruoyi.system.mapper.house;
import com.ruoyi.system.domain.house.HouseResourceBusinessEntityInfoMapping;
import org.apache.ibatis.annotations.Param;
import java.util.List;
......@@ -15,4 +16,6 @@ public interface HouseResourceBusinessEntityInfoMappingMapper {
List<HouseResourceBusinessEntityInfoMapping> selectByBusinessEntityInfoId(String businessEntityInfoId);
List<HouseResourceBusinessEntityInfoMapping> selectByHouseResourceId(String houseResourceId);
List<HouseResourceBusinessEntityInfoMapping> selectByHouseResourceIds(@Param("houseResourceIds") List<String> houseResourceIds);
}
......@@ -138,14 +138,12 @@ public class HouseResourceServiceImpl implements HouseResourceService {
businessEntityInfos.forEach(x -> {
BusinessEntityDto businessEntityDto = new BusinessEntityDto();
BeanUtils.copyProperties(x, businessEntityDto);
if (StringUtils.hasText(x.getHouseResourceId())) {
List<HouseResourceBusinessEntityInfoMapping> businessEntityInfoMappings = houseResourceBusinessEntityInfoMappingMapper.selectByBusinessEntityInfoId(x.getId());
if (!CollectionUtils.isEmpty(businessEntityInfoMappings)) {
List<HouseResourcePage> list = houseResourceMapper.selectByIdList(businessEntityInfoMappings.stream().map(HouseResourceBusinessEntityInfoMapping::getHouseResourceId).collect(Collectors.toList()));
List<HouseResourcePage> handleList = handleHouseList(list, false);
businessEntityDto.setHouseResources(handleList);
}
}
List<BusinessEntitySell> businessEntitySells = businessEntitySellMapper.selectBusinessEntitySellByEntityId(x.getId());
if (!CollectionUtils.isEmpty(businessEntitySells)) {
businessEntityDto.setBusinessEntitySells(businessEntitySells);
......@@ -405,7 +403,8 @@ public class HouseResourceServiceImpl implements HouseResourceService {
businessEntityStatisticsDetail.setZyzyCount(list.stream().filter(x -> x.getHouseResourceType() == 4).count());
List<String> houseResourceIds = list.stream().map(HouseResourcePage::getId).collect(Collectors.toList());
List<BusinessEntityInfo> businessEntityInfos = businessEntityInfoMapper.selectAllBusinessEntityInfosByHouseResourceIds(houseResourceIds);
List<HouseResourceBusinessEntityInfoMapping> houseResourceMappings = houseResourceBusinessEntityInfoMappingMapper.selectByHouseResourceIds(houseResourceIds);
List<BusinessEntityInfo> businessEntityInfos = businessEntityInfoMapper.selectByIdList(houseResourceMappings.stream().map(HouseResourceBusinessEntityInfoMapping::getBusinessEntityInfoId).collect(Collectors.toList()));
if (CollectionUtils.isEmpty(businessEntityInfos)) {
return businessEntityStatisticsDetail;
}
......@@ -518,14 +517,12 @@ public class HouseResourceServiceImpl implements HouseResourceService {
businessEntityInfos.forEach(x -> {
BusinessEntityDto businessEntityDto = new BusinessEntityDto();
BeanUtils.copyProperties(x, businessEntityDto);
if (StringUtils.hasText(x.getHouseResourceId())) {
List<HouseResourceBusinessEntityInfoMapping> houseResourceBusinessEntityInfoMappings = houseResourceBusinessEntityInfoMappingMapper.selectByBusinessEntityInfoId(x.getId());
if (!CollectionUtils.isEmpty(houseResourceBusinessEntityInfoMappings)) {
List<HouseResourcePage> list = houseResourceMapper.selectByIdList(houseResourceBusinessEntityInfoMappings.stream().map(HouseResourceBusinessEntityInfoMapping::getHouseResourceId).collect(Collectors.toList()));
List<HouseResourcePage> handleList = handleHouseList(list, false);
businessEntityDto.setHouseResources(handleList);
}
}
List<BusinessEntitySell> businessEntitySells = businessEntitySellMapper.selectBusinessEntitySellByEntityId(x.getId());
if (!CollectionUtils.isEmpty(businessEntitySells)) {
businessEntityDto.setBusinessEntitySells(businessEntitySells);
......@@ -563,10 +560,6 @@ public class HouseResourceServiceImpl implements HouseResourceService {
x.setDecorationConditionText(HouseEnums.DecorationConditionEnum.getDescByCode(x.getDecorationCondition()));
x.setRentalUnitText(HouseEnums.RentalUnitEnum.getDescByCode(x.getRentalUnit()));
x.setHireStatusText(HouseEnums.hireStatusTextEnum.getDescByCode(x.getHireStatus()));
List<BusinessEntityInfo> businessEntityInfos = businessEntityInfoMapper.selectAllBusinessEntityInfosByHouseResourceId(x.getId());
if (!CollectionUtils.isEmpty(businessEntityInfos)) {
x.setBusinessEntityInfoNames(businessEntityInfos.stream().map(BusinessEntityInfo::getName).collect(Collectors.toList()));
}
});
if (houseNumberSortFlag) {
return list.stream().sorted(Comparator.comparing(HouseResourcePage::getHouseNumber, Comparator.nullsLast(String::compareTo))).collect(Collectors.toList());
......
......@@ -3,7 +3,6 @@
<mapper namespace="com.ruoyi.system.mapper.house.BusinessEntityInfoMapper">
<resultMap id="BaseResultMap" type="com.ruoyi.system.domain.house.BusinessEntityInfo">
<id column="id" property="id" jdbcType="VARCHAR"/>
<result column="house_resource_id" property="houseResourceId" jdbcType="VARCHAR"/>
<result column="name" property="name" jdbcType="VARCHAR"/>
<result column="nature" property="nature" jdbcType="VARCHAR"/>
<result column="social_credit_code" property="socialCreditCode" jdbcType="VARCHAR"/>
......@@ -20,10 +19,10 @@
<insert id="insertBusinessEntityInfo" parameterType="com.ruoyi.system.domain.house.BusinessEntityInfo">
INSERT INTO business_entity_info (
id, house_resource_id, name, nature, social_credit_code,
id, name, nature, social_credit_code,
principal, principal_tel, business, worker_number, registered_address, industry_classification, gs, registration_place_flag, association_business_entity_flag
) VALUES (
#{id}, #{houseResourceId}, #{name}, #{nature}, #{socialCreditCode},
#{id}, #{name}, #{nature}, #{socialCreditCode},
#{principal}, #{principalTel}, #{business}, #{workerNumber}, #{registeredAddress}, #{industryClassification}, #{gs}, #{registrationPlaceFlag}, #{associationBusinessEntityFlag}
)
</insert>
......@@ -35,7 +34,6 @@
<update id="updateBusinessEntityInfo" parameterType="com.ruoyi.system.domain.house.BusinessEntityInfo">
UPDATE business_entity_info
<set>
<if test="houseResourceId != null">house_resource_id=#{houseResourceId},</if>
<if test="name != null">name=#{name},</if>
<if test="nature != null">nature=#{nature},</if>
<if test="socialCreditCode != null">social_credit_code=#{socialCreditCode},</if>
......@@ -59,28 +57,6 @@
<select id="selectAllBusinessEntityInfos" resultMap="BaseResultMap">
SELECT * FROM business_entity_info
</select>
<delete id="deleteByHouseResourceId">
DELETE FROM business_entity_info WHERE house_resource_id = #{houseResourceId}
</delete>
<select id="selectAllBusinessEntityInfosByHouseResourceId"
resultType="com.ruoyi.system.domain.house.BusinessEntityInfo">
SELECT * FROM business_entity_info WHERE house_resource_id = #{houseResourceId}
</select>
<select id="selectAllBusinessEntityInfosByHouseResourceIds"
resultType="com.ruoyi.system.domain.house.BusinessEntityInfo">
SELECT * FROM business_entity_info WHERE house_resource_id in <foreach collection="houseResourceIds" item="houseResourceId" open="(" close=")" separator=",">#{houseResourceId}</foreach>
</select>
<select id="selectYearSellByHouseResourceId" resultType="java.math.BigDecimal">
SELECT
IFNULL(SUM(t2.year_sell), 0)
FROM
business_entity_info t1
LEFT JOIN business_entity_sell t2 ON t1.id = t2.business_entity_info_id
WHERE
t1.house_resource_id = #{houseResourceId}
</select>
<select id="selectByName" resultType="com.ruoyi.system.domain.house.BusinessEntityInfo">
SELECT t2.* FROM house_resource t1 LEFT JOIN business_entity_info t2 ON t1.id = t2.house_resource_id WHERE t2.name like concat('%', #{name}, '%')
</select>
......
......@@ -28,4 +28,11 @@
resultType="com.ruoyi.system.domain.house.HouseResourceBusinessEntityInfoMapping">
SELECT * FROM house_resource_business_entity_info_mapping WHERE house_resource_id = #{houseResourceId,jdbcType=VARCHAR}
</select>
<select id="selectByHouseResourceIds"
resultType="com.ruoyi.system.domain.house.HouseResourceBusinessEntityInfoMapping">
SELECT * FROM house_resource_business_entity_info_mapping WHERE house_resource_id IN
<foreach item="item" index="index" collection="houseResourceIds" open="(" separator="," close=")">
#{item}
</foreach>
</select>
</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