|  |  |  | 
|---|
|  |  |  | package com.doumee.service.business.impl; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.alibaba.fastjson.JSONObject; | 
|---|
|  |  |  | import com.doumee.biz.system.SystemDictDataBiz; | 
|---|
|  |  |  | import com.doumee.core.constants.ResponseStatus; | 
|---|
|  |  |  | import com.doumee.core.exception.BusinessException; | 
|---|
|  |  |  | 
|---|
|  |  |  | import com.doumee.core.utils.Constants; | 
|---|
|  |  |  | import com.doumee.core.utils.Utils; | 
|---|
|  |  |  | import com.doumee.dao.business.*; | 
|---|
|  |  |  | import com.doumee.dao.business.join.CompanyJoinMapper; | 
|---|
|  |  |  | import com.doumee.dao.business.join.CompanySolutionJoinMapper; | 
|---|
|  |  |  | import com.doumee.dao.business.model.*; | 
|---|
|  |  |  | import com.doumee.dao.system.SystemUserMapper; | 
|---|
|  |  |  | 
|---|
|  |  |  | import org.apache.commons.lang3.StringUtils; | 
|---|
|  |  |  | import org.apache.shiro.SecurityUtils; | 
|---|
|  |  |  | 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 javax.servlet.http.HttpServletResponse; | 
|---|
|  |  |  | import java.io.File; | 
|---|
|  |  |  | import java.io.IOException; | 
|---|
|  |  |  | import java.lang.reflect.Array; | 
|---|
|  |  |  | import java.net.URI; | 
|---|
|  |  |  | import java.net.URLEncoder; | 
|---|
|  |  |  | import java.nio.charset.Charset; | 
|---|
|  |  |  | import java.util.*; | 
|---|
|  |  |  | import java.util.stream.Collectors; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 企业信息表Service实现 | 
|---|
|  |  |  | 
|---|
|  |  |  | @Service | 
|---|
|  |  |  | public class CompanyServiceImpl implements CompanyService { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Value("${debug_model}") | 
|---|
|  |  |  | private boolean debugModel; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private CompanyMapper companyMapper; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private CompanyJoinMapper companyJoinMapper; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private CompanyDepartmentMapper companyDepartmentMapper; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private SystemUserMapper systemUserMapper; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | 
|---|
|  |  |  | private SmsEmailMapper smsEmailMapper; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private SystemDictDataBiz systemDictDataBiz; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private NoticesMapper noticesMapper; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | @Transactional | 
|---|
|  |  |  | 
|---|
|  |  |  | 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(),"对不起,该企业【名称】【统一信用代码或者【手机号】已存在,请确认后重新提交!"); | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,该企业【名称】【统一信用代码】【邮箱】或者【手机号】已存在,请确认后重新提交!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); | 
|---|
|  |  |  | company.setCreator(user.getId()); | 
|---|
|  |  |  | 
|---|
|  |  |  | 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(rollbackFor = {Exception.class,BusinessException.class}) | 
|---|
|  |  |  | public void  updateSolutions(Company company) { | 
|---|
|  |  |  | if(company.getId()==null | 
|---|
|  |  |  | ||company.getSolutionList() == null | 
|---|
|  |  |  | 
|---|
|  |  |  | if(model == null  || !Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO) ){ | 
|---|
|  |  |  | throw  new BusinessException(ResponseStatus.DATA_EMPTY ); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | companySolutionJoinMapper.delete(new UpdateWrapper<CompanySolution>().lambda().eq(CompanySolution::getCompanyId,company.getId())); | 
|---|
|  |  |  | //处理关联方案 | 
|---|
|  |  |  | dealSolutionsData(company); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private void dealSystemUserData(Company company) { | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | @Transactional | 
|---|
|  |  |  | public void exportFiles(Integer id, HttpServletResponse response){ | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | Company model = companyMapper.selectById(id); | 
|---|
|  |  |  | if(model == null){ | 
|---|
|  |  |  | throw  new BusinessException(ResponseStatus.DATA_EMPTY); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | List<File> fileList = new ArrayList<>(); | 
|---|
|  |  |  | List<Multifile> multifileList = multifileMapper.selectList(new QueryWrapper<Multifile>().lambda() | 
|---|
|  |  |  | .eq(Multifile::getObjId,id) | 
|---|
|  |  |  | .isNotNull(Multifile::getFileurl) | 
|---|
|  |  |  | .in(Multifile::getObjType, Arrays.asList(new Integer[]{ | 
|---|
|  |  |  | Constants.MultiFile.COM_BUSINESS_LICENSE.getKey(), | 
|---|
|  |  |  | Constants.MultiFile.COM_IDCARD_IMG.getKey(), | 
|---|
|  |  |  | })) | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | if(multifileList== null || multifileList.size() == 0){ | 
|---|
|  |  |  | throw  new BusinessException(ResponseStatus.DATA_EMPTY); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | String path = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()+systemDictDataBiz.queryByCode(Constants.OSS,Constants.COMPANY_FILE).getCode(); | 
|---|
|  |  |  | for(Multifile l : multifileList){ | 
|---|
|  |  |  | File f = Constants.getFileByNetFile(path + l.getFileurl(),StringUtils.defaultString(l.getName(),"未命名")); | 
|---|
|  |  |  | if(f !=null && f.isFile()){ | 
|---|
|  |  |  | fileList.add(f); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(fileList == null || fileList.size() == 0){ | 
|---|
|  |  |  | throw  new BusinessException(ResponseStatus.DATA_EMPTY); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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()); | 
|---|
|  |  |  | } catch (IOException e) { | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.EXPORT_EXCEL_ERROR, e); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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(); | 
|---|
|  |  |  | List<CompanySolution> addList = new ArrayList<>(); | 
|---|
|  |  |  | List<CompanySolution> delList = new ArrayList<>(); | 
|---|
|  |  |  | List<CompanySolution> updList = new ArrayList<>(); | 
|---|
|  |  |  | List<CompanySolution> companySolutionList = companySolutionJoinMapper.selectList(new QueryWrapper<CompanySolution>().lambda().eq(CompanySolution::getCompanyId,company.getId())); | 
|---|
|  |  |  | for(CompanySolution s :company.getSolutionList()){ | 
|---|
|  |  |  | if(s.getSolutionBaseId() == null){ | 
|---|
|  |  |  | if(companySolutionList.stream().filter(i->Constants.equalsInteger(i.getSolutionBaseId(),s.getSolution().getBaseId())).collect(Collectors.toList()).size()>Constants.ZERO){ | 
|---|
|  |  |  | updList.add(s); | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | addList.add(s); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | for (CompanySolution s:companySolutionList) { | 
|---|
|  |  |  | if( addList.stream().filter(i->Constants.equalsInteger(i.getSolution().getBaseId(),s.getSolutionBaseId())).collect(Collectors.toList()).size()>Constants.ZERO | 
|---|
|  |  |  | || updList.stream().filter(i->Constants.equalsInteger(i.getSolution().getBaseId(),s.getSolutionBaseId())).collect(Collectors.toList()).size()>Constants.ZERO | 
|---|
|  |  |  | ){ | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | sIds.add(s.getSolutionBaseId()); | 
|---|
|  |  |  | delList.add(s); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(delList)){ | 
|---|
|  |  |  | companySolutionJoinMapper.delete(new UpdateWrapper<CompanySolution>().lambda().in(CompanySolution::getId,delList.stream().map(i->i.getId()).collect(Collectors.toList()))); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(addList)){ | 
|---|
|  |  |  | for(CompanySolution s :addList){ | 
|---|
|  |  |  | if(Objects.isNull(s.getSolution())){ | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 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(),"请添加有效的保险方案信息!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //查询方案的方案确认书 | 
|---|
|  |  |  | Multifile multifile = multifileMapper.selectOne(new QueryWrapper<Multifile>().lambda() | 
|---|
|  |  |  | .eq(Multifile::getObjType,Constants.MultiFile.SOLUTIONS_CONFIRMATION_LATTER.getKey()) | 
|---|
|  |  |  | .eq(Multifile::getIsdeleted,Constants.ZERO) | 
|---|
|  |  |  | .eq(Multifile::getObjId,newVersion.getId()) | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | if(Objects.isNull(multifile) ||  StringUtils.isBlank(multifile.getFileurl())){ | 
|---|
|  |  |  | 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(date); | 
|---|
|  |  |  | s.setCreator(company.getCreator()); | 
|---|
|  |  |  | s.setSortnum(num++); | 
|---|
|  |  |  | s.setSolutionBaseId( s.getSolution().getBaseId() ); | 
|---|
|  |  |  | s.setSolutionId( newVersion.getId() ); | 
|---|
|  |  |  | s.setStatus(Constants.ZERO); | 
|---|
|  |  |  | s.setFileUrl(multifile.getFileurl()); | 
|---|
|  |  |  | s.setSignStatus(Constants.ZERO); | 
|---|
|  |  |  | s.setSolutionName(newVersion.getName()); | 
|---|
|  |  |  | 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.insert(list); | 
|---|
|  |  |  | //存储待办信息 | 
|---|
|  |  |  | Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.SOLUTIONS; | 
|---|
|  |  |  | for (CompanySolution s:list) { | 
|---|
|  |  |  | Solutions newVersion = solutionsMapper.selectById(s.getSolutionId()); | 
|---|
|  |  |  | //平台待办 | 
|---|
|  |  |  | Notices notices = new Notices(noticeObjectType, | 
|---|
|  |  |  | Constants.ONE | 
|---|
|  |  |  | ,s.getId(), | 
|---|
|  |  |  | newVersion.getName() , | 
|---|
|  |  |  | company.getId() | 
|---|
|  |  |  | ,Constants.NoticeType.ZERO); | 
|---|
|  |  |  | noticesMapper.insert(notices); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /*private void dealSolutionsData(Company company) { | 
|---|
|  |  |  | List<Integer> sIds = new ArrayList<>(); | 
|---|
|  |  |  | List<CompanySolution> list = new ArrayList<>(); | 
|---|
|  |  |  | int num =0; | 
|---|
|  |  |  | Date date = new Date(); | 
|---|
|  |  |  | for(CompanySolution s :company.getSolutionList()){ | 
|---|
|  |  |  | if(Objects.isNull(s.getSolution())){ | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 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(),"请添加有效的保险方案信息!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //查询方案的方案确认书 | 
|---|
|  |  |  | Multifile multifile = multifileMapper.selectOne(new QueryWrapper<Multifile>().lambda() | 
|---|
|  |  |  | .eq(Multifile::getObjType,Constants.MultiFile.SOLUTIONS_CONFIRMATION_LATTER.getKey()) | 
|---|
|  |  |  | .eq(Multifile::getIsdeleted,Constants.ZERO) | 
|---|
|  |  |  | .eq(Multifile::getObjId,newVersion.getId()) | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | if(Objects.isNull(multifile) ||  StringUtils.isBlank(multifile.getFileurl())){ | 
|---|
|  |  |  | 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(date); | 
|---|
|  |  |  | s.setCreator(company.getCreator()); | 
|---|
|  |  |  | s.setSortnum(num++); | 
|---|
|  |  |  | s.setSolutionBaseId( s.getSolution().getBaseId() ); | 
|---|
|  |  |  | s.setSolutionId( newVersion.getId() ); | 
|---|
|  |  |  | s.setStatus(Constants.ZERO); | 
|---|
|  |  |  | s.setFileUrl(multifile.getFileurl()); | 
|---|
|  |  |  | s.setSignStatus(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.insert(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.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); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"保险方案【"+s.getName()+"】已被禁用,不能进行该操作"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | companySolutionJoinMapper.insertBatchSomeColumn(list); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | companySolutionJoinMapper.insert(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); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //手机验证码校验 | 
|---|
|  |  |  | SmsEmailServiceImpl.isCaptcheValide(smsEmailMapper,company.getPhone(),company.getCaptche()); | 
|---|
|  |  |  | 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(),"请上传身份证扫描件!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | multifileMapper.insertBatchSomeColumn(multifileList); | 
|---|
|  |  |  | multifileMapper.insert(multifileList); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | private void dealFileDataForUpdate(Company company ) { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | List<Multifile> multifileList = new ArrayList<>(); | 
|---|
|  |  |  | List<Integer> objList = new ArrayList<>(); | 
|---|
|  |  |  | if(company.getBusinessImg()!=null && StringUtils.isNotBlank(company.getBusinessImg().getFileurl())){ | 
|---|
|  |  |  | if(company.getBusinessImg()!=null && company.getBusinessImg().getId() ==null && StringUtils.isNotBlank(company.getBusinessImg().getFileurl())){ | 
|---|
|  |  |  | multifileList.add(initMultiFileByCompay(company,company.getBusinessImg(),Constants.MultiFile.COM_BUSINESS_LICENSE.getKey())); | 
|---|
|  |  |  | objList.add(Constants.MultiFile.COM_BUSINESS_LICENSE.getKey()); | 
|---|
|  |  |  | }else  { | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"请上传营业执照!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(company.getSignImg()!=null && StringUtils.isNotBlank(company.getSignImg().getFileurl())){ | 
|---|
|  |  |  | if(company.getSignImg()!=null&& company.getSignImg().getId() ==null && StringUtils.isNotBlank(company.getSignImg().getFileurl())){ | 
|---|
|  |  |  | multifileList.add(initMultiFileByCompay(company,company.getSignImg(),Constants.MultiFile.COM_SING_IMG.getKey())); | 
|---|
|  |  |  | objList.add(Constants.MultiFile.COM_SING_IMG.getKey()); | 
|---|
|  |  |  | company.setSignIdStatus(Constants.ZERO);//标记电子签章未上传 | 
|---|
|  |  |  | if(StringUtils.isNotBlank(company.getSignId())){ | 
|---|
|  |  |  | //删除现有的签章 | 
|---|
|  |  |  | signService.deleteEntSign(company.getSignId()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | company.setSignId(""); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(company.getIdcardImgList()!=null && company.getIdcardImgList()!=null){ | 
|---|
|  |  |  | boolean isNew = false; | 
|---|
|  |  |  | for(Multifile f : company.getIdcardImgList()){ | 
|---|
|  |  |  | if(f.getId() !=null){ | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | isNew = true; | 
|---|
|  |  |  | multifileList.add(initMultiFileByCompay(company,f,Constants.MultiFile.COM_IDCARD_IMG.getKey())); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | objList.add(Constants.MultiFile.COM_IDCARD_IMG.getKey()); | 
|---|
|  |  |  | if(isNew) | 
|---|
|  |  |  | objList.add(Constants.MultiFile.COM_IDCARD_IMG.getKey()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(objList.size()>0){ | 
|---|
|  |  |  | multifileMapper.update(null,new UpdateWrapper<Multifile>().lambda() | 
|---|
|  |  |  | 
|---|
|  |  |  | .eq(Multifile::getIsdeleted,Constants.ZERO) | 
|---|
|  |  |  | .in(Multifile::getObjType,objList) | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | multifileMapper.insertBatchSomeColumn(multifileList); | 
|---|
|  |  |  | multifileMapper.insert(multifileList); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | || StringUtils.isBlank(company.getCaptche())){ | 
|---|
|  |  |  | throw  new BusinessException(ResponseStatus.BAD_REQUEST ); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | SmsEmailServiceImpl.isCaptcheValide(smsEmailMapper,company.getPhone(),company.getCaptche()); | 
|---|
|  |  |  | 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(model == null  || StringUtils.equals(model.getPhone(),company.getPhone()) ){ | 
|---|
|  |  |  | throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"手机号未发生改变~" ); | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | private void isValidUpdateParam(Company company) { | 
|---|
|  |  |  | if( StringUtils.isBlank(company.getName()) | 
|---|
|  |  |  | ||StringUtils.isBlank(company.getUsername()) | 
|---|
|  |  |  | //                ||StringUtils.isBlank(company.getUsername()) | 
|---|
|  |  |  | ||StringUtils.isBlank(company.getCode()) | 
|---|
|  |  |  | ||StringUtils.isBlank(company.getCaptche()) | 
|---|
|  |  |  | ||StringUtils.isBlank(company.getLegalName()) | 
|---|
|  |  |  | ||StringUtils.isBlank(company.getEmail()) ){ | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.BAD_REQUEST); | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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::getUsername,company.getUsername()) | 
|---|
|  |  |  | .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(),"对不起,该企业【名称】【统一信用代码或者【企业账号】已存在,请确认后重新提交!"); | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,该企业【名称】【统一信用代码】【邮箱】或者【企业账号】已存在,请确认后重新提交!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if(Constants.equalsInteger(model.getSignIdStatus(),Constants.ONE)){ | 
|---|
|  |  |  | company.setSignId(model.getSignId()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | dealFileDataForUpdate(company); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Company update = new Company(); | 
|---|
|  |  |  | update.setIsdeleted(company.getId()); | 
|---|
|  |  |  | update.setName(company.getName()); | 
|---|
|  |  |  | update.setCode(company.getCode()); | 
|---|
|  |  |  | update.setEditDate(new Date()); | 
|---|
|  |  |  | 
|---|
|  |  |  | update.setTaxCode(company.getTaxCode()); | 
|---|
|  |  |  | update.setTaxBank(company.getTaxBank()); | 
|---|
|  |  |  | update.setEmail(company.getEmail()); | 
|---|
|  |  |  | update.setId(model.getId()); | 
|---|
|  |  |  | update.setLegalName(company.getLegalName()); | 
|---|
|  |  |  | update.setInvoiceAddr(company.getInvoiceAddr()); | 
|---|
|  |  |  | update.setSignIdStatus(company.getSignIdStatus()); | 
|---|
|  |  |  | update.setInvoiceEmail(company.getInvoiceEmail()); | 
|---|
|  |  |  | if(StringUtils.isNotBlank(company.getEmail())){ | 
|---|
|  |  |  | if(StringUtils.isNotBlank(company.getEmail()) | 
|---|
|  |  |  | ||!StringUtils.equals(company.getName(),model.getName()) | 
|---|
|  |  |  | ||!StringUtils.equals(company.getLegalName(),model.getLegalName()) | 
|---|
|  |  |  | ||!StringUtils.equals(company.getCode(),model.getCode()) ){ | 
|---|
|  |  |  | //如果邮箱发生改变 | 
|---|
|  |  |  | update.setSignStatus(Constants.ZERO); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | companyMapper.updateById(company); | 
|---|
|  |  |  | companyMapper.updateById(update); | 
|---|
|  |  |  | company.setCreator(update.getEditor()); | 
|---|
|  |  |  | company.setCreateDate(update.getEditDate()); | 
|---|
|  |  |  | if(StringUtils.isNotBlank(company.getUsername())){ | 
|---|
|  |  |  | //处理登陆账号信息 | 
|---|
|  |  |  | company.setType(model.getType()); | 
|---|
|  |  |  | dealSystemUserDataForUpdate(company,model.getUsername()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public Company findById(Integer id) { | 
|---|
|  |  |  | Company model = findById(id); | 
|---|
|  |  |  | Company model = companyMapper.selectById(id); | 
|---|
|  |  |  | if(model == null ||Constants.equalsInteger(model.getIsdeleted(),Constants.ONE)){ | 
|---|
|  |  |  | throw  new BusinessException(ResponseStatus.DATA_EMPTY); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | *   public boolean organizationCreate (String fullname,String creditCode,String legalName,String email,File  businessimg,String notifyUrl){ | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | @Async | 
|---|
|  |  |  | public   void startSignAuth(Integer id){ | 
|---|
|  |  |  | Company company = companyMapper.selectById(id); | 
|---|
|  |  |  | Multifile f = multifileMapper.selectOne(new QueryWrapper<Multifile>().lambda() | 
|---|
|  |  |  | 
|---|
|  |  |  | //更新认证状态 | 
|---|
|  |  |  | companyMapper.updateById(update); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public   void startSignAuthAuto( ){ | 
|---|
|  |  |  | List<Company> companyList = companyMapper.selectList(new QueryWrapper<Company>().lambda() | 
|---|
|  |  |  | .eq(Company::getIsdeleted,Constants.ZERO) | 
|---|
|  |  |  | .eq(Company::getSignStatus,Constants.ZERO)); | 
|---|
|  |  |  | if(companyList!=null && companyList.size()>0) { | 
|---|
|  |  |  | for (Company company : companyList) { | 
|---|
|  |  |  | Multifile f = multifileMapper.selectOne(new QueryWrapper<Multifile>().lambda() | 
|---|
|  |  |  | .eq(Multifile::getIsdeleted,Constants.ZERO) | 
|---|
|  |  |  | .eq(Multifile::getObjType,Constants.MultiFile.COM_BUSINESS_LICENSE.getKey()) | 
|---|
|  |  |  | .eq(Multifile::getObjId,company.getId()) | 
|---|
|  |  |  | .last("limit 1")); | 
|---|
|  |  |  | if(f == null){ | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | String path = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()+systemDictDataBiz.queryByCode(Constants.OSS,Constants.COMPANY_FILE).getCode(); | 
|---|
|  |  |  | boolean status = signService.organizationCreate(company.getName(),company.getCode(),company.getLegalName(),company.getEmail(), path + f.getFileurl(),null); | 
|---|
|  |  |  | Company update = new Company(); | 
|---|
|  |  |  | update.setId(company.getId()); | 
|---|
|  |  |  | update.setSignStatus(status?Constants.ONE:Constants.TWO); | 
|---|
|  |  |  | update.setSignDate(new Date()); | 
|---|
|  |  |  | //更新认证状态 | 
|---|
|  |  |  | companyMapper.updateById(update); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 电子签认证 | 
|---|
|  |  |  | *   public boolean organizationCreate (String fullname,String creditCode,String legalName,String email,File  businessimg,String notifyUrl){ | 
|---|
|  |  |  | 
|---|
|  |  |  | .eq(Company::getSignStatus,Constants.ONE)); | 
|---|
|  |  |  | if(companyList!=null && companyList.size()>0){ | 
|---|
|  |  |  | for(Company company :companyList){ | 
|---|
|  |  |  | //查询企业签约状态 审批状态,0正在申请1通过2驳回 | 
|---|
|  |  |  | //查询企业签约状态 审核状态,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); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | public void dealSignIdStatus(){ | 
|---|
|  |  |  | List<Company> companyList = companyMapper.selectList(new QueryWrapper<Company>().lambda() | 
|---|
|  |  |  | .eq(Company::getIsdeleted,Constants.ZERO) | 
|---|
|  |  |  | .eq(Company::getSignStatus,Constants.ONE) | 
|---|
|  |  |  | .eq(Company::getSignStatus,Constants.THREE) | 
|---|
|  |  |  | .eq(Company::getSignIdStatus,Constants.ZERO)); | 
|---|
|  |  |  | if(companyList!=null && companyList.size()>0){ | 
|---|
|  |  |  | for(Company company :companyList){ | 
|---|
|  |  |  | //查询企业签约状态 审批状态,0正在申请1通过2驳回 | 
|---|
|  |  |  | //查询企业签约状态 审核状态,0正在申请1通过2驳回 | 
|---|
|  |  |  | Multifile f = multifileMapper.selectOne(new QueryWrapper<Multifile>().lambda() | 
|---|
|  |  |  | .eq(Multifile::getIsdeleted,Constants.ZERO) | 
|---|
|  |  |  | .eq(Multifile::getObjType,Constants.MultiFile.COM_SING_IMG.getKey()) | 
|---|
|  |  |  | 
|---|
|  |  |  | //更新认证状态 | 
|---|
|  |  |  | companyMapper.updateById(update); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //    @Override | 
|---|
|  |  |  | //    public List<Company> findList(Company company) { | 
|---|
|  |  |  | //        QueryWrapper<Company> wrapper = new QueryWrapper<>(company); | 
|---|
|  |  |  | //        return companyMapper.selectList(wrapper); | 
|---|
|  |  |  | //    } | 
|---|
|  |  |  | // | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public List<Company> findList(Company company) { | 
|---|
|  |  |  | QueryWrapper<Company> wrapper = new QueryWrapper<>(company); | 
|---|
|  |  |  | company.setIsdeleted(Constants.ZERO); | 
|---|
|  |  |  | LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); | 
|---|
|  |  |  | if(Constants.equalsInteger(company.getType(),Constants.ONE)){ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | }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"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return companyMapper.selectList(wrapper); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public List<Company> findAllCompanyList() { | 
|---|
|  |  |  | LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); | 
|---|
|  |  |  | List<Company> companyList = companyMapper.selectList( | 
|---|
|  |  |  | new QueryWrapper<Company>().lambda() | 
|---|
|  |  |  | .eq(Company::getIsdeleted,Constants.ZERO) | 
|---|
|  |  |  | .eq(Company::getType,Constants.ZERO) | 
|---|
|  |  |  | .ne(Constants.equalsInteger(user.getType(),Constants.ONE),Company::getId,user.getCompanyId()) | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | return companyList; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public PageData<Company> findPage(PageWrap<Company> pageWrap) { | 
|---|
|  |  |  | IPage<Company> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); | 
|---|
|  |  |  | 
|---|
|  |  |  | Utils.MP.blankToNull(pageWrap.getModel()); | 
|---|
|  |  |  | pageWrap.getModel().setIsdeleted(Constants.ZERO); | 
|---|
|  |  |  | LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); | 
|---|
|  |  |  | if(pageWrap.getModel().getQueryFlag() == 0){ | 
|---|
|  |  |  | //只能看权限范围内 | 
|---|
|  |  |  | 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"); | 
|---|
|  |  |  | 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"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (pageWrap.getModel().getId() != null) { | 
|---|
|  |  |  | queryWrapper.lambda().eq(Company::getId, pageWrap.getModel().getId()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | queryWrapper.lambda().eq(Company::getCode, pageWrap.getModel().getCode()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (pageWrap.getModel().getUsername() != null) { | 
|---|
|  |  |  | queryWrapper.lambda().eq(Company::getUsername, pageWrap.getModel().getUsername()); | 
|---|
|  |  |  | queryWrapper.lambda().like(Company::getUsername, pageWrap.getModel().getUsername()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (pageWrap.getModel().getTaxCode() != null) { | 
|---|
|  |  |  | queryWrapper.lambda().eq(Company::getTaxCode, pageWrap.getModel().getTaxCode()); | 
|---|
|  |  |  | 
|---|
|  |  |  | queryWrapper.lambda().eq(Company::getInvoiceAddr, pageWrap.getModel().getInvoiceAddr()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (pageWrap.getModel().getPhone() != null) { | 
|---|
|  |  |  | queryWrapper.lambda().eq(Company::getPhone, pageWrap.getModel().getPhone()); | 
|---|
|  |  |  | queryWrapper.lambda().like(Company::getPhone, pageWrap.getModel().getPhone()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (pageWrap.getModel().getEmail() != null) { | 
|---|
|  |  |  | queryWrapper.lambda().eq(Company::getEmail, pageWrap.getModel().getEmail()); | 
|---|