From bf8d85d5f83c2036fb4239d764d33e99c1b62bd3 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期五, 31 五月 2024 14:53:23 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveTemplServiceImpl.java | 72 ++++++++++++++++++++++++++++++++--- 1 files changed, 65 insertions(+), 7 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..b940e2e 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,11 +7,10 @@ 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.model.*; import com.doumee.service.business.ApproveTemplService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -20,6 +19,7 @@ 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; @@ -36,7 +36,58 @@ @Autowired private ApproveTemplMapper approveTemplMapper; @Autowired + private ApproveParamMapper approveParamMapper; + @Autowired private MemberMapper memberMapper; + + @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); + } + ApproveTempl template = approveTemplMapper.selectOne(new QueryWrapper<ApproveTempl>().lambda() + .eq(ApproveTempl::getType,model.getType() ) + .eq(ApproveTempl::getIsdeleted,Constants.ZERO) + .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); + } + if(model.getParamList()!=null && model.getParamList().size()>0){ + for(ApproveParam param : model.getParamList()){ + param.setCreateDate(date); + param.setCreator(loginUserInfo.getId()); + param.setEditDate(date); + param.setEditor(loginUserInfo.getId()); + param.setIsdeleted(Constants.ZERO); + param.setTemplId(template.getId()); + param.setType(Constants.formatIntegerNum(param.getType())); + param.setAddrParam(Constants.formatIntegerNum(param.getAddrParam())); + param.setDriverParam(Constants.formatIntegerNum(param.getDriverParam())); + param.setApproveType(Constants.formatIntegerNum(param.getApproveType())); + } + //鍏堟竻闄ゅ師鏉ユ墍鏈夌殑灏遍櫔閰嶇疆 + approveParamMapper.delete(new UpdateWrapper<ApproveParam>().lambda() + .eq(ApproveParam::getTemplId,template.getId())); + //鎵归噺鎻掑叆鏂扮殑閰嶇疆 + approveParamMapper.insertBatchSomeColumn(model.getParamList()); + } + return model.getId(); + } @Override public Integer create(ApproveTempl model) { @@ -45,8 +96,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 +112,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 -- Gitblit v1.9.3