承接 jn-devops/property 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

jn-devops/property

最新稳定版本:v1.2.6

Composer 安装命令:

composer require jn-devops/property

包简介

Homeful Property Package

README 文档

README

The Homeful Property Package provides a structured way to handle property-related data, including total contract price validation, market segments, housing types, development types, loanable value calculations, fees, and more.

Table of Contents

Installation

To install the package, use Composer:

composer require homeful/property

Usage

Creating a Property Instance

use Homeful\Property\Property;
use Whitecube\Price\Price;
use Brick\Money\Money;

$property = new Property;
$property->setTotalContractPrice(new Price(Money::of(1500000, 'PHP')));

Setting and Retrieving Market Segments

use Homeful\Property\Enums\MarketSegment;

$property->setMarketSegment(MarketSegment::ECONOMIC);
echo $property->getMarketSegment()->getName(); // Outputs "economic"

Classes

Property

The core class representing a property.

Properties:

  • total_contract_price: Total contract price as a Price object.
  • appraised_value: Appraised value as a Price object.
  • development_type: The development type as an Enum.
  • housing_type: The housing type as an Enum.
  • market_segment: The market segment as an Enum.
  • work_area: The work area as an Enum.
  • loanable_value_multiplier: Loanable value multiplier.
  • disposableIncomeRequirementMultiplier: Disposable income requirement multiplier.
  • storeys: Number of storeys.
  • floor_area: Floor area.
  • charges: Collection of additional property charges.
  • appraisal: Appraisal details.

Methods:

  • setTotalContractPrice(Price|Money|float $value)
  • getTotalContractPrice(): Price
  • setMarketSegment(MarketSegment $market_segment)
  • getMarketSegment(): MarketSegment
  • setAppraisedValue(Price|Money|float $value)
  • getAppraisedValue(): Price
  • setDevelopmentType(DevelopmentType $type)
  • getDevelopmentType(): DevelopmentType
  • setHousingType(HousingType $type)
  • getHousingType(): HousingType
  • setLoanableValueMultiplier(float $value)
  • getLoanableValueMultiplier(): float
  • getLoanableValue(): Price
  • getDefaultAnnualInterestRateFromBorrower(BorrowerInterface $borrower): float
  • getPriceCeiling(): Price
  • addCharge(Charge $charge)
  • getFees(): Price
  • getSellingPrice(): Price

Traits

HasCalculations

Handles loanable value, interest rates, and disposable income multipliers.

HasFees

Handles mortgage redemption insurance and annual fire insurance calculations.

HasProduct

Handles product-related attributes like SKU, processing fees, and down payment terms.

HasProperties

Handles property attributes such as housing type, total contract price, and work area.

Enumerations

MarketSegment

Defines the property market segment:

  • OPEN
  • ECONOMIC
  • SOCIALIZED

DevelopmentType

Defines the type of development:

  • BP_957
  • BP_220

HousingType

Defines the type of housing unit:

  • CONDOMINIUM
  • DUPLEX
  • ROW_HOUSE
  • SINGLE_ATTACHED
  • SINGLE_DETACHED
  • QUADRUPLEX
  • TOWNHOUSE
  • TWIN_HOMES

Charge

Defines property-related charges:

  • PROCESSING_FEE
  • HOME_UTILITY_CONNECTION_FEE

Tests

The package includes a series of tests to validate:

  • Minimum and maximum total contract price
  • Market segment determination
  • Housing type assignment
  • Development type assignment
  • Loanable value calculation
  • Price ceiling determination
  • Default interest rate based on income and location
  • Charge and fee calculations
  • Product attributes

To run tests:

vendor/bin/pest

统计信息

  • 总下载量: 4.27k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 2
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2024-06-06