From d7643685deb760fc477c9ac66687c8980d6d8d1b Mon Sep 17 00:00:00 2001 From: chenwenjian Date: Sat, 8 Feb 2025 15:35:56 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feat(REQ-3300):=20nacos=E5=8F=AF=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E9=A1=B9=E6=8A=BD=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../config/RefreshableConfiguration.java | 12 ++++++++ .../service/impl/ChangeRecordServiceImpl.java | 29 +++++++------------ 2 files changed, 23 insertions(+), 18 deletions(-) diff --git a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/config/RefreshableConfiguration.java b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/config/RefreshableConfiguration.java index 14be872f..8b051a8a 100644 --- a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/config/RefreshableConfiguration.java +++ b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/config/RefreshableConfiguration.java @@ -32,4 +32,16 @@ public class RefreshableConfiguration { */ @Value("${visa.im.event.addMember:visaNegotiation}") private String imGroupAddMemberNoticeEventCode; + + /** + * 相关单位确认人人数限制 + */ + @Value("${visa.verifyPersonLimit: 8}") + private Integer verifyPersonLimit; + + /** + * 关联变更单个数限制 + */ + @Value("${visa.verifyVisaLimit: 5}") + private Integer verifyVisaLimit; } diff --git a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordServiceImpl.java b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordServiceImpl.java index 2ef7c126..4c2aaded 100644 --- a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordServiceImpl.java +++ b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordServiceImpl.java @@ -42,6 +42,7 @@ import cn.axzo.nanopart.visa.api.request.VisaInitiatorListReq; import cn.axzo.nanopart.visa.api.response.VisaChangeInitiatorResp; import cn.axzo.nanopart.visa.api.response.VisaChangePageSearchResp; import cn.axzo.nanopart.visa.api.response.VisaDetailByIdResponse; +import cn.axzo.nanopart.visa.server.config.RefreshableConfiguration; import cn.axzo.nanopart.visa.server.domain.ChangeRecord; import cn.axzo.nanopart.visa.server.domain.ChangeRecordBill; import cn.axzo.nanopart.visa.server.domain.ChangeRecordConfirm; @@ -92,8 +93,6 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.MapUtils; import org.apache.groovy.util.Maps; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.cloud.context.config.annotation.RefreshScope; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.StringUtils; @@ -136,7 +135,6 @@ import static cn.axzo.nanopart.visa.api.constant.VisaConstant.WORKFLOW_VAR_VISA_ */ @Slf4j @Service -@RefreshScope public class ChangeRecordServiceImpl extends ServiceImpl implements ChangeRecordService { @Resource @@ -168,17 +166,6 @@ public class ChangeRecordServiceImpl extends ServiceImpl nodeUserBriefInfoResps = nodeUserGateway.listOrgNodeUsers(infoListReq); AssertUtil.notEmpty(nodeUserBriefInfoResps, "所有单位确认人均已退场"); cooperateTypeMap.forEach((k, v) -> { - AssertUtil.isTrue(v.size() <= verifyPersonLimit, String.format(k.getDesc() + "确认人,最多支持%d个", verifyPersonLimit)); + AssertUtil.isTrue(v.size() <= refreshableConfiguration.getVerifyPersonLimit(), String.format(k.getDesc() + "确认人,最多支持%d个", refreshableConfiguration.getVerifyPersonLimit())); boolean noExit = v.stream().map(VisaChangeTempCreateReq.RelationUnitAndPerson::getPersonId) .anyMatch(p -> nodeUserBriefInfoResps.stream().anyMatch(u -> Objects.equals(u.getPersonId(), p))); AssertUtil.isTrue(noExit, String.format(k.getDesc() + "确认人,存在已退场人员,请重新选择")); @@ -1029,18 +1019,21 @@ public class ChangeRecordServiceImpl extends ServiceImpl relationVisa = listByIds(value); AssertUtil.notEmpty(relationVisa, "关联的单据不存在"); From a018e89e85de00345b5e29df25b14fd91ee2c22a Mon Sep 17 00:00:00 2001 From: chenwenjian Date: Sat, 8 Feb 2025 17:28:37 +0800 Subject: [PATCH 2/2] =?UTF-8?q?feat(REQ-3300):=20=E6=9A=82=E5=AD=98?= =?UTF-8?q?=E7=BC=96=E8=BE=91=E5=88=9B=E5=BB=BA=E4=BA=BA=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ChangeRecordServiceImpl.java | 26 ++++++++++++++++--- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordServiceImpl.java b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordServiceImpl.java index 0e1097e8..6eba73a3 100644 --- a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordServiceImpl.java +++ b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordServiceImpl.java @@ -18,7 +18,9 @@ import cn.axzo.im.center.api.vo.req.GroupDismissRequest; import cn.axzo.im.center.api.vo.resp.GroupCreateResponse; import cn.axzo.im.center.common.enums.AppTypeEnum; import cn.axzo.im.center.common.enums.GroupType; +import cn.axzo.maokai.api.vo.request.CooperateShipQueryReq; import cn.axzo.maokai.api.vo.request.OrgNodeUserBriefInfoListReq; +import cn.axzo.maokai.api.vo.response.CooperateShipResp; import cn.axzo.maokai.api.vo.response.OrgNodeUserBriefInfoResp; import cn.axzo.maokai.common.enums.SaasCooperateShipCooperateTypeEnum; import cn.axzo.nanopart.visa.api.enums.VisaBillTypeEnum; @@ -57,6 +59,7 @@ import cn.axzo.nanopart.visa.server.rpc.ApolloConstructionAreaGateway; import cn.axzo.nanopart.visa.server.rpc.DrawingMajorGateway; import cn.axzo.nanopart.visa.server.rpc.MsgCenterGateway; import cn.axzo.nanopart.visa.server.rpc.OrganizationalUnitGateway; +import cn.axzo.nanopart.visa.server.rpc.VisaCooperateShipGateway; import cn.axzo.nanopart.visa.server.rpc.VisaOrganizationalNodeUserGateway; import cn.axzo.nanopart.visa.server.rpc.VisaProfileGateway; import cn.axzo.nanopart.visa.server.rpc.VisaProjectApiGateway; @@ -197,6 +200,8 @@ public class ChangeRecordServiceImpl extends ServiceImpl shipRespList = visaCooperateShipGateway.genericQuery(shipQueryReq); + AssertUtil.notEmpty(shipRespList, "操作人所在单位信息不能为空"); + req.setOperatorOuType(shipRespList.get(0).getCooperateType()); + } ChangeRecord changeRecord; List confirmPerson = Lists.newArrayList(); VisaAddLogContext oldContext = null; @@ -499,9 +517,9 @@ public class ChangeRecordServiceImpl extends ServiceImpl buildConfirmVisaConfirmDto(p, changeRecord, req.getOperatorPersonId())) - .collect(Collectors.toList()); + .collect(Collectors.toList())); } changeRecordConfirmService.addConfirm(confirmPerson); // 保存发生内容及说明 @@ -800,7 +818,7 @@ public class ChangeRecordServiceImpl extends ServiceImpl getFilter(VisaChangePageSearchReq filter,Set permissionVisaIdSet) { + private LambdaQueryChainWrapper getFilter(VisaChangePageSearchReq filter, Set permissionVisaIdSet) { LambdaQueryChainWrapper queryChainWrapper = lambdaQuery() // .in(ChangeRecord::getId, permissionVisaIdSet)