linwei
2024-01-31 b3b566ebdfed4005aaa513da3d5d2fd3924903cc
src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
@@ -19,6 +19,7 @@
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.AllArgsConstructor;
@@ -42,6 +43,8 @@
import org.springblade.core.tool.support.Kv;
import org.springblade.core.tool.utils.*;
import org.springblade.modules.auth.enums.UserEnum;
import org.springblade.modules.community.entity.CommunityEntity;
import org.springblade.modules.community.service.ICommunityService;
import org.springblade.modules.grid.service.IGridmanService;
import org.springblade.modules.house.entity.HouseholdEntity;
import org.springblade.modules.house.service.IHouseholdService;
@@ -49,12 +52,10 @@
import org.springblade.modules.property.service.IPropertyCompanyDistrictService;
import org.springblade.modules.property.service.IPropertyCompanyService;
import org.springblade.modules.system.entity.*;
import org.springblade.modules.system.excel.PoliceUserExcel;
import org.springblade.modules.system.excel.UserExcel;
import org.springblade.modules.system.mapper.UserMapper;
import org.springblade.modules.system.service.IRoleService;
import org.springblade.modules.system.service.IUserDeptService;
import org.springblade.modules.system.service.IUserOauthService;
import org.springblade.modules.system.service.IUserService;
import org.springblade.modules.system.service.*;
import org.springblade.modules.system.vo.UserDetailVO;
import org.springblade.modules.system.vo.UserVO;
import org.springblade.modules.system.wrapper.UserWrapper;
@@ -561,4 +562,76 @@
      }
      return null;
   }
   /**
    * 导入民警信息
    * @param data
    */
   @Override
   @Transactional(rollbackFor = Exception.class)
   public void importPoliceUser(List<PoliceUserExcel> data) {
      for (PoliceUserExcel userExcel : data) {
         // 查询用户
         List<User> list = getUserListByPhoneOrAccount(userExcel.getPhone());
         if (list.size()>0){
            User userInfo = list.get(0);
            // 判断角色
            if (!userInfo.getRoleId().contains("1727864411451359233")){
               userInfo.setRoleId(userInfo.getRoleId() + ",1727864411451359233");
               // 更新
               updateById(userInfo);
               // 更新社区民警绑定信息
               updateCommunityInfo(userExcel,userInfo);
            }
         }else {
            // 插入用户角色
            User user = new User();
            user.setTenantId("000000");
            user.setUserType(1);
            user.setRoleId("1727864411451359233");
            user.setName(userExcel.getRealName());
            user.setRealName(userExcel.getRealName());
            user.setPhone(userExcel.getPhone());
            user.setAccount(userExcel.getPhone());
            // 查询机构
            QueryWrapper<Dept> queryWrapper = new QueryWrapper<>();
            queryWrapper.eq("is_deleted",0).eq("dept_name",userExcel.getPoliceStationName());
            Dept dept = SpringUtil.getBean(IDeptService.class).getOne(queryWrapper);
            if (null!=dept){
               user.setDeptId(dept.getId().toString());
            }
            user.setPassword("123456");
            // 保存
            submit(user);
            // 更新社区民警绑定信息
            updateCommunityInfo(userExcel,user);
         }
      }
   }
   /**
    * 更新社区民警绑定信息
    * @param userExcel
    * @param user
    */
   public void updateCommunityInfo(PoliceUserExcel userExcel, User user) {
      QueryWrapper<CommunityEntity> wrapper = new QueryWrapper<>();
      System.out.println("wrapper = " + userExcel.getCommunityCode());
      wrapper.eq("is_deleted",0).eq("code",userExcel.getCommunityCode());
      CommunityEntity one = SpringUtil.getBean(ICommunityService.class).getOne(wrapper);
      if (null!=one){
         String userId = user.getId().toString();
         if (!Strings.isBlank(one.getResPoliceUserId())){
            if(!one.getResPoliceUserId().contains(userId)) {
               one.setResPoliceUserId(one.getResPoliceUserId() + "," + userId);
               // 更新
               SpringUtil.getBean(ICommunityService.class).updateById(one);
            }
         }else {
            one.setResPoliceUserId(userId);
            // 更新
            SpringUtil.getBean(ICommunityService.class).updateById(one);
         }
      }
   }
}