|
@@ -11,6 +11,7 @@ namespace room;
|
|
|
use Exception;
|
|
|
use member_info;
|
|
|
use Log;
|
|
|
+use goods_helper;
|
|
|
|
|
|
class factory
|
|
|
{
|
|
@@ -44,7 +45,7 @@ class factory
|
|
|
|
|
|
$rinfo = new base_info($room_params);
|
|
|
if($rinfo->type() == proto_type::room_bargain) {
|
|
|
-
|
|
|
+ return new bargain_room($room_params,$participants);
|
|
|
}
|
|
|
elseif ($rinfo->type() == proto_type::room_group) {
|
|
|
return new group_room($room_params,$participants);
|
|
@@ -60,10 +61,38 @@ class factory
|
|
|
}
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
+
|
|
|
private function create_bargain($params)
|
|
|
{
|
|
|
- return false;
|
|
|
+ global $config;
|
|
|
+ $usable_days = intval($config['bargain']['usable_days']);
|
|
|
+ $usable_days = $usable_days > 0 ? $usable_days : 3;
|
|
|
+
|
|
|
+ $creator = intval($params['creator']);
|
|
|
+ $good_id = intval($params['goods_id']);
|
|
|
+
|
|
|
+ $cost_price = $params['cost_price'];
|
|
|
+ $lowest_price = $params['lowest_price'];
|
|
|
+ if($creator <= 0 || $good_id <= 0) return false;
|
|
|
+
|
|
|
+ $mod_bargain = Model('room_bargain');
|
|
|
+ $ret = $mod_bargain->getBargainByUserGoods($creator,$good_id,true);
|
|
|
+ if(!empty($ret)) {
|
|
|
+ $bargain = new bargain($ret);
|
|
|
+ return ['bargain_id' => $bargain->bargain_id(),'room' => $bargain->room(),'creator' => $bargain->creator()];
|
|
|
+ }
|
|
|
+
|
|
|
+ $minfo = new member_info($creator);
|
|
|
+ $room_id = $this->create_room(proto_type::room_bargain,"bargain",$minfo);
|
|
|
+ if($room_id === false) return false;
|
|
|
+
|
|
|
+ $helper = new goods_helper();
|
|
|
+ $summary = $helper->summary([$good_id],$related_goods);
|
|
|
+ $bargain_id = $mod_bargain->create($room_id,$creator,$good_id,$summary['goods_price'],$cost_price,$lowest_price,$usable_days);
|
|
|
+
|
|
|
+ return ['bargain_id' => $bargain_id,'room' => $room_id,'creator' => $creator];
|
|
|
}
|
|
|
+
|
|
|
private function create_group($params)
|
|
|
{
|
|
|
try
|
|
@@ -115,7 +144,6 @@ class factory
|
|
|
return $ret;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
private static function participants($roomid)
|
|
|
{
|
|
|
$roomid = intval($roomid);
|