jh-admin/addon/freeshipping/model/Freeshipping.php

156 lines
5.1 KiB
PHP

<?php
/**
* SaaSMall商城系统 - 团队十年电商经验汇集巨献!
* =========================================================
* Copy right 2019-2029 成都SAAS云科技有限公司, 保留所有权利。
* ----------------------------------------------
* 官方网址: https://www.gobuysaas.com
* =========================================================
*/
namespace addon\freeshipping\model;
use app\model\BaseModel;
class Freeshipping extends BaseModel
{
/**
* 添加满额包邮
* @param $data
* @return array
*/
public function addFreeshipping($data)
{
$data[ 'create_time' ] = time();
$area_ids = json_decode($data[ 'area_ids' ], true);
if (!empty($area_ids)) {
foreach ($area_ids[ '3' ] as $k => $v) {
if (!empty($area_ids[ '3' ])) {
foreach ($v as $area_id) {
//判断该城市是否已存在
$count = model('promotion_freeshipping')->getCount(
[
[ 'site_id', '=', $data[ 'site_id' ] ],
[ 'area_ids', 'like', '%' . $area_id . '%' ],
]
);
if ($count > 0) {
return $this->error('', '指定地区城市不能重复');
}
}
}
}
}
$res = model('promotion_freeshipping')->add($data);
return $this->success($res);
}
/**
* 编辑满额包邮
* @param $groupbuy_id
* @param $site_id
* @param $groupbuy_data
* @return array|\multitype
*/
public function editFreeshipping($data)
{
$freeshipping_id = $data[ 'freeshipping_id' ];
unset($data[ 'freeshipping_id' ]);
$data[ 'update_time' ] = time();
$area_ids = json_decode($data[ 'area_ids' ], true);
if (!empty($area_ids)) {
foreach ($area_ids[ '3' ] as $k => $v) {
if (!empty($area_ids[ '3' ])) {
foreach ($v as $area_id) {
//判断该城市是否已存在
$count = model('promotion_freeshipping')->getCount(
[
[ 'site_id', '=', $data[ 'site_id' ] ],
[ 'area_ids', 'like', '%' . $area_id . '%' ],
[ 'freeshipping_id', '<>', $freeshipping_id ]
]
);
if ($count > 0) {
return $this->error('', '指定地区城市不能重复');
}
}
}
}
}
$res = model('promotion_freeshipping')->update($data,
[ [ 'site_id', '=', $data[ 'site_id' ] ], [ 'freeshipping_id', '=', $freeshipping_id ] ]
);
return $this->success($res);
}
/**
* 删除满额包邮活动
* @param $groupbuy_id
* @param $site_id
* @return array|\multitype
*/
public function deleteFreeshipping($freeshipping_id, $site_id)
{
$list = model('promotion_freeshipping')->delete([ [ 'freeshipping_id', '=', $freeshipping_id ], [ 'site_id', '=', $site_id ] ]);
return $this->success($list);
}
/**
* 获取信息
* @param array $condition
* @param string $field
* @return array
*/
public function getFreeshippingInfo($condition = [], $field = '*')
{
$res = model('promotion_freeshipping')->getInfo($condition, $field);
return $this->success($res);
}
/**
* 获取满额包邮分页列表
* @param array $condition
* @param number $page
* @param string $page_size
* @param string $order
* @param string $field
*/
public function getFreeshippingPageList($condition = [], $page = 1, $page_size = PAGE_LIST_ROWS, $order = '', $field = '*')
{
$list = model('promotion_freeshipping')->pageList($condition, $field, $order, $page, $page_size);
return $this->success($list);
}
/********************************************************************* 订单核验是否符合地区 start*****************************************************************************/
/**
* 是否符合满额包邮
* @param $money
* @param $district_id
* @param $site_id
* @return array
*/
public function calculate($money, $district_id, $site_id)
{
$condition = array (
[ 'price', "<=", $money ],
[ 'site_id', "=", $site_id ],
[ 'area_ids', 'like', '%"' . $district_id . '"%' ]
);
$info = model('promotion_freeshipping')->getInfo($condition, '*');
if (!empty($info)) {
return $this->success($info);
} else {
return $this->error();
}
}
/********************************************************************* 订单核验是否符合地区 end*****************************************************************************/
}