170 lines
6.5 KiB
PHP
170 lines
6.5 KiB
PHP
![]() |
<?php
|
||
|
|
||
|
|
||
|
namespace app\merchant\controller;
|
||
|
|
||
|
use think\admin\Controller;
|
||
|
use app\merchant\service\MerchantLogService;
|
||
|
use app\merchant\service\MerchantService;
|
||
|
use app\channel\service\ProductService;
|
||
|
use app\merchant\service\OrderService;
|
||
|
use app\merchant\service\PercentService;
|
||
|
use app\gateway\controller\api\Bee;
|
||
|
use think\App;
|
||
|
|
||
|
/**
|
||
|
* 商户关联蜜蜂任务设置
|
||
|
* Class MerchantRelation
|
||
|
* @package app\merchant\controller
|
||
|
*/
|
||
|
class BeeTask extends Controller
|
||
|
{
|
||
|
|
||
|
/**
|
||
|
* 绑定数据表
|
||
|
* @var string
|
||
|
*/
|
||
|
public $table = 'merchant_bee_task';
|
||
|
|
||
|
/**
|
||
|
* 编辑商户关联渠道
|
||
|
* @auth true
|
||
|
* @throws \think\db\exception\DataNotFoundException
|
||
|
* @throws \think\db\exception\DbException
|
||
|
* @throws \think\db\exception\ModelNotFoundException
|
||
|
*/
|
||
|
public function setting()
|
||
|
{
|
||
|
if ($this->request->isGet()) {
|
||
|
$id = input('id');
|
||
|
$this->vo = $this->app->db->name('merchant_list')->where(array('id' => $id))->find();//获取商户信息
|
||
|
$this->title = '商户关联蜜蜂任务列表';
|
||
|
$w = array
|
||
|
(
|
||
|
'mid' => $id,
|
||
|
);
|
||
|
|
||
|
$relation = $this->app->db->name($this->table)->where($w)->find();//获取任务设置信息
|
||
|
|
||
|
$relation=$relation?$relation:[];
|
||
|
|
||
|
$this->name = $this->product = array();
|
||
|
$fileAddr='/www/wwwroot/apicz/extend/data/getVender'.$id.'.txt';
|
||
|
$getVender=file_exists($fileAddr)?file_get_contents($fileAddr):'';
|
||
|
if($getVender)$getVender=json_decode($getVender,true);
|
||
|
$time=time();
|
||
|
if(empty($getVender)||($getVender['gettime']<=$time-30*60*60)){
|
||
|
$bee=new Bee($this->app);
|
||
|
$getVender = $bee->getVender($id);
|
||
|
$getVender['gettime']=time();
|
||
|
if(file_exists($fileAddr))unlink($fileAddr);
|
||
|
file_put_contents($fileAddr,json_encode($getVender));
|
||
|
}
|
||
|
unset($getVender['gettime']);
|
||
|
$venderData=array();
|
||
|
if($getVender){
|
||
|
|
||
|
foreach($getVender as $key=>$v){
|
||
|
if(isset($getVender[$key]['specification_info'][2])){
|
||
|
$tempdata=array(
|
||
|
'vender_id'=>$getVender[$key]['vender_info']['vender_id'],
|
||
|
'vender_name'=>$getVender[$key]['vender_info']['vender_name'],
|
||
|
'operator_id'=>$getVender[$key]['specification_info'][0]['specification_value'],
|
||
|
'prov_code'=>$getVender[$key]['specification_info'][1]['specification_value'],
|
||
|
'amount'=>$getVender[$key]['specification_info'][2]['specification_value'],
|
||
|
);
|
||
|
array_push($venderData,$tempdata);
|
||
|
|
||
|
}
|
||
|
|
||
|
}
|
||
|
}
|
||
|
$this->relation=$relation?$relation:[];
|
||
|
foreach ($venderData as $k => $v) {
|
||
|
if (!isset($this->name[$k])) {
|
||
|
$this->name[$k] = $venderData[$k]['vender_name'];
|
||
|
}
|
||
|
# 可用面值
|
||
|
if ($venderData[$k]['amount']) {
|
||
|
$venderData[$k]['amount'] = explode(',', $venderData[$k]['amount']);
|
||
|
} else {
|
||
|
$venderData[$k]['amount'] = array();
|
||
|
}
|
||
|
# 省份
|
||
|
if ($venderData[$k]['prov_code']) {
|
||
|
$venderData[$k]['prov_code'] = explode(',', $venderData[$k]['prov_code']);
|
||
|
} else {
|
||
|
$venderData[$k]['prov_code'] = array();
|
||
|
}
|
||
|
# 运营商
|
||
|
if ($venderData[$k]['operator_id']) {
|
||
|
$venderData[$k]['operator_id'] = explode(',', $venderData[$k]['operator_id']);
|
||
|
} else {
|
||
|
$venderData[$k]['operator_id'] = array();
|
||
|
}
|
||
|
|
||
|
if (!empty($this->relation) && $this->relation['vender_id']==$venderData[$k]['vender_id']) {
|
||
|
|
||
|
$venderData[$k]['select'] = 1;
|
||
|
$venderData[$k]['cash'] = explode(',', $this->relation['amount']);
|
||
|
$venderData[$k]['prov_code1'] = explode(',', $this->relation['prov_code']);
|
||
|
$venderData[$k]['operator_id1'] = explode(',', $this->relation['operator_id']);
|
||
|
$venderData[$k]['order_num'] = $this->relation['order_num'];
|
||
|
$venderData[$k]['times'] = $this->relation['times'];
|
||
|
} else {
|
||
|
|
||
|
$venderData[$k]['select'] = 0;
|
||
|
$venderData[$k]['cash'] = array();
|
||
|
$venderData[$k]['prov_code1'] = array();
|
||
|
$venderData[$k]['operator_id1'] = array();
|
||
|
$venderData[$k]['order_num'] = 1;
|
||
|
$venderData[$k]['times'] = 5;
|
||
|
}
|
||
|
|
||
|
}
|
||
|
$this->product=$venderData;
|
||
|
$this->_form($this->table, 'setting','',[], $this->product);
|
||
|
} else {
|
||
|
$data = input();
|
||
|
|
||
|
$mid = $data['mid'];
|
||
|
$all = $this->app->db->name($this->table)->where(array('mid' => $mid))->find();
|
||
|
$all=$all?$all:array();
|
||
|
$select = $product_key = array();
|
||
|
if ($all) {
|
||
|
$select[$all['id']] = $all;
|
||
|
}
|
||
|
|
||
|
if (isset($data['vender_id']) && $data['vender_id']) {
|
||
|
$savedata=array(
|
||
|
'vender_id'=>$data['vender_id'],
|
||
|
'mid'=>$data['mid'],
|
||
|
'times'=>$data['times_'.$data['vender_id']],
|
||
|
'order_num'=>$data['order_num_'.$data['vender_id']],
|
||
|
'operator_id'=>implode(',',$data['operator_id_'.$data['vender_id']]),
|
||
|
'amount'=>implode(',',$data['amount_'.$data['vender_id']]),
|
||
|
'prov_code'=>implode(',',$data['prov_code_'.$data['vender_id']]),
|
||
|
);
|
||
|
if ($all) {
|
||
|
|
||
|
$this->app->db->name($this->table)->where(array('id' => $all['id']))->update($savedata);
|
||
|
unset($select[$all['id']]);
|
||
|
} else {
|
||
|
|
||
|
$this->app->db->name($this->table)->insert($savedata);
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
if ($select) {
|
||
|
# 删除
|
||
|
foreach ($select as $k => $v) {
|
||
|
$this->app->db->name($this->table)->where(array('id' => $v['id']))->delete();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
$this->success('操作成功', '');
|
||
|
}
|
||
|
}
|
||
|
}
|