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)); } } 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") 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) 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 = "物业公司名称") 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; } 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); } 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> 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); } 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> 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); } src/main/java/org/springblade/modules/property/service/IPropertyCompanyService.java
@@ -46,4 +46,9 @@ * @return */ Object getPropertyCompanyList(PropertyCompanyVO propertyCompany); /** * 物业公司查询对应的用户信息 */ Object getUserByPropertyCompany(PropertyCompanyVO propertyCompany); } 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); } } 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); } } 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; }