mirror of
https://github.com/opensupports/opensupports.git
synced 2025-07-27 07:44:29 +02:00
(Guillermo) ticketnumber stage 1 [skip ci]
This commit is contained in:
parent
8c56912a7e
commit
54eb3e89e8
@ -50,7 +50,7 @@ class CreateController extends Controller {
|
|||||||
|
|
||||||
$ticket = new Ticket();
|
$ticket = new Ticket();
|
||||||
$ticket->setProperties(array(
|
$ticket->setProperties(array(
|
||||||
'ticketId' => '',
|
'ticketNumber' => $ticket->generateUniqueTicketNumber(),
|
||||||
'title' => $this->title,
|
'title' => $this->title,
|
||||||
'content' => $this->content,
|
'content' => $this->content,
|
||||||
'language' => $this->language,
|
'language' => $this->language,
|
||||||
|
@ -10,4 +10,7 @@ class Hashing {
|
|||||||
public static function generateRandomToken() {
|
public static function generateRandomToken() {
|
||||||
return md5(uniqid(rand()));
|
return md5(uniqid(rand()));
|
||||||
}
|
}
|
||||||
|
public static function getRandomTicketNumber($min,$max) {
|
||||||
|
return rand($min,$max);
|
||||||
|
}
|
||||||
}
|
}
|
@ -16,6 +16,9 @@ abstract class DataStore {
|
|||||||
|
|
||||||
return ($bean) ? new static($bean) : new NullDataStore();
|
return ($bean) ? new static($bean) : new NullDataStore();
|
||||||
}
|
}
|
||||||
|
public static function count() {
|
||||||
|
RedBean::count(static::TABLE);
|
||||||
|
}
|
||||||
|
|
||||||
private static function validateProp($propToValidate) {
|
private static function validateProp($propToValidate) {
|
||||||
$validProp = false;
|
$validProp = false;
|
||||||
|
@ -29,7 +29,8 @@ class Ticket extends DataStore {
|
|||||||
|
|
||||||
public function getDefaultProps() {
|
public function getDefaultProps() {
|
||||||
return array(
|
return array(
|
||||||
'owner' => null
|
'owner' => null,
|
||||||
|
'ticketNumber' => $this->generateUniqueTicketNumber()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -40,4 +41,20 @@ class Ticket extends DataStore {
|
|||||||
$this->author->store();
|
$this->author->store();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public function generateUniqueTicketNumber() {
|
||||||
|
$ticketQuantity = Ticket::count('ticket');
|
||||||
|
$minValue = 100000;
|
||||||
|
$maxValue = 999999;
|
||||||
|
|
||||||
|
if ($ticketQuantity === 0) {
|
||||||
|
$ticketNumber = Hashing::getRandomTicketNumber($minValue, $maxValue);
|
||||||
|
} else {
|
||||||
|
$firstTicketNumber = Ticket::getTicket(1)->ticketNumber;
|
||||||
|
$gap = 176611;
|
||||||
|
|
||||||
|
$ticketNumber = ($firstTicketNumber - $minValue + $ticketQuantity * $gap) % $maxValue + $minValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $ticketNumber;
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user