From 1c20c8231980a8d4b91688ff8641a06d3b2f68ab Mon Sep 17 00:00:00 2001 From: MrShi <1878285526@qq.com> Date: 星期二, 14 十月 2025 16:34:22 +0800 Subject: [PATCH] 改bug --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerParamServiceImpl.java | 209 ++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 187 insertions(+), 22 deletions(-) diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerParamServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerParamServiceImpl.java index a096272..0a6c8e1 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerParamServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerParamServiceImpl.java @@ -1,20 +1,29 @@ package com.doumee.service.business.impl; -import com.doumee.core.model.PageData; -import com.doumee.core.model.PageWrap; +import com.doumee.core.constants.ResponseStatus; +import com.doumee.core.exception.BusinessException; +import com.doumee.service.business.third.model.LoginUserInfo; +import com.doumee.service.business.third.model.PageData; +import com.doumee.service.business.third.model.PageWrap; +import com.doumee.core.utils.Constants; import com.doumee.core.utils.Utils; import com.doumee.dao.business.HiddenDangerParamMapper; -import com.doumee.dao.business.model.HiddenDangerParam; +import com.doumee.dao.business.dao.MemberMapper; +import com.doumee.dao.business.model.*; +import com.doumee.dao.business.model.Member; import com.doumee.service.business.HiddenDangerParamService; 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.yulichang.wrapper.MPJLambdaWrapper; +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.util.CollectionUtils; -import java.util.List; +import java.util.*; /** * 闅愭偅鍖哄煙閰嶇疆绫诲瀷淇℃伅琛⊿ervice瀹炵幇 @@ -23,19 +32,76 @@ */ @Service public class HiddenDangerParamServiceImpl implements HiddenDangerParamService { - @Autowired private HiddenDangerParamMapper hiddenDangerParamMapper; + @Autowired + private MemberMapper memberMapper; + @Override - public Integer create(HiddenDangerParam hiddenDangerParam) { - hiddenDangerParamMapper.insert(hiddenDangerParam); - return hiddenDangerParam.getId(); + public Integer create(HiddenDangerParam model) { + LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); + if(loginUserInfo == null){ + loginUserInfo = model.getLoginUserInfo(); + } + /* if(hiddenDangerParamMapper.selectCount(new QueryWrapper<HiddenDangerParam>().lambda() + .eq(HiddenDangerParam::getType,model.getType()) + .eq(HiddenDangerParam::getName,model.getName()) + .eq(HiddenDangerParam::getIsdeleted,Constants.ZERO) + )>Constants.ZERO){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ュ悕绉板凡瀛樺湪!"); + }*/ + if(Constants.equalsInteger(model.getType(),Constants.ZERO)){ + //濡傛灉鏄尯鍩熼厤缃� + if(model.getCompanyId() == null){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝璇烽�夋嫨璐d换閮ㄩ棬锛�"); + } + List<Integer> ids = model.getMemberIdList(); + if(ids==null || ids.size() ==0){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝瀹夊叏鍛樹俊鎭笉姝g‘锛岃鎸夎姹傚~鍐欏唴瀹癸紒"); + } + List<Member> memberList = memberMapper.selectList(new QueryWrapper<Member>().lambda() +// .eq(Member::getType,Constants.TWO) + .eq(Member::getCompanyId,model.getCompanyId()) + .in(Member::getId,ids) + .eq(Member::getIsdeleted,Constants.ZERO)); + if(memberList == null || memberList.size() == 0 || memberList.size() != ids.size() ){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝璇烽�夋嫨姝g‘鐨勫畨鍏ㄥ憳淇℃伅锛�"); + } + String names = ""; + String idss = ""; + for(Member member : memberList){ + if(StringUtils.isNotBlank(names)){ + names += ","; + } + if(StringUtils.isNotBlank(idss)){ + idss += ","; + } + names += member.getName(); + idss += member.getId(); + } + model.setMemberNames(names); + model.setMemberIds(idss); + } + model.setType(Constants.formatIntegerNum(model.getType())); + model.setCreateDate(new Date()); + model.setCreator(loginUserInfo.getId()); + model.setEditDate(new Date()); + model.setEditor(loginUserInfo.getId()); + model.setStatus(Constants.ZERO); + model.setIsdeleted(Constants.ZERO); + hiddenDangerParamMapper.insert(model); + return model.getId(); } @Override - public void deleteById(Integer id) { - hiddenDangerParamMapper.deleteById(id); + public void deleteById(Integer id, LoginUserInfo userInfo) { + HiddenDangerParam model = new HiddenDangerParam(); + model.setEditDate(new Date()); + model.setEditor(userInfo.getId()); + model.setId(id); + model.setIsdeleted(Constants.ONE); + hiddenDangerParamMapper.updateById(model); } @Override @@ -45,16 +111,70 @@ } @Override - public void deleteByIdInBatch(List<Integer> ids) { + public void deleteByIdInBatch(List<Integer> ids, LoginUserInfo userInfo) { if (CollectionUtils.isEmpty(ids)) { return; } - hiddenDangerParamMapper.deleteBatchIds(ids); + for(Integer id :ids){ + deleteById(id,userInfo); + } } @Override - public void updateById(HiddenDangerParam hiddenDangerParam) { - hiddenDangerParamMapper.updateById(hiddenDangerParam); + public void updateById(HiddenDangerParam model) { + LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); + if(loginUserInfo == null){ + loginUserInfo = model.getLoginUserInfo(); + } + HiddenDangerParam hiddenDangerParam = hiddenDangerParamMapper.selectById(model.getId()); + if(hiddenDangerParam == null || Constants.equalsInteger(hiddenDangerParam.getIsdeleted(),Constants.ONE)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇ラ厤缃俊鎭笉瀛樺湪锛岃杩斿洖鍒锋柊椤甸潰閲嶈瘯锛�"); + } + /* if(hiddenDangerParamMapper.selectCount(new QueryWrapper<HiddenDangerParam>().lambda() + .eq(HiddenDangerParam::getType,model.getType()) + .eq(HiddenDangerParam::getName,model.getName()) + .eq(HiddenDangerParam::getIsdeleted,Constants.ZERO) + .ne(HiddenDangerParam::getId,model.getId()) + )>Constants.ZERO){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ュ悕绉板凡瀛樺湪!"); + }*/ + if(Constants.equalsInteger(hiddenDangerParam.getType(),Constants.ZERO)){ + //濡傛灉鏄尯鍩熼厤缃�,鏍¢獙瀹夊叏鍛樹俊鎭槸鍚︽纭� + if(model.getCompanyId() == null){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝璇烽�夋嫨璐d换閮ㄩ棬锛�"); + } + List<Integer> ids =model.getMemberIdList(); + if(ids==null || ids.size() ==0){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝瀹夊叏鍛樹俊鎭笉姝g‘锛岃鎸夎姹傚~鍐欏唴瀹癸紒"); + } + List<Member> memberList = memberMapper.selectList(new QueryWrapper<Member>().lambda() + .eq(Member::getType,Constants.TWO) + .eq(Member::getCompanyId,model.getCompanyId()) + .in(Member::getId,ids) + .eq(Member::getIsdeleted,Constants.ZERO)); + if(memberList == null || memberList.size() == 0 || memberList.size() != ids.size() ){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝璇烽�夋嫨姝g‘鐨勫畨鍏ㄥ憳淇℃伅锛�"); + } + String names = ""; + String idss = ""; + for(Member member : memberList){ + if(StringUtils.isNotBlank(names)){ + names += ","; + } + if(StringUtils.isNotBlank(idss)){ + idss += ","; + } + names += member.getName(); + idss += member.getId(); + } + model.setMemberNames(names); + model.setMemberIds(idss); + } + model.setType(Constants.formatIntegerNum(model.getType())); + model.setEditDate(new Date()); + model.setEditor(loginUserInfo.getId()); + model.setStatus(Constants.ZERO); + hiddenDangerParamMapper.updateById(model); } @Override @@ -80,25 +200,28 @@ @Override public List<HiddenDangerParam> findList(HiddenDangerParam hiddenDangerParam) { + + hiddenDangerParam.setIsdeleted(Constants.ZERO); QueryWrapper<HiddenDangerParam> wrapper = new QueryWrapper<>(hiddenDangerParam); + wrapper.lambda().orderByAsc(HiddenDangerParam::getSortnum); return hiddenDangerParamMapper.selectList(wrapper); } @Override public PageData<HiddenDangerParam> findPage(PageWrap<HiddenDangerParam> pageWrap) { IPage<HiddenDangerParam> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); - QueryWrapper<HiddenDangerParam> queryWrapper = new QueryWrapper<>(); + MPJLambdaWrapper<HiddenDangerParam> queryWrapper = new MPJLambdaWrapper<>(); Utils.MP.blankToNull(pageWrap.getModel()); - queryWrapper.lambda() + pageWrap.getModel().setIsdeleted(Constants.ZERO); + queryWrapper. selectAll(HiddenDangerParam.class) + .selectAs(Company::getCompanyNamePath,HiddenDangerParam::getCompanyName) + .leftJoin(Company.class,Company::getId,HiddenDangerParam::getCompanyId) .eq(pageWrap.getModel().getId() != null, HiddenDangerParam::getId, pageWrap.getModel().getId()) .eq(pageWrap.getModel().getCreator() != null, HiddenDangerParam::getCreator, pageWrap.getModel().getCreator()) - .ge(pageWrap.getModel().getCreateDate() != null, HiddenDangerParam::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())) - .le(pageWrap.getModel().getCreateDate() != null, HiddenDangerParam::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())) .eq(pageWrap.getModel().getEditor() != null, HiddenDangerParam::getEditor, pageWrap.getModel().getEditor()) - .ge(pageWrap.getModel().getEditDate() != null, HiddenDangerParam::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())) - .le(pageWrap.getModel().getEditDate() != null, HiddenDangerParam::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())) .eq(pageWrap.getModel().getIsdeleted() != null, HiddenDangerParam::getIsdeleted, pageWrap.getModel().getIsdeleted()) - .eq(pageWrap.getModel().getName() != null, HiddenDangerParam::getName, pageWrap.getModel().getName()) + .like(pageWrap.getModel().getName() != null, HiddenDangerParam::getName, pageWrap.getModel().getName()) + .like(pageWrap.getModel().getCompanyName() != null, Company::getName, pageWrap.getModel().getCompanyName()) .eq(pageWrap.getModel().getRemark() != null, HiddenDangerParam::getRemark, pageWrap.getModel().getRemark()) .eq(pageWrap.getModel().getStatus() != null, HiddenDangerParam::getStatus, pageWrap.getModel().getStatus()) .eq(pageWrap.getModel().getSortnum() != null, HiddenDangerParam::getSortnum, pageWrap.getModel().getSortnum()) @@ -106,6 +229,9 @@ .eq(pageWrap.getModel().getMemberIds() != null, HiddenDangerParam::getMemberIds, pageWrap.getModel().getMemberIds()) .eq(pageWrap.getModel().getMemberNames() != null, HiddenDangerParam::getMemberNames, pageWrap.getModel().getMemberNames()) .eq(pageWrap.getModel().getType() != null, HiddenDangerParam::getType, pageWrap.getModel().getType()) + .orderByAsc(HiddenDangerParam::getSortnum) + .orderByDesc(HiddenDangerParam::getCreateDate) + .eq( HiddenDangerParam::getIsdeleted, Constants.ZERO) ; for(PageWrap.SortData sortData: pageWrap.getSorts()) { if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { @@ -114,7 +240,9 @@ queryWrapper.orderByAsc(sortData.getProperty()); } } - return PageData.from(hiddenDangerParamMapper.selectPage(page, queryWrapper)); + PageData<HiddenDangerParam> result = PageData.from(hiddenDangerParamMapper.selectJoinPage(page,HiddenDangerParam.class, queryWrapper)); + + return result; } @Override @@ -122,4 +250,41 @@ QueryWrapper<HiddenDangerParam> wrapper = new QueryWrapper<>(hiddenDangerParam); return hiddenDangerParamMapper.selectCount(wrapper); } + @Override + public List<Member> findHiddenAreaMemberList(HiddenDangerParam pageWrap) { + HiddenDangerParam hiddenDangerParam = new HiddenDangerParam(); + hiddenDangerParam.setIsdeleted(Constants.ZERO); + if(Objects.nonNull(pageWrap.getId())){ + hiddenDangerParam.setId(pageWrap.getId()); + } + QueryWrapper<HiddenDangerParam> wrapper = new QueryWrapper<>(hiddenDangerParam); + List<HiddenDangerParam> list = hiddenDangerParamMapper.selectList(wrapper); + List<Member> memberList = new ArrayList<>(); + if(list!=null){ + List<Integer> idList = new ArrayList<>(); + for(HiddenDangerParam m : list){ + String ids = m.getMemberIds(); + if(StringUtils.isNotBlank(ids)){ + String[] t = ids.split(","); + for(String d : t){ + try { + idList.add(Integer.parseInt(d)); + }catch (Exception e){} + } + } + } + if(idList.size()>0){ + memberList = memberMapper.selectJoinList(Member.class,new MPJLambdaWrapper<Member>(). + selectAll(Member.class) + .selectAs(Company::getCompanyNamePath,Member::getCompanyName) + .leftJoin(Company.class, Company::getId,Member::getCompanyId) + .eq(Member::getType,Constants.TWO) + .eq(Member::getIsdeleted,Constants.ZERO) + .like(StringUtils.isNotBlank(pageWrap.getName()),Member::getName,pageWrap.getName()) + .in(Member::getId,idList) + ); + } + } + return memberList; + } } -- Gitblit v1.9.3