Browse Source

Merge remote-tracking branch 'origin/房屋tree_yzm'

master
yinzuomei 3 years ago
parent
commit
c014057438
  1. 1
      epmet-auth/src/main/java/com/epmet/controller/ThirdLoginController.java
  2. 9
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcPropertyManagementDTO.java
  3. 9
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcPropertyManagementFormDTO.java
  4. 34
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/PropertyManagementController.java
  5. 4
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcPropertyManagementDao.java
  6. 2
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcPropertyManagementEntity.java
  7. 4
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/PropertyManagementService.java
  8. 50
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/PropertyManagementServiceImpl.java
  9. 8
      epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.48__ic_property_management.sql
  10. 19
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcPropertyManagementDao.xml

1
epmet-auth/src/main/java/com/epmet/controller/ThirdLoginController.java

@ -198,6 +198,7 @@ public class ThirdLoginController {
*
* @param formDTO
* @return
* 目前烟台用的这个
*/
@PostMapping("resilogin-internalding")
public Result<ResiDingAppLoginResDTO> resiLoginInternalDing(@RequestBody DingAppLoginMdFormDTO formDTO) {

9
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcPropertyManagementDTO.java

@ -43,6 +43,10 @@ public class IcPropertyManagementDTO implements Serializable {
* 物业名称
*/
private String name;
/**
* 客户id
*/
private String customerId;
/**
* 删除标识 0未删除1已删除
@ -73,5 +77,8 @@ public class IcPropertyManagementDTO implements Serializable {
* 更新时间
*/
private Date updatedTime;
/**
* 关联的小区数量
*/
private Integer totalNeighborHood;
}

9
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcPropertyManagementFormDTO.java

@ -22,6 +22,7 @@ import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
@ -39,6 +40,8 @@ public class IcPropertyManagementFormDTO implements Serializable {
public interface UpdateShowGroup extends CustomerClientShowGroup {
}
public interface PageGroup extends CustomerClientShowGroup {
}
@NotBlank(message = "物业id不能为空", groups = {DeleteGroup.class, UpdateShowGroup.class})
private String id;
@ -49,5 +52,11 @@ public class IcPropertyManagementFormDTO implements Serializable {
@Length(max = 50, message = "物业名称不能超过50个字", groups = {AddShowGroup.class})
private String name;
private String customerId;
@NotNull(message = "pageNo不能为空", groups = PageGroup.class)
private Integer pageNo;
@NotNull(message = "pageSize不能为空", groups = PageGroup.class)
private Integer pageSize;
}

34
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/PropertyManagementController.java

@ -18,12 +18,13 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.IcPropertyManagementDTO;
import com.epmet.dto.form.IcPropertyManagementFormDTO;
import com.epmet.dto.result.IcPropertyManagementResultDTO;
import com.epmet.service.IcPropertyManagementService;
import com.epmet.service.PropertyManagementService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
@ -46,32 +47,45 @@ import java.util.Map;
@RequestMapping("propertymanagement")
public class PropertyManagementController {
@Autowired
private IcPropertyManagementService icPropertyManagementService;
@Autowired
private PropertyManagementService propertyManagementService;
/**
* 分页查询物业列表
*/
@PostMapping("page")
public Result<PageData<IcPropertyManagementDTO>> page(@RequestBody IcPropertyManagementFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO,IcPropertyManagementFormDTO.PageGroup.class);
return new Result<PageData<IcPropertyManagementDTO>>().ok(propertyManagementService.page(formDTO.getPageNo(),formDTO.getPageSize(),formDTO.getName()));
}
/**
* 新增小区时下拉框调用此接口
* @return
*/
@PostMapping("list")
public Result<List<IcPropertyManagementResultDTO>> list(){
return new Result<List<IcPropertyManagementResultDTO>>().ok(propertyManagementService.getList());
}
/**
* 新增物业
* 新增小区页面添加小区也调用此接口
* @param tokenDTO
* @param formDTO
* @return
*/
@PostMapping("add")
public Result add(@LoginUser TokenDto tokenDTO, @RequestBody IcPropertyManagementFormDTO formDTO){
//效验数据
formDTO.setCustomerId(tokenDTO.getCustomerId());
ValidatorUtils.validateEntity(formDTO, IcPropertyManagementFormDTO.AddShowGroup.class);
Map map=new HashMap<>();
map.put("propertyId",propertyManagementService.add(formDTO));
return new Result().ok(map);
}
@PostMapping("update")
public Result update(@LoginUser TokenDto tokenDTO, @RequestBody IcPropertyManagementFormDTO formDTO){
public Result update(@RequestBody IcPropertyManagementFormDTO formDTO){
//效验数据
ValidatorUtils.validateEntity(formDTO, IcPropertyManagementFormDTO.UpdateShowGroup.class);
propertyManagementService.update(formDTO);
@ -79,7 +93,7 @@ public class PropertyManagementController {
}
@PostMapping("delete")
public Result delete(@LoginUser TokenDto tokenDTO, @RequestBody IcPropertyManagementFormDTO formDTO){
public Result delete(@RequestBody IcPropertyManagementFormDTO formDTO){
//效验数据
ValidatorUtils.validateEntity(formDTO, IcPropertyManagementFormDTO.DeleteGroup.class);
propertyManagementService.delete(formDTO);

4
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcPropertyManagementDao.java

@ -34,7 +34,7 @@ import java.util.List;
@Mapper
public interface IcPropertyManagementDao extends BaseDao<IcPropertyManagementEntity> {
IcPropertyManagementEntity selectByName(String name);
IcPropertyManagementEntity selectByName(String customerId,String name,String id);
/**
* @Description 根据物业名查询已存在的物业名
@ -58,4 +58,6 @@ public interface IcPropertyManagementDao extends BaseDao<IcPropertyManagementEnt
* @return
*/
List<IcPropertyManagementDTO> selectPropertyNameList(String neighborhoodId);
List<IcPropertyManagementDTO> queryList(@Param("customerId") String customerId,@Param("name")String name);
}

2
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcPropertyManagementEntity.java

@ -39,5 +39,5 @@ public class IcPropertyManagementEntity extends BaseEpmetEntity {
* 物业名称
*/
private String name;
private String customerId;
}

4
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/PropertyManagementService.java

@ -17,6 +17,8 @@
package com.epmet.service;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.IcPropertyManagementDTO;
import com.epmet.dto.form.IcPropertyManagementFormDTO;
import com.epmet.dto.result.IcPropertyManagementResultDTO;
@ -36,4 +38,6 @@ public interface PropertyManagementService {
void update(IcPropertyManagementFormDTO formDTO);
void delete(IcPropertyManagementFormDTO formDTO);
PageData<IcPropertyManagementDTO> page(Integer pageNo, Integer pageSize, String name);
}

50
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/PropertyManagementServiceImpl.java

@ -1,19 +1,24 @@
package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.epmet.commons.tools.exception.RenException;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.EpmetRequestHolder;
import com.epmet.dao.IcNeighborHoodPropertyDao;
import com.epmet.dao.IcPropertyManagementDao;
import com.epmet.dto.IcPropertyManagementDTO;
import com.epmet.dto.form.IcPropertyManagementFormDTO;
import com.epmet.dto.result.IcPropertyManagementResultDTO;
import com.epmet.entity.IcNeighborHoodPropertyEntity;
import com.epmet.entity.IcPropertyManagementEntity;
import com.epmet.service.PropertyManagementService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.util.ArrayList;
@ -28,9 +33,15 @@ public class PropertyManagementServiceImpl implements PropertyManagementService
@Resource
private IcNeighborHoodPropertyDao icNeighborHoodPropertyDao;
/**
* 查询当前客户下的物业
* @return
*/
@Override
public List<IcPropertyManagementResultDTO> getList() {
List<IcPropertyManagementEntity> propertyManagementEntityList = icPropertyManagementDao.selectList(null);
LambdaQueryWrapper<IcPropertyManagementEntity> queryWrapper=new LambdaQueryWrapper<>();
queryWrapper.eq(IcPropertyManagementEntity::getCustomerId, EpmetRequestHolder.getLoginUserCustomerId());
List<IcPropertyManagementEntity> propertyManagementEntityList = icPropertyManagementDao.selectList(queryWrapper);
List<IcPropertyManagementResultDTO> list = new ArrayList<>();
propertyManagementEntityList.forEach(item->{
IcPropertyManagementResultDTO propertyManagementResultDTO = new IcPropertyManagementResultDTO();
@ -41,13 +52,19 @@ public class PropertyManagementServiceImpl implements PropertyManagementService
return list;
}
/**
* 新增物业
* 名称客户下唯一
* @param formDTO
* @return
*/
@Override
@Transactional(rollbackFor = Exception.class)
public String add(IcPropertyManagementFormDTO formDTO) {
//物业名字平台内唯一
//如果输入的物业名字已经存在,直接返回物业id
formDTO.setName(formDTO.getName().trim());
IcPropertyManagementEntity entity = icPropertyManagementDao.selectByName(formDTO.getName());
IcPropertyManagementEntity entity = icPropertyManagementDao.selectByName(formDTO.getCustomerId(),formDTO.getName(),null);
if (null != entity) {
return entity.getId();
}
@ -59,17 +76,34 @@ public class PropertyManagementServiceImpl implements PropertyManagementService
@Override
@Transactional(rollbackFor = Exception.class)
public void update(IcPropertyManagementFormDTO formDTO) {
IcPropertyManagementEntity entity = icPropertyManagementDao.selectByName(EpmetRequestHolder.getLoginUserCustomerId(),formDTO.getName(),formDTO.getId());
if (null != entity) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"物业名称已存在","物业名称已存在");
}
IcPropertyManagementEntity icPropertyManagementEntity = ConvertUtils.sourceToTarget(formDTO, IcPropertyManagementEntity.class);
icPropertyManagementDao.updateById(icPropertyManagementEntity);
}
/**
* 单个删除
* @param formDTO
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(IcPropertyManagementFormDTO formDTO) {
List<IcNeighborHoodPropertyEntity> list = icNeighborHoodPropertyDao.selectList(new QueryWrapper<IcNeighborHoodPropertyEntity>().lambda().eq(IcNeighborHoodPropertyEntity::getPropertyId, formDTO.getId()));
if(!CollectionUtils.isEmpty(list)){
throw new RenException("物业存在与小区关联,无法删除");
LambdaQueryWrapper<IcNeighborHoodPropertyEntity> queryWrapper=new LambdaQueryWrapper<>();
queryWrapper.eq(IcNeighborHoodPropertyEntity::getPropertyId,formDTO.getId());
if (icNeighborHoodPropertyDao.selectCount(queryWrapper) > 0) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"物业存在与小区关联,无法删除","已与小区关联,无法删除");
}
icPropertyManagementDao.deleteById(formDTO.getId());
}
@Override
public PageData<IcPropertyManagementDTO> page(Integer pageNo, Integer pageSize, String name) {
PageHelper.startPage(pageNo,pageSize);
List<IcPropertyManagementDTO> list=icPropertyManagementDao.queryList(EpmetRequestHolder.getLoginUserCustomerId(),name);
PageInfo<IcPropertyManagementDTO> pageInfo = new PageInfo<>(list);
return new PageData<>(list, pageInfo.getTotal());
}
}

8
epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.48__ic_property_management.sql

@ -0,0 +1,8 @@
alter table ic_property_management add COLUMN `CUSTOMER_ID` varchar(64) DEFAULT NULL COMMENT '客户id' after NAME;
update ic_property_management p,ic_neighbor_hood_property pr,ic_neighbor_hood h
set p.CUSTOMER_ID=h.CUSTOMER_ID
where p.DEL_FLAG='0'
and p.id=pr.PROPERTY_ID
and pr.NEIGHBOR_HOOD_ID=h.id;

19
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcPropertyManagementDao.xml

@ -14,14 +14,18 @@
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<select id="selectByName" parameterType="java.lang.String" resultType="com.epmet.entity.IcPropertyManagementEntity">
<select id="selectByName" parameterType="map" resultType="com.epmet.entity.IcPropertyManagementEntity">
SELECT
m.id
FROM
ic_property_management m
WHERE
m.DEL_FLAG = '0'
and m.customer_id = #{customerId}
AND m.`NAME` = #{name}
<if test="id != null and id != ''">
and m.id !=#{id}
</if>
</select>
<!-- 根据物业名查询已存在的物业名 -->
@ -65,4 +69,17 @@
AND p.DEL_FLAG = '0'
)
</select>
<select id="queryList" parameterType="map" resultType="com.epmet.dto.IcPropertyManagementDTO">
select m.*,(
select count(pr.NEIGHBOR_HOOD_ID) from ic_neighbor_hood_property pr where pr.PROPERTY_ID=m.id and pr.del_flag='0'
)as totalNeighborHood
from ic_property_management m
where m.del_flag='0'
and m.customer_id=#{customerId}
<if test="name != null and name != ''">
and m.name like concat('%',#{name},'%')
</if>
order by m.CREATED_TIME desc
</select>
</mapper>
Loading…
Cancel
Save