package com.sinata.system.service.impl; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.sinata.common.entity.PageDTO; import com.sinata.common.exception.ServiceException; import com.sinata.common.utils.StringUtils; import com.sinata.system.domain.MwApplication; import com.sinata.system.domain.dto.MwApplicationDTO; import com.sinata.system.domain.query.MwApplicationQuery; import com.sinata.system.domain.vo.MwApplicationVO; import com.sinata.system.mapper.MwApplicationMapper; import com.sinata.system.service.MwApplicationService; import com.sinata.system.service.SysDepartmentService; import com.sinata.system.service.biz.AliSmsService; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import java.util.Date; import java.util.Objects; /** *

* 入驻申请 服务实现类 *

* * @author mitao * @since 2024-12-02 */ @Service @RequiredArgsConstructor public class MwApplicationServiceImpl extends ServiceImpl implements MwApplicationService { private final SysDepartmentService sysDepartmentService; private final AliSmsService aliSmsService; /** * 分页列表 * * @param query * @return */ @Override public PageDTO pageList(MwApplicationQuery query) { String treeCode = sysDepartmentService.getTreeCodeByDepartmentId(query.getDepartmentId()); if (StringUtils.isBlank(treeCode)) { return PageDTO.empty(0L, 0L); } Page page = baseMapper.pageList(new Page<>(query.getPageCurr(), query.getPageSize()), query, treeCode); return PageDTO.of(page); } /** * 详情 * * @param id * @return */ @Override public MwApplicationVO detail(Long id) { return baseMapper.detail(id); } /** * 审核 * * @param dto * @return */ @Override public void audit(MwApplicationDTO dto) { MwApplication mwApplication = getById(dto.getId()); if (Objects.isNull(mwApplication)) { throw new ServiceException("该申请记录不存在"); } mwApplication.setAuditStatus(dto.getAuditStatus() == 1 ? 2 : 3); mwApplication.setAuditOpinion(dto.getAuditOpinion()); updateById(mwApplication); //创建机构 if (dto.getAuditStatus() == 1) { sysDepartmentService.createDepartment(mwApplication); } //发送短信通知 aliSmsService.sendAuditResult(mwApplication.getPhone(), dto.getAuditStatus() == 1 ? "已通过" : "未通过"); } @Override public void saveApplication(MwApplication mwApplication) { mwApplication.setAuditStatus(1); mwApplication.setCreateTime(new Date()); if (Objects.nonNull(mwApplication.getDepartmentId())) { mwApplication.setRegion(sysDepartmentService.getRegionName(sysDepartmentService.getById(mwApplication.getDepartmentId()))); } save(mwApplication); } }