Commit bd8c9675 authored by jianghaiming's avatar jianghaiming

update:修改活动

parent 602d772f
......@@ -21,5 +21,10 @@ class MarketingException extends BaseException
7 => '更新失败',
8 => '开始时间不能为空',
9 => '结束时间不能为空',
10 => '活动时间开始不能小于等于当天日期',
11 => '活动时间结束不能小于等于当天日期',
12 => '勾选商品不能为空',
13 => '商品在其他互动已勾选',
14 => '开始时间不能大于等于结束时间',
];
}
\ No newline at end of file
......@@ -19,7 +19,7 @@ class MarketingController extends Base
}
/**
* 添加团长
* 创建活动
* 后台管理
*
*/
......@@ -31,6 +31,22 @@ class MarketingController extends Base
$this->success();
}
}
/**
* op后台获取创建活动
* 需要勾选的商品
*
* @param $params
* @return array|mixed
*/
public function marketing_goods_listAction()
{
$params = $this->params;
$goodsList = MarketingService::marketingGooodsList($params);
if (!empty($goodsList)) {
$this->success($goodsList);
}
}
......
......@@ -5,16 +5,62 @@ namespace App\Services\marketing;
use App\Models\marketing\mysql\Marketing;
use App\Models\marketing\mysql\MarketingGoods;
use App\Models\goods\mysql\GoodsSku;
use Api\PhpUtils\Validate\Validate;
use Api\PhpServices\Idgen\Idgen;
use App\Exception\custom\MarketingException;
use Api\PhpServices\Sensitive\Sensitive;
class MarketingService
{
{
/**
* 查询
* op 后台获取活动需要参加的商品
*
* @param $params
* @return array|mixed
*/
public static function marketingGooodsList($params='')
{
$startTime = !empty($params['start_time']) ? $params['start_time'] : '';
$endTime = !empty($params['end_time']) ? $params['end_time'] : '';
$goodsData = [
"OR" => [
"start_time[>=]" => $startTime,
"end_time[>=]" => $startTime,
],
];
$tmpMarketingList = Marketing::getMarketingList($goodsData);
if (!empty($tmpMarketingList)) {
$tmpMarketingId = array_column($tmpMarketingList, 'marketing_id');
}
$marketingGoodsList = MarketingGoods::marketingGoodsList(['marketing_id' => $tmpMarketingId]);
if (!empty($marketingGoodsList)) {
$tmpGoodsSkuId = array_column($marketingGoodsList, 'goods_sku_id');
}
$where = [
'online_status' => 1,
];
// $goodsSkuList = GoodsSku::select('*', $where);
//$goodsSkuList =GoodsSku::getRecordMaster($where);
$goodsSkuList =GoodsSku::getRecord($where);
print_r($goodsSkuList);
}
/**
* op 后台列表查询
*
* @param $params
* @return array|mixed
*/
public static function marketingList($params)
{
......@@ -34,6 +80,16 @@ class MarketingService
$where['online_status'] = $params['online_status'];
}
if (!empty($params['goods_sku_id'])) {
$goodsSkuId = $params['goods_sku_id'];
$marketingGoodsList = MarketingGoods::marketingGoodsList(['goods_sku_id' => $goodsSkuId]);
$marketingId = array_column($marketingGoodsList, 'marketing_id');
if (!empty($where['marketing_id'])) {
array_push($marketingId,$where['marketing_id']);
}
$where['marketing_id'] = $marketingId;
}
$where['ORDER'] = ["create_time" => "DESC"];
$where['LIMIT'] = [$page, $limit];
$list = Marketing::getRecords($where);
......@@ -44,7 +100,12 @@ class MarketingService
return $data;
}
/**
* 创建互动
*
* @param $params
* @return array|mixed
*/
public static function addMarketing($params){
$marketingName = !empty($params['marketing_name']) ? $params['marketing_name'] : '';
......@@ -53,23 +114,27 @@ class MarketingService
$createUserEmail = !empty($params['op_cur_user']) ? $params['op_cur_user'] : '';
$startTime = !empty($params['start_time']) ? $params['start_time'] : '';
$endTime = !empty($params['end_time']) ? $params['end_time'] : '';
$type = !empty($params['type']) ? $params['type'] : 1;
$type = !empty($params['marketing_type']) ? $params['marketing_type'] : 1;
$goodsSkuId = !empty($params['goods_sku_id']) ? explode(",", $params['goods_sku_id']) : [];
if (empty($goodsSkuId)) {
throw new MarketingException(['cus'=>12]);
}
if (empty($marketingName)) {
throw new MarketingException(['cus'=>0]);
}
// if (empty($firstCommissionRate)) {
// throw new MarketingException(['cus'=>3]);
// }
if (empty($firstCommissionRate)) {
throw new MarketingException(['cus'=>3]);
}
// if (empty($secondCommissionRate)) {
// throw new MarketingException(['cus'=>4]);
// }
if (empty($secondCommissionRate)) {
throw new MarketingException(['cus'=>4]);
}
if (self::utf8Strlen($marketingName) > 40) {
if (self::utf8Strlen($marketingName) > 50) {
throw new MarketingException(['cus'=>1]);
}
......@@ -78,8 +143,47 @@ class MarketingService
}
if (empty($endTime)) {
throw new MarketingException(['cus'=>9]);
throw new MarketingException(['cus'=>9]);
}
if ($startTime <= date("Y-m-d")) {
throw new MarketingException(['cus'=>10]);
}
if ($endTime <= date("Y-m-d")) {
throw new MarketingException(['cus'=>11]);
}
if ($startTime >= $endTime) {
throw new MarketingException(['cus'=>14]);
}
$tmpMarketingId = [];
$tmpGoodsSkuId = [];
$goodsData = [
"OR" => [
"start_time[>=]" => $startTime,
"end_time[>=]" => $startTime,
],
];
$tmpMarketingList = Marketing::getMarketingList($goodsData);
if (!empty($tmpMarketingList)) {
$tmpMarketingId = array_column($tmpMarketingList, 'marketing_id');
}
$marketingGoodsList = MarketingGoods::marketingGoodsList(['marketing_id' => $tmpMarketingId]);
if (!empty($marketingGoodsList)) {
$tmpGoodsSkuId = array_column($marketingGoodsList, 'goods_sku_id');
}
if (!empty($tmpGoodsSkuId)) {
if (array_intersect($goodsSkuId, $tmpGoodsSkuId)) {
throw new MarketingException(['cus'=>13]);
}
}
$detectParams = [
'businessId' => 1,
......@@ -109,7 +213,7 @@ class MarketingService
'start_time' => $startTime,
'end_time' => $endTime,
'online_status' => 1,
'type' => $type,
'marketing_type' => $type,
'update_user_email' => $createUserEmail,
'update_time' => date("Y-m-d H:i:s"),
'create_time' => date("Y-m-d H:i:s"),
......@@ -124,8 +228,8 @@ class MarketingService
foreach ($goodsSkuId as $key => $value) {
$colums[$key]['marketing_id'] = $marketingId;
$colums[$key]['goods_spu_id'] = $value;
$colums[$key]['goods_sku_id'] = '';
$colums[$key]['goods_spu_id'] = '';
$colums[$key]['goods_sku_id'] = $value;
$colums[$key]['update_time'] = date("Y-m-d H:i:s");
$colums[$key]['create_time'] = date("Y-m-d H:i:s");
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment