|  |  |  | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Value; | 
|---|
|  |  |  | import org.springframework.scheduling.annotation.Async; | 
|---|
|  |  |  | import org.springframework.stereotype.Indexed; | 
|---|
|  |  |  | import org.springframework.stereotype.Service; | 
|---|
|  |  |  | import org.springframework.transaction.annotation.Transactional; | 
|---|
|  |  |  | import org.springframework.util.CollectionUtils; | 
|---|
|  |  |  | 
|---|
|  |  |  | import java.lang.reflect.Array; | 
|---|
|  |  |  | import java.net.URI; | 
|---|
|  |  |  | import java.net.URLEncoder; | 
|---|
|  |  |  | import java.nio.charset.Charset; | 
|---|
|  |  |  | import java.util.*; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | 
|---|
|  |  |  | private boolean debugModel; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private CompanyMapper companyMapper; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private CompanyDepartmentMapper companyDepartmentMapper; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private SystemUserMapper systemUserMapper; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | 
|---|
|  |  |  | companyMapper.insert(company); | 
|---|
|  |  |  | company.setEditDate(company.getCreateDate()); | 
|---|
|  |  |  | company.setEditor(user.getId()); | 
|---|
|  |  |  | //新建默认组织 | 
|---|
|  |  |  | CompanyDepartment department = createDefaultDepart(company); | 
|---|
|  |  |  | //处理登陆账号信息 | 
|---|
|  |  |  | dealSystemUserData(company); | 
|---|
|  |  |  | SystemUser sysuser = dealSystemUserData(company,department.getId()); | 
|---|
|  |  |  | //处理附件信息 | 
|---|
|  |  |  | dealFileData(company); | 
|---|
|  |  |  | //处理关联方案 | 
|---|
|  |  |  | dealSolutionsData(company); | 
|---|
|  |  |  | return company; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private CompanyDepartment createDefaultDepart(Company company) { | 
|---|
|  |  |  | CompanyDepartment depart = new CompanyDepartment(); | 
|---|
|  |  |  | depart.setCompanyId(company.getId()); | 
|---|
|  |  |  | depart.setCreator(company.getCreator()); | 
|---|
|  |  |  | depart.setCreateDate(company.getCreateDate()); | 
|---|
|  |  |  | depart.setType(Constants.equalsInteger(company.getType(),Constants.ZERO)?Constants.ONE:Constants.TWO); | 
|---|
|  |  |  | depart.setName(company.getName()); | 
|---|
|  |  |  | depart.setIsdeleted(Constants.ZERO); | 
|---|
|  |  |  | depart.setNamePath(company.getName()); | 
|---|
|  |  |  | depart.setStatus(Constants.ZERO); | 
|---|
|  |  |  | depart.setRemark("默认根组织"); | 
|---|
|  |  |  | companyDepartmentMapper.insert(depart); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | depart.setIdPath(company.getId()+"/"); | 
|---|
|  |  |  | companyDepartmentMapper.updateById(depart);//更新路径 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return depart; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | @Transactional | 
|---|
|  |  |  | public Company createShop(Company company) { | 
|---|
|  |  |  | isValidCreateParam(company); | 
|---|
|  |  |  | if(companyMapper.selectCount(new QueryWrapper<Company>().lambda() | 
|---|
|  |  |  | .eq(Company::getCode,company.getCode()) | 
|---|
|  |  |  | .or().eq(Company::getPhone,company.getPhone()) | 
|---|
|  |  |  | .or().eq(Company::getEmail,company.getEmail()) | 
|---|
|  |  |  | .or().eq(Company::getUsername,company.getUsername()) | 
|---|
|  |  |  | .or().eq(Company::getName,company.getName()))>0){ | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,该商户【名称】【统一信用代码】【邮箱】或者【手机号】已存在,请确认后重新提交!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); | 
|---|
|  |  |  | company.setCreator(user.getId()); | 
|---|
|  |  |  | company.setCreateDate(new Date()); | 
|---|
|  |  |  | company.setType(Constants.ONE); | 
|---|
|  |  |  | company.setIsdeleted(Constants.ZERO); | 
|---|
|  |  |  | company.setStatus(Constants.ZERO); | 
|---|
|  |  |  | company.setSignStatus(Constants.ZERO); | 
|---|
|  |  |  | company.setSignIdStatus(Constants.ZERO); | 
|---|
|  |  |  | companyMapper.insert(company); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | company.setEditDate(company.getCreateDate()); | 
|---|
|  |  |  | company.setEditor(user.getId()); | 
|---|
|  |  |  | //处理登陆账号信息 | 
|---|
|  |  |  | dealSystemUserData(company,createDefaultDepart(company).getId()); | 
|---|
|  |  |  | //处理附件信息 | 
|---|
|  |  |  | dealFileData(company); | 
|---|
|  |  |  | return company; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | @Transactional | 
|---|
|  |  |  | public void  updateSolutions(Company company) { | 
|---|
|  |  |  | 
|---|
|  |  |  | //处理关联方案 | 
|---|
|  |  |  | dealSolutionsData(company); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | @Transactional | 
|---|
|  |  |  | public void exportFiles(Integer id, HttpServletResponse response){ | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | 
|---|
|  |  |  | if(fileList == null || fileList.size() == 0){ | 
|---|
|  |  |  | throw  new BusinessException(ResponseStatus.DATA_EMPTY); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | String fileName =  model.getName() +"_企业证件_"+System.currentTimeMillis()+".zip" ; | 
|---|
|  |  |  | String encodeFileName = URLEncoder.encode(fileName); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String fileName =  model.getName() +"-企业证件-"+System.currentTimeMillis() ; | 
|---|
|  |  |  | String encodeFileName =URLEncoder.encode(fileName, Charset.forName("UTF-8").toString())+".zip"; | 
|---|
|  |  |  | response.setHeader("Content-Disposition","attachment;filename=" + encodeFileName); | 
|---|
|  |  |  | response.setContentType("application/octet-stream"); | 
|---|
|  |  |  | response.setHeader("eva-opera-type", "download"); | 
|---|
|  |  |  | response.setHeader("eva-download-filename", encodeFileName); | 
|---|
|  |  |  | Constants. packFilesToZip(fileList,response.getOutputStream()); | 
|---|
|  |  |  | Constants.packFilesToZip(fileList,response.getOutputStream()); | 
|---|
|  |  |  | } catch (IOException e) { | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.EXPORT_EXCEL_ERROR, e); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private void dealSystemUserData(Company company) { | 
|---|
|  |  |  | private SystemUser dealSystemUserData(Company company, Integer departId) { | 
|---|
|  |  |  | if(systemUserMapper.selectCount(new QueryWrapper<SystemUser>().lambda() | 
|---|
|  |  |  | .eq(SystemUser::getDeleted,Boolean.TRUE) | 
|---|
|  |  |  | .eq(SystemUser::getUsername,company.getUsername()))>0){ | 
|---|
|  |  |  | throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,该登录账号已存在,请更新重试~"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(systemUserMapper.selectCount(new QueryWrapper<SystemUser>().lambda() | 
|---|
|  |  |  | .eq(SystemUser::getDeleted,Boolean.TRUE) | 
|---|
|  |  |  | .eq(SystemUser::getMobile,company.getPhone()))>0){ | 
|---|
|  |  |  | throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,该手机号已存在,请更换重试~"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | SystemUser user = new SystemUser(); | 
|---|
|  |  |  | user.setUsername(company.getUsername()); | 
|---|
|  |  |  | // 生成密码盐 | 
|---|
|  |  |  | 
|---|
|  |  |  | // 生成密码 | 
|---|
|  |  |  | user.setPassword(Utils.Secure.encryptPassword(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.DEFAULT_PASSWORD).getCode(), salt)); | 
|---|
|  |  |  | user.setSalt(salt); | 
|---|
|  |  |  | user.setType(Constants.ONE); | 
|---|
|  |  |  | user.setType(Constants.equalsInteger(company.getType(),Constants.ZERO)?Constants.ONE:Constants.TWO); | 
|---|
|  |  |  | user.setFixed(Boolean.TRUE); | 
|---|
|  |  |  | user.setDeleted(Boolean.FALSE); | 
|---|
|  |  |  | user.setCompanyId(company.getId()); | 
|---|
|  |  |  | user.setRealname(company.getLegalName()); | 
|---|
|  |  |  | user.setMobile(company.getPhone()); | 
|---|
|  |  |  | user.setCreateUser(company.getCreator()); | 
|---|
|  |  |  | user.setDepartmentId(departId); | 
|---|
|  |  |  | user.setCreateTime(company.getCreateDate()); | 
|---|
|  |  |  | user.setStatus(Constants.ZERO); | 
|---|
|  |  |  | systemUserMapper.insert(user); | 
|---|
|  |  |  | return user; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | private void dealSystemUserDataForUpdate (Company company,String oldUserName) { | 
|---|
|  |  |  | if(systemUserMapper.selectCount(new QueryWrapper<SystemUser>().lambda() | 
|---|
|  |  |  | .eq(SystemUser::getDeleted,Boolean.TRUE) | 
|---|
|  |  |  | .eq(SystemUser::getUsername,company.getUsername()))>0){ | 
|---|
|  |  |  | throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,该登录账号已存在,请更新重试~"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(systemUserMapper.selectCount(new QueryWrapper<SystemUser>().lambda() | 
|---|
|  |  |  | .eq(SystemUser::getDeleted,Boolean.TRUE) | 
|---|
|  |  |  | .ne(SystemUser::getUsername,company.getUsername()) | 
|---|
|  |  |  | .eq(SystemUser::getMobile,company.getPhone()))>0){ | 
|---|
|  |  |  | throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,该手机号已存在,请更新重试~"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | SystemUser model = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda() | 
|---|
|  |  |  | .eq(SystemUser::getDeleted,Boolean.TRUE) | 
|---|
|  |  |  | 
|---|
|  |  |  | // 生成密码 | 
|---|
|  |  |  | user.setPassword(Utils.Secure.encryptPassword(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.DEFAULT_PASSWORD).getCode(), salt)); | 
|---|
|  |  |  | user.setSalt(salt); | 
|---|
|  |  |  | user.setType(Constants.ONE); | 
|---|
|  |  |  | user.setType(Constants.equalsInteger(company.getType(),Constants.ZERO)?Constants.ONE:Constants.TWO); | 
|---|
|  |  |  | user.setFixed(Boolean.TRUE); | 
|---|
|  |  |  | user.setDeleted(Boolean.FALSE); | 
|---|
|  |  |  | user.setCompanyId(company.getId()); | 
|---|
|  |  |  | user.setMobile(company.getPhone()); | 
|---|
|  |  |  | user.setCreateUser(company.getCreator()); | 
|---|
|  |  |  | user.setRealname(company.getLegalName()); | 
|---|
|  |  |  | user.setCreateTime(company.getCreateDate()); | 
|---|
|  |  |  | user.setStatus(Constants.ZERO); | 
|---|
|  |  |  | systemUserMapper.insert(user);//插入新的管理员账号 | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | model.setMobile(company.getPhone()); | 
|---|
|  |  |  | model.setUsername(company.getUsername()); | 
|---|
|  |  |  | model.setCreateUser(company.getCreator()); | 
|---|
|  |  |  | model.setCreateTime(company.getCreateDate()); | 
|---|
|  |  |  | 
|---|
|  |  |  | List<Integer> sIds = new ArrayList<>(); | 
|---|
|  |  |  | List<CompanySolution> list = new ArrayList<>(); | 
|---|
|  |  |  | int num =0; | 
|---|
|  |  |  | Date date = new Date(); | 
|---|
|  |  |  | for(CompanySolution s :company.getSolutionList()){ | 
|---|
|  |  |  | if(s.getSolutionBaseId() == null){ | 
|---|
|  |  |  | if(Objects.isNull(s.getSolution())){ | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | sIds.add(s.getSolutionBaseId()); | 
|---|
|  |  |  | if(s.getSolution().getBaseId() == null){ | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | Solutions newVersion = solutionsMapper.selectOne(new QueryWrapper<Solutions>().lambda().eq(Solutions::getBaseId,s.getSolution().getBaseId()) | 
|---|
|  |  |  | .eq(Solutions::getDataType,Constants.TWO).last("limit 1")); | 
|---|
|  |  |  | if(Objects.isNull(newVersion)){ | 
|---|
|  |  |  | throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"请添加有效的保险方案信息!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | sIds.add(s.getSolution().getBaseId()); | 
|---|
|  |  |  | s.setCompanyId(company.getId()); | 
|---|
|  |  |  | s.setIsdeleted(Constants.ZERO); | 
|---|
|  |  |  | s.setCanAdd(Constants.formatIntegerNum(s.getCanAdd())); | 
|---|
|  |  |  | s.setCanReduce(Constants.formatIntegerNum(s.getCanReduce())); | 
|---|
|  |  |  | s.setCreateDate(company.getCreateDate()); | 
|---|
|  |  |  | s.setCreateDate(date); | 
|---|
|  |  |  | s.setCreator(company.getCreator()); | 
|---|
|  |  |  | s.setSortnum(num++); | 
|---|
|  |  |  | s.setSolutionBaseId( s.getSolution().getBaseId() ); | 
|---|
|  |  |  | s.setSolutionId( newVersion.getId() ); | 
|---|
|  |  |  | s.setStatus(Constants.ZERO); | 
|---|
|  |  |  | list.add(s); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | companySolutionJoinMapper.insertBatchSomeColumn(list); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /* private void dealSolutionsData(Company company) { | 
|---|
|  |  |  | List<Integer> sIds = new ArrayList<>(); | 
|---|
|  |  |  | List<CompanySolution> list = new ArrayList<>(); | 
|---|
|  |  |  | int num =0; | 
|---|
|  |  |  | for(CompanySolution s :company.getSolutionList()){ | 
|---|
|  |  |  | if(s.getSolution() == null || s.getSolution().getBaseId() == null ||s.getSolution().getId()==null){ | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | sIds.add(s.getSolution().getId() ); | 
|---|
|  |  |  | s.setCompanyId(company.getId()); | 
|---|
|  |  |  | s.setIsdeleted(Constants.ZERO); | 
|---|
|  |  |  | s.setCanAdd(Constants.formatIntegerNum(s.getCanAdd())); | 
|---|
|  |  |  | s.setCanReduce(Constants.formatIntegerNum(s.getCanReduce())); | 
|---|
|  |  |  | s.setCreateDate(company.getCreateDate()); | 
|---|
|  |  |  | s.setCreator(company.getCreator()); | 
|---|
|  |  |  | s.setSortnum(num++); | 
|---|
|  |  |  | s.setSolutionBaseId( s.getSolution().getId() ); | 
|---|
|  |  |  | s.setSolutionId( s.getSolution().getBaseId() ); | 
|---|
|  |  |  | s.setStatus(Constants.ZERO); | 
|---|
|  |  |  | list.add(s); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(list.size() ==0){ | 
|---|
|  |  |  | throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"请添加有效的保险方案信息!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | List<Solutions> solutionsList = solutionsMapper.selectList(new QueryWrapper<Solutions>().lambda() | 
|---|
|  |  |  | .in(Solutions::getId,sIds) | 
|---|
|  |  |  | .eq(Solutions::getIsdeleted,Constants.ZERO)); | 
|---|
|  |  |  | if(solutionsList.size()!= list.size()){ | 
|---|
|  |  |  | throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"请添加有效的保险方案信息哦"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | for(Solutions s:solutionsList){ | 
|---|
|  |  |  | if(Constants.equalsInteger(s.getStatus(),Constants.ONE)){ | 
|---|
|  |  |  | throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"保险方案【"+s.getName()+"】已被禁用,不能进行该操作"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | companySolutionJoinMapper.insertBatchSomeColumn(list); | 
|---|
|  |  |  | }*/ | 
|---|
|  |  |  | private void isValidCreateParam(Company company) { | 
|---|
|  |  |  | if(StringUtils.isBlank(company.getPhone()) | 
|---|
|  |  |  | ||StringUtils.isBlank(company.getName()) | 
|---|
|  |  |  | 
|---|
|  |  |  | ||StringUtils.isBlank(company.getEmail())){ | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.BAD_REQUEST); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if(!debugModel){ | 
|---|
|  |  |  | String  phoneAtuh = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.COMPANY_PHONE_AUTH).getCode(); | 
|---|
|  |  |  | if(!debugModel && !StringUtils.equals(phoneAtuh,Constants.ONE+"")){ | 
|---|
|  |  |  | //手机验证码校验 | 
|---|
|  |  |  | SmsEmailServiceImpl.isCaptcheValide(smsEmailMapper,company.getPhone(),company.getCaptche()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | }else  { | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"请上传营业执照!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(company.getSignImg()!=null && StringUtils.isNotBlank(company.getSignImg().getFileurl())){ | 
|---|
|  |  |  | multifileList.add(initMultiFileByCompay(company,company.getSignImg(),Constants.MultiFile.COM_SING_IMG.getKey())); | 
|---|
|  |  |  | }else { | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"请上传电子签章!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //        if(company.getSignImg()!=null && StringUtils.isNotBlank(company.getSignImg().getFileurl())){ | 
|---|
|  |  |  | //            multifileList.add(initMultiFileByCompay(company,company.getSignImg(),Constants.MultiFile.COM_SING_IMG.getKey())); | 
|---|
|  |  |  | //        }else { | 
|---|
|  |  |  | //   throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"请上传电子签章!"); | 
|---|
|  |  |  | //        } | 
|---|
|  |  |  | if(company.getIdcardImgList()!=null && company.getIdcardImgList()!=null&& company.getIdcardImgList().size()>0){ | 
|---|
|  |  |  | for(Multifile f : company.getIdcardImgList()){ | 
|---|
|  |  |  | multifileList.add(initMultiFileByCompay(company,f,Constants.MultiFile.COM_IDCARD_IMG.getKey())); | 
|---|
|  |  |  | multifileList.add(initMultiFileByCompay(company,f,Constants.MultiFile.COM_IDCARD_IMG.getKey())); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }else { | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"请上传身份证扫描件!"); | 
|---|
|  |  |  | 
|---|
|  |  |  | || StringUtils.isBlank(company.getCaptche())){ | 
|---|
|  |  |  | throw  new BusinessException(ResponseStatus.BAD_REQUEST ); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(!debugModel){ | 
|---|
|  |  |  | String  phoneAtuh = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.COMPANY_PHONE_AUTH).getCode(); | 
|---|
|  |  |  | if(!debugModel && !StringUtils.equals(phoneAtuh,Constants.ONE+"")){ | 
|---|
|  |  |  | SmsEmailServiceImpl.isCaptcheValide(smsEmailMapper,company.getPhone(),company.getCaptche()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | Company model = companyMapper.selectById(company.getId()); | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if(companyMapper.selectCount(new QueryWrapper<Company>().lambda() | 
|---|
|  |  |  | .ne(Company::getId,company.getId()) | 
|---|
|  |  |  | .eq(Company::getIsdeleted,Constants.ZERO) | 
|---|
|  |  |  | .and(w->w.eq(Company::getCode,company.getCode()) | 
|---|
|  |  |  | .or().eq(Company::getEmail,company.getEmail()) | 
|---|
|  |  |  | .or().eq(Company::getUsername,company.getUsername()) | 
|---|
|  |  |  | //                    .or().eq(Company::getUsername,company.getUsername()) | 
|---|
|  |  |  | .or().eq(Company::getName,company.getName())) | 
|---|
|  |  |  | )>0){ | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,该企业【名称】【统一信用代码】【邮箱】或者【企业账号】已存在,请确认后重新提交!"); | 
|---|
|  |  |  | 
|---|
|  |  |  | company.setCreateDate(update.getEditDate()); | 
|---|
|  |  |  | if(StringUtils.isNotBlank(company.getUsername())){ | 
|---|
|  |  |  | //处理登陆账号信息 | 
|---|
|  |  |  | company.setType(model.getType()); | 
|---|
|  |  |  | dealSystemUserDataForUpdate(company,model.getUsername()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | for(Company company :companyList){ | 
|---|
|  |  |  | //查询企业签约状态 审核状态,0正在申请1通过2驳回 | 
|---|
|  |  |  | int status = signService.organizationAuditStatus(company.getEmail()); | 
|---|
|  |  |  | if(status == 0){ | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(status == 1){ | 
|---|
|  |  |  | Company update = new Company(); | 
|---|
|  |  |  | update.setId(company.getId()); | 
|---|
|  |  |  | 
|---|
|  |  |  | //更新认证状态 | 
|---|
|  |  |  | companyMapper.updateById(update); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //    @Override | 
|---|
|  |  |  | 
|---|
|  |  |  | QueryWrapper<Company> wrapper = new QueryWrapper<>(company); | 
|---|
|  |  |  | company.setIsdeleted(Constants.ZERO); | 
|---|
|  |  |  | LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); | 
|---|
|  |  |  | if(company.getQueryFlag() == 0){ | 
|---|
|  |  |  | //只能看权限范围内 | 
|---|
|  |  |  | if(user.getCompanyIdList() == null || user.getCompanyIdList().size() == 0){ | 
|---|
|  |  |  | wrapper.lambda().eq(Company::getId,-1);//设置无效访问 | 
|---|
|  |  |  | }else { | 
|---|
|  |  |  | wrapper.lambda().in(Company::getId, user.getCompanyIdList()); | 
|---|
|  |  |  | if(Constants.equalsInteger(company.getType(),Constants.ONE)){ | 
|---|
|  |  |  | //                return new ArrayList<>(); | 
|---|
|  |  |  | }else  { | 
|---|
|  |  |  | company.setType(Constants.ZERO); | 
|---|
|  |  |  | if(Constants.equalsInteger(user.getType(),Constants.TWO)){ | 
|---|
|  |  |  | //如果是商户 | 
|---|
|  |  |  | wrapper.lambda().exists("select c.id from company_solution c where c.isdeleted=0 and c.company_id=company.id and  c.shop_id="+user.getCompanyId());//设置无效访问 | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | //如果查询企业数据 | 
|---|
|  |  |  | if(company.getQueryFlag() == 0){ | 
|---|
|  |  |  | //只能看权限范围内 | 
|---|
|  |  |  | if(user.getCompanyIdList() == null || user.getCompanyIdList().size() == 0){ | 
|---|
|  |  |  | wrapper.lambda().eq(Company::getId,-1);//设置无效访问 | 
|---|
|  |  |  | }else { | 
|---|
|  |  |  | wrapper.lambda().in(Company::getId, user.getCompanyIdList()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else if (company.getQueryFlag() == 1 && company.getUserId()!=null) { | 
|---|
|  |  |  | //查詢是否有查看權限 | 
|---|
|  |  |  | wrapper.select("*,(select count(1) from company_permission b where b.user_id="+company.getUserId()+" and b.isdeleted=0 and b.company_id=company.id) as hasPerimission"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else if (company.getQueryFlag() == 1 && company.getUserId()!=null) { | 
|---|
|  |  |  | //查詢是否有查看權限 | 
|---|
|  |  |  | wrapper.select("*,(select count(1) from company_permission b where b.user_id="+company.getUserId()+" and b.isdeleted=0 and b.company_id=company.id) as hasPerimission"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return companyMapper.selectList(wrapper); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | Utils.MP.blankToNull(pageWrap.getModel()); | 
|---|
|  |  |  | pageWrap.getModel().setIsdeleted(Constants.ZERO); | 
|---|
|  |  |  | LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); | 
|---|
|  |  |  | if(pageWrap.getModel().getQueryFlag() == 0){ | 
|---|
|  |  |  | //只能看权限范围内 | 
|---|
|  |  |  | if(user.getCompanyIdList() == null || user.getCompanyIdList().size() == 0){ | 
|---|
|  |  |  | queryWrapper.lambda().eq(Company::getId,-1);//设置无效访问 | 
|---|
|  |  |  | }else { | 
|---|
|  |  |  | queryWrapper.lambda().in(Company::getId, user.getCompanyIdList()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(Constants.formatIntegerNum(pageWrap.getModel().getType()) == Constants.ONE||Constants.formatIntegerNum(pageWrap.getModel().getType()) == Constants.ZERO) { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | if(Constants.equalsInteger(user.getType(),Constants.TWO)){ | 
|---|
|  |  |  | //如果是商户 | 
|---|
|  |  |  | queryWrapper.lambda().exists("select c.id from company_solution c where c.isdeleted=0 and c.shop_id=company.id");//设置无效访问 | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | //如果查询企业数据,只能看权限范围内 | 
|---|
|  |  |  | if(pageWrap.getModel().getQueryFlag() == 0){ | 
|---|
|  |  |  | //只能看权限范围内 | 
|---|
|  |  |  | if(user.getCompanyIdList() == null || user.getCompanyIdList().size() == 0){ | 
|---|
|  |  |  | queryWrapper.lambda().eq(Company::getId,-1);//设置无效访问 | 
|---|
|  |  |  | }else { | 
|---|
|  |  |  | queryWrapper.lambda().in(Company::getId, user.getCompanyIdList()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //            queryWrapper.exists("select b.id from company_permission b where b.user_id="+user.getId()+" and b.isdeleted=0 and b.company_id=company.id"); | 
|---|
|  |  |  | } else if (pageWrap.getModel().getQueryFlag() == 1) { | 
|---|
|  |  |  | //查詢是否有查看權限 | 
|---|
|  |  |  | queryWrapper.select("*,(select count(1) from company_permission b where b.user_id="+user.getId()+" and b.isdeleted=0 and b.company_id=company.id) as hasPerimission"); | 
|---|
|  |  |  | } else if (pageWrap.getModel().getQueryFlag() == 1) { | 
|---|
|  |  |  | //查詢是否有查看權限 | 
|---|
|  |  |  | queryWrapper.select("*,(select count(1) from company_permission b where b.user_id="+user.getId()+" and b.isdeleted=0 and b.company_id=company.id) as hasPerimission"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (pageWrap.getModel().getId() != null) { | 
|---|
|  |  |  | queryWrapper.lambda().eq(Company::getId, pageWrap.getModel().getId()); | 
|---|
|  |  |  | } | 
|---|