package com.thhy.engineering.modules.biz.company.service.impl; import com.alibaba.nacos.api.utils.StringUtils; import com.thhy.engineering.modules.biz.company.entity.*; import com.thhy.engineering.modules.biz.company.mapper.CompanyMapper; import com.thhy.engineering.modules.biz.company.service.CompanyService; import com.thhy.general.common.BasicStatus; import com.thhy.general.config.SysUserInfo; import com.thhy.general.exception.BasicException; import com.thhy.general.utils.UserInfoUtils; import com.thhy.general.utils.password.PasswdUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.io.Serializable; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Random; /** * 服务实现类 * @author zhang_xiao_bo * @since 2023-04-27 17:26:36 */ @Service public class CompanyServiceImpl implements CompanyService { @Autowired private CompanyMapper companyMapper; public Company get(Serializable id){ return companyMapper.queryById(id); } public List findList(Company company){ SysUserInfo userInfo = UserInfoUtils.getInstance().getUserInfo(); if(!StringUtils.isEmpty(userInfo.getCompanyId())){ if(company==null)company = new Company(); company.setCompanyId(userInfo.getCompanyId()); } return companyMapper.findList(company); } @Override public List findAll() { return companyMapper.findAll(); } /** * 增加和修改 * @param company */ @Transactional public String addCompany(Company company){ SysUserInfo userInfo = UserInfoUtils.getInstance().getUserInfo(); String userName = ""; List companyIds = companyMapper.queryIdByComName(company.getCompanyName()); if(companyIds.size()>1){ throw new BasicException(BasicStatus.UNQUE_IS_ERROR); } if(company.getCompanyId() == null){ //增加操作 if(companyIds.size()>0){ throw new BasicException(BasicStatus.COMPANY_IS_EXIST); } company.setCreateUser(userInfo.getUserId()); companyMapper.insert(company); SysUsers sysUsers = new SysUsers(); sysUsers.setRealName(company.getCompanyName()+"管理员"); Integer no = (new Random().nextInt(9000))+1000; userName = "subadmin"+ no; sysUsers.setUsername("subadmin"+ no); sysUsers.setPassword(PasswdUtils.encodePassword("123456")); sysUsers.setSubAdmin(1); companyMapper.insertSysUser(sysUsers); companyMapper.insertUserRole(new SysUserRole(sysUsers.getUserId(),"2ebcb89aceba11ed86cd000c29dd84a5")); companyMapper.insertCompanyUser(new CompanySu(company.getCompanyId(),sysUsers.getUserId())); }else{ //修改操作 if (companyIds.size()>0) { if(!company.getCompanyId().equals(companyIds.get(0))){ throw new BasicException(BasicStatus.COMPANY_IS_EXIST); } } company.setUpdateTime(new Date()); company.setUpdateUser(userInfo.getUserId()); companyMapper.update(company); } return userName; } /** * 修改 * @param company */ public void update(Company company){ companyMapper.update(company); } /** * 删除 * @param companyId */ public void delete(Serializable companyId){ companyMapper.deletelogic(companyId); } @Override public List> pulldown() { return companyMapper.pulldown(); } }