|
@@ -16,9 +16,11 @@ import org.dromara.common.mybatis.core.page.PageQuery;
|
|
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
|
|
import org.dromara.common.satoken.utils.LoginHelper;
|
|
|
import org.dromara.common.tenant.helper.TenantHelper;
|
|
|
+import org.dromara.domain.houseInfo.HouseInfo;
|
|
|
import org.dromara.domain.residentInfo.ResidentInfo;
|
|
|
import org.dromara.domain.residentInfo.bo.ResidentInfoBo;
|
|
|
import org.dromara.domain.residentInfo.vo.ResidentInfoVo;
|
|
|
+import org.dromara.mapper.HouseInfoMapper;
|
|
|
import org.dromara.mapper.ResidentInfoMapper;
|
|
|
import org.dromara.service.IResidentInfoService;
|
|
|
import org.dromara.system.domain.SysRole;
|
|
@@ -58,6 +60,8 @@ public class ResidentInfoServiceImpl implements IResidentInfoService {
|
|
|
private final ISysUserService userService;
|
|
|
private final SysRoleMapper sysRoleMapper;
|
|
|
private final SysUserRoleMapper userRoleMapper;
|
|
|
+ private final HouseInfoMapper houseInfoMapper;
|
|
|
+
|
|
|
|
|
|
/**
|
|
|
* 查询居住人员信息,存储居住人员的详细信息
|
|
@@ -140,6 +144,7 @@ public class ResidentInfoServiceImpl implements IResidentInfoService {
|
|
|
lqw.eq(bo.getHouseId() != null, ResidentInfo::getHouseId, bo.getHouseId());
|
|
|
lqw.eq(bo.getUserId() != null, ResidentInfo::getUserId, bo.getUserId());
|
|
|
lqw.eq(StringUtils.isNotBlank(bo.getDetailedAddress()), ResidentInfo::getDetailedAddress, bo.getDetailedAddress());
|
|
|
+ lqw.eq(StringUtils.isNotBlank(bo.getResidentType()), ResidentInfo::getResidentType, bo.getResidentType());
|
|
|
lqw.like(StringUtils.isNotBlank(bo.getResidentName()), ResidentInfo::getResidentName, bo.getResidentName());
|
|
|
lqw.eq(StringUtils.isNotBlank(bo.getResidentIdCard()), ResidentInfo::getResidentIdCard, bo.getResidentIdCard());
|
|
|
lqw.eq(StringUtils.isNotBlank(bo.getResidentBirthday()), ResidentInfo::getResidentBirthday, bo.getResidentBirthday());
|
|
@@ -164,13 +169,64 @@ public class ResidentInfoServiceImpl implements IResidentInfoService {
|
|
|
* 新增居住人员提交认证信息
|
|
|
*/
|
|
|
@Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public Boolean insertByBo(ResidentInfoBo bo) {
|
|
|
ResidentInfo add = MapstructUtils.convert(bo, ResidentInfo.class);
|
|
|
//根据租户id houseId 手机号查询该居住人员是否存在
|
|
|
if (checkIdCardUnique(add)) {
|
|
|
throw new UserException("resident.register.save.error", add.getResidentName());
|
|
|
}
|
|
|
- add.setUserId(LoginHelper.getUserId());
|
|
|
+ String tenantId = bo.getTenantId();
|
|
|
+ Long userId = LoginHelper.getUserId();
|
|
|
+ add.setUserId(userId);
|
|
|
+ String residentType = add.getResidentType();
|
|
|
+ String isHouseholder = add.getIsHouseholder();
|
|
|
+ //必须是业主和户主才能去修改房本信息
|
|
|
+ if (ONE.equals(residentType) && Y.equals(isHouseholder)) {
|
|
|
+ List<HouseInfo> houseInfoList = bo.getHouseInfoList();
|
|
|
+ if (houseInfoList != null && !houseInfoList.isEmpty()) {
|
|
|
+ //修改房屋信息
|
|
|
+ return TenantHelper.ignore(() -> {
|
|
|
+ return houseInfoMapper.updateBatchById(houseInfoList);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (THR.equals(residentType)){
|
|
|
+ SysUserBo user = new SysUserBo();
|
|
|
+ user.setUserId(userId);
|
|
|
+ user.setTenantId(tenantId);
|
|
|
+ user.setResidentType(residentType);
|
|
|
+ //默认审核通过
|
|
|
+ add.setExamine(TWO);
|
|
|
+ //赋予角色
|
|
|
+ //sys_user_tenant表中
|
|
|
+ SysUserTenant sysUserTenant = new SysUserTenant();
|
|
|
+ sysUserTenant.setUserId(userId);
|
|
|
+ sysUserTenant.setTenantId(tenantId);
|
|
|
+ sysUserTenantMapper.insert(sysUserTenant);
|
|
|
+ //给该userId赋予角色
|
|
|
+ // 新增用户与角色管理
|
|
|
+ //根据权限字符去查询角色id
|
|
|
+ SysRoleVo sysRoleVo = TenantHelper.ignore(() -> {
|
|
|
+ return sysRoleMapper.selectVoOne(new LambdaQueryWrapper<SysRole>()
|
|
|
+ //TENEMENT住户固定角色名称
|
|
|
+ .eq(SysRole::getRoleKey, VISITOR)
|
|
|
+ .eq(SysRole::getTenantId, add.getTenantId()));
|
|
|
+ });
|
|
|
+ if (sysRoleVo != null) {
|
|
|
+ Long[] longArray = new Long[1];
|
|
|
+ longArray[0] = sysRoleVo.getRoleId();
|
|
|
+ user.setRoleIds(longArray);
|
|
|
+ }
|
|
|
+ userService.insertUserRole(user, false);
|
|
|
+
|
|
|
+ if (TenantHelper.isEnable()) {
|
|
|
+ //把租户id更新到sys_user表/sys_user_tenant表中
|
|
|
+ user.setIsAuthentication(Y);
|
|
|
+ userService.updateUserByIdNoTenantId(user);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
boolean flag = baseMapper.insert(add) > 0;
|
|
|
if (flag) {
|
|
|
bo.setResidentId(add.getResidentId());
|
|
@@ -270,9 +326,21 @@ public class ResidentInfoServiceImpl implements IResidentInfoService {
|
|
|
public Boolean updateByBo(ResidentInfoBo bo) {
|
|
|
ResidentInfo update = MapstructUtils.convert(bo, ResidentInfo.class);
|
|
|
validEntityBeforeSave(update);
|
|
|
- //根据租户id houseId 手机号查询该居住人员是否存在
|
|
|
+/* //根据租户id houseId 手机号查询该居住人员是否存在
|
|
|
if (checkIdCardUnique(update)) {
|
|
|
throw new UserException("resident.register.save.error", update.getResidentName());
|
|
|
+ }*/
|
|
|
+ String residentType = update.getResidentType();
|
|
|
+ String isHouseholder = update.getIsHouseholder();
|
|
|
+ //必须是业主和户主才能去修改房本信息
|
|
|
+ if (ONE.equals(residentType) && Y.equals(isHouseholder)) {
|
|
|
+ List<HouseInfo> houseInfoList = bo.getHouseInfoList();
|
|
|
+ if (houseInfoList != null && !houseInfoList.isEmpty()) {
|
|
|
+ //修改房屋信息
|
|
|
+ TenantHelper.ignore(() -> {
|
|
|
+ return houseInfoMapper.updateBatchById(houseInfoList);
|
|
|
+ });
|
|
|
+ }
|
|
|
}
|
|
|
if (bo.getIsFilter()) {
|
|
|
return TenantHelper.ignore(() -> {
|
|
@@ -377,7 +445,7 @@ public class ResidentInfoServiceImpl implements IResidentInfoService {
|
|
|
|
|
|
|
|
|
/**
|
|
|
- *删除居住人员的认证信息
|
|
|
+ * 删除居住人员的认证信息
|
|
|
*
|
|
|
* @param bo 主键串
|
|
|
*/
|