From b7643654cc7ed5bbc6958f590fdadb7f7cf587e6 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Sat, 25 Nov 2023 11:23:11 +0800
Subject: [PATCH] 物业小区关联调整
---
src/main/java/org/springblade/modules/property/service/impl/PropertyCompanyServiceImpl.java | 10 ++
src/main/java/org/springblade/modules/property/mapper/PropertyCompanyMapper.xml | 21 ++++-
src/main/java/org/springblade/modules/property/vo/PropertyCompanyDistrictVO.java | 2
src/main/java/org/springblade/modules/property/mapper/PropertyCompanyDistrictMapper.java | 4
src/main/java/org/springblade/modules/property/service/IPropertyCompanyDistrictService.java | 6 +
src/main/java/org/springblade/modules/property/entity/PropertyCompanyDistrictEntity.java | 6 +
src/main/java/org/springblade/modules/property/entity/PropertyDistrictUserEntity.java | 14 +--
src/main/java/org/springblade/modules/property/controller/PropertyCompanyController.java | 8 ++
src/main/java/org/springblade/modules/property/service/impl/PropertyCompanyDistrictServiceImpl.java | 69 +++++++++++++----
src/main/java/org/springblade/modules/property/mapper/PropertyCompanyMapper.java | 8 ++
src/main/java/org/springblade/modules/property/mapper/PropertyCompanyDistrictMapper.xml | 19 ++++
src/main/java/org/springblade/modules/property/controller/PropertyCompanyDistrictController.java | 10 ++
src/main/java/org/springblade/modules/property/entity/PropertyCompanyEntity.java | 7 +
src/main/java/org/springblade/modules/property/service/IPropertyCompanyService.java | 5 +
14 files changed, 154 insertions(+), 35 deletions(-)
diff --git a/src/main/java/org/springblade/modules/property/controller/PropertyCompanyController.java b/src/main/java/org/springblade/modules/property/controller/PropertyCompanyController.java
index b801321..9db056d 100644
--- a/src/main/java/org/springblade/modules/property/controller/PropertyCompanyController.java
+++ b/src/main/java/org/springblade/modules/property/controller/PropertyCompanyController.java
@@ -130,5 +130,13 @@
return R.status(propertyCompanyService.removeByIds(Func.toIntList(ids)));
}
+ /**
+ * 物业公司查询对应的用户信息
+ */
+ @GetMapping("/getUserByPropertyCompany")
+ public R getUserByPropertyCompany(PropertyCompanyVO propertyCompany) {
+ return R.data(propertyCompanyService.getUserByPropertyCompany(propertyCompany));
+ }
+
}
diff --git a/src/main/java/org/springblade/modules/property/controller/PropertyCompanyDistrictController.java b/src/main/java/org/springblade/modules/property/controller/PropertyCompanyDistrictController.java
index 86c5c0a..b5f3191 100644
--- a/src/main/java/org/springblade/modules/property/controller/PropertyCompanyDistrictController.java
+++ b/src/main/java/org/springblade/modules/property/controller/PropertyCompanyDistrictController.java
@@ -113,6 +113,16 @@
}
/**
+ * 物业派驻小区表 自定义新增或修改
+ * @param propertyCompanyDistrict
+ * @return
+ */
+ @PostMapping("/saveOrUpdate")
+ public R saveOrUpdate(@Valid @RequestBody PropertyCompanyDistrictEntity propertyCompanyDistrict) {
+ return R.status(propertyCompanyDistrictService.saveOrUpdatePropertyCompanyDistrict(propertyCompanyDistrict));
+ }
+
+ /**
* 物业派驻小区表 删除
*/
@PostMapping("/remove")
diff --git a/src/main/java/org/springblade/modules/property/entity/PropertyCompanyDistrictEntity.java b/src/main/java/org/springblade/modules/property/entity/PropertyCompanyDistrictEntity.java
index 5f9325a..4d88eb1 100644
--- a/src/main/java/org/springblade/modules/property/entity/PropertyCompanyDistrictEntity.java
+++ b/src/main/java/org/springblade/modules/property/entity/PropertyCompanyDistrictEntity.java
@@ -109,6 +109,12 @@
private String remark;
/**
+ * 用户id
+ */
+ @ApiModelProperty(value = "用户id")
+ private String userId;
+
+ /**
* 创建人
*/
@JsonSerialize(using = ToStringSerializer.class)
diff --git a/src/main/java/org/springblade/modules/property/entity/PropertyCompanyEntity.java b/src/main/java/org/springblade/modules/property/entity/PropertyCompanyEntity.java
index e9a12a2..5abce9b 100644
--- a/src/main/java/org/springblade/modules/property/entity/PropertyCompanyEntity.java
+++ b/src/main/java/org/springblade/modules/property/entity/PropertyCompanyEntity.java
@@ -51,6 +51,13 @@
private Integer id;
/**
+ * 组织机构id
+ */
+ @JsonSerialize(using = ToStringSerializer.class)
+ @ApiModelProperty(value = "组织机构id")
+ private Long deptId;
+
+ /**
* 物业公司名称
*/
@ApiModelProperty(value = "物业公司名称")
diff --git a/src/main/java/org/springblade/modules/property/entity/PropertyDistrictUserEntity.java b/src/main/java/org/springblade/modules/property/entity/PropertyDistrictUserEntity.java
index 7a2bdf0..4185f5a 100644
--- a/src/main/java/org/springblade/modules/property/entity/PropertyDistrictUserEntity.java
+++ b/src/main/java/org/springblade/modules/property/entity/PropertyDistrictUserEntity.java
@@ -47,22 +47,18 @@
@JsonSerialize(using = ToStringSerializer.class)
@ApiModelProperty("主键id")
@TableId(value = "id", type = IdType.AUTO)
- private Integer id;
+ private Long id;
/**
- * 物业公司id
+ * 物业小区关联表id
*/
- @ApiModelProperty(value = "物业公司id")
- private Integer propertyCompanyId;
- /**
- * 小区id
- */
- @ApiModelProperty(value = "小区id")
- private String districtId;
+ @ApiModelProperty(value = "物业小区关联表id")
+ private Integer propertyCompanyDistrictId;
/**
* 用户id
*/
@ApiModelProperty(value = "用户id")
+ @JsonSerialize(using = ToStringSerializer.class)
private Long userId;
}
diff --git a/src/main/java/org/springblade/modules/property/mapper/PropertyCompanyDistrictMapper.java b/src/main/java/org/springblade/modules/property/mapper/PropertyCompanyDistrictMapper.java
index a315ee5..d91501a 100644
--- a/src/main/java/org/springblade/modules/property/mapper/PropertyCompanyDistrictMapper.java
+++ b/src/main/java/org/springblade/modules/property/mapper/PropertyCompanyDistrictMapper.java
@@ -16,6 +16,7 @@
*/
package org.springblade.modules.property.mapper;
+import org.apache.ibatis.annotations.Param;
import org.springblade.modules.property.entity.PropertyCompanyDistrictEntity;
import org.springblade.modules.property.vo.PropertyCompanyDistrictVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -37,7 +38,8 @@
* @param propertyCompanyDistrict
* @return
*/
- List<PropertyCompanyDistrictVO> selectPropertyCompanyDistrictPage(IPage page, PropertyCompanyDistrictVO propertyCompanyDistrict);
+ List<PropertyCompanyDistrictVO> selectPropertyCompanyDistrictPage(IPage page,
+ @Param("propertyCompanyDistrict") PropertyCompanyDistrictVO propertyCompanyDistrict);
}
diff --git a/src/main/java/org/springblade/modules/property/mapper/PropertyCompanyDistrictMapper.xml b/src/main/java/org/springblade/modules/property/mapper/PropertyCompanyDistrictMapper.xml
index 64f27bc..06f98e1 100644
--- a/src/main/java/org/springblade/modules/property/mapper/PropertyCompanyDistrictMapper.xml
+++ b/src/main/java/org/springblade/modules/property/mapper/PropertyCompanyDistrictMapper.xml
@@ -23,9 +23,22 @@
<result column="is_deleted" property="isDeleted"/>
</resultMap>
-
- <select id="selectPropertyCompanyDistrictPage" resultMap="propertyCompanyDistrictResultMap">
- select * from jczz_property_company_district where is_deleted = 0
+ <!--自定义分页查询-->
+ <select id="selectPropertyCompanyDistrictPage" resultType="org.springblade.modules.property.vo.PropertyCompanyDistrictVO">
+ select * from jczz_property_company_district
+ where is_deleted = 0
+ <if test="propertyCompanyDistrict.propertyCompanyId!=null">
+ and property_company_id = #{propertyCompanyDistrict.propertyCompanyId}
+ </if>
+ <if test="propertyCompanyDistrict.districtId!=null">
+ and district_id = #{propertyCompanyDistrict.districtId}
+ </if>
+ <if test="propertyCompanyDistrict.propertyStage!=null">
+ and property_stage = #{propertyCompanyDistrict.propertyStage}
+ </if>
+ <if test="propertyCompanyDistrict.principal!=null and propertyCompanyDistrict.principal!=''">
+ and principal like concat('%',#{propertyCompanyDistrict.principal},'%')
+ </if>
</select>
diff --git a/src/main/java/org/springblade/modules/property/mapper/PropertyCompanyMapper.java b/src/main/java/org/springblade/modules/property/mapper/PropertyCompanyMapper.java
index f763c69..42b4930 100644
--- a/src/main/java/org/springblade/modules/property/mapper/PropertyCompanyMapper.java
+++ b/src/main/java/org/springblade/modules/property/mapper/PropertyCompanyMapper.java
@@ -22,6 +22,7 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import java.util.List;
+import java.util.Map;
/**
* 物业公司 Mapper 接口
@@ -47,4 +48,11 @@
* @return
*/
List<PropertyCompanyVO> getPropertyCompanyList(@Param("propertyCompany") PropertyCompanyVO propertyCompany);
+
+ /**
+ * 物业公司查询对应的用户信息
+ * @param propertyCompany
+ * @return
+ */
+ List<Map<Long,String>> getUserByPropertyCompany(@Param("propertyCompany") PropertyCompanyVO propertyCompany);
}
diff --git a/src/main/java/org/springblade/modules/property/mapper/PropertyCompanyMapper.xml b/src/main/java/org/springblade/modules/property/mapper/PropertyCompanyMapper.xml
index 665ace0..4322bbf 100644
--- a/src/main/java/org/springblade/modules/property/mapper/PropertyCompanyMapper.xml
+++ b/src/main/java/org/springblade/modules/property/mapper/PropertyCompanyMapper.xml
@@ -8,9 +8,9 @@
<result column="name" property="name"/>
<result column="address" property="address"/>
<result column="social_credit_code" property="socialCreditCode"/>
- <result column="province_code" property="provinceCode"/>
- <result column="city_code" property="cityCode"/>
- <result column="county_code" property="countyCode"/>
+ <result column="province" property="province"/>
+ <result column="city" property="city"/>
+ <result column="area" property="area"/>
<result column="remark" property="remark"/>
<result column="create_user" property="createUser"/>
<result column="create_time" property="createTime"/>
@@ -20,7 +20,7 @@
</resultMap>
<!--自定义分页查询-->
- <select id="selectPropertyCompanyPage" resultMap="propertyCompanyResultMap">
+ <select id="selectPropertyCompanyPage" resultType="org.springblade.modules.property.vo.PropertyCompanyVO">
select * from jczz_property_company where is_deleted = 0
<if test="propertyCompany.name!=null and propertyCompany.name!=''">
and name like concat('%',#{propertyCompany.name},'%')
@@ -28,12 +28,23 @@
</select>
<!--物业公司列表查询(不分页)-->
- <select id="getPropertyCompanyList" resultMap="propertyCompanyResultMap">
+ <select id="getPropertyCompanyList" resultType="org.springblade.modules.property.vo.PropertyCompanyVO">
select * from jczz_property_company where is_deleted = 0
<if test="propertyCompany.name!=null and propertyCompany.name!=''">
and name like concat('%',#{propertyCompany.name},'%')
</if>
</select>
+ <!--物业公司列表查询(不分页)-->
+ <select id="getUserByPropertyCompany" resultType="java.util.Map">
+ select
+ bu.id,bu.real_name as name
+ from blade_user bu
+ left join blade_dept bd on bd.id = bu.dept_id and bd.is_deleted = 0
+ left join jczz_property_company jpc on jpc.dept_id = bd.id and jpc.is_deleted = 0
+ where bu.is_deleted = 0 and bu.real_name is not null
+ and jpc.id = #{propertyCompany.id}
+ </select>
+
</mapper>
diff --git a/src/main/java/org/springblade/modules/property/service/IPropertyCompanyDistrictService.java b/src/main/java/org/springblade/modules/property/service/IPropertyCompanyDistrictService.java
index dce44dc..b429f76 100644
--- a/src/main/java/org/springblade/modules/property/service/IPropertyCompanyDistrictService.java
+++ b/src/main/java/org/springblade/modules/property/service/IPropertyCompanyDistrictService.java
@@ -40,4 +40,10 @@
IPage<PropertyCompanyDistrictVO> selectPropertyCompanyDistrictPage(IPage<PropertyCompanyDistrictVO> page, PropertyCompanyDistrictVO propertyCompanyDistrict);
+ /**
+ * 物业派驻小区表 自定义新增或修改
+ * @param propertyCompanyDistrict
+ * @return
+ */
+ boolean saveOrUpdatePropertyCompanyDistrict(PropertyCompanyDistrictEntity propertyCompanyDistrict);
}
diff --git a/src/main/java/org/springblade/modules/property/service/IPropertyCompanyService.java b/src/main/java/org/springblade/modules/property/service/IPropertyCompanyService.java
index 56fbdcf..7ed1bed 100644
--- a/src/main/java/org/springblade/modules/property/service/IPropertyCompanyService.java
+++ b/src/main/java/org/springblade/modules/property/service/IPropertyCompanyService.java
@@ -46,4 +46,9 @@
* @return
*/
Object getPropertyCompanyList(PropertyCompanyVO propertyCompany);
+
+ /**
+ * 物业公司查询对应的用户信息
+ */
+ Object getUserByPropertyCompany(PropertyCompanyVO propertyCompany);
}
diff --git a/src/main/java/org/springblade/modules/property/service/impl/PropertyCompanyDistrictServiceImpl.java b/src/main/java/org/springblade/modules/property/service/impl/PropertyCompanyDistrictServiceImpl.java
index 9f39bed..9ad0329 100644
--- a/src/main/java/org/springblade/modules/property/service/impl/PropertyCompanyDistrictServiceImpl.java
+++ b/src/main/java/org/springblade/modules/property/service/impl/PropertyCompanyDistrictServiceImpl.java
@@ -1,29 +1,22 @@
-/*
- * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * Neither the name of the dreamlu.net developer nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- * Author: Chill 庄骞 (smallchill@163.com)
- */
package org.springblade.modules.property.service.impl;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.core.tool.utils.Func;
import org.springblade.modules.property.entity.PropertyCompanyDistrictEntity;
+import org.springblade.modules.property.entity.PropertyDistrictUserEntity;
+import org.springblade.modules.property.service.IPropertyDistrictUserService;
import org.springblade.modules.property.vo.PropertyCompanyDistrictVO;
import org.springblade.modules.property.mapper.PropertyCompanyDistrictMapper;
import org.springblade.modules.property.service.IPropertyCompanyDistrictService;
-import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.modules.system.entity.UserDept;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.List;
/**
* 物业派驻小区表 服务实现类
@@ -34,10 +27,52 @@
@Service
public class PropertyCompanyDistrictServiceImpl extends ServiceImpl<PropertyCompanyDistrictMapper, PropertyCompanyDistrictEntity> implements IPropertyCompanyDistrictService {
+ @Autowired
+ private IPropertyDistrictUserService propertyDistrictUserService;
+
+ /**
+ * 自定义分页查询
+ * @param page
+ * @param propertyCompanyDistrict
+ * @return
+ */
@Override
public IPage<PropertyCompanyDistrictVO> selectPropertyCompanyDistrictPage(IPage<PropertyCompanyDistrictVO> page, PropertyCompanyDistrictVO propertyCompanyDistrict) {
return page.setRecords(baseMapper.selectPropertyCompanyDistrictPage(page, propertyCompanyDistrict));
}
+ /**
+ * 物业派驻小区表 自定义新增或修改
+ * @param propertyCompanyDistrict
+ * @return
+ */
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean saveOrUpdatePropertyCompanyDistrict(PropertyCompanyDistrictEntity propertyCompanyDistrict) {
+ if (null != propertyCompanyDistrict.getId()) {
+ return updateById(propertyCompanyDistrict) && submitPropertyDistrictUser(propertyCompanyDistrict);
+ }else {
+ return save(propertyCompanyDistrict) && submitPropertyDistrictUser(propertyCompanyDistrict);
+ }
+ }
+ /**
+ * 关联关系维护
+ * @param propertyCompanyDistrict
+ * @return
+ */
+ private boolean submitPropertyDistrictUser(PropertyCompanyDistrictEntity propertyCompanyDistrict) {
+ List<Long> userIdList = Func.toLongList(propertyCompanyDistrict.getUserId());
+ List<PropertyDistrictUserEntity> propertyDistrictUserEntityList = new ArrayList<>();
+ userIdList.forEach(userId -> {
+ PropertyDistrictUserEntity propertyDistrictUserEntity = new PropertyDistrictUserEntity();
+ propertyDistrictUserEntity.setUserId(userId);
+ propertyDistrictUserEntity.setPropertyCompanyDistrictId(propertyCompanyDistrict.getId());
+ propertyDistrictUserEntityList.add(propertyDistrictUserEntity);
+ });
+ // 先删除
+ propertyDistrictUserService.remove(Wrappers.<PropertyDistrictUserEntity>update().lambda().eq(PropertyDistrictUserEntity::getPropertyCompanyDistrictId, propertyCompanyDistrict.getId()));
+ // 再新增
+ return propertyDistrictUserService.saveBatch(propertyDistrictUserEntityList);
+ }
}
diff --git a/src/main/java/org/springblade/modules/property/service/impl/PropertyCompanyServiceImpl.java b/src/main/java/org/springblade/modules/property/service/impl/PropertyCompanyServiceImpl.java
index 5cbb1c8..1ab2d13 100644
--- a/src/main/java/org/springblade/modules/property/service/impl/PropertyCompanyServiceImpl.java
+++ b/src/main/java/org/springblade/modules/property/service/impl/PropertyCompanyServiceImpl.java
@@ -57,4 +57,14 @@
public List<PropertyCompanyVO> getPropertyCompanyList(PropertyCompanyVO propertyCompany) {
return baseMapper.getPropertyCompanyList(propertyCompany);
}
+
+ /**
+ * 物业公司查询对应的用户信息
+ * @param propertyCompany
+ * @return
+ */
+ @Override
+ public Object getUserByPropertyCompany(PropertyCompanyVO propertyCompany) {
+ return baseMapper.getUserByPropertyCompany(propertyCompany);
+ }
}
diff --git a/src/main/java/org/springblade/modules/property/vo/PropertyCompanyDistrictVO.java b/src/main/java/org/springblade/modules/property/vo/PropertyCompanyDistrictVO.java
index 0d865bf..f608037 100644
--- a/src/main/java/org/springblade/modules/property/vo/PropertyCompanyDistrictVO.java
+++ b/src/main/java/org/springblade/modules/property/vo/PropertyCompanyDistrictVO.java
@@ -30,6 +30,8 @@
@Data
@EqualsAndHashCode(callSuper = true)
public class PropertyCompanyDistrictVO extends PropertyCompanyDistrictEntity {
+
+
private static final long serialVersionUID = 1L;
}
--
Gitblit v1.9.3