|
@@ -1,13 +1,8 @@
|
|
|
package com.bofeng.service;
|
|
|
|
|
|
import com.baomidou.mybatisplus.toolkit.IdWorker;
|
|
|
-import com.bofeng.dao.UptownHomeMapper;
|
|
|
-import com.bofeng.dao.UptownHouseMapper;
|
|
|
-import com.bofeng.dao.UserRoleMapper;
|
|
|
-import com.bofeng.entity.UptownHome;
|
|
|
-import com.bofeng.entity.UptownHouse;
|
|
|
-import com.bofeng.entity.UserOpen;
|
|
|
-import com.bofeng.entity.UserRole;
|
|
|
+import com.bofeng.dao.*;
|
|
|
+import com.bofeng.entity.*;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Propagation;
|
|
@@ -28,6 +23,10 @@ public class WxUserOpenService {
|
|
|
private UptownHouseMapper uptownHouseMapper;
|
|
|
@Autowired
|
|
|
private UptownHomeMapper uptownHomeMapper;
|
|
|
+ @Autowired
|
|
|
+ private OwnerMapper ownerMapper;
|
|
|
+ @Autowired
|
|
|
+ private OwnerLinkmanMapper ownerLinkmanMapper;
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
|
|
|
public Long createRole(Long isFamily, Long isYWH) throws Exception {
|
|
@@ -69,29 +68,30 @@ public class WxUserOpenService {
|
|
|
if (userOpen == null) {
|
|
|
throw new Exception("微信登录失败");
|
|
|
}
|
|
|
- //判断该用户是否已经创建了角色
|
|
|
+ //判断该用户是否已经创建了家庭用户角色
|
|
|
List<UserRole> lstUserRole = new ArrayList<>();
|
|
|
if (userOpen.getUserId() > 0L) {
|
|
|
lstUserRole = userRoleMapper.getUserRoleByUserId(userOpen.getUserId());
|
|
|
}
|
|
|
- if (lstUserRole.size() == 0) {
|
|
|
- throw new Exception("尚未创建任何角色");
|
|
|
- }
|
|
|
- //判断该用户是否创建了家庭用户的角色
|
|
|
- Boolean isFamily = false;
|
|
|
- for (UserRole item : lstUserRole) {
|
|
|
- if (item.getRoleId() == 1L) {
|
|
|
- isFamily = true;
|
|
|
- continue;
|
|
|
+ if (lstUserRole.size() > 0) {
|
|
|
+ for (UserRole item : lstUserRole) {
|
|
|
+ if (item.getRoleId() == 1L) {
|
|
|
+ throw new Exception("家庭用户角色已存在"); //todo 暂时只允许一个用户角色绑定一个家庭门牌号
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
- if (!isFamily) {
|
|
|
- throw new Exception("尚未创建家庭用户角色");
|
|
|
- }
|
|
|
+ //创建家庭用户角色
|
|
|
+ UserRole userRole = new UserRole();
|
|
|
+ userRole.setUrId(IdWorker.getId());
|
|
|
+ userRole.setUserId(userOpen.getUserId());
|
|
|
+ userRole.setUserCreate(userOpen.getUserId());
|
|
|
+ userRole.setUserUpdate(userOpen.getUserId());
|
|
|
+ userRole.setRoleId(1); //家庭用户
|
|
|
+
|
|
|
//判断该门牌号是否被创建(该楼栋单元下)
|
|
|
List<UptownHouse> lstUptownHouse = uptownHouseMapper.getUptownHouseBy(unitId, doorPlate);
|
|
|
if (lstUptownHouse.size() > 0) {
|
|
|
- throw new Exception("该门牌已有人入住!");
|
|
|
+ throw new Exception("当前单元下已有该门牌信息!");
|
|
|
}
|
|
|
UptownHouse uptownHouse = new UptownHouse();
|
|
|
uptownHouse.setHouseId(IdWorker.getId());
|
|
@@ -101,8 +101,9 @@ public class WxUserOpenService {
|
|
|
if (uptownHouseMapper.insert(uptownHouse) != 1) {
|
|
|
throw new Exception("创建门牌失败!");
|
|
|
}
|
|
|
+ userRole.setPropertyId(uptownHouse.getHouseId()); //绑定家庭用户角色的门牌id
|
|
|
//判断该门牌是否存在家庭信息
|
|
|
- List<UptownHome> lstUptownHome = uptownHomeMapper.getUptownHomeBy(uptownHouse.getHouseId(), doorPlate);
|
|
|
+ List<UptownHome> lstUptownHome = uptownHomeMapper.getUptownHomeBy(uptownHouse.getHouseId());
|
|
|
if (lstUptownHome.size() > 0) {
|
|
|
throw new Exception("该门牌已有人入住!");
|
|
|
}
|
|
@@ -118,6 +119,83 @@ public class WxUserOpenService {
|
|
|
if (uptownHomeMapper.insert(uptownHome) != 1) {
|
|
|
throw new Exception("创建家庭信息失败!");
|
|
|
}
|
|
|
+ userRoleMapper.insert(userRole);
|
|
|
+
|
|
|
+ return 1L;
|
|
|
+ }
|
|
|
+
|
|
|
+ public Long createYWH(List<OwnerLinkman> lstOwnerMan, Long uptownId) throws Exception {
|
|
|
+ UserOpen userOpen = homeService.getUserOpen();
|
|
|
+ if (userOpen == null) {
|
|
|
+ throw new Exception("微信登录失败");
|
|
|
+ }
|
|
|
+ //判断该用户是否已经创建了业委会角色
|
|
|
+ List<UserRole> lstUserRole = new ArrayList<>();
|
|
|
+ if (userOpen.getUserId() > 0L) {
|
|
|
+ lstUserRole = userRoleMapper.getUserRoleByUserId(userOpen.getUserId());
|
|
|
+ }
|
|
|
+ if (lstUserRole.size() > 0) {
|
|
|
+ //判断该用户是否创建了业委会的角色
|
|
|
+ for (UserRole item : lstUserRole) {
|
|
|
+ if (item.getRoleId() == 2L) {
|
|
|
+ throw new Exception("业委会用户角色已存在"); //todo 暂时只允许一个用户角色绑定一个业委会
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //创建业委会用户角色
|
|
|
+ UserRole userRole = new UserRole();
|
|
|
+ userRole.setUrId(IdWorker.getId());
|
|
|
+ userRole.setUserId(userOpen.getUserId());
|
|
|
+ userRole.setUserCreate(userOpen.getUserId());
|
|
|
+ userRole.setUserUpdate(userOpen.getUserId());
|
|
|
+ userRole.setRoleId(2); //业委会
|
|
|
+
|
|
|
+ //判断业委会是否已经建立
|
|
|
+ List<Owner> lstOwner = new ArrayList<>();
|
|
|
+ Owner owner;
|
|
|
+ if (uptownId > 0L) {
|
|
|
+ lstOwner = ownerMapper.getOwnerByUptownId(uptownId);
|
|
|
+ }
|
|
|
+ if (lstOwner.size() > 0) {
|
|
|
+ //判断该用户是否创建了业委会
|
|
|
+ for (Owner item : lstOwner) {
|
|
|
+ if (item.getUptownId() == uptownId) {
|
|
|
+ throw new Exception("该小区已建立业委会");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ owner = new Owner();
|
|
|
+ owner.setOwnerId(IdWorker.getId());
|
|
|
+ owner.setUptownId(uptownId);
|
|
|
+ owner.setUserCreate(userOpen.getUserId());
|
|
|
+ owner.setUserUpdate(userOpen.getUserId());
|
|
|
+
|
|
|
+ userRole.setPropertyId(owner.getOwnerId());
|
|
|
+ userRoleMapper.insert(userRole);
|
|
|
+
|
|
|
+ //建立业委会成员
|
|
|
+ if (lstOwnerMan == null) {
|
|
|
+ throw new Exception("请新增业委会成员");
|
|
|
+ }
|
|
|
+ int masterNum = 0;
|
|
|
+ for (OwnerLinkman item : lstOwnerMan) {
|
|
|
+ if (item.getType() == 1L) {
|
|
|
+ masterNum++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (masterNum != 1L) {
|
|
|
+ throw new Exception("业委会负责人只允许有一个");
|
|
|
+ }
|
|
|
+ for (OwnerLinkman item : lstOwnerMan) {
|
|
|
+ if (item.getType() == 1L) {
|
|
|
+ owner.setLinkman(item.getLinkman());
|
|
|
+ owner.setPhone(item.getPhone());
|
|
|
+ }
|
|
|
+ item.setOwnerId(owner.getOwnerId());
|
|
|
+ ownerLinkmanMapper.insert(item);
|
|
|
+ }
|
|
|
+ ownerMapper.insert(owner);
|
|
|
+
|
|
|
return 1L;
|
|
|
}
|
|
|
|