From 22271e641e4505ba906c3770905b7e84e3ad8d85 Mon Sep 17 00:00:00 2001 From: MrShi <1878285526@qq.com> Date: 星期二, 02 四月 2024 17:05:57 +0800 Subject: [PATCH] mrshi --- server/service/src/main/java/com/doumee/service/business/impl/NoticesServiceImpl.java | 212 +++++++++++++++++++++++++++++++--------------------- 1 files changed, 127 insertions(+), 85 deletions(-) diff --git a/server/service/src/main/java/com/doumee/service/business/impl/NoticesServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/NoticesServiceImpl.java index d83ce3a..3607ba6 100644 --- a/server/service/src/main/java/com/doumee/service/business/impl/NoticesServiceImpl.java +++ b/server/service/src/main/java/com/doumee/service/business/impl/NoticesServiceImpl.java @@ -1,31 +1,40 @@ package com.doumee.service.business.impl; +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.NoticesMapper; +import com.doumee.dao.business.join.NoticesJoinMapper; +import com.doumee.dao.business.model.ApplyChagneDetail; +import com.doumee.dao.business.model.Company; +import com.doumee.dao.business.model.InsuranceApply; import com.doumee.dao.business.model.Notices; +import com.doumee.dao.business.vo.ApplyNoticeVO; import com.doumee.service.business.NoticesService; 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 com.github.xiaoymin.knife4j.core.util.CollectionUtils; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.springframework.util.CollectionUtils; - import java.util.List; +import java.util.stream.Collectors; /** * 绯荤粺娑堟伅淇℃伅琛⊿ervice瀹炵幇 * @author 姹熻箘韫� - * @date 2024/01/15 15:07 + * @date 2024/01/16 10:03 */ @Service public class NoticesServiceImpl implements NoticesService { @Autowired - private NoticesMapper noticesMapper; + private NoticesJoinMapper noticesMapper; @Override public Integer create(Notices notices) { @@ -87,90 +96,77 @@ @Override public PageData<Notices> findPage(PageWrap<Notices> pageWrap) { IPage<Notices> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); - QueryWrapper<Notices> queryWrapper = new QueryWrapper<>(); + MPJLambdaWrapper<Notices> queryWrapper = new MPJLambdaWrapper<>(); Utils.MP.blankToNull(pageWrap.getModel()); - if (pageWrap.getModel().getId() != null) { - queryWrapper.lambda().eq(Notices::getId, pageWrap.getModel().getId()); - } - if (pageWrap.getModel().getCreator() != null) { - queryWrapper.lambda().eq(Notices::getCreator, pageWrap.getModel().getCreator()); - } - if (pageWrap.getModel().getCreateDate() != null) { - queryWrapper.lambda().ge(Notices::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); - queryWrapper.lambda().le(Notices::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); - } - if (pageWrap.getModel().getEditor() != null) { - queryWrapper.lambda().eq(Notices::getEditor, pageWrap.getModel().getEditor()); - } - if (pageWrap.getModel().getEditDate() != null) { - queryWrapper.lambda().ge(Notices::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); - queryWrapper.lambda().le(Notices::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); - } - if (pageWrap.getModel().getIsdeleted() != null) { - queryWrapper.lambda().eq(Notices::getIsdeleted, pageWrap.getModel().getIsdeleted()); - } - if (pageWrap.getModel().getRemark() != null) { - queryWrapper.lambda().eq(Notices::getRemark, pageWrap.getModel().getRemark()); - } - if (pageWrap.getModel().getTitle() != null) { - queryWrapper.lambda().eq(Notices::getTitle, pageWrap.getModel().getTitle()); - } - if (pageWrap.getModel().getInfo() != null) { - queryWrapper.lambda().eq(Notices::getInfo, pageWrap.getModel().getInfo()); - } - if (pageWrap.getModel().getContent() != null) { - queryWrapper.lambda().eq(Notices::getContent, pageWrap.getModel().getContent()); - } - if (pageWrap.getModel().getObjId() != null) { - queryWrapper.lambda().eq(Notices::getObjId, pageWrap.getModel().getObjId()); - } - if (pageWrap.getModel().getObjType() != null) { - queryWrapper.lambda().eq(Notices::getObjType, pageWrap.getModel().getObjType()); - } - if (pageWrap.getModel().getObjName() != null) { - queryWrapper.lambda().eq(Notices::getObjName, pageWrap.getModel().getObjName()); - } - if (pageWrap.getModel().getType() != null) { - queryWrapper.lambda().eq(Notices::getType, pageWrap.getModel().getType()); - } - if (pageWrap.getModel().getParam1() != null) { - queryWrapper.lambda().eq(Notices::getParam1, pageWrap.getModel().getParam1()); - } - if (pageWrap.getModel().getParam2() != null) { - queryWrapper.lambda().eq(Notices::getParam2, pageWrap.getModel().getParam2()); - } - if (pageWrap.getModel().getParam3() != null) { - queryWrapper.lambda().eq(Notices::getParam3, pageWrap.getModel().getParam3()); - } - if (pageWrap.getModel().getParam4() != null) { - queryWrapper.lambda().eq(Notices::getParam4, pageWrap.getModel().getParam4()); - } - if (pageWrap.getModel().getParam5() != null) { - queryWrapper.lambda().eq(Notices::getParam5, pageWrap.getModel().getParam5()); - } - if (pageWrap.getModel().getUserId() != null) { - queryWrapper.lambda().eq(Notices::getUserId, pageWrap.getModel().getUserId()); - } - if (pageWrap.getModel().getCompanyId() != null) { - queryWrapper.lambda().eq(Notices::getCompanyId, pageWrap.getModel().getCompanyId()); - } - if (pageWrap.getModel().getPalt() != null) { - queryWrapper.lambda().eq(Notices::getPalt, pageWrap.getModel().getPalt()); - } - if (pageWrap.getModel().getStatus() != null) { - queryWrapper.lambda().eq(Notices::getStatus, pageWrap.getModel().getStatus()); - } - if (pageWrap.getModel().getReaded() != null) { - queryWrapper.lambda().eq(Notices::getReaded, pageWrap.getModel().getReaded()); - } - for(PageWrap.SortData sortData: pageWrap.getSorts()) { - if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { - queryWrapper.orderByDesc(sortData.getProperty()); - } else { - queryWrapper.orderByAsc(sortData.getProperty()); + LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); + + //浼佷笟浜哄憳鏌ョ湅鏈紒涓氭暟鎹� + if(loginUserInfo.getType().equals(Constants.ONE)){ + queryWrapper.eq(Notices::getCompanyId, loginUserInfo.getCompanyId()); + }else{ + if(loginUserInfo.getCompanyIdList()!=null && loginUserInfo.getCompanyIdList().size()>0){ + queryWrapper.in(Notices::getCompanyId, loginUserInfo.getCompanyIdList()); + }else{ + queryWrapper.eq(Notices::getCompanyId, -1); } } - return PageData.from(noticesMapper.selectPage(page, queryWrapper)); + + queryWrapper.selectAll(Notices.class); + queryWrapper.selectAs(Company::getName,Notices::getCompanyName); + queryWrapper.leftJoin(Company.class,Company::getId,Notices::getCompanyId); + if (pageWrap.getModel().getIsdeleted() != null) { + queryWrapper.eq(Notices::getIsdeleted, pageWrap.getModel().getIsdeleted()); + } + if (pageWrap.getModel().getObjType() != null) { + queryWrapper.eq(Notices::getObjType, pageWrap.getModel().getObjType()); + } + if (pageWrap.getModel().getType() != null) { + queryWrapper.eq(Notices::getType, pageWrap.getModel().getType()); + } + if (pageWrap.getModel().getCompanyId() != null) { + queryWrapper.eq(Notices::getCompanyId, pageWrap.getModel().getCompanyId()); + } + if (pageWrap.getModel().getPalt() != null) { + queryWrapper.eq(Notices::getPalt, pageWrap.getModel().getPalt()); + } + if (pageWrap.getModel().getStatus() != null) { + queryWrapper.eq(Notices::getStatus, pageWrap.getModel().getStatus()); + } + if (pageWrap.getModel().getReaded() != null) { + queryWrapper.eq(Notices::getReaded, pageWrap.getModel().getReaded()); + } + if(pageWrap.getModel().getQueryType()!=null){ + if(pageWrap.getModel().getQueryType().equals(Constants.ZERO)){ + queryWrapper.in(Notices::getObjType,new Integer[]{Constants.NoticeObjectType.INSURANCE_APPLY.getKey(), + Constants.NoticeObjectType.APPLY_CHANGE.getKey(), + Constants.NoticeObjectType.DISPATCH_UNIT.getKey(), + Constants.NoticeObjectType.CHANGE_FACTORY.getKey()}); + } else if(pageWrap.getModel().getQueryType().equals(Constants.ONE)){ + queryWrapper.in(Notices::getObjType,new Integer[]{Constants.NoticeObjectType.TAXES.getKey() }); + } else if(pageWrap.getModel().getQueryType().equals(Constants.TWO)){ + queryWrapper.in(Notices::getObjType,new Integer[]{Constants.NoticeObjectType.SETTLE_CLAIMS.getKey() }); + + } + } + if(CollectionUtils.isNotEmpty(pageWrap.getSorts())){ + for(PageWrap.SortData sortData: pageWrap.getSorts()) { + if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { + queryWrapper.orderByDesc(sortData.getProperty()); + } else { + queryWrapper.orderByAsc(sortData.getProperty()); + } + } + }else{ + queryWrapper.orderByDesc(Notices::getCreateDate); + } + + PageData<Notices> pageData = PageData.from(noticesMapper.selectJoinPage(page,Notices.class, queryWrapper)); + pageData.getRecords().forEach(i->{ + i.setTypeDetail( + Constants.NoticeType.getDetail(i.getType(),i.getObjType()) + ); + }); + return pageData; } @Override @@ -178,4 +174,50 @@ QueryWrapper<Notices> wrapper = new QueryWrapper<>(notices); return noticesMapper.selectCount(wrapper); } + + + /** + * 鏌ヨ鎶曚繚鍗� 鎻愰啋鏁伴噺 + * @param companyId + * @return + */ + @Override + public ApplyNoticeVO getApplyNotice(Integer companyId){ + ApplyNoticeVO applyNoticeVO = new ApplyNoticeVO(); + applyNoticeVO.setWaitSignNum(Constants.ZERO); + applyNoticeVO.setRenewalNum(Constants.ZERO); + List<Notices> noticesList = noticesMapper.selectList(new QueryWrapper<Notices>() + .lambda() + .select(Notices::getType) + .eq(Notices::getPalt,Constants.ONE) + .eq(Notices::getCompanyId,companyId) + .eq(Notices::getObjType,Constants.NoticeObjectType.INSURANCE_APPLY.getKey()) + .eq(Notices::getStatus,Constants.ZERO) + .in(Notices::getType,Constants.NoticeType.SIX.getStatus(),Constants.NoticeType.ONE.getStatus()) + ); + if(CollectionUtils.isNotEmpty(noticesList)){ + applyNoticeVO.setRenewalNum(noticesList.stream().filter(m->m.getType().equals(Constants.NoticeType.SIX.getStatus())).collect(Collectors.toList()).size()); + applyNoticeVO.setWaitSignNum(noticesList.size() - applyNoticeVO.getRenewalNum()); + } + return applyNoticeVO ; + } + + /** + * 鍏抽棴鎻愰啋 + * @param companyId + * @param type + */ + @Override + public void closeApplyNotice(Integer companyId,Integer type){ + noticesMapper.update(null,new UpdateWrapper<Notices>() + .lambda() + .set(Notices::getStatus,Constants.ONE) + .eq(Notices::getPalt,Constants.ONE) + .eq(Notices::getCompanyId,companyId) + .eq(Notices::getStatus,Constants.ZERO) + .eq(Notices::getObjType,Constants.NoticeObjectType.INSURANCE_APPLY.getKey()) + .eq(Notices::getType,type) + ); + } + } -- Gitblit v1.9.3