| | |
| | | package com.doumee.service.business.impl; |
| | | |
| | | import com.doumee.core.constants.ResponseStatus; |
| | | import com.doumee.core.exception.BusinessException; |
| | | import com.doumee.core.model.LoginUserInfo; |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.core.utils.Constants; |
| | | import com.doumee.core.utils.Utils; |
| | | import com.doumee.dao.business.CompanyMapper; |
| | | import com.doumee.dao.business.CompanyPermissionMapper; |
| | | import com.doumee.dao.business.model.Company; |
| | | import com.doumee.dao.business.model.CompanyPermission; |
| | | import com.doumee.dao.business.model.Insurance; |
| | | import com.doumee.service.business.CompanyService; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import org.apache.shiro.SecurityUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.CollectionUtils; |
| | |
| | | /** |
| | | * 企业信息表Service实现 |
| | | * @author 江蹄蹄 |
| | | * @date 2024/01/15 15:07 |
| | | * @date 2024/01/16 10:03 |
| | | */ |
| | | @Service |
| | | public class CompanyServiceImpl implements CompanyService { |
| | | |
| | | @Autowired |
| | | private CompanyMapper companyMapper; |
| | | @Autowired |
| | | private CompanyPermissionMapper companyPermissionMapper; |
| | | |
| | | @Override |
| | | public Integer create(Company company) { |
| | | |
| | | companyMapper.insert(company); |
| | | return company.getId(); |
| | | } |
| | |
| | | |
| | | @Override |
| | | public void updateById(Company company) { |
| | | Company model = findById(company.getId()); |
| | | if(model == null || !Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO) ){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY ); |
| | | } |
| | | companyMapper.updateById(company); |
| | | } |
| | | |
| | |
| | | IPage<Company> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); |
| | | QueryWrapper<Company> queryWrapper = new QueryWrapper<>(); |
| | | 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 (pageWrap.getModel().getId() != null) { |
| | | queryWrapper.lambda().eq(Company::getId, pageWrap.getModel().getId()); |
| | | } |
| | |
| | | queryWrapper.lambda().eq(Company::getIsdeleted, pageWrap.getModel().getIsdeleted()); |
| | | } |
| | | if (pageWrap.getModel().getName() != null) { |
| | | queryWrapper.lambda().eq(Company::getName, pageWrap.getModel().getName()); |
| | | queryWrapper.lambda().like(Company::getName, pageWrap.getModel().getName()); |
| | | } |
| | | if (pageWrap.getModel().getRemark() != null) { |
| | | queryWrapper.lambda().eq(Company::getRemark, pageWrap.getModel().getRemark()); |
| | |
| | | if (pageWrap.getModel().getPhone() != null) { |
| | | queryWrapper.lambda().eq(Company::getPhone, pageWrap.getModel().getPhone()); |
| | | } |
| | | if (pageWrap.getModel().getEmail() != null) { |
| | | queryWrapper.lambda().eq(Company::getEmail, pageWrap.getModel().getEmail()); |
| | | } |
| | | if (pageWrap.getModel().getSignStatus() != null) { |
| | | queryWrapper.lambda().eq(Company::getSignStatus, pageWrap.getModel().getSignStatus()); |
| | | } |
| | | if (pageWrap.getModel().getSignDate() != null) { |
| | | queryWrapper.lambda().ge(Company::getSignDate, Utils.Date.getStart(pageWrap.getModel().getSignDate())); |
| | | queryWrapper.lambda().le(Company::getSignDate, Utils.Date.getEnd(pageWrap.getModel().getSignDate())); |
| | | } |
| | | for(PageWrap.SortData sortData: pageWrap.getSorts()) { |
| | | if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { |
| | | queryWrapper.orderByDesc(sortData.getProperty()); |