170 lines
6.5 KiB
PHP
Raw Normal View History

2024-09-29 15:43:18 +08:00
<?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('操作成功', '');
}
}
}