Initial commit
This commit is contained in:
115
api-wiaas/server/components/v2/bids/Bids.php
Normal file
115
api-wiaas/server/components/v2/bids/Bids.php
Normal file
@@ -0,0 +1,115 @@
|
||||
<?php
|
||||
|
||||
class Bids {
|
||||
public function getCartBids(){
|
||||
global $database, $user;
|
||||
$bids = [];
|
||||
$pricesHandler = new Prices();
|
||||
$interestRate = new InterestRate();
|
||||
$interestRateValue = $interestRate->getInterestRate()['interestRate'];
|
||||
$interestRateCustomers = $interestRate->getInterestRateForCustomers();
|
||||
|
||||
$sql = "SELECT
|
||||
pb.id AS idBid,
|
||||
pb.bidNumber,
|
||||
pb.idPackage,
|
||||
p.name AS packageName,
|
||||
pb.idCustomerInstance,
|
||||
pb.fixedExtra,
|
||||
pb.recurrentExtra,
|
||||
pb.servicesExtra,
|
||||
c.id AS idCustomer,
|
||||
c.name AS customer,
|
||||
cl.name AS commercialLead,
|
||||
pb.idPaymentType,
|
||||
pt.payType,
|
||||
pt.packagePayPeriod,
|
||||
pt.periodUnit,
|
||||
DATE_FORMAT(pb.startDate, '%D %b, %Y') AS startDate,
|
||||
DATE_FORMAT(pb.endDate, '%D %b, %Y') AS endDate,
|
||||
pb.fixedPrice,
|
||||
pb.principalAmount,
|
||||
pb.servicesPrice
|
||||
FROM ".TABLES['packages_bids']." pb
|
||||
INNER JOIN (
|
||||
SELECT wsc.idPackage, wsc.idCustomerInstance, plcl.idPaymentType
|
||||
FROM ".TABLES['web_shop_cart']." wsc
|
||||
INNER JOIN ".TABLES['price_list_commercial_lead']." plcl
|
||||
ON plcl.id=wsc.idPrice
|
||||
WHERE wsc.idUser=".$user->getUserId()."
|
||||
) wsc
|
||||
ON wsc.idPackage=pb.idPackage AND wsc.idCustomerInstance=pb.idCustomerInstance AND wsc.idPaymentType=pb.idPaymentType
|
||||
INNER JOIN ".TABLES['packages']." p
|
||||
ON p.id=pb.idPackage
|
||||
INNER JOIN ".TABLES['rel_commercial_lead_customers']." rclc
|
||||
ON rclc.id=pb.idCustomerInstance
|
||||
INNER JOIN ".TABLES['customers']." c
|
||||
ON c.id=rclc.idCustomer
|
||||
INNER JOIN ".TABLES['commercial_leads']." cl
|
||||
ON cl.id=rclc.idCommercialLead
|
||||
INNER JOIN ".TABLES['payment_types']." pt
|
||||
ON pt.id=pb.idPaymentType
|
||||
WHERE pb.endDate > NOW()
|
||||
ORDER BY pb.bidNumber";
|
||||
|
||||
$query = $database->query($sql);
|
||||
while($row = $database->fetchArray($query)){
|
||||
$interestRateCust = $row['idCustomer'] && isset($interestRateCustomers[$row['idCustomer']]) ?
|
||||
floatval($interestRateCustomers[$row['idCustomer']]) :
|
||||
$interestRateValue;
|
||||
$row['recurrentPrice'] = $row['packagePayPeriod'] > 0
|
||||
? $pricesHandler->PMT($interestRateCust / 100, $row['packagePayPeriod'], $row['principalAmount'])
|
||||
: 0;
|
||||
|
||||
$row['fixedPrice'] = floatval($row['fixedPrice']) + floatval($row['fixedExtra']);
|
||||
$row['recurrentPrice'] = floatval($row['recurrentPrice']) + floatval($row['recurrentExtra']);
|
||||
$row['servicesPrice'] = floatval($row['servicesPrice']) + floatval($row['servicesExtra']);
|
||||
unset($row['fixedExtra']);
|
||||
unset($row['recurrentExtra']);
|
||||
unset($row['servicesExtra']);
|
||||
$bids[$row['idPackage']][] = $row;
|
||||
}
|
||||
|
||||
return $bids;
|
||||
}
|
||||
|
||||
public function setBidForCart($idBid, $idCart){
|
||||
global $database;
|
||||
$data = [];
|
||||
|
||||
if(!$idBid){
|
||||
$idBid = 'NULL';
|
||||
}
|
||||
|
||||
if(!$idCart){
|
||||
$data['messages'][] =[
|
||||
'code' => 'error',
|
||||
'message' => 'CART_REQUIRED'
|
||||
];
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
$idBid = $database->escapeValue($idBid);
|
||||
$idCart = $database->escapeValue($idCart);
|
||||
|
||||
$sql = "UPDATE ".TABLES['web_shop_cart']."
|
||||
SET idBid=$idBid
|
||||
WHERE id=$idCart";
|
||||
$query = $database->query($sql);
|
||||
|
||||
if($database->affectedRows() !== 1){
|
||||
$data['messages'][] =[
|
||||
'code' => 'error',
|
||||
'message' => 'BID_NOT_USED'
|
||||
];
|
||||
}else{
|
||||
$data['messages'][] = [
|
||||
'code' => 'success',
|
||||
'message' => 'BID_SET'
|
||||
];
|
||||
}
|
||||
|
||||
return $data;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user