Commit b9a6a0e8 authored by lixuan's avatar lixuan

feat: 房源

parent edb42399
......@@ -37,9 +37,4 @@ public class HouseResourceAssociationObjectController {
houseResourceAssociationObjectService.deleteHouseResourceAssociationObjectById(id);
return AjaxResult.success();
}
@GetMapping("/log")
public AjaxResult getHouseResourceAssociationObjectLog(@RequestParam String houseResourceId, @RequestParam int type) {
return AjaxResult.success(houseResourceAssociationObjectService.queryHouseResourceAssociationObjectLog(houseResourceId, type));
}
}
......@@ -2,8 +2,6 @@ package com.ruoyi.system.domain.house;
import lombok.Data;
import java.util.Date;
@Data
public class HouseResourceAssociationObject {
......@@ -14,8 +12,4 @@ public class HouseResourceAssociationObject {
private String houseResourceId;
private String businessId;
private int operateType;
private Date relieveTime;
}
package com.ruoyi.system.domain.house.vo;
import com.ruoyi.system.domain.grid.GridCompany;
import com.ruoyi.system.domain.grid.GridShop;
import com.ruoyi.system.domain.house.HouseResource;
import com.ruoyi.system.domain.house.HouseResourceAssociationObject;
import lombok.Data;
import java.util.List;
......@@ -11,5 +12,7 @@ public class HouseResourceSaveUpdateDto {
private HouseResource houseResource;
private List<HouseResourceAssociationObject> houseResourceAssociationObjects;
private List<GridCompany> companyList;
private List<GridShop> shopList;
}
package com.ruoyi.system.mapper.house;
import com.ruoyi.system.domain.house.HouseResourceAssociationObject;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface HouseResourceAssociationObjectMapper {
......@@ -15,7 +12,5 @@ public interface HouseResourceAssociationObjectMapper {
void deleteHouseResourceObjectAssociationById(String id);
HouseResourceAssociationObject selectHouseResourceObjectAssociationByHouseResourceIdType(@Param("houseResourceId") String houseResourceId, @Param("type") int type);
List<HouseResourceAssociationObject> selectHouseResourceObjectAssociationLog(@Param("houseResourceId") String houseResourceId, @Param("type") int type, @Param("operateType") int operateType);
void deleteByHouseResourceId(String houseResourceId);
}
......@@ -12,8 +12,4 @@ public interface HouseResourceAssociationObjectService {
void updateHouseResourceAssociationObject(HouseResourceAssociationObject houseResourceAssociationObject);
void deleteHouseResourceAssociationObjectById(String id);
HouseResourceAssociationObjectVo queryHouseResourceAssociationObjectByHouseResourceIdType(String houseResourceId, int type);
List<HouseResourceAssociationObjectVo> queryHouseResourceAssociationObjectLog(String houseResourceId, int type);
}
......@@ -47,45 +47,4 @@ public class HouseResourceAssociationObjectServiceImpl implements HouseResourceA
public void deleteHouseResourceAssociationObjectById(String id) {
houseResourceAssociationObjectMapper.deleteHouseResourceObjectAssociationById(id);
}
@Override
public HouseResourceAssociationObjectVo queryHouseResourceAssociationObjectByHouseResourceIdType(String houseResourceId, int type) {
HouseResourceAssociationObject houseResourceAssociationObject = houseResourceAssociationObjectMapper.selectHouseResourceObjectAssociationByHouseResourceIdType(houseResourceId, type);
if (Objects.isNull(houseResourceAssociationObject)) {
return null;
}
HouseResourceAssociationObjectVo houseResourceAssociationObjectVo = new HouseResourceAssociationObjectVo();
BeanUtils.copyProperties(houseResourceAssociationObject, houseResourceAssociationObjectVo);
if (type == 1) {
GridCompany gridCompany = gridCompanyMapper.selectByPrimaryKey(houseResourceAssociationObject.getBusinessId());
houseResourceAssociationObjectVo.setGridCompany(gridCompany);
} else if (type == 2) {
GridShop gridShop = gridShopMapper.selectByPrimaryKey(Long.parseLong(houseResourceAssociationObject.getBusinessId()));
houseResourceAssociationObjectVo.setGridShop(gridShop);
}
return houseResourceAssociationObjectVo;
}
@Override
public List<HouseResourceAssociationObjectVo> queryHouseResourceAssociationObjectLog(String houseResourceId, int type) {
List<HouseResourceAssociationObject> houseResourceAssociationObjects = houseResourceAssociationObjectMapper.selectHouseResourceObjectAssociationLog(houseResourceId, type, 2);
if (houseResourceAssociationObjects.isEmpty()) {
return Collections.emptyList();
}
List<HouseResourceAssociationObjectVo> list = new ArrayList<>();
houseResourceAssociationObjects.forEach(x -> {
if (x.getType() == 1) {
HouseResourceAssociationObjectVo houseResourceAssociationObjectVo = new HouseResourceAssociationObjectVo();
GridCompany gridCompany = gridCompanyMapper.selectByPrimaryKey(x.getBusinessId());
houseResourceAssociationObjectVo.setGridCompany(gridCompany);
list.add(houseResourceAssociationObjectVo);
} else if (x.getType() == 2) {
HouseResourceAssociationObjectVo houseResourceAssociationObjectVo = new HouseResourceAssociationObjectVo();
GridShop gridShop = gridShopMapper.selectByPrimaryKey(Long.parseLong(x.getBusinessId()));
houseResourceAssociationObjectVo.setGridShop(gridShop);
list.add(houseResourceAssociationObjectVo);
}
});
return list;
}
}
......@@ -2,8 +2,11 @@ package com.ruoyi.system.service.house.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.system.domain.grid.GridCompany;
import com.ruoyi.system.domain.grid.GridRegion;
import com.ruoyi.system.domain.grid.GridRegionExample;
import com.ruoyi.system.domain.grid.GridShop;
import com.ruoyi.system.domain.house.HouseResource;
import com.ruoyi.system.domain.house.HouseResourceAssociationObject;
import com.ruoyi.system.domain.house.enums.HouseEnums;
......@@ -13,6 +16,8 @@ import com.ruoyi.system.domain.house.vo.HouseResourceSaveUpdateDto;
import com.ruoyi.system.mapper.grid.GridRegionMapper;
import com.ruoyi.system.mapper.house.HouseResourceAssociationObjectMapper;
import com.ruoyi.system.mapper.house.HouseResourceMapper;
import com.ruoyi.system.service.grid.GridCompanyService;
import com.ruoyi.system.service.grid.GridShopService;
import com.ruoyi.system.service.house.HouseResourceService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
......@@ -29,10 +34,16 @@ public class HouseResourceServiceImpl implements HouseResourceService {
private final GridRegionMapper gridRegionMapper;
public HouseResourceServiceImpl(HouseResourceMapper houseResourceMapper, HouseResourceAssociationObjectMapper houseResourceAssociationObjectMapper, GridRegionMapper gridRegionMapper) {
private final GridCompanyService gridCompanyService;
private final GridShopService gridShopService;
public HouseResourceServiceImpl(HouseResourceMapper houseResourceMapper, HouseResourceAssociationObjectMapper houseResourceAssociationObjectMapper, GridRegionMapper gridRegionMapper, GridCompanyService gridCompanyService, GridShopService gridShopService) {
this.houseResourceMapper = houseResourceMapper;
this.houseResourceAssociationObjectMapper = houseResourceAssociationObjectMapper;
this.gridRegionMapper = gridRegionMapper;
this.gridCompanyService = gridCompanyService;
this.gridShopService = gridShopService;
}
@Override
......@@ -42,11 +53,35 @@ public class HouseResourceServiceImpl implements HouseResourceService {
dto.getHouseResource().setId(houseResourceId);
houseResourceMapper.insertHouseResource(dto.getHouseResource());
dto.getHouseResourceAssociationObjects().forEach(x -> {
x.setId(UUID.randomUUID().toString().replaceAll("-", ""));
x.setHouseResourceId(houseResourceId);
houseResourceAssociationObjectMapper.insertHouseResourceObjectAssociation(x);
});
for (GridCompany gridCompany : dto.getCompanyList()) {
AjaxResult result = gridCompanyService.add(gridCompany);
if (result.isSuccess()) {
String id = result.get("data").toString();
HouseResourceAssociationObject houseResourceAssociationObject = new HouseResourceAssociationObject();
houseResourceAssociationObject.setId(UUID.randomUUID().toString().replaceAll("-", ""));
houseResourceAssociationObject.setHouseResourceId(houseResourceId);
houseResourceAssociationObject.setBusinessId(id);
houseResourceAssociationObject.setType(1);
houseResourceAssociationObjectMapper.insertHouseResourceObjectAssociation(houseResourceAssociationObject);
}
}
for (GridShop gridShop : dto.getShopList()) {
try {
AjaxResult result = gridShopService.addGridShop(gridShop);
if (result.isSuccess()) {
String id = result.get("data").toString();
HouseResourceAssociationObject houseResourceAssociationObject = new HouseResourceAssociationObject();
houseResourceAssociationObject.setId(UUID.randomUUID().toString().replaceAll("-", ""));
houseResourceAssociationObject.setHouseResourceId(houseResourceId);
houseResourceAssociationObject.setBusinessId(id);
houseResourceAssociationObject.setType(2);
houseResourceAssociationObjectMapper.insertHouseResourceObjectAssociation(houseResourceAssociationObject);
}
} catch (Exception e) {
throw new RuntimeException("新增shop出错");
}
}
}
@Override
......@@ -61,18 +96,49 @@ public class HouseResourceServiceImpl implements HouseResourceService {
throw new RuntimeException("房源id不能为空");
}
houseResourceMapper.updateHouseResource(dto.getHouseResource());
dto.getHouseResourceAssociationObjects().forEach(x -> {
if (Objects.isNull(x.getId())) {
x.setId(UUID.randomUUID().toString().replaceAll("-", ""));
x.setHouseResourceId(dto.getHouseResource().getId());
houseResourceAssociationObjectMapper.insertHouseResourceObjectAssociation(x);
for (GridCompany gridCompany : dto.getCompanyList()) {
if (!StringUtils.hasText(gridCompany.getId())) {
AjaxResult result = gridCompanyService.add(gridCompany);
if (result.isSuccess()) {
String id = result.get("data").toString();
HouseResourceAssociationObject houseResourceAssociationObject = new HouseResourceAssociationObject();
houseResourceAssociationObject.setId(UUID.randomUUID().toString().replaceAll("-", ""));
houseResourceAssociationObject.setHouseResourceId(dto.getHouseResource().getId());
houseResourceAssociationObject.setBusinessId(id);
houseResourceAssociationObject.setType(1);
houseResourceAssociationObjectMapper.insertHouseResourceObjectAssociation(houseResourceAssociationObject);
}
} else {
HouseResourceAssociationObject houseResourceAssociationObject = houseResourceAssociationObjectMapper.selectHouseResourceObjectAssociationById(x.getId());
houseResourceAssociationObject.setOperateType(2);
houseResourceAssociationObject.setRelieveTime(new Date());
houseResourceAssociationObjectMapper.updateHouseResourceObjectAssociation(houseResourceAssociationObject);
gridCompanyService.edit(gridCompany);
}
});
}
for (GridShop gridShop : dto.getShopList()) {
if (Objects.isNull(gridShop.getId())) {
AjaxResult result = null;
try {
result = gridShopService.addGridShop(gridShop);
} catch (Exception e) {
throw new RuntimeException("新增shop出错");
}
if (result.isSuccess()) {
String id = result.get("data").toString();
HouseResourceAssociationObject houseResourceAssociationObject = new HouseResourceAssociationObject();
houseResourceAssociationObject.setId(UUID.randomUUID().toString().replaceAll("-", ""));
houseResourceAssociationObject.setHouseResourceId(dto.getHouseResource().getId());
houseResourceAssociationObject.setBusinessId(id);
houseResourceAssociationObject.setType(2);
houseResourceAssociationObjectMapper.insertHouseResourceObjectAssociation(houseResourceAssociationObject);
}
} else {
try {
gridShopService.updateGridShop(gridShop);
} catch (Exception e) {
throw new RuntimeException("更新shop出错");
}
}
}
}
@Override
......
......@@ -6,20 +6,18 @@
<result property="type" column="type" jdbcType="INTEGER"/>
<result property="houseResourceId" column="house_resource_id" jdbcType="VARCHAR"/>
<result property="businessId" column="business_id" jdbcType="VARCHAR"/>
<result property="operateType" column="operate_type" jdbcType="INTEGER"/>
<result property="relieveTime" column="relieve_time" jdbcType="TIMESTAMP"/>
</resultMap>
<insert id="insertHouseResourceObjectAssociation" parameterType="com.ruoyi.system.domain.house.HouseResourceAssociationObject">
INSERT INTO house_resource_association_object
(id, type, house_resource_id, business_id, operate_type, relieve_time)
(id, type, house_resource_id, business_id)
VALUES
(#{id,jdbcType=VARCHAR}, #{type,jdbcType=INTEGER},
#{houseResourceId,jdbcType=VARCHAR}, #{businessId,jdbcType=VARCHAR}, #{operateType,jdbcType=INTEGER}, #{relieveTime,jdbcType=TIMESTAMP})
#{houseResourceId,jdbcType=VARCHAR}, #{businessId,jdbcType=VARCHAR})
</insert>
<select id="selectHouseResourceObjectAssociationById" parameterType="String" resultType="com.ruoyi.system.domain.house.HouseResourceAssociationObject">
SELECT id, type, house_resource_id, business_id, operate_type, relieve_time
SELECT id, type, house_resource_id, business_id
FROM house_resource_association_object
WHERE id = #{id}
</select>
......@@ -28,9 +26,7 @@
UPDATE house_resource_association_object
SET type = #{type,jdbcType=INTEGER},
house_resource_id = #{houseResourceId,jdbcType=VARCHAR},
business_id = #{businessId,jdbcType=VARCHAR},
operate_type = #{operateType,jdbcType=INTEGER},
relieve_time = #{relieveTime,jdbcType=TIMESTAMP}
business_id = #{businessId,jdbcType=VARCHAR}
WHERE id = #{id,jdbcType=VARCHAR}
</update>
......@@ -38,15 +34,8 @@
DELETE FROM house_resource_association_object
WHERE id = #{id}
</delete>
<select id="selectHouseResourceObjectAssociationByHouseResourceIdType"
resultType="com.ruoyi.system.domain.house.HouseResourceAssociationObject">
SELECT id, type, house_resource_id, business_id, operate_type, relieve_time
FROM house_resource_association_object where house_resource_id = #{houseResourceId} and type = #{type} and operate_type = 1
</select>
<select id="selectHouseResourceObjectAssociationLog"
resultType="com.ruoyi.system.domain.house.HouseResourceAssociationObject">
SELECT id, type, house_resource_id, business_id, operate_type, relieve_time
FROM house_resource_association_object where house_resource_id = #{houseResourceId} and type = #{type} and operate_type = #{operateType}
</select>
<delete id="deleteByHouseResourceId">
DELETE FROM house_resource_association_object
WHERE house_resource_id = #{houseResourceId}
</delete>
</mapper>
\ No newline at end of file
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