### Question:
ProjectCollectionManagementServiceImpl implements ProjectCollectionManagementService { public CommonResult insertTransactionLog(CollectionParam collectionParam, ProjectParam projectParam, ItemParam itemParam, Integer creatorRoleId){ Integer registrationId = collectionParam.getCaseId(); Integer patientId = patientCaseMapper.getPatientIdByCaseId(registrationId); if(patientId == null) return CommonResult.fail(ResultCode.E_800); Integer typeInt = collectionParam.getCollectionType(); String type; if(typeInt == 1) type = "检查费"; else if(typeInt == 2) type = "检验费"; else if(typeInt == 3) type = "处置费"; else return CommonResult.fail(ResultCode.E_801); Integer collectionId = collectionParam.getCollectionId(); Integer projectId = projectParam.getProjectId(); String projectName = projectParam.getProjectName(); String itemId; String itemName = ""; BigDecimal price; Short amount; BigDecimal totalMoney; if(typeInt == 1 || typeInt == 2) { itemId = itemParam.getItemId(); itemName = itemParam.getItemName(); price = techProjectMapper.getPriceByItemId(itemId); amount = itemParam.getAmount(); totalMoney = new BigDecimal(amount).multiply(price); } else{ price = techProjectMapper.getPriceByProjectId(projectId); totalMoney = price; itemId = null; amount = 1; } TransactionLog transactionLog = new TransactionLog(); transactionLog.setRegistrationId(registrationId); transactionLog.setPatientId(patientId); transactionLog.setType(type); transactionLog.setCollectionId(collectionId); transactionLog.setProjectId(projectId); transactionLog.setRoleId(creatorRoleId); transactionLog.setProjectName(projectName); transactionLog.setItemId(itemId); transactionLog.setItemName(itemName); transactionLog.setAmount(amount); transactionLog.setTotalMoney(totalMoney); return transactionService.insertTransactionLog(transactionLog); }  @Override CommonResult listCollections(Integer caseId, Integer type); @Override CommonResult applyNewCollection(Integer collectionType); @Override CommonResult savePresentCollection(CollectionParam collectionParam); @Override CommonResult submitPresentCollection(CollectionParam collectionParam); CommonResult chooseByType(CollectionParam collectionParam, int operation); CommonResult saveInspection(CollectionParam collectionParam, int operation); CommonResult saveExamination(CollectionParam collectionParam, int operation); CommonResult saveTreatment(CollectionParam collectionParam, int operation); int insertInspectionProject(Integer collectionId, Integer projectId, ItemParam itemParam); int insertExaminationProject(Integer collectionId, Integer projectId, ItemParam itemParam); CommonResult insertTransactionLog(CollectionParam collectionParam, ProjectParam projectParam,
                                             ItemParam itemParam, Integer creatorRoleId); CommonResult cancelSubmittedCollection(Integer collectionId, Integer type); CommonResult deleteCollection(Integer collectionId, Integer type); CommonResult getProjectResult(ProjectParam projectParam);  }### Answer:
@Test public void testInsertTransactionLog() throws Exception { }