📄 partyservices.java
字号:
} else { // if specified partyId starts with a number, return an error if (Character.isDigit(partyId.charAt(0))) { errMsg = UtilProperties.getMessage(resource,"partyservices.could_not_create_party_ID_digit", locale); return ServiceUtil.returnError(errMsg); } } try { // check to see if party object exists, if so make sure it is PARTY_GROUP type party GenericValue party = delegator.findByPrimaryKey("Party", UtilMisc.toMap("partyId", partyId)); GenericValue partyGroupPartyType = delegator.findByPrimaryKeyCache("PartyType", UtilMisc.toMap("partyTypeId", "PARTY_GROUP")); if (partyGroupPartyType == null) { errMsg = UtilProperties.getMessage(resource,"partyservices.party_type_not_found_in_database_cannot_create_party_group", locale); return ServiceUtil.returnError(errMsg); } if (party != null) { GenericValue partyType = party.getRelatedOneCache("PartyType"); if (!EntityTypeUtil.isType(partyType, partyGroupPartyType)) { errMsg = UtilProperties.getMessage(resource,"partyservices.cannot_create_party_group_already_exists_not_PARTY_GROUP_type", locale); return ServiceUtil.returnError(errMsg); } } else { // create a party if one doesn't already exist String partyTypeId = "PARTY_GROUP"; if (UtilValidate.isNotEmpty(((String) context.get("partyTypeId")))) { GenericValue desiredPartyType = delegator.findByPrimaryKeyCache("PartyType", UtilMisc.toMap("partyTypeId", context.get("partyTypeId"))); if (desiredPartyType != null && EntityTypeUtil.isType(desiredPartyType, partyGroupPartyType)) { partyTypeId = desiredPartyType.getString("partyTypeId"); } else { return ServiceUtil.returnError("The specified partyTypeId [" + context.get("partyTypeId") + "] could not be found or is not a sub-type of PARTY_GROUP"); } } Map newPartyMap = UtilMisc.toMap("partyId", partyId, "partyTypeId", partyTypeId, "createdDate", now, "lastModifiedDate", now); if (userLogin != null) { newPartyMap.put("createdByUserLogin", userLogin.get("userLoginId")); newPartyMap.put("lastModifiedByUserLogin", userLogin.get("userLoginId")); } party = delegator.makeValue("Party", newPartyMap); party.setNonPKFields(context); party.create(); } GenericValue partyGroup = delegator.findByPrimaryKey("PartyGroup", UtilMisc.toMap("partyId", partyId)); if (partyGroup != null) { errMsg = UtilProperties.getMessage(resource,"partyservices.cannot_create_party_group_already_exists", locale); return ServiceUtil.returnError(errMsg); } partyGroup = delegator.makeValue("PartyGroup", UtilMisc.toMap("partyId", partyId)); partyGroup.setNonPKFields(context); partyGroup.create(); } catch (GenericEntityException e) { Debug.logWarning(e, module); Map messageMap = UtilMisc.toMap("errMessage", e.getMessage()); errMsg = UtilProperties.getMessage(resource,"partyservices.data_source_error_adding_party_group", messageMap, locale); return ServiceUtil.returnError(errMsg); } result.put("partyId", partyId); result.put(ModelService.RESPONSE_MESSAGE, ModelService.RESPOND_SUCCESS); return result; } /** * Updates a PartyGroup. * @param ctx The DispatchContext that this service is operating in. * @param context Map containing the input parameters. * @return Map with the result of the service, the output parameters. */ public static Map updatePartyGroup(DispatchContext ctx, Map context) { Map result = new HashMap(); GenericDelegator delegator = ctx.getDelegator(); Security security = ctx.getSecurity(); GenericValue userLogin = (GenericValue) context.get("userLogin"); // get the party Id from context if party has permission to update groups, otherwise use getPartyIdCheckSecurity String partyId = null; if (security.hasEntityPermission("PARTYMGR", "_GRP_UPDATE", userLogin)) { partyId = (String) context.get("partyId"); } else { partyId = ServiceUtil.getPartyIdCheckSecurity(userLogin, security, context, result, "PARTYMGR", "_UPDATE"); } Locale locale = (Locale) context.get("locale"); String errMsg = null; if (result.size() > 0) return result; GenericValue partyGroup = null; GenericValue party = null; try { partyGroup = delegator.findByPrimaryKey("PartyGroup", UtilMisc.toMap("partyId", partyId)); party = delegator.findByPrimaryKey("Party", UtilMisc.toMap("partyId", partyId)); } catch (GenericEntityException e) { Debug.logWarning(e, module); Map messageMap = UtilMisc.toMap("errMessage", e.getMessage()); errMsg = UtilProperties.getMessage(resource,"partyservices.could_not_update_party_information_read", messageMap, locale); return ServiceUtil.returnError(errMsg); } if (partyGroup == null || party == null) { errMsg = UtilProperties.getMessage(resource,"partyservices.could_not_update_party_information_not_found", locale); return ServiceUtil.returnError(errMsg); } partyGroup.setNonPKFields(context); party.setNonPKFields(context); try { partyGroup.store(); party.store(); } catch (GenericEntityException e) { Debug.logWarning(e.getMessage(), module); Map messageMap = UtilMisc.toMap("errMessage", e.getMessage()); errMsg = UtilProperties.getMessage(resource,"partyservices.could_not_update_party_information_write", messageMap, locale); return ServiceUtil.returnError(errMsg); } result.put(ModelService.RESPONSE_MESSAGE, ModelService.RESPOND_SUCCESS); return result; } /** * Create an Affiliate entity. * @param ctx The DispatchContext that this service is operating in. * @param context Map containing the input parameters. * @return Map with the result of the service, the output parameters. */ public static Map createAffiliate(DispatchContext ctx, Map context) { Map result = new HashMap(); GenericDelegator delegator = ctx.getDelegator(); GenericValue userLogin = (GenericValue) context.get("userLogin"); Timestamp now = UtilDateTime.nowTimestamp(); String partyId = (String) context.get("partyId"); Locale locale = (Locale) context.get("locale"); String errMsg = null; if (partyId == null || partyId.length() == 0) { partyId = userLogin.getString("partyId"); } // if specified partyId starts with a number, return an error if (Character.isDigit(partyId.charAt(0))) { errMsg = UtilProperties.getMessage(resource,"partyservices.cannot_create_affiliate_digit", locale); return ServiceUtil.returnError(errMsg); } // partyId might be empty, so check it and get next seq party id if empty if (partyId == null || partyId.length() == 0) { try { partyId = delegator.getNextSeqId("Party"); } catch (IllegalArgumentException e) { errMsg = UtilProperties.getMessage(resource,"partyservices.cannot_create_affiliate_generation_failure", locale); return ServiceUtil.returnError(errMsg); } } // check to see if party object exists, if so make sure it is AFFILIATE type party GenericValue party = null; try { party = delegator.findByPrimaryKey("Party", UtilMisc.toMap("partyId", partyId)); } catch (GenericEntityException e) { Debug.logWarning(e.getMessage(), module); } if (party == null) { errMsg = UtilProperties.getMessage(resource,"partyservices.cannot_create_affiliate_no_party_entity", locale); return ServiceUtil.returnError(errMsg); } GenericValue affiliate = null; try { affiliate = delegator.findByPrimaryKey("Affiliate", UtilMisc.toMap("partyId", partyId)); } catch (GenericEntityException e) { Debug.logWarning(e.getMessage(), module); } if (affiliate != null) { errMsg = UtilProperties.getMessage(resource,"partyservices.cannot_create_affiliate_ID_already_exists", locale); return ServiceUtil.returnError(errMsg); } affiliate = delegator.makeValue("Affiliate", UtilMisc.toMap("partyId", partyId)); affiliate.setNonPKFields(context); affiliate.set("dateTimeCreated", now, false); try { delegator.create(affiliate); } catch (GenericEntityException e) { Debug.logWarning(e.getMessage(), module); Map messageMap = UtilMisc.toMap("errMessage", e.getMessage()); errMsg = UtilProperties.getMessage(resource,"partyservices.could_not_add_affiliate_info_write", messageMap, locale); return ServiceUtil.returnError(errMsg); } result.put("partyId", partyId); result.put(ModelService.RESPONSE_MESSAGE, ModelService.RESPOND_SUCCESS); return result; } /** * Updates an Affiliate. * <b>security check</b>: userLogin partyId must equal partyId, or must have PARTYMGR_UPDATE permission. * @param ctx The DispatchContext that this service is operating in. * @param context Map containing the input parameters. * @return Map with the result of the service, the output parameters. */ public static Map updateAffiliate(DispatchContext ctx, Map context) { Map result = new HashMap(); GenericDelegator delegator = ctx.getDelegator(); Security security = ctx.getSecurity(); GenericValue userLogin = (GenericValue) context.get("userLogin"); String partyId = ServiceUtil.getPartyIdCheckSecurity(userLogin, security, context, result, "PARTYMGR", "_UPDATE"); Locale locale = (Locale) context.get("locale"); String errMsg = null; if (result.size() > 0) return result; GenericValue affiliate = null; try { affiliate = delegator.findByPrimaryKey("Affiliate", UtilMisc.toMap("partyId", partyId)); } catch (GenericEntityException e) { Debug.logWarning(e, module); Map messageMap = UtilMisc.toMap("errMessage", e.getMessage()); errMsg = UtilProperties.getMessage(resource,"partyservices.could_not_update_affiliate_information_read", messageMap, locale); return ServiceUtil.returnError(errMsg); } if (affiliate == null) { errMsg = UtilProperties.getMessage(resource,"partyservices.could_not_update_affiliate_information_not_found", locale); return ServiceUtil.returnError(errMsg); } affiliate.setNonPKFields(context); try { affiliate.store(); } catch (GenericEntityException e) { Map messageMap = UtilMisc.toMap("errMessage", e.getMessage()); errMsg = UtilProperties.getMessage(resource,"partyservices.could_not_update_affiliate_information_write", messageMap, locale); return ServiceUtil.returnError(errMsg); } return ServiceUtil.returnSuccess(); } /** * Add a PartyNote. * @param dctx The DispatchContext that this service is operating in. * @param context Map containing the input parameters. * @return Map with the result of the service, the output parameters. */ public static Map createPartyNote(DispatchContext dctx, Map context) { Map result = new HashMap(); GenericDelegator delegator = dctx.getDelegator(); LocalDispatcher dispatcher = dctx.getDispatcher(); GenericValue userLogin = (GenericValue) context.get("userLogin"); String noteString = (String) context.get("note"); String partyId = (String) context.get("partyId"); String noteId = (String) context.get("noteId"); String errMsg = null; Locale locale = (Locale) context.get("locale"); //Map noteCtx = UtilMisc.toMap("note", noteString, "userLogin", userLogin); // if no noteId is specified, then create and associate the note with the userLogin if (noteId == null) { Map noteRes = null; try { noteRes = dispatcher.runSync("createNote", UtilMisc.toMap("partyId", userLogin.getString("partyId"), "note", noteString, "userLogin", userLogin, "locale", locale)); } catch (GenericServiceException e) { Debug.logError(e, e.getMessage(), module); return ServiceUtil.returnError("Unable to create Note: " + e.getMessage()); } if (noteRes.get(ModelService.RESPONSE_MESSAGE).equals(ModelService.RESPOND_ERROR)) return noteRes; noteId = (String) noteRes.get("noteId"); if (noteId == null || noteId.length() == 0) { errMsg = UtilProperties.getMessage(resource,"partyservices.problem_creating_note_no_noteId_returned", locale); return ServiceUtil.returnError(errMsg); } } result.put("noteId", noteId); // Set the party info try { Map fields = UtilMisc.toMap("partyId", partyId, "noteId", noteId); GenericValue v = delegator.makeValue("PartyNote", fields); delegator.create(v); } catch (GenericEntityException ee) { Debug.logError(ee, module); Map messageMap = UtilMisc.toMap("errMessage", ee.getMessage()); errMsg = UtilProperties.getMessage(resource,"partyservices.problem_associating_note_with_party", messageMap, locale); result.put(ModelService.RESPONSE_MESSAGE, ModelService.RESPOND_ERROR); result.put(ModelService.ERROR_MESSAGE, errMsg); } return result; } /**
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -