From 047ced202f052d70c50f4365b2d86810de076489 Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Wed, 15 May 2024 17:57:49 +0800
Subject: [PATCH] E呼即办2
---
src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java | 216 +++++++++++++++++++++++++++++++++++++----------------
1 files changed, 149 insertions(+), 67 deletions(-)
diff --git a/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java b/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
index c48a46c..c43c12a 100644
--- a/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
+++ b/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
@@ -32,6 +32,7 @@
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.SpringUtil;
import org.springblade.modules.category.entity.CategoryEntity;
import org.springblade.modules.category.service.ICategoryService;
@@ -217,6 +218,11 @@
jwGridCodeBind(placeVO);
// 保存从业人员
savePlacePractitioner(placeVO);
+ // 判断是否校园
+ if (placeVO.getLabel().startsWith("1601")) {
+ // 校园的新增一个主体用户和一个通用用户
+ addSchoolUser(placeVO);
+ }
// 返回结果
return flag;
}
@@ -232,7 +238,7 @@
IPlacePractitionerService practitionerService = SpringUtil.getBean(IPlacePractitionerService.class);
// 查询对应已存在的租户
QueryWrapper<PlacePractitionerEntity> wrapper = new QueryWrapper<>();
- wrapper.eq("place_id", placeVO.getId()).eq("is_deleted",0);
+ wrapper.eq("place_id", placeVO.getId()).eq("is_deleted", 0);
List<PlacePractitionerEntity> oldList = practitionerService.list(wrapper);
// 取出从业人员信息
List<PlacePractitionerEntity> placePractitionerList = placeVO.getPlacePractitioner();
@@ -348,6 +354,18 @@
placeVO.setIsScene(2);
}
}
+ }
+
+ /**
+ * 房屋绑定处理
+ * @param placeEntity
+ */
+ public void houseCodeBindHandle(PlaceEntity placeEntity) {
+ PlaceVO placeVO = new PlaceVO();
+ placeVO.setId(placeEntity.getId());
+ placeVO.setHouseCodeBinds(placeEntity.getHouseCodeBinds());
+ // 绑定
+ houseCodeBindHandle(placeVO);
}
/**
@@ -713,6 +731,53 @@
}
/**
+ * 新增校方主体账号和通用账号
+ *
+ * @param placeVO
+ * @return
+ */
+ @Transactional(rollbackFor = Exception.class)
+ public User addSchoolUser(PlaceVO placeVO) {
+ User newUser = new User();
+ if (StringUtils.isNotBlank(placeVO.getPlaceName())) {
+// placeVO.setPrincipal(placeVO.getPrincipal());
+// placeVO.setPrincipalPhone(placeVO.getPrincipalPhone());
+ //如果用户不存在,则新增一个用户
+ newUser.setAccount(placeVO.getPlaceName() + "主体");
+ newUser.setName(placeVO.getPlaceName() + "-主体");
+ newUser.setRealName(placeVO.getPlaceName() + "-主体");
+ // 社区群众部门
+ newUser.setDeptId("1727979636479037441");
+ // 校园主体,
+ newUser.setRoleId("1780786647371706370");
+
+ //默认密码为 123456
+ newUser.setPassword("123456");
+ // 设置机构
+ // 用户新增
+ newUser.setId(null);
+ boolean submit = userService.submit(newUser);
+ placeVO.setPrincipalAccount(newUser.getId());
+ // 校园通用
+ newUser.setId(null);
+ newUser.setPassword("123456");
+ newUser.setRoleId("1780786746076262402");
+ newUser.setAccount(placeVO.getPlaceName() + "通用");
+ newUser.setName(placeVO.getPlaceName() + "-通用");
+ newUser.setRealName(placeVO.getPlaceName() + "-通用");
+ boolean submit2 = userService.submit(newUser);
+ placeVO.setUniversalAccount(newUser.getId());
+ // 更新场所信息
+ updateById(placeVO);
+ //绑定id
+// placeVO.setPrincipalUserId(newUser.getId());
+ //给人员打上场所负责人的标签
+// baseMapper.saveUserLabel(newUser.getId(), 1002);
+ }
+ return newUser;
+ }
+
+ /**
* 场所负责人和用户绑定
*
* @param placeVO
@@ -724,18 +789,9 @@
placeVO.setPrincipal(placeVO.getPrincipal());
placeVO.setPrincipalPhone(placeVO.getPrincipalPhone());
//根据手机号查询库里的数据
- User userParams = new User();
- userParams.setPhone(placeVO.getPrincipalPhone());
- userParams.setIsDeleted(0);
- User user = userService.getOne(Condition.getQueryWrapper(userParams));
- if (null == user) {
- User userParams1 = new User();
- userParams1.setAccount(placeVO.getPrincipalPhone());
- userParams1.setIsDeleted(0);
- user = userService.getOne(Condition.getQueryWrapper(userParams1));
- }
-
- if (null != user) {
+ List<User> list = userService.getUserListByPhoneOrAccount(placeVO.getPrincipalPhone());
+ if (list.size() > 0) {
+ User user = list.get(0);
//如果用户存在,则该用户id绑定场所
placeVO.setPrincipalUserId(user.getId());
newUser = user;
@@ -955,48 +1011,36 @@
@Override
public void importPlace(List<PlaceExcel> data, Boolean isCovered) {
for (PlaceExcel placeExcel : data) {
+ PlaceEntity placeEntity = Objects.requireNonNull(BeanUtil.copy(placeExcel, PlaceEntity.class));
// 判断是否存在,不存在则插入,否则不操作
QueryWrapper<PlaceEntity> wrapper = new QueryWrapper<>();
wrapper.eq("is_deleted", 0)
.eq("house_code", placeExcel.getHouseCode());
PlaceEntity one = getOne(wrapper);
+ Long userId = updateUser(placeExcel);
if (null == one) {
- Long userId = updateUser(placeExcel);
// 插入场所
- PlaceVO placeEntity = new PlaceVO();
String[] split = placeExcel.getHouseCode().split(",");
placeEntity.setHouseCode(split[0]);
placeEntity.setHouseCodeBinds(placeExcel.getHouseCode());
placeEntity.setPrincipalUserId(userId);
- placeEntity.setPrincipal(placeExcel.getName());
- placeEntity.setPrincipalPhone(placeExcel.getPhoneNumber());
- placeEntity.setCreateTime(new Date());
- placeEntity.setCreateUser(AuthUtil.getUserId());
- placeEntity.setUpdateTime(new Date());
- placeEntity.setUpdateUser(AuthUtil.getUserId());
// 默认为未完善
placeEntity.setStatus(1);
// 是否现场采集 1:是 2:否
placeEntity.setIsScene(1);
- // 来源 1:地址总表 2:国控采集 3:商超
- if (!Strings.isBlank(placeExcel.getHouseCode())) {
- placeEntity.setSource(1);
- }else {
- placeEntity.setSource(2);
- // 并生成36位的houseCode
- placeEntity.setHouseCode(IdUtils.getIdBy36());
- }
+ // houseCode 关联处理 来源 1:地址总表 2:国控采集 3:商超
+ houseCodeHandle(placeExcel, placeEntity);
// 九小场所类型处理
if (!Strings.isBlank(placeExcel.getNineType())) {
placeEntity.setIsNine(1);
placeEntity.setNineType(Integer.parseInt(placeExcel.getNineType()));
}
// 网格绑定处理
- importGridHandle(placeExcel,placeEntity);
+ importGridHandle(placeExcel, placeEntity);
// 新增
save(placeEntity);
// 保存详情
- savePlaceExtAndTaskInfo(placeEntity);
+ savePlaceExt(placeEntity,placeExcel);
// 场所标签信息处理
if (!Strings.isBlank(placeExcel.getLabelCode())) {
PlaceVO placeVO = new PlaceVO();
@@ -1007,40 +1051,30 @@
}
// 房屋编号绑定处理
houseCodeBindHandle(placeEntity);
- }else {
- // 更新
- Long userId = updateUser(placeExcel);
- // 插入场所
- PlaceVO placeEntity = new PlaceVO();
- placeEntity.setId(one.getId());
- placeEntity.setHouseCode(placeExcel.getHouseCode());
- placeEntity.setHouseCodeBinds(placeExcel.getHouseCode());
- placeEntity.setPrincipalUserId(userId);
- placeEntity.setPrincipal(placeExcel.getName());
- placeEntity.setPrincipalPhone(placeExcel.getPhoneNumber());
- placeEntity.setCreateTime(new Date());
- placeEntity.setCreateUser(AuthUtil.getUserId());
- placeEntity.setUpdateTime(new Date());
- placeEntity.setUpdateUser(AuthUtil.getUserId());
+ } else {
+ // 更新场所
+ one.setPrincipalUserId(userId);
+ one.setPrincipal(placeExcel.getPrincipal());
+ one.setPrincipalPhone(placeExcel.getPrincipalPhone());
// 默认为未完善
- placeEntity.setStatus(1);
+ one.setStatus(1);
// 是否现场采集 1:是 2:否
- placeEntity.setIsScene(1);
+ one.setIsScene(1);
// 来源 1:地址总表 2:国控采集 3:商超
- placeEntity.setSource(1);
+ one.setSource(1);
// 九小场所类型处理
if (!Strings.isBlank(placeExcel.getNineType())) {
- placeEntity.setIsNine(1);
- placeEntity.setNineType(Integer.parseInt(placeExcel.getNineType()));
+ one.setIsNine(1);
+ one.setNineType(Integer.parseInt(placeExcel.getNineType()));
}
// 网格绑定处理
- importGridHandle(placeExcel,placeEntity);
+ importGridHandle(placeExcel, one);
// 更新
- updateById(placeEntity);
+ updateById(one);
// 场所标签信息处理
if (!Strings.isBlank(placeExcel.getLabelCode())) {
PlaceVO placeVO = new PlaceVO();
- placeVO.setId(placeEntity.getId());
+ placeVO.setId(one.getId());
placeVO.setLabel(placeExcel.getLabelCode());
// 处理
placeLabelBind(placeVO);
@@ -1050,16 +1084,61 @@
}
/**
- * 导入是网格数据绑定处理
+ * 保存场所详情信息
+ * @param placeEntity
+ * @param placeExcel
+ */
+ @Transactional(rollbackFor = Exception.class)
+ public void savePlaceExt(PlaceEntity placeEntity,PlaceExcel placeExcel) {
+ PlaceVO placeVO = new PlaceVO();
+ placeVO.setId(placeEntity.getId());
+ PlaceExtEntity placeExtEntity = new PlaceExtEntity();
+ placeExtEntity.setLegalPerson(placeExcel.getLegalPerson());
+ placeExtEntity.setLegalTel(placeExcel.getLegalTel());
+ placeExtEntity.setLegalIdCard(placeExcel.getLegalIdCard());
+ // 设置详情
+ placeVO.setPlaceExtEntity(placeExtEntity);
+ // 保存详情
+ savePlaceExtAndTaskInfo(placeVO);
+ }
+
+ /**
+ *
* @param placeExcel
* @param placeEntity
*/
- private void importGridHandle(PlaceExcel placeExcel, PlaceVO placeEntity) {
+ public void houseCodeHandle(PlaceExcel placeExcel, PlaceEntity placeEntity) {
+ if (!Strings.isBlank(placeExcel.getHouseCode())) {
+ placeEntity.setSource(1);
+ // 设置经纬度及地址
+ DoorplateAddressEntity doorplateAddressEntity
+ = doorplateAddressService.getOne(Wrappers.<DoorplateAddressEntity>lambdaQuery().eq(DoorplateAddressEntity::getAddressCode, placeExcel.getHouseCode()));
+ if (null!=doorplateAddressEntity){
+ placeEntity.setLng(doorplateAddressEntity.getX());
+ placeEntity.setLat(doorplateAddressEntity.getY());
+ placeEntity.setLocation(doorplateAddressEntity.getAddressName());
+ placeEntity.setBuildingCode(doorplateAddressEntity.getBuildingCode());
+ placeEntity.setAoiCode(doorplateAddressEntity.getAoiCode());
+ }
+ } else {
+ placeEntity.setSource(2);
+ // 并生成36位的houseCode
+ placeEntity.setHouseCode(IdUtils.getIdBy36());
+ }
+ }
+
+ /**
+ * 导入是网格数据绑定处理
+ *
+ * @param placeExcel
+ * @param placeEntity
+ */
+ private void importGridHandle(PlaceExcel placeExcel, PlaceEntity placeEntity) {
if (!Strings.isBlank(placeExcel.getCommunityName()) &&
- !Strings.isBlank(placeExcel.getGridName())){
+ !Strings.isBlank(placeExcel.getGridName())) {
// 查询对应的网格信息
- GridEntity gridEntity = gridService.getGridInfoByParam(placeExcel.getCommunityName(),placeExcel.getGridName());
- if (null!=gridEntity){
+ GridEntity gridEntity = gridService.getGridInfoByParam(placeExcel.getCommunityName(), placeExcel.getGridName());
+ if (null != gridEntity) {
// 设置场所范围
placeEntity.setGridId(gridEntity.getId());
placeEntity.setGridCode(gridEntity.getGridCode());
@@ -1069,8 +1148,8 @@
gridRangeEntity.setGridCode(gridEntity.getGridCode());
gridRangeEntity.setHouseCode(placeEntity.getHouseCode());
UpdateWrapper<GridRangeEntity> updateWrapper = new UpdateWrapper<>();
- updateWrapper.eq("house_code",placeEntity.getHouseCode());
- gridRangeService.update(gridRangeEntity,updateWrapper);
+ updateWrapper.eq("house_code", placeEntity.getHouseCode());
+ gridRangeService.update(gridRangeEntity, updateWrapper);
}
}
}
@@ -1082,11 +1161,11 @@
* @return
*/
public Long updateUser(PlaceExcel placeExcel) {
- if (!Strings.isBlank(placeExcel.getPhoneNumber()) &&
- !Strings.isBlank(placeExcel.getName())) {
+ if (!Strings.isBlank(placeExcel.getPrincipal()) &&
+ !Strings.isBlank(placeExcel.getPrincipalPhone())) {
PlaceVO placeVO = new PlaceVO();
- placeVO.setPrincipal(placeExcel.getPhoneNumber());
- placeVO.setPrincipalPhone(placeExcel.getName());
+ placeVO.setPrincipal(placeExcel.getPrincipal());
+ placeVO.setPrincipalPhone(placeExcel.getPrincipalPhone());
// 更新场所负责人
User user = bindUserHandle(placeVO);
// 返回
@@ -1675,15 +1754,17 @@
/**
* 查询所有场所数据
+ *
* @return
*/
@Override
- public List<PlaceVO> getAllList(int i,int size) {
- return baseMapper.getAllList(i,size);
+ public List<PlaceVO> getAllList(int i, int size) {
+ return baseMapper.getAllList(i, size);
}
/**
* 查询所有场所数据总数
+ *
* @return
*/
@Override
@@ -1693,6 +1774,7 @@
/**
* 查询对应的社区编号
+ *
* @param id
* @return
*/
--
Gitblit v1.9.3