Skip to content

Commit 73e7897

Browse files
WangXu10fit2-zhao
authored andcommitted
fix: contract update stage log
--bug=1069703@tapd-34675357 --user=王旭 【合同】看板模式-合同完结阶段合同卡片拖拽移动到作废-生成日志详情修改前阶段错误 https://www.tapd.cn/34675357/s/1930522
1 parent 4b79aad commit 73e7897

2 files changed

Lines changed: 36 additions & 15 deletions

File tree

backend/crm/src/main/java/cn/cordys/crm/contract/service/ContractService.java

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import cn.cordys.aspectj.constants.LogModule;
55
import cn.cordys.aspectj.constants.LogType;
66
import cn.cordys.aspectj.context.OperationLogContext;
7+
import cn.cordys.aspectj.dto.LogContextInfo;
78
import cn.cordys.aspectj.dto.LogDTO;
89
import cn.cordys.common.constants.BusinessModuleField;
910
import cn.cordys.common.constants.FormKey;
@@ -593,14 +594,17 @@ public ResourceTabEnableDTO getTabEnableConfig(String userId, String orgId) {
593594
* @param request
594595
* @param userId
595596
*/
597+
@OperationLog(module = LogModule.CONTRACT_INDEX, type = LogType.UPDATE, resourceId = "{#request.id}")
596598
public void updateStage(ContractStageRequest request, String userId, String orgId) {
597599
Contract contract = contractMapper.selectByPrimaryKey(request.getId());
598600
if (contract == null) {
599601
throw new GenericException(Translator.get("contract.not.exist"));
600602
}
601603

602-
Map<String, String> oldMap = new HashMap<>();
603-
oldMap.put("contractStage", Translator.get("contract.stage." + contract.getStage().toLowerCase()));
604+
List<StageConfigResponse> stageConfigList = extContractStageConfigMapper.getStageConfigList(orgId);
605+
606+
Map<String, String> stageMap = stageConfigList.stream()
607+
.collect(Collectors.toMap(StageConfigResponse::getId, StageConfigResponse::getName));
604608

605609
contract.setStage(request.getStage());
606610
if (StringUtils.isNotBlank(request.getVoidReason())) {
@@ -613,20 +617,25 @@ public void updateStage(ContractStageRequest request, String userId, String orgI
613617

614618
updateStatusSnapshot(request.getId(), request.getStage(), null);
615619

616-
LogDTO logDTO = new LogDTO(orgId, request.getId(), userId, LogType.UPDATE, LogModule.CONTRACT_INDEX, contract.getName());
617-
Map<String, String> newMap = new HashMap<>();
618-
newMap.put("contractStage", Translator.get("contract.stage." + request.getStage().toLowerCase()));
619-
logDTO.setOriginalValue(oldMap);
620-
logDTO.setModifiedValue(newMap);
621-
logService.add(logDTO);
622-
623620
if (Strings.CI.equals(request.getStage(), ContractStage.VOID.name()) || Strings.CI.equals(request.getStage(), ContractStage.ARCHIVED.name())) {
624621
String event = Strings.CI.equals(request.getStage(), ContractStage.VOID.name()) ?
625622
NotificationConstants.Event.CONTRACT_VOID : NotificationConstants.Event.CONTRACT_ARCHIVED;
626623
Customer customer = customerBaseMapper.selectByPrimaryKey(contract.getCustomerId());
627624
sendNotice(contract, userId, orgId, event, customer.getName());
628625
}
629626

627+
final Map<String, String> originalVal = new HashMap<>(1);
628+
originalVal.put("contractStage", stageMap.get(contract.getStage()));
629+
final Map<String, String> modifiedVal = new HashMap<>(1);
630+
modifiedVal.put("contractStage", stageMap.get(request.getStage()));
631+
OperationLogContext.setContext(
632+
LogContextInfo.builder()
633+
.resourceName(contract.getName())
634+
.originalValue(originalVal)
635+
.modifiedValue(modifiedVal)
636+
.build()
637+
);
638+
630639
}
631640

632641
/**

backend/crm/src/main/java/cn/cordys/crm/order/service/OrderService.java

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import cn.cordys.aspectj.constants.LogModule;
55
import cn.cordys.aspectj.constants.LogType;
66
import cn.cordys.aspectj.context.OperationLogContext;
7+
import cn.cordys.aspectj.dto.LogContextInfo;
78
import cn.cordys.aspectj.dto.LogDTO;
89
import cn.cordys.common.constants.BusinessModuleField;
910
import cn.cordys.common.constants.FormKey;
@@ -586,12 +587,18 @@ public Order selectByPrimaryKey(String id) {
586587
return orderMapper.selectByPrimaryKey(id);
587588
}
588589

590+
591+
@OperationLog(module = LogModule.ORDER_INDEX, type = LogType.UPDATE, resourceId = "{#request.id}")
589592
public void updateStage(OrderStageRequest request, String userId, String orgId) {
590593
Order order = orderMapper.selectByPrimaryKey(request.getId());
591594
if (order == null) {
592595
throw new GenericException(CrmHttpResultCode.NOT_FOUND);
593596
}
594597

598+
List<StageConfigResponse> stageConfigList = extOrderStageConfigMapper.getStageConfigList(orgId);
599+
Map<String, String> stageMap = stageConfigList.stream()
600+
.collect(Collectors.toMap(StageConfigResponse::getId, StageConfigResponse::getName));
601+
595602
Map<String, String> oldMap = new HashMap<>();
596603
oldMap.put("orderStage", Translator.get("order.stage." + order.getStage().toLowerCase()));
597604

@@ -603,12 +610,17 @@ public void updateStage(OrderStageRequest request, String userId, String orgId)
603610

604611
updateStageSnapshot(request.getId(), request.getStage());
605612

606-
LogDTO logDTO = new LogDTO(orgId, request.getId(), userId, LogType.UPDATE, LogModule.ORDER_INDEX, order.getName());
607-
Map<String, String> newMap = new HashMap<>();
608-
newMap.put("orderStage", Translator.get("order.stage." + request.getStage().toLowerCase()));
609-
logDTO.setOriginalValue(oldMap);
610-
logDTO.setModifiedValue(newMap);
611-
logService.add(logDTO);
613+
final Map<String, String> originalVal = new HashMap<>(1);
614+
originalVal.put("orderStage", stageMap.get(order.getStage()));
615+
final Map<String, String> modifiedVal = new HashMap<>(1);
616+
modifiedVal.put("orderStage", stageMap.get(request.getStage()));
617+
OperationLogContext.setContext(
618+
LogContextInfo.builder()
619+
.resourceName(order.getName())
620+
.originalValue(originalVal)
621+
.modifiedValue(modifiedVal)
622+
.build()
623+
);
612624
}
613625

614626
/**

0 commit comments

Comments
 (0)