zhongrj
2023-11-25 b7643654cc7ed5bbc6958f590fdadb7f7cf587e6
物业小区关联调整
14 files modified
189 ■■■■ changed files
src/main/java/org/springblade/modules/property/controller/PropertyCompanyController.java 8 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/property/controller/PropertyCompanyDistrictController.java 10 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/property/entity/PropertyCompanyDistrictEntity.java 6 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/property/entity/PropertyCompanyEntity.java 7 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/property/entity/PropertyDistrictUserEntity.java 14 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/property/mapper/PropertyCompanyDistrictMapper.java 4 ●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/property/mapper/PropertyCompanyDistrictMapper.xml 19 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/property/mapper/PropertyCompanyMapper.java 8 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/property/mapper/PropertyCompanyMapper.xml 21 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/property/service/IPropertyCompanyDistrictService.java 6 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/property/service/IPropertyCompanyService.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/property/service/impl/PropertyCompanyDistrictServiceImpl.java 69 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/property/service/impl/PropertyCompanyServiceImpl.java 10 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/property/vo/PropertyCompanyDistrictVO.java 2 ●●●●● patch | view | raw | blame | history
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;
}