|  |  |  | 
|---|
|  |  |  | import com.doumee.core.constants.Constants; | 
|---|
|  |  |  | 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.Utils; | 
|---|
|  |  |  | 
|---|
|  |  |  | import com.doumee.dao.business.MemberMapper; | 
|---|
|  |  |  | import com.doumee.dao.business.model.IdentityInfo; | 
|---|
|  |  |  | import com.doumee.dao.business.model.Member; | 
|---|
|  |  |  | import com.doumee.dao.dto.AuditDTO; | 
|---|
|  |  |  | import com.doumee.dao.system.model.SystemUser; | 
|---|
|  |  |  | import com.doumee.service.business.IdentityInfoService; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | 
|---|
|  |  |  | 
|---|
|  |  |  | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | 
|---|
|  |  |  | import com.github.yulichang.wrapper.MPJLambdaWrapper; | 
|---|
|  |  |  | import io.swagger.annotations.ApiModelProperty; | 
|---|
|  |  |  | import nonapi.io.github.classgraph.json.Id; | 
|---|
|  |  |  | import org.apache.commons.lang3.StringUtils; | 
|---|
|  |  |  | import org.apache.shiro.SecurityUtils; | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
|---|
|  |  |  | import org.springframework.stereotype.Service; | 
|---|
|  |  |  | import org.springframework.transaction.annotation.Transactional; | 
|---|
|  |  |  | import org.springframework.util.CollectionUtils; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.util.ArrayList; | 
|---|
|  |  |  | 
|---|
|  |  |  | queryWrapper.le(IdentityInfo::getUpdateTime, Utils.Date.getEnd(pageWrap.getModel().getUpdateTime())); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (pageWrap.getModel().getRemark() != null) { | 
|---|
|  |  |  | queryWrapper.eq(IdentityInfo::getRemark, pageWrap.getModel().getRemark()); | 
|---|
|  |  |  | queryWrapper.like(IdentityInfo::getRemark, pageWrap.getModel().getRemark()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (pageWrap.getModel().getType() != null) { | 
|---|
|  |  |  | queryWrapper.eq(IdentityInfo::getType, pageWrap.getModel().getType()); | 
|---|
|  |  |  | 
|---|
|  |  |  | queryWrapper.eq(IdentityInfo::getAuthType, pageWrap.getModel().getAuthType()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (pageWrap.getModel().getLinkName() != null) { | 
|---|
|  |  |  | queryWrapper.eq(IdentityInfo::getLinkName, pageWrap.getModel().getLinkName()); | 
|---|
|  |  |  | queryWrapper.like(IdentityInfo::getLinkName, pageWrap.getModel().getLinkName()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (pageWrap.getModel().getTelephone() != null) { | 
|---|
|  |  |  | queryWrapper.eq(IdentityInfo::getTelephone, pageWrap.getModel().getTelephone()); | 
|---|
|  |  |  | queryWrapper.like(IdentityInfo::getTelephone, pageWrap.getModel().getTelephone()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (pageWrap.getModel().getLocation() != null) { | 
|---|
|  |  |  | queryWrapper.eq(IdentityInfo::getLocation, pageWrap.getModel().getLocation()); | 
|---|
|  |  |  | queryWrapper.like(IdentityInfo::getLocation, pageWrap.getModel().getLocation()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (pageWrap.getModel().getCompanyName() != null) { | 
|---|
|  |  |  | queryWrapper.eq(IdentityInfo::getCompanyName, pageWrap.getModel().getCompanyName()); | 
|---|
|  |  |  | queryWrapper.like(IdentityInfo::getCompanyName, pageWrap.getModel().getCompanyName()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (pageWrap.getModel().getLat() != null) { | 
|---|
|  |  |  | queryWrapper.eq(IdentityInfo::getLat, pageWrap.getModel().getLat()); | 
|---|
|  |  |  | 
|---|
|  |  |  | queryWrapper.le(IdentityInfo::getAuditTime, Utils.Date.getEnd(pageWrap.getModel().getAuditTime())); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (pageWrap.getModel().getAuditRemark() != null) { | 
|---|
|  |  |  | queryWrapper.eq(IdentityInfo::getAuditRemark, pageWrap.getModel().getAuditRemark()); | 
|---|
|  |  |  | queryWrapper.like(IdentityInfo::getAuditRemark, pageWrap.getModel().getAuditRemark()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | for(PageWrap.SortData sortData: pageWrap.getSorts()) { | 
|---|
|  |  |  | if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { | 
|---|
|  |  |  | queryWrapper.orderByDesc(sortData.getProperty()); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | queryWrapper.orderByAsc(sortData.getProperty()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | queryWrapper.orderByAsc(IdentityInfo::getAuditStatus ); | 
|---|
|  |  |  | queryWrapper.orderByDesc(IdentityInfo::getCreateTime ); | 
|---|
|  |  |  | PageData<IdentityInfo> result = PageData.from(identityInfoMapper.selectJoinPage(page,IdentityInfo.class, queryWrapper)); | 
|---|
|  |  |  | if(result!=null && result.getRecords()!=null){ | 
|---|
|  |  |  | String path  = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.RESOURCE_PATH).getCode() | 
|---|
|  |  |  | 
|---|
|  |  |  | QueryWrapper<IdentityInfo> wrapper = new QueryWrapper<>(identityInfo); | 
|---|
|  |  |  | return identityInfoMapper.selectCount(wrapper); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | @Transactional(rollbackFor = {BusinessException.class,Exception.class}) | 
|---|
|  |  |  | public void audit(AuditDTO auditDTO){ | 
|---|
|  |  |  | if(Objects.isNull(auditDTO) | 
|---|
|  |  |  | || Objects.isNull(auditDTO.getId()) | 
|---|
|  |  |  | || Objects.isNull(auditDTO.getAuditStatus()) | 
|---|
|  |  |  | ||  auditDTO.getAuditStatus()<2 | 
|---|
|  |  |  | ||  auditDTO.getAuditStatus()>3){ | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.BAD_REQUEST); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); | 
|---|
|  |  |  | IdentityInfo identityInfo = identityInfoMapper.selectById(auditDTO.getId()); | 
|---|
|  |  |  | if(Objects.isNull(identityInfo)){ | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.DATA_EMPTY); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(!Constants.equalsInteger(identityInfo.getAuditStatus(),Constants.ONE)){ | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"已审批,请勿重复操作"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | Date date = new Date(); | 
|---|
|  |  |  | identityInfoMapper.update(new UpdateWrapper<IdentityInfo>().lambda() | 
|---|
|  |  |  | .set(IdentityInfo::getAuditStatus, auditDTO.getAuditStatus() ) | 
|---|
|  |  |  | .set(StringUtils.isNotBlank(auditDTO.getAuditRemark()),IdentityInfo::getAuditRemark,auditDTO.getAuditRemark()) | 
|---|
|  |  |  | .set(IdentityInfo::getAuditTime,date) | 
|---|
|  |  |  | .set(IdentityInfo::getUpdateUser,user.getId()) | 
|---|
|  |  |  | .set(IdentityInfo::getUpdateTime,date) | 
|---|
|  |  |  | .eq(IdentityInfo::getId,identityInfo.getId()) | 
|---|
|  |  |  | ); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | memberMapper.update(new UpdateWrapper<Member>().lambda() | 
|---|
|  |  |  | .set(Member::getUpdateUser,user.getId()) | 
|---|
|  |  |  | .set(Member::getUpdateTime,date) | 
|---|
|  |  |  | .set(Constants.equalsInteger(identityInfo.getType(),Constants.ZERO),Member::getWorkerIdentity, auditDTO.getAuditStatus() ) | 
|---|
|  |  |  | .set(Constants.equalsInteger(identityInfo.getType(),Constants.ONE),Member::getDriverIdentity , auditDTO.getAuditStatus() ) | 
|---|
|  |  |  | .set(Constants.equalsInteger(identityInfo.getType(),Constants.TWO),Member::getChefIdentity , auditDTO.getAuditStatus() ) | 
|---|
|  |  |  | .eq(Member::getId,identityInfo.getMemberId()) | 
|---|
|  |  |  | ); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|