From 1e0c8c2a1a3e67cf95a4ccc60012cc3c6dad26be Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期五, 25 四月 2025 11:27:54 +0800 Subject: [PATCH] 代码初始化 --- server/src/main/java/com/doumee/service/business/impl/ManagersServiceImpl.java | 78 ++++++++++++++++++++++++++++++-------- 1 files changed, 61 insertions(+), 17 deletions(-) diff --git a/server/src/main/java/com/doumee/service/business/impl/ManagersServiceImpl.java b/server/src/main/java/com/doumee/service/business/impl/ManagersServiceImpl.java index c4b3fbd..ba394a1 100644 --- a/server/src/main/java/com/doumee/service/business/impl/ManagersServiceImpl.java +++ b/server/src/main/java/com/doumee/service/business/impl/ManagersServiceImpl.java @@ -8,8 +8,10 @@ import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Utils; +import com.doumee.dao.business.CompanyMapper; import com.doumee.dao.business.ManagersMapper; import com.doumee.dao.business.MemberMapper; +import com.doumee.dao.business.model.Company; import com.doumee.dao.business.model.Managers; import com.doumee.dao.business.model.Member; import com.doumee.dao.system.model.SystemUser; @@ -23,8 +25,10 @@ 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; import java.util.Date; import java.util.List; @@ -40,29 +44,69 @@ private ManagersMapper managersMapper; @Autowired private MemberMapper memberMapper; + @Autowired + private CompanyMapper companyMapper; @Override + @Transactional(rollbackFor = {BusinessException.class,Exception.class}) public Integer create(Managers managers) { - Member member =memberMapper.selectById(managers.getMemberId()); - if(member == null || Constants.equalsInteger(member.getIsdeleted(),Constants.ONE)){ - throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇ヨ礋璐d汉淇℃伅涓嶅瓨鍦紝璇峰埛鏂伴〉闈㈤噸璇曪紒"); + + List<Managers> newList = new ArrayList<>(); + if( managers.getIsMember() == null || managers.getType() == null){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); } - Managers model =managersMapper.selectOne(new LambdaQueryWrapper<Managers>().eq(Managers::getMemberId,managers.getMemberId()) - .eq(Managers::getType,managers.getType()) - .eq(Managers::getIsdeleted,Constants.ZERO) - ); - if(model !=null){ - throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"璇ヤ汉鍛樹俊鎭凡璁剧疆锛屾棤闇�閲嶆柊娣诲姞"); + List<Member> memberList = new ArrayList<>(); + List<Integer> memberIdList = new ArrayList<>(); + + //璁剧疆鑼冨洿 0鐩村睘閮ㄩ棬鍛樺伐 1閮ㄩ棬鍙婂叾涓嬬骇甯冩仼鍛樺伐 2鎸囧畾浜哄憳 + if(Constants.equalsInteger(managers.getIsMember(),Constants.ZERO) || Constants.equalsInteger(managers.getIsMember(),Constants.ONE)){ + //鐩村睘閮ㄩ棬 鎴� 閮ㄩ棬鍙婂叾瀛愰儴闂� + if(managers.getCompanyId() ==null ){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + Company company = companyMapper.selectById(managers.getCompanyId()); + if(company == null || Constants.equalsInteger(company.getIsdeleted(),Constants.ONE)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝閮ㄩ棬淇℃伅涓嶅瓨鍦紝璇峰埛鏂伴〉闈㈤噸璇曪紒"); + } + memberList =memberMapper.selectJoinList(Member.class,new MPJLambdaWrapper<Member>() + .selectAll(Member.class) + .eq(Member::getIsdeleted,Constants.ZERO) + .exists(Constants.equalsInteger(managers.getIsMember(),Constants.ZERO),"select (cm.id) from company_member cm where cm.company_id='"+company.getId()+"' and cm.member_id=t.id") + .exists(Constants.equalsInteger(managers.getIsMember(),Constants.ONE),"select (cm.id) from company_member cm where cm.company_id_path like '"+company.getIdPath()+"%' and cm.member_id=t.id")); + }else{ + if(managers.getMemberIds()==null || managers.getMemberIds().size()==0){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝璇锋寜瑕佹眰閫夋嫨鎸囧畾鍛樺伐淇℃伅锛�"); + } + memberList =memberMapper.selectList(new LambdaQueryWrapper<Member>() + .eq(Member::getIsdeleted,Constants.ZERO) + .in(Member::getId,managers.getMemberIds())); + } + if(memberList.size() ==0){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝閫夋嫨鑼冨洿鏈煡璇㈠埌鐩稿叧鍛樺伐淇℃伅锛屾娆¤缃棤鏁堬紒"); } LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); - managers.setCreator(user.getId()); - managers.setCreateDate(new Date()); - managers.setIsdeleted(Constants.ZERO); - managers.setEditor(managers.getCreator()); - managers.setEditDate(managers.getCreateDate()); - managers.setStatus(Constants.ZERO); - managersMapper.insert(managers); - return managers.getId(); + + for(Member m :memberList){ + Managers mm = new Managers(); + mm.setCreator(user.getId()); + mm.setCreateDate(new Date()); + mm.setIsdeleted(Constants.ZERO); + mm.setEditor(managers.getCreator()); + mm.setEditDate(managers.getCreateDate()); + mm.setStatus(Constants.ZERO); + mm.setType(managers.getType()); + mm.setMemberId(m.getId()); + mm.setRemark(managers.getRemark()); + memberIdList.add(m.getId()); + newList.add(mm); + } + //娓呯┖鍘熸湁鐨勮缃俊鎭� + managersMapper.delete(new UpdateWrapper<Managers>().lambda() + .eq(Managers::getType,managers.getType()) + .in(Managers::getMemberId,memberIdList) + ); + managersMapper.insert(newList); + return newList.size(); } @Override -- Gitblit v1.9.3