From 17efddc6a667670dca682bf36b51a43e99615e6d Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期三, 16 十月 2024 15:59:38 +0800 Subject: [PATCH] 代码初始化 --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveTemplServiceImpl.java | 128 +++++++++++++++++++++++++++++++++++++++--- 1 files changed, 118 insertions(+), 10 deletions(-) diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveTemplServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveTemplServiceImpl.java index 1271993..b3b0653 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveTemplServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveTemplServiceImpl.java @@ -7,23 +7,27 @@ import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Constants; import com.doumee.core.utils.Utils; +import com.doumee.dao.business.ApproveParamMapper; import com.doumee.dao.business.ApproveTemplMapper; -import com.doumee.dao.business.MemberMapper; -import com.doumee.dao.business.model.ApproveTempl; -import com.doumee.dao.business.model.CarDriver; -import com.doumee.dao.business.model.Member; +import com.doumee.dao.business.PlatformReasonMapper; +import com.doumee.dao.business.join.MemberJoinMapper; +import com.doumee.dao.business.model.*; import com.doumee.service.business.ApproveTemplService; 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.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import java.util.Date; import java.util.List; +import java.util.Objects; /** * 瀹℃壒妯$増淇℃伅琛⊿ervice瀹炵幇 @@ -36,7 +40,85 @@ @Autowired private ApproveTemplMapper approveTemplMapper; @Autowired - private MemberMapper memberMapper; + private ApproveParamMapper approveParamMapper; + @Autowired + private MemberJoinMapper memberJoinMapper; + @Autowired + private PlatformReasonMapper platformReasonMapper; + + @Override + @Transactional(rollbackFor = {BusinessException.class,Exception.class}) + public int save(ApproveTempl model) { + LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); + if(loginUserInfo == null){ + loginUserInfo = model.getLoginUserInfo(); + } + if(model.getType() == null || Constants.ApproveTmplType.getName(model.getType()) == null){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + PlatformReason reason = null; + if(Constants.equalsInteger(model.getType(),Constants.ApproveTmplType.PLATFROM_REASON.getKey())){ + if(model.getReasonId() ==null){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + reason = platformReasonMapper.selectById(model.getReasonId()); + if(reason ==null){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝鍏ュ洯鍘熷洜淇℃伅涓嶅瓨鍦紝璇疯繑鍥炲埛鏂伴〉闈㈤噸璇曪紒"); + } + } + ApproveTempl template = approveTemplMapper.selectOne(new QueryWrapper<ApproveTempl>().lambda() + .eq(ApproveTempl::getType,model.getType() ) + .eq(ApproveTempl::getIsdeleted,Constants.ZERO) + //濡傛灉鏄叆鍥師鍥犻厤缃紝鏍规嵁ID鏌ヨ瀵瑰簲鐨勬ā鐗堜俊鎭� + .eq(Constants.equalsInteger(model.getType(),Constants.ApproveTmplType.PLATFROM_REASON.getKey()),ApproveTempl::getId,model.getReasonId()) + .last("limit 1")); + Date date =new Date(); + if(template == null){ + //濡傛灉妯$増娌℃湁锛屽垯鏂板 + template = new ApproveTempl(); + template.setType(model.getType()); + template.setCreateDate(date); + template.setCreator(loginUserInfo.getId()); + template.setEditDate(date); + template.setIsdeleted(Constants.ZERO); + template.setEditor(loginUserInfo.getId()); + template.setName(Constants.ApproveTmplType.getName(model.getType())); + approveTemplMapper.insert(template); + } + int level = 0; + if(model.getParamList()!=null && model.getParamList().size()>0){ + for(ApproveParam param : model.getParamList()){ + param.setCreateDate(date); + param.setId(null); + param.setCreator(loginUserInfo.getId()); + param.setEditDate(date); + param.setEditor(loginUserInfo.getId()); + param.setIsdeleted(Constants.ZERO); +// param.setLevel(level); + param.setMemberType(Constants.formatIntegerNum(param.getMemberType())); + param.setTemplId(template.getId()); + param.setType(Constants.formatIntegerNum(param.getType())); + param.setAddrParam(Constants.formatIntegerNum(param.getAddrParam())); + param.setDriverParam(Constants.formatIntegerNum(param.getDriverParam())); + param.setApproveType(Objects.isNull(param.getApproveType())?Constants.TWO:param.getApproveType()); + level ++ ; + } + //鍏堟竻闄ゅ師鏉ユ墍鏈夌殑灏遍櫔閰嶇疆 + approveParamMapper.delete(new UpdateWrapper<ApproveParam>().lambda() + .eq(ApproveParam::getTemplId,template.getId())); + //鎵归噺鎻掑叆鏂扮殑閰嶇疆 + approveParamMapper.insert(model.getParamList()); + } + if(Constants.equalsInteger(model.getType(),Constants.ApproveTmplType.PLATFROM_REASON.getKey())){ + PlatformReason r = new PlatformReason(); + r.setApproveTemplId(template.getId()); + r.setId(model.getReasonId()); + r.setEditor(template.getEditor()); + r.setEditDate(new Date()); + platformReasonMapper.updateById(r); + } + return 1; + } @Override public Integer create(ApproveTempl model) { @@ -45,8 +127,13 @@ } @Override - public void deleteById(Integer id) { - approveTemplMapper.deleteById(id); + public void deleteById(Integer id, LoginUserInfo userInfo) { + ApproveTempl model = new ApproveTempl(); + model.setEditDate(new Date()); + model.setEditor(userInfo.getId()); + model.setId(id); + model.setIsdeleted(Constants.ONE); + approveTemplMapper.updateById(model); } @Override @@ -56,11 +143,13 @@ } @Override - public void deleteByIdInBatch(List<Integer> ids) { + public void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user) { if (CollectionUtils.isEmpty(ids)) { return; } - approveTemplMapper.deleteBatchIds(ids); + for(Integer id:ids){ + deleteById(id,user); + } } @Override @@ -86,7 +175,26 @@ @Override public ApproveTempl findOne(ApproveTempl approveTempl) { QueryWrapper<ApproveTempl> wrapper = new QueryWrapper<>(approveTempl); - return approveTemplMapper.selectOne(wrapper); + ApproveTempl model = approveTemplMapper.selectOne(wrapper.lambda().last("limit 1")); + if(model!=null){ + List<ApproveParam> approveParamList = approveParamMapper.selectList(new QueryWrapper<ApproveParam>() + .lambda().eq(ApproveParam::getIsdeleted,Constants.ZERO) + .eq(ApproveParam::getTemplId,model.getId()) + .orderByAsc(ApproveParam::getLevel) + ); + for (ApproveParam approveParam :approveParamList) { + if(StringUtils.isNotBlank(approveParam.getObjIds())){ + approveParam.setMemberList(memberJoinMapper.selectJoinList(Member.class,new MPJLambdaWrapper<Member>() + .selectAll(Member.class) + .selectAs(Company::getName,Member::getCompanyName) + .leftJoin(Company.class,Company::getId,Member::getCompanyId) + .eq(Member::getIsdeleted,Constants.ZERO) + .in(Member::getId,approveParam.getObjIds().split(",")))); + } + } + model.setParamList(approveParamList); + } + return model; } @Override -- Gitblit v1.9.3