group = include APP_PATH.'admin/conf/menuarr.php';
}
/********************************************商家模块**************************************************************/
/**
* 获取商家列表
* @return store_list
*/
public function index()
{
$model = M('store');
$list = array();
$pagenum=20;//每页显示多少条
if ((int)I('pagenum/s')>0)
{
$pagenum=I('pagenum/s');
}
$keywords = I('keywords/s');
$is_audit = I('shenghe/s');
$is_ylpapp = I('is_ylpapp/s');
$qy=I('qianyi/s');
$is_usererp = I('is_usererp/s');
if ($is_usererp !=""){
if($is_usererp==1) {
$where['ERPId']=array('neq','');
}
else
{
$where['ERPId']='';
}
}
if ($keywords) {
$where['a.store_name|a.ERPId']=array(['like','%'.$keywords.'%']);;
}
if ($is_ylpapp !=""){
if($is_ylpapp==1) {
$where['a.is_ylpapp'] = 1;
}
else
{
$where['a.is_ylpapp'] = 0;
}
}
if ($is_audit !=""){
if($is_audit==1) {
$where['a.is_audit'] = 1;
}else if ($is_audit==2){
$where['a.is_audit'] = 0;
}
else if($is_audit==3)
{
$where['a.is_audit'] =-1;
}
}
$w1=" 1=1 ";
if($qy!=""){
if($qy==1) {
$w1 .= " and a.convertimg<>''";
}
else{
$w1.=" and a.convertimg is null or convertimg=''";
}
}
$count = $model->alias('a')->where($where)->where($w1)->count();
$Page = $pager = new Page($count,$pagenum);
$list = $model->alias('a')->join('wx_user b','a.store_id=b.store_id','left')
->where($where)->where($w1)
->limit($Page->firstRow.','.$Page->listRows)->order('BillDate desc')
->field('a.*,b.wx_cert')
->select();
foreach ($list as $kk=>$vv){
$cimg=$vv['convertimg'];
$cimglist=explode(',',$cimg);
$list[$kk]['imglist']=$cimglist;
}
$show = $Page->show();
$this->assign('keywords',$keywords);
$this->assign('list',$list);// 赋值数据集
$this->assign('page',$show);// 赋值分页输出
$this->assign('pager',$pager);
$this->assign('pagenum',$pagenum);
$this->assign('oldurl',urlencode(curPageURL()));
return $this->fetch();
}
/*商家导出*/
public function exportstore()
{
$model = M('store');
$list = array();
$pagenum=20;//每页显示多少条
if ((int)I('pagenum/s')>0)
{
$pagenum=I('pagenum/s');
}
$keywords = I('keywords/s');
$is_audit = I('shenghe/s');
$qy=I('qianyi/s');
if ($keywords) {
$where['store_name|ERPId']=array(['like','%'.$keywords.'%']);;
}
if ($is_audit !=""){
if($is_audit==1) {
$where['is_audit'] = 1;
}else if ($is_audit==2){
$where['is_audit'] = 0;
}
else if($is_audit==3)
{
$where['is_audit'] =-1;
}
}
$w1=" 1=1 ";
if($qy!=""){
if($qy==1) {
$w1 .= " and convertimg<>''";
}
else{
$w1.=" and convertimg is null or convertimg=''";
}
}
$list = $model->where($where)->where($w1)->select();
$strTable ='
';
$strTable .= '';
$strTable .= '商家名称 | ';
$strTable .= '商家账套 | ';
$strTable .= '加入时间 | ';
$strTable .= '是否审核 | ';
$strTable .= '
';
if(is_array($list)){
foreach($list as $k=>$val){
$strTable .= '';
$strTable .= ''.$val['store_name'].' | ';
$strTable .= ' '.$val['ERPId'].' | ';
$strTable .= ''.date('Y-m-d H:i:s',$val['BillDate']).' | ';
$strTable .= ''.$this->getaudit($val['is_audit']).' | ';
$strTable .= '
';
}
}
$strTable .='
';
echo $strTable;
unset($list);
downloadExcel($strTable,'storelist');
exit();
}
public function getaudit($status)
{
$restr="";
switch ($status)
{
case "1":
$restr="通过审核";
break;
case "0":
$restr="审核中";
break;
case "-1":
$restr="审核失败";
break;
}
return $restr;
}
/**
* 商家管理
* @return admin_list
*/
public function store_info()
{
$store_id = I('get.store_id/d', 0);
$oldurl = I('oldurl/s');
if ($store_id) {
$info = D('store')->where("store_id", $store_id)->find();
$info['BillDate'] = date('Y-m-d H:i:s',$info['BillDate']);
$this->assign('info', $info);
$province = M('region')->where(array('parent_id' => 0))->select();
$city = M('region')->where(array('parent_id' => $info['province']))->select();
$area = M('region')->where(array('parent_id' => $info['city']))->select();
$bussinessmodel = M('store_bussinessmodel')->order('ordid asc')->select();
$industry = M('store_industry')->order('ordid asc')->select();
$this->assign('bussinessmodel', $bussinessmodel);
$this->assign('industry', $industry);
$this->assign('$QCLOUD_IMGURL', QCLOUD_IMGURL);
$this->assign('province', $province);
$this->assign('city', $city);
$this->assign('area', $area);
} else {
$province = M('region')->where(array('parent_id' => 0))->select();
$this->assign('province', $province);
}
$act = empty($store_id) ? 'add' : 'edit';
$this->assign('act', $act);
$this->assign('oldurl', $oldurl);
return $this->fetch();
}
/**
* 商家操作,新增,修改
* @return admin_list
*/
public function storeHandle()
{
$data = I('post.');
$oldurl = I('oldurl/s');
if($oldurl){
$oldurl = urldecode(urldecode($oldurl));
}
/*--清理缓存数据--*/
$stoid=$data['store_id'];
$arr = getCachaArr($stoid);
foreach ($arr as $b) {
Cache::rm($b);
}
delFile(TEMP_PATH . "/" . getAdmStoId());
//新增
if ($data['act'] == 'add') {
unset($data['store_id']);
//$data['add_time'] = time();
if (D('store')->where("ERPId", $data['ERPId'])->count()) {
$this->error("此帐套已存在,请更换", U('manager/Admin/store_info'));
} else {
//添加商家
$SupplyId = uuid();
$data['BillDate'] = time();
$data['BillIp'] = getIP();
$data['supplyid'] = $SupplyId;
$data['ERPId']=strtolower($data['ERPId']);
$r = D('store')->add($data); //新增的商家ID
///后续操作
if ($r) {
//添加admin角色
$role['store_id'] = $r;
$role['role_name'] = '超级管理员';
$role['act_list'] = 'all';
$role['role_desc'] = '管理全站';
$ro = D('role')->add($role); //新增的角色ID
if ($ro) {
//添加用户
$res = DB::name('store')->field('ERPId')->where('store_id', '=', $r)->select(); //获取ERP账套
$admin['role_id'] = $ro;
$admin['store_id'] = $r;
$admin['supplyid'] = $SupplyId;
$admin['ERPId'] = $res[0]['ERPId'];
$admin['ERPUser'] = 'admin';
$admin['ERPName'] = '超级管理员';
$admin['BillIp'] = getIP();
$admin['BillDate'] = time();
$a = D('admin')->add($admin);
if (!$a) {
$this->error("添加成功,用户插入失败", U('manager/Admin/index'));
}
} else {
$this->error("添加成功,插入失败", U('manager/Admin/index'));
}
}
//操作日志
adminLog("新增商家");
}
}
//修改
if ($data['act'] == 'edit') {
$store = D('store')->where("store_id",$data['store_id'])->find();
if ($store['ERPId'] != $data['ERPId']){
if (D('store')->where("ERPId", $data['ERPId'])->count()) {
$this->error("此ERP帐套已存在,请更换", U('manager/Admin/store_info',array('store_id'=>$data['store_id'])));
}
}
//如果审核通过,更改2.0的状态
if ($data['supplyid'] && $data['is_audit']==1) {
$url = IMPORT_URL . "/API/ShopAPI.ashx?method=updatestop";
$data_api['SupplyId'] = $data['supplyid'];
$data_api['IsStop'] = 2;
$rs = $this->getInterfact($url, $data_api);
}
//如果审核通过,更改2.0的状态
if ($data['is_audit']==1 && $data['ERPId']) {
//更新商家状态的接口使用
$data0['ClassInfo']='IsNewSDOrder';
$data0['IsBool']=1;
$erp_state = getApiData("wxd.base.syspara.edit", $data['api_token'], array($data0));
mlog("更新线上erp状态:" . json_encode($erp_state).'-'.json_encode($data0),
'storeHandle/' . $data['store_id']);
}
//
$data['EditDate'] = time();
$data['EditIp'] = getIP();
$data['BillDate'] = strtotime($data['BillDate']);
$data['ERPId']=strtolower($data['ERPId']);
$r = D('store')->where('store_id', $data['store_id'])->save($data);
//修改账套
$admin['EditDate'] = time();
$admin['EditIp'] = getIP();
$admin['ERPId'] = strtolower($data['ERPId']);
$a = M('admin')->where('store_id',$store['store_id'])->save($admin);
adminLog("修改商家");
//没有门店,默认创建门店
if (empty($data['ERPId']))
{
$pick_up=M('pick_up')->where(array('store_id'=>$data['store_id']))->find();
if (empty($pick_up))
{
$pick_upadd['pickup_no']="001";
$pick_upadd['pickup_name']="门店名称";
$pick_upadd['store_id']=$data['store_id'];
M('pick_up')->save($pick_upadd);
}
}
//
}
//删除
if ($data['act'] == 'del' && $data['store_id'] > 1) {
$store = DB::name('store')->where('store_id', '=', $data['store_id'])->select();
//删除图片
if($store[0]['store_logo']!=""){
$dellogo=ltrim($store[0]['store_logo'],'/');
mdelFile(ROOT_PATH.$dellogo);
}
if($store[0]['wxverfiy']!=""){
mdelFile(ROOT_PATH.$store[0]['wxverfiy'].".txt");
}
$r = D('store')->where('store_id', $data['store_id'])->delete();
$r = D('admin')->where('store_id', $data['store_id'])->delete();
$r = D('role')->where('store_id', $data['store_id'])->delete();
//删除微信用户
$r = D('wx_user')->where('store_id', $data['store_id'])->delete();
adminLog("删除商家");
exit(json_encode(1));
}
if($oldurl){
$this->success('操作成功',urldecode($oldurl));
}
else{
$this->success('操作成功',U('admin/index'));
}
}
/**
* 获取手店2.0的supplyid
* @return getsupplyid
*/
public function getsupplyid()
{
$getaccid = I('accid/s');
$url= IMPORT_URL."/API/CustInfo.ashx?Method=shopinfo";
$data['ERPDBAccID']=$getaccid;
$rs=$this->getInterfact($url,$data);
if($rs==-1){
return json(['code'=>-1,'msg'=>'找不到相关信息']);
}
else {
$imdata=$rs['data']['item'];
if(!empty($imdata)) {
return json(['code' => 0,'supplyid'=>$imdata[0]["SupplyId"], 'msg' => '获取成功']);
}else
{
return json(['code' => -1, 'msg' => '找不到相关信息']);
}
}
}
/**
* @return getAPIToken
*/
public function getAPIToken()
{
$getaccid = I('accid/s');
$erpres=httpRequest(WXD_OPENURL."/api/wxd/cust/list?accdb=".$getaccid,'get');
$erpres=json_decode($erpres,true);
if ($erpres && $erpres['code']==0) {
$api_token=$erpres['data']['pageData'][0]['token'];
return json(['code' => 0,'api_token'=>$api_token, 'msg' => '获取成功']);
}else
{
return json(['code' => -1, 'msg' => '找不到相关信息']);
}
}
/**
* 删除未保存的商家logo
* @return store_list
*/
public function del_logo()
{
$store_logo = I('store_logo/s');
return mdelFile(ROOT_PATH.$store_logo);
}
/********************************************商家用户模块**********************************************************/
/**
* 获取商家用户列表
* @return admin_list
*/
public function store_admin_list()
{
$store_id = I('get.store_id/d', 0);
$keywords = I('keywords/s');
if (!$store_id) {
$this->error("请选择商家", U('manager/Admin/index'));
}
if (empty($keywords)) {
$res = DB::name('admin')->where('store_id', '=', $store_id)->order('admin_id')->select();
} else {
$res = DB::name('admin')->where('store_id', '=', $store_id)->where('user_name', 'like', '%' . $keywords . '%')->order('admin_id')->select();
}
$list = array();
//$res = DB::name('admin')->where('store_id','=',$store_id)->order('admin_id')->select();
foreach ($res as $val) {
$val['add_time'] = date('Y-m-d H:i:s',$val['BillDate']);
$list[] = $val;
}
$this->assign('list', $list);
$this->assign('store_id', $store_id);
return $this->fetch();
}
/**
* 商家用户管理
* @return admin_list
*/
public function admin_info()
{
$admin_id = I('get.admin_id/d', 0);
$store_id = I('get.store_id/d', 0);
if ($admin_id) {
$info = D('admin')->where("admin_id", $admin_id)->find();
$this->assign('info', $info);
}
else{
$info = D('store')->where("store_id", $store_id)->find();
$this->assign('info', $info);
}
$act = empty($admin_id) ? 'add' : 'edit';
$this->assign('act', $act);
$role = D('role')->where('store_id', '=', $store_id)->select();
$this->assign('role', $role);
$this->assign('store_id', $store_id);
return $this->fetch();
return $this->fetch();
}
/**
* 商家用户操作,新增,修改
* @return admin_list
*/
public function adminHandle()
{
$data = I('post.');
$oldpwd=$data['olwdpwd'];
$newpwd=$data['pwd'];
if ($data['act'] == 'add') {
unset($data['admin_id']);
unset($data['olwdpwd']);
unset($data['olwdpwd']);
if (D('admin')->where(array('ERPUser'=> $data['ERPUser'],'ERPId'=> $data['ERPId']))->count()) {
$this->error("此用户名已被注册,请更换", U('manager/Admin/admin_info'));
} else {
$SupplyId = DB::name('store')->field('supplyid')->where('store_id', '=', $data['store_id'])->select();
$data['supplyid'] = $SupplyId[0]['supplyid'];
$data['BillIp'] = getIP();
$data['BillDate'] = time();
if ($newpwd && $oldpwd!=md5($newpwd))
{
$oldpwd=md5($newpwd);
}
$data['pwd'] = md5($newpwd);
$r = D('admin')->add($data);
if($r){
adminLog("添加用户(" . $r . ")");
}
}
}
if ($data['act'] == 'edit') {
if ($newpwd && $oldpwd!=md5($newpwd))
{
$oldpwd=md5($newpwd);
}
$data['pwd'] = md5($newpwd);
$data['EditDate'] = time();
$data['EditIp'] = getIP();
$r = D('admin')->where('admin_id', $data['admin_id'])->save($data);
if($r){
adminLog("修改用户(" . $data['admin_id'] . ")");
}
}
if ($data['act'] == 'del' && $data['admin_id'] > 1) {
$r = D('admin')->where('admin_id', $data['admin_id'])->delete();
if($r){
adminLog("删除用户");
exit(json_encode(1));
}
}
if ($r) {
$this->success("操作成功", U('manager/Admin/store_admin_list', 'store_id=' . $data['store_id']));
} else {
$this->error("操作失败", U('manager/Admin/store_admin_list', 'store_id=' . $data['store_id']));
}
}
//审核操作
public function changer_audit()
{
$type = I('type');
$store_id = I('store_id');
$data['is_audit'] = $type;
$r = D('store')->where('store_id', $store_id)->save($data);
if($r){
exit(json_encode(array('status'=>1,'msg'=>'操作成功')));
}
else{
exit(json_encode(array('status'=>-1,'msg'=>'操作失败')));
}
}
/********************************************微信公众号模块********************************************************/
/**
* 微信公众号设置
* @return \think\mixed
*/
public function wx_setting(){
$oldurl = I('oldurl/s');
$gourl= U('Admin/index');
if($oldurl){
$oldurl = urldecode(urldecode($oldurl));
$gourl=$oldurl;
}
$store_id = I('get.store_id');
$wechat = M('wx_user')->where(array('store_id'=>$store_id))->find();
$stoinfo = M('store')->where(array('store_id'=>$store_id))->field('ERPId')->find();
if(IS_POST){
$post_data = input('post.');
//如果还没配置,则添加配置
$getwx_cert=str_replace('/public','public',$post_data['wx_cert']);
//解压ZIP
$zip = new \ZipArchive;
$res = $zip->open($getwx_cert);
if ($res === TRUE) {
//解压缩到test文件夹
$zip->extractTo('public/cert/'.$store_id.'/');
$zip->close();
mdelFile(ROOT_PATH.$post_data['wx_cert']);
}
// $post_data['wx_cert']="";
if(!$wechat){
$post_data['store_id']=$store_id;
$row = D('wx_user')->add($post_data);
}
else{
//发送HTTP状态 先不用
if (empty($wechat['token']))
{
$post_data['token'] = $wechat['appid'].time();
}
$row = M('wx_user')->where(array('store_id'=>$store_id))->update($post_data);
}
if($row){
adminLog("配置公众号(".$store_id.")");
$this->success("操作成功", $gourl);
}
else{
$this->success("操作失败",$gourl);
}
//
}
else{
//URL地址
$apiurl =curHostURL().'/index.php?m=Home&c=Weixin&a=index&store_id='.$store_id;
$this->assign('wechat',$wechat);
$this->assign('apiurl',$apiurl);
return $this->fetch();
}
}
/********************************************商家权限资源模块******************************************************/
/**
* 商家权限资源列表
* @return \think\mixed
*/
public function right_list(){
//$group = array('system'=>'设置','ad'=>'广告','article'=>'文章','power'=>'权限',
// 'goods'=>'商品','order'=>'订单','promotion'=>'促销','distribut'=>'分销','wechat'=>'微信','report'=>'统计','marketing'=>'营销','template'=>'模板'
//);
$group=$this->group;
$keywords = I('keywords/s');
$group_id = I('group_id/s');
$pagenum=20;//每页显示多少条
if ((int)I('pagenum/s')>0)
{
$pagenum=I('pagenum/s');
}
$grouplist = [];
foreach ($group as $k=>$v){
$grouplist[]=array('id'=>$k,'name'=>$v);
}
$model = M('system_menu');
$list = array();
$keywords = I('keywords/s');
$is_audit = I('is_audit/s');
if ($keywords) {
$where['name']=array(['like','%'.$keywords.'%']);;
}
if ($group_id !=""){
$where['group']=$group_id;
}
$count = $model->where($where)->count();
$Page = $pager = new Page($count,$pagenum);
$right_list = $model->where($where)->order(' `group` asc')->limit($Page->firstRow.','.$Page->listRows)->select();
$show = $Page->show();
$this->assign('keywords',$keywords);
$this->assign('right_list',$right_list);// 赋值数据集
$this->assign('page',$show);// 赋值分页输出
$this->assign('pager',$pager);
$this->assign('pagenum',$pagenum);
$this->assign('keywords',$keywords);
$this->assign('group_id',$group_id);
$this->assign('grouplist',$grouplist);
$this->assign('group',$group);
$this->assign('oldurl',urlencode(curPageURL()));
return $this->fetch();
}
/**
* 修改、新增商家权限资源表
* @return \think\mixed
*/
public function edit_right(){
$oldurl = I('oldurl/s');
if($oldurl){
$oldurl = urldecode(urldecode($oldurl));
}
$is_ajax=I('is_ajax/d',0);
if($is_ajax==1){
$data = I('post.');
$data['right'] = implode(',',$data['right']);
if(!empty($data['id'])){
M('system_menu')->where(array('id'=>$data['id']))->save($data);
}else{
if(M('system_menu')->where(array('name'=>$data['name']))->count()>0){
$this->error('该权限名称已添加,请检查',U('admin/right_list'));
}
unset($data['id']);
M('system_menu')->add($data);
}
if($oldurl){
$this->success('操作成功',$oldurl);
}
else{
$this->success('操作成功',U('admin/right_list'));
}
exit;
}
$id = I('id');
if($id){
$info = M('system_menu')->where(array('id'=>$id))->find();
$info['right'] = explode(',', $info['right']);
$this->assign('info',$info);
}
$group=$this->group;
$planPath = APP_PATH.'admin/controller';
$planList = array();
$dirRes = opendir($planPath);
while($dir = readdir($dirRes))
{
if(!in_array($dir,array('.','..','.svn')))
{
$planList[] = basename($dir,'.php');
}
}
$this->assign('planList',$planList);
$this->assign('group',$group);
return $this->fetch();
}
// public function edit_right(){
// if(IS_POST){
// $data = I('post.');
// $data['right'] = implode(',',$data['right']);
// if(!empty($data['id'])){
// M('system_menu')->where(array('id'=>$data['id']))->save($data);
// }else{
// if(M('system_menu')->where(array('name'=>$data['name']))->count()>0){
// $this->error('该权限名称已添加,请检查',U('Admin/right_list'));
// }
// unset($data['id']);
// M('system_menu')->add($data);
// }
// $this->success('操作成功',U('Admin/right_list'));
// exit;
// }
// $id = I('id');
// if($id){
// $info = M('system_menu')->where(array('id'=>$id))->find();
// $info['right'] = explode(',', $info['right']);
// $this->assign('info',$info);
// }
// $group = array('system'=>'设置','ad'=>'广告','article'=>'文章','power'=>'权限',
// 'goods'=>'商品','order'=>'订单','promotion'=>'促销','distribut'=>'分销','wechat'=>'微信','report'=>'统计'
// );
// $planPath = APP_PATH.'admin/controller';
// $planList = array();
// $dirRes = opendir($planPath);
// while($dir = readdir($dirRes))
// {
// if(!in_array($dir,array('.','..','.svn')))
// {
// $planList[] = basename($dir,'.php');
// }
// }
// $this->assign('planList',$planList);
// $this->assign('group',$group);
// return $this->fetch();
// }
/**
* 删除商家权限资源
* @return \think\mixed
*/
public function right_del(){
$id = I('del_id');
if(is_array($id)){
$id = implode(',', $id);
}
if(!empty($id)){
$r = M('system_menu')->where("id in ($id)")->delete();
if($r){
respose(1);
}else{
respose('删除失败');
}
}else{
respose('参数有误');
}
}
/**
* 获取商家控制器下的方法
* @return \think\mixed
*/
function ajax_get_action()
{
$control = I('controller');
$advContrl = get_class_methods("app\\admin\\controller\\".str_replace('.php','',$control));
$baseContrl = get_class_methods('app\admin\controller\Base');
$diffArray = array_diff($advContrl,$baseContrl);
$html = '';
foreach ($diffArray as $val){
$html .= "";
if($val && strlen($val)> 24){
$html .= "";
}
}
exit($html);
}
// function ajax_get_action()
// {
// $control = I('controller');
// $advContrl = get_class_methods("app\\Admin\\controller\\".str_replace('.php','',$control));
// dump($advContrl);
// $baseContrl = get_class_methods('app\Admin\controller\Base');
// $diffArray = array_diff($advContrl,$baseContrl);
// $html = '';
// foreach ($diffArray as $val){
// $html .= "";
// }
// exit($html);
// }
/********************************************商家短信模块******************************************************/
/**
* 商家短信
* @return \think\mixed
*/
function store_sms()
{
$model = M('store');
$list = array();
$keywords = I('keywords/s');
$pagenum=20;//每页显示多少条
if ((int)I('pagenum/s')>0)
{
$pagenum=I('pagenum/s');
}
$this->assign('pagenum',$pagenum);
$where['is_audit'] = 1;
if ($keywords) {
$where['store_name|ERPId|reg_mobile']=array(['like','%'.$keywords.'%']);;
}
$is_usererp = I('is_usererp/s');
if ($is_usererp !=""){
if($is_usererp==1) {
$where['ERPId']=array('neq','');
}
else
{
$where['ERPId']='';
}
}
$count = $model->where($where)->count();
$Page = $pager = new Page($count,$pagenum);
$list = $model->where($where)->limit($Page->firstRow.','.$Page->listRows)
->order('smsqty asc,store_id asc')
->select();
$show = $Page->show();
$this->assign('keywords',$keywords);
$this->assign('list',$list);// 赋值数据集
$this->assign('page',$show);// 赋值分页输出
$this->assign('pager',$pager);
return $this->fetch();
}
//短信充值
function ajax_Sms_Recharge(){
$qty = I('qty');
$store_id = I('store_id');
//更新商家短信数量
$store = M('store')->where('store_id',$store_id)->find();
$smsqty = $store['smsqty'];
$smsqty = $smsqty + $qty;
$store['smsqty'] = $smsqty;
M('store')->where('store_id',$store_id)->update($store);
//插入到短信操作记录表
smsHandle($store_id,"短信充值");
//插入短信充值记录表
$data['store_id'] = $store_id;
$data['qty'] = $qty;
$data['add_time'] = time();
$data['manager_id'] = session('manager_id');
$data['add_ip'] = getIP();
$r = D('sms_addlist')->add($data);
/*--清理缓存数据--*/
$stoid=$data['store_id'];
$arr = getCachaArr($stoid);
foreach ($arr as $b) {
Cache::rm($b);
}
delFile(TEMP_PATH . "/" . getAdmStoId());
if($r){
exit(json_encode(array('status'=>1,'msg'=>'充值成功')));
}
else{
exit(json_encode(array('status'=>-1,'msg'=>'充值失败')));
}
}
function store_sms_recharge()
{
$list = array();
$store_id = I('store_id/d');
$start = urldecode(I('start_time')); //查询开始时间
$end= urldecode(I('end_time')); //查询结束时间
$pagenum=20;//每页显示多少条
if ((int)I('pagenum/s')>0)
{
$pagenum=I('pagenum/s');
}
$this->assign('pagenum',$pagenum);
$model = M('sms_addlist');
$where['store_id']=$store_id;
if (!empty($start))
{
$where['add_time']=array(['>=',strtotime($start)]);
}
if (!empty($end))
{
$where['add_time']=array(['<=',strtotime($end)]);
}
$count = $model->where($where)->count();
$Page = $pager = new Page($count,$pagenum);
$list = $model->alias('a')->field("a.*")->where($where)->order('a.add_time desc')->limit($Page->firstRow.','.$Page->listRows)->select();
if ($list)
{
foreach ($list as $k=>$v){
if ($v['type'])
{
$res_name=M('admin')->where('admin_id',$v['manager_id'])->field('ERPName')->find();
if ($res_name)
{
$list[$k]['manager_name']=$res_name['ERPName'];
}
}
else
{
$res_name=M('manager_admin')->where('manager_id',$v['manager_id'])->field('manager_name')->find();
if ($res_name)
{
$list[$k]['manager_name']=$res_name['manager_name'];
}
}
}
}
$show = $Page->show();
$this->assign('list',$list);// 赋值数据集
$this->assign('page',$show);// 赋值分页输出
$this->assign('pager',$pager);
$this->assign('store_id', $store_id);
$this->assign('start_time', $start);
$this->assign('end_time', $end);
return $this->fetch();
}
function store_sms_log()
{
$list = array();
$store_id = I('store_id/d');//商家ID
$start = urldecode(I('start_time')); //查询开始时间
$end= urldecode(I('end_time')); //查询结束时间
$keyword= urldecode(I('keywords')); //查询结束时间
$pagenum=20;//每页显示多少条
if ((int)I('pagenum/s')>0)
{
$pagenum=I('pagenum/s');
}
$this->assign('pagenum',$pagenum);
$model = M('sms_inoutlist');
$where['store_id']=$store_id;
if (!empty($start))
{
$where['add_time']=array(['>=',strtotime($start)]);
}
if (!empty($end))
{
$where['add_time']=array(['<=',strtotime($end)]);
}
if ($keyword)
{
$where['remark']=$keyword;
}
$count = $model->where($where)->count();
$Page = $pager = new Page($count,$pagenum);
$list = $model->where($where)->order('add_time desc')->limit($Page->firstRow.','.$Page->listRows)->select();
$show = $Page->show();
$this->assign('list',$list);// 赋值数据集
$this->assign('page',$show);// 赋值分页输出
$this->assign('pager',$pager);
$this->assign('store_id', $store_id);
$this->assign('keyword', $keyword);
$this->assign('start_time', $start);
$this->assign('end_time', $end);
return $this->fetch();
}
//2.0短信记录
function smsinoutlist()
{
$list = array();
$store_id = I('store_id/d');//商家ID
$start = urlencode(I('start_time')); //查询开始时间
$end= urlencode(I('end_time')); //查询结束时间
$keyword= urldecode(I('keywords')); //查询结束时间
$pagenum=20;//每页显示多少条
$strwhere="";
if ((int)I('pagenum/d')>0)
{
$pagenum=I('pagenum/d');
$strwhere.="&pagesize=".$pagenum;
}
if ((int)I('p/d')>0)
{
$getp=I('p/d');
$strwhere.="&pagenumber=".$getp;
}
$this->assign('pagenum',$pagenum);
if ($start)
{
$strwhere.="&Sdate=".$start;
}
if ($end)
{
$strwhere.="&Edate=".$end;
}
if ($keyword)
{
$strwhere.="&ACCDB=".$keyword;
}
echo IMPORT_URL."/API/ShopAPI.ashx?method=getsmsinout".$strwhere;
$res=httpRequest(IMPORT_URL."/API/ShopAPI.ashx?method=getsmsinout".$strwhere);
$count=0;
if ($res)
{
$res=json_decode($res,true);
if ($res['code']==0) {
$count = $res['total'];
$list = $res['data']['item'];
}
}
$Page = $pager = new Page($count,$pagenum);
$show = $Page->show();
$this->assign('list',$list);// 赋值数据集
$this->assign('page',$show);// 赋值分页输出
$this->assign('pager',$pager);
$this->assign('store_id', $store_id);
$this->assign('keyword', $keyword);
$this->assign('start_time', urldecode($start));
$this->assign('end_time', urldecode($end));
return $this->fetch();
}
//数据导入主页
public function data_import(){
/*--给商家基本配置默认值--*/
$stoid=I('store_id');
$uo=M('store_config')->where('store_id',$stoid)->find();
if(empty($uo)){
//默认给基本设置添加一条记录
$ifo['default_storage']=100; //默认库存
$ifo['warning_storage']=10; //预警库存
$ifo['distribut_need']=100; //需要多少提现
$ifo['distribut_min']=100; //最少提现多少钱
$ifo['categoryset']=',1,2,3,'; //分类默认都显示
$ifo['refund_type']=1; //退款默认原路返回
$ifo['is_sort_storage']=0; //门店GPS默认关闭
$ifo['switch_list']='{"jfcz_switch":1,"dhwz_switch":1}'; //默认显示积分,微券兑换
$ifo['sales_rules']=1; //默认线上库存
$ifo['inv_type']=0;
$ifo['invitation_rate']='{"inv_jf":"0","inv_coupon":""}'; //邀请规则
$ifo['reg_type']=0;
$ifo['reg_default']='{"reg_def_ty":"0","jf":"0","coupon":""}'; //注册规则
$ifo['store_id']=$stoid; //注册规则
$wxuser=M('store_config')->save($ifo);
}
/*--清理缓存数据--*/
$arr = getCachaArr($stoid);
foreach ($arr as $b) {
Cache::rm($b);
}
delFile(TEMP_PATH . "/" . $stoid);
$namelist=["商品分类","商品品牌","商品国别","门店信息分类","商品资料","会员资料","门店信息",
"微信菜单","基本资料(短信)","首页图片轮播","会员广告背景","微信关注信息","微信推送配置","订单信息"];
//$sto=M('store')->where("store_id",$stoid)->find();
$sto=tpCache('shop_info',$stoid);
$actlist=M("import_active")->where("store_id",$stoid)->order('type desc')->select();
foreach ($actlist as $k=>$v){
$karr[$v['type']]=$v;
}
$this->assign('nlist',$namelist);
$this->assign('actlist',$karr);
$this->assign('sto',$sto);
return $this->fetch();
}
//数据导入的总接口
public function importdata(){
$ty=I('type/d');
$stoid=I('stoid');
$page=I('page');
$result=['code'=>-1,'msg'=>'导入失败'];
$ver='ver'.$stoid.time();
$ry=M("import_active")->where("store_id",$stoid)->where('type',$ty)->find();
if(!empty($ry)){
if($ry['state']==1) {
return json(['code' => -1, 'msg' => '您已经导入相关数据']);
}else{
$ver=$ry['version'];
}
}
/*----访问接口----*/
//$sh=M('store')->where("store_id",$stoid)->find();
$sh=tpCache('shop_info',$stoid);
switch ($ty){
case 1:
$result=$this->import_goods_category($stoid,$sh,$ver);//导入商品分类
break;
case 2:
$result=$this->import_goods_brand($stoid,$sh,$ver); //导入商品品牌
break;
case 3:
$result=$this->import_goods_nation($stoid,$sh,$ver); //导入商品国别
break;
case 4:
$result=$this->import_goods_pick_category($stoid,$sh,$ver); //导入商品门店分类
break;
case 5:
$result=$this->import_goods($stoid,$sh,$ver,$page); //导入商品资料
break;
case 6:
$result=$this->import_userinfo($stoid,$sh,$ver,$page); //导入会员资料
break;
case 7:
$result=$this->import_storageinfo($stoid,$sh,$ver); //导入门店信息
break;
case 8:
$result=$this->import_weixinmenu($stoid,$sh,$ver); //导入微信菜单
break;
case 9:
$result=$this->import_sms($stoid,$sh,$ver); //导入短信
break;
case 10:
$result=$this->import_index_swiper($stoid,$sh,$ver); //首页图片轮播
break;
case 11:
$result=$this->import_user_info($stoid,$sh,$ver); //首页图片轮播
break;
case 12:
$result=$this->import_wx_guanzhu($stoid,$sh,$ver,$page); //会员关注信息
break;
case 13:
$result=$this->import_wx_tuisong($stoid,$sh,$ver,$page); //会员关注信息
break;
case 14:
$result=$this->import_order($stoid,$sh,$ver,$page); //订单导入
break;
}
return $result;
}
//导入商品分类
/**
* @param $stoid 商家stoid
* @param $sh 商家data
* @param $ver 版本号
* @return \think\response\Json
*/
public function import_goods_category($stoid,$sh,$ver){
$url= IMPORT_URL."/API/ShopAPI.ashx?Method=classinfo";
$data['Supplyid']=$sh['supplyid'];
$data['type']=1;
$rs=$this->getInterfact($url,$data);
if($rs==-1){
return json(['code'=>-1,'msg'=>'系统未找到旧手店数据']);
}
$imdata=$rs['data']['item'];
if(!empty($imdata)){
/*---插入活动记录表---*/
$imactdata["store_id"]=$stoid;
$imactdata["type"]=1;
$imactdata["time"]=time();
$imactdata["version"]=$ver;
$imactdata["state"]=0;
M("import_active")->save($imactdata);
/*---开始导入数据---*/
foreach ($imdata as $k=>$v){
$parent_id=0;
$lev=1;
if($v['ParentClassNo']!=-1){
$rr=M("goods_category")->where('class_no',$v['ParentClassNo'])->where('store_id',$stoid)->find();
if($rr){
$parent_id=$rr['id'];
$lev=$rr['level']+1;
}else{
mlog($v['CName'].'没有上级分类','import');
continue;
}
}
$img=$v['BackImgUrl'];
if(trim($img)!=""){
$rss=explode('http',$img);
$rss1=explode('https',$img);
if(count($rss)<2 && count($rss1)<2){
$img='/public/uppic/classimg/'.$sh['ERPId'].'/'.$img;
}
}
$import['name']=$v['CName'];
$import['mobile_name']=$v['CName'];
$import['parent_id']=$parent_id;
$import['level']=$lev;
$import['sort_order']=$k;
$import['is_show']=1;
$import['image']=$img;
$import['is_hot']=0;
$import['cat_group']=0;
$import['commission_rate']=0;
$import['store_id']=$stoid;
$import['version']=$ver;
$import['move_classid']=$v['Id'];
$import['class_no']=$v['ClassNo'];
$GoodsCategory = D('GoodsCategory');
$GoodsCategory->data($import,true); // 收集数据
$GoodsCategory->save(); // 写入数据到数据库
$insert_id = $GoodsCategory->getLastInsID();
/*--分类最多3级--*/
if($lev==1){
$path='0_'.$insert_id;
}if($lev==2){
$path='0_'.$parent_id.'_'.$insert_id;
}if($lev==3) {
$path='0_'.$rr['parent_id'].'_'.$parent_id.'_'.$insert_id;
}
$upd['parent_id_path']=$path;
M('GoodsCategory')->where('id',$insert_id)->save($upd);
}
$ry=M("import_active")->where("store_id",$stoid)->where('type',1)
->where('version',$ver)->save(['state'=>1]);
$htm="";
return json(['code'=>0,'msg'=>"导入完成".$htm]);
exit();
}else{
return json(['code'=>-1,'msg'=>'系统未找到旧手店数据']);
}
}
//导入商品品牌
public function import_goods_brand($stoid,$sh,$ver)
{
$ty1=2;
$url= IMPORT_URL."/API/ShopAPI.ashx?Method=classinfo";
$data['Supplyid']=$sh['supplyid'];
$data['type']=$ty1;
$rs=$this->getInterfact($url,$data);
if($rs==-1){
return json(['code'=>-1,'msg'=>'系统未找到旧手店数据']);
}
$imdata=$rs['data']['item'];
if(!empty($imdata)){
/*---插入活动记录表---*/
$imactdata["store_id"]=$stoid;
$imactdata["type"]=$ty1;
$imactdata["time"]=time();
$imactdata["version"]=$ver;
$imactdata["state"]=0;
M("import_active")->save($imactdata);
/*---开始导入数据---*/
foreach ($imdata as $k=>$v){
$imgt=$v['ImgType'];
$img=$v['ImgUrl'];
if($imgt){
$img='/public/uppic/brandimg/'.$sh['ERPId'].'/'.$v['LocalImg'];
$import['imgtype'] = 0;
}else {
$rss2 = explode('http://wximg.jmhcn.com', $img);
if (count($rss2) < 2) {
$import['imgtype'] = 2;
} else {
$img = strtolower($rss2[1]);
$import['imgtype'] = 0;
}
}
$import['name']=$v['CName'];
$zm=getFirstCharter($v['CName']);
if(empty($zm)) $zm="";
$import['zm']=$zm ;
$import['logo']=$img;
$import['desc']="";
$import['sort']=$k;
$import['is_hot']=1;
$import['store_id']=$stoid;
$import['version']=$ver;
$import['move_classid']=$v['Id'];
M('brand')->save($import); // 写入数据到数据库
}
$ry=M("import_active")->where("store_id",$stoid)->where('type',$ty1)->save(['state'=>1]);
$htm=" ";
return json(['code'=>0,'msg'=>"导入完成".$htm]);
exit();
}else{
return json(['code'=>-1,'msg'=>'系统未找到旧手店数据']);
}
}
//导入商品国别
public function import_goods_nation($stoid,$sh,$ver)
{
$ty1=3;
$url= IMPORT_URL."/API/ShopAPI.ashx?Method=classinfo";
$data['Supplyid']=$sh['supplyid'];
$data['type']=$ty1;
$rs=$this->getInterfact($url,$data);
if($rs==-1){
return json(['code'=>-1,'msg'=>'系统未找到旧手店数据']);
}
$imdata=$rs['data']['item'];
if(!empty($imdata)){
/*---插入活动记录表---*/
$imactdata["store_id"]=$stoid;
$imactdata["type"]=$ty1;
$imactdata["time"]=time();
$imactdata["version"]=$ver;
$imactdata["state"]=0;
M("import_active")->save($imactdata);
/*---开始导入数据---*/
foreach ($imdata as $k=>$v){
$imgt=$v['ImgType'];
$img=$v['ImgUrl'];
if($imgt){
$img='/public/uppic/nationimg/'.$sh['ERPId'].'/'.$v['LocalImg'];;
$import['imgtype'] = 0;
}else {
$rss2 = explode('http://wximg.jmhcn.com',$img);
if (count($rss2) < 2) {
$import['imgtype'] = 1;
} else {
$img = strtolower($rss2[1]);
$import['imgtype'] = 0;
}
}
$import['name']=$v['CName'];
$import['enname']=$v['CName_En'];
$import['logo']=$img;
$import['desc']="";
$import['sort']=$k;
$import['is_hot']=1;
$import['store_id']=$stoid;
$import['version']=$ver;
$import['move_classid']=$v['Id'];
M('nation')->save($import); // 写入数据到数据库
}
$ry=M("import_active")->where("store_id",$stoid)->where('type',$ty1)->save(['state'=>1]);
$htm=" ";
return json(['code'=>0,'msg'=>"导入完成".$htm]);
exit();
}else{
return json(['code'=>-1,'msg'=>'系统未找到旧手店数据']);
}
}
//导入商品门店分组
public function import_goods_pick_category($stoid,$sh,$ver){
$ty1=4;
$url= IMPORT_URL."/API/ShopAPI.ashx?Method=classinfo";
$data['Supplyid']=$sh['supplyid'];
$data['type']=$ty1;
$rs=$this->getInterfact($url,$data);
if($rs==-1){
return json(['code'=>-1,'msg'=>'系统未找到旧手店数据','ver' => $ver]);
}
$imdata=$rs['data']['item'];
if(!empty($imdata)){
/*---插入活动记录表---*/
$imactdata["store_id"]=$stoid;
$imactdata["type"]=$ty1;
$imactdata["time"]=time();
$imactdata["version"]=$ver;
$imactdata["state"]=0;
M("import_active")->save($imactdata);
/*---开始导入数据---*/
foreach ($imdata as $k=>$v){
$import['cat_name']=$v['CName'];
$import['cat_des']="";
$import['sort']=$k;
$import['store_id']=$stoid;
$import['version']=$ver;
$import['move_classid']=$v['Id'];
M('storage_category')->save($import); // 写入数据到数据库
}
$ry=M("import_active")->where("store_id",$stoid)->where('type',$ty1)->save(['state'=>1]);
$htm=" ";
return json(['code'=>0,'msg'=>"导入完成".$htm]);
exit();
}else{
return json(['code'=>-1,'msg'=>'系统未找到旧手店数据']);
}
}
//导入商品资料
public function import_goods($stoid,$sh,$ver,$page){
$json_str= I('json_str');
$json_str=json_encode($json_str,true);
//获取当前商品最大值
$max_goodssort=M('goods')->where(array('store_id'=>$stoid))->max('sort');
$ty1=5;
$url= IMPORT_URL."/API/ShopAPI.ashx?method=goodslist";
$data['Supplyid']=$sh['supplyid'];
$data['pagenumber']=$page;
$data['pagesize']=100;
$rs=$this->getInterfact($url,$data);
if($rs==-1){
return json(['code'=>-1,'msg'=>'系统未找到旧手店数据','ver' => $ver]);
}
$imdata=$rs['data']['item'];
if(!empty($imdata)){
$ry=M("import_active")->where("store_id",$stoid)->where('type',$ty1)->find();
if(empty($ry)) {
/*---插入活动记录表---*/
$imactdata["store_id"] = $stoid;
$imactdata["type"] = $ty1;
$imactdata["time"] = time();
$imactdata["version"] = $ver;
$imactdata["state"] = 0;
M("import_active")->save($imactdata);
}
/*---开始导入数据---*/
foreach ($imdata as $kk=>$vv){
/*--如果有导入的就继续下一个--*/
$ru=M('goods')->where('store_id',$stoid)->where('erpwareid',$vv['ERPWareId'])->find();
if(!empty($ru)){
continue;
}
$max_goodssort=$max_goodssort+1;
$import['erpwareid'] = $vv['ERPWareId']; //线下商品ID
if(!empty($vv['ClassId'])) {
/*--分类ID--*/
$rt = M("goods_category")->where('move_classid', $vv['ClassId'])->find();
if (!empty($rt)) {
$import['cat_id'] = $rt['id'];
}else{
mlog($vv['WareName'].'没有商品分类','import/'.$stoid);
}
}
/*---门店ID---*/
$import['sort']=$max_goodssort;
$import['store_id']=$stoid;
$import['goods_sn'] = trim($vv['WareNo']);
$import['goods_name'] = trim($vv['WareName']);
$import['goods_spec'] = trim($vv['SpecName']);
$import['goods_unitname'] = trim($vv['UnitName']);
$import['goods_color'] = trim($vv['ColorName']);
$import['goods_sn'] = $this->trimall($vv['WareNo']);
$import['goods_name'] = $this->trimall($vv['WareName']);
$import['goods_spec'] = $this->trimall($vv['SpecName']);
$import['goods_unitname'] = $this->trimall($vv['UnitName']);
$import['goods_color'] = $this->trimall($vv['ColorName']);
if($import['goods_spec']=="null") $import['goods_spec']="";
if($import['goods_color']=="null") $import['goods_color']="";
if(!empty($vv['WareBrandId'])) {
/*--品牌--*/
$rt1 = M("brand")->where('move_classid', $vv['WareBrandId'])->find();
if (!empty($rt1)) {
$import['brand_id'] = $rt1['id'];
}else{
mlog($vv['WareName'].'没有品牌','import');
}
}
/*--国别--*/
if(!empty($vv['NationId'])) {
$rt2 = M("nation")->where('move_classid', $vv['NationId'])->find();
if (!empty($rt2)) {
$import['nation_id'] = $rt2['id'];
}else{
mlog($vv['WareName'].'没有国别','import');
}
}
$pprice=$vv['PosPrice'];
if(empty($pprice)) {
$pprice = 0;
}else if($pprice=='null'){
$pprice = 0;
}
$price1=$vv['PurPrice'];
if(empty($price1)) {
$price1 = 0;
}else if($price1=='null'){
$price1 = 0;
}
if ($vv['WebStoQty']==="" || $vv['WebStoQty']===null)
{
$vv['WebStoQty']=9999;
}
$import['store_count'] = empty($vv['WebStoQty'])?0:$vv['WebStoQty'];
if ($vv['WebSelQty']==="" || $vv['WebSelQty']===null)
{
$vv['WebSelQty']=0;
}
$import['sales_sum'] = empty($vv['WebSelQty'])?0:$vv['WebSelQty'];
$import['weight'] = $vv['Weight']*1000;
$import['market_price'] =$pprice;
if (empty($vv['WebPrice']))
{
$import['shop_price'] = $vv['PosPrice'];
}
else
{
$import['shop_price'] = $vv['WebPrice'];
}
$import['cost_price'] = $price1;
$import['goods_content'] = htmlspecialchars_decode($vv['WebContent']);
$oimg=$vv['ImgUrl'];
$ohttp=$vv['Http'];
if($oimg=='null' || empty($oimg)){
$oimg = "";
}else{
if(trim($oimg)!=""){
$rss=explode('http',$oimg);
$rss1=explode('https',$oimg);
if(count($rss)<2 && count($rss1)<2) {
if ($ohttp == 'http://img.jmhcn.com/uppic/proimg/') {
$oimg = '/public/uppic/proimg/imgjmhcn/' . $oimg;
} else {
$oimg = '/public/uppic/proimg/' . $sh['ERPId'] . '/' . $oimg;
}
}
}
}
$import['original_img'] = $oimg;
$import['market_price'] = $vv['PosPrice'];
/*--上架时间--*/
$ontime=str_replace("\"",'',$vv['WUpDate']);
if(empty($ontime)){
$ontime=0;
}else if($ontime=="null"){
$ontime=0;
}else{
$ontime= strtotime($ontime);
}
$import['on_time']=$ontime;
/*--下架时间--*/
$downtime=str_replace("\"",'',$vv['WDownDate']);
if(empty($downtime)){
$downtime=0;
}else if($downtime=="null"){
$downtime=0;
}else{
$downtime= strtotime($downtime);
}
$import['down_time']=$downtime;
$now=time();
if($import['on_time'] <=$now and $import['down_time']>=$now){
$import['is_on_sale']=1;
}
$import['sku']=trim($vv['BarCode']);
$import['sku']=$this->trimall($vv['BarCode']);
$import['dis_type']=1;
/*---商品可选---*/
if($vv['DistributionType']!=-1 && $vv['IsMail']==true){
$import['distr_type']=0;
}
/*---商品到店自提---*/
if($vv['DistributionType']==-1){
$import['distr_type']=1;
}
/*---商品纯物流--*/
if($vv['DistributionType']!=-1 && $vv['IsMail']==false){
$import['distr_type']=2;
}
/*--统一运费价--*/
$import['uniform_exp_sum']=$vv['DistributionPrice'];
/*--统一运费的方式--*/
if($vv['DistributionType']==0){
$import['exp_sum_type']=1;
}
/*--全国包邮--*/
if($vv['DistributionType']==1){
$import['is_free_shipping']=1;
}
/*--什么数量什么价格--*/
$import['buyqty1'] = $vv['Buyqty1'];
$import['shopprice1'] = $vv['WebPrice1'];
$import['buyqty2'] = $vv['Buyqty2'];
$import['shopprice2'] = $vv['WebPrice2'];
/*--vip卡价格--*/
$import['cardprice1'] = $vv['CardPrice1'];
$import['cardprice2'] = $vv['CardPrice2'];
$import['cardprice3'] = $vv['CardPrice3'];
$import['version'] = $ver;
$import['is_erpwares']=1;
M('goods')->save($import); // 写入数据到数据库
//线下商品新增
/*--如果有导入的就继续下一个--*/
$geterpwareid=$vv['erpwareid'];
$wdata[]=$geterpwareid;
//更新线上
// $tk = tpCache('shop_info.api_token', $stoid);
// $res = getApiData("wxd.mshop.wares.add", $tk, array(['WareId' => $vv['ERPWareId']]));
/*--插入的ID--*/
$ins_id= M('goods')->getLastInsID();
/*--如果图片列表--*/
$imglist=json_decode($vv['goodslist'],true);
if(!empty($imglist)){
// 添加图片
foreach($imglist as $key => $val)
{
if($val == null) continue;
$ismain=0;
if($vv['ImgUrl']==$val['ImgUrl']){
$ismain=1;
}
$data = array(
'goods_id' => $ins_id,
'image_url' => "/public/uppic/proimg/".$sh['ERPId']."/".$val['ImgUrl'],
'store_id' => $stoid,
'ismain'=>$ismain,
'version'=>$ver,
);
M("GoodsImages")->insert($data);
}
}
unset($import);
}
$accdb = tpCache("shop_info.ERPId", $stoid);
$rs_erpinfo = getApiData_java_p("api/erp/msg/mshop/wares/insert", $accdb, json_encode($wdata), 1, 1000, null, "POST",1);
if($page==$rs['page']) {
$ry = M("import_active")->where("store_id", $stoid)->where('type', $ty1)->save(['state' => 1]);
}
//更改内容图片路径
$newsql="update wxd_goods set goods_content=replace(lower(goods_content),'http://wximg.jmhcn.com/uploads/".$sh['ERPId']."/','https://mshopimg.yolipai.net/public/uploads/".$sh['ERPId']."/') where store_id=".$stoid;
Db::query($newsql);
return json(['code' => 0, 'msg' => "导入完成", "allpage" => $rs['page'], 'ver' => $ver]);
exit();
}else{
return json(['code'=>-1,'msg'=>'系统未找到旧手店数据','ver' => $ver]);
}
}
/*---导入会员资料---*/
public function import_userinfo($stoid,$sh,$ver,$page){
$ty1=6;
$url= IMPORT_URL."/API/ShopAPI.ashx?method=viplist";
$data['Supplyid']=$sh['supplyid'];
$data['pagenumber']=$page;
$data['pagesize']=100;
$rs=$this->getInterfact($url,$data);
if($rs==-1){
return json(['code'=>-1,'msg'=>'系统未找到旧手店数据','ver' => $ver]);
}
$imdata=$rs['data']['item'];
if(!empty($imdata)){
$ry=M("import_active")->where("store_id",$stoid)->where('type',$ty1)->find();
if(empty($ry)) {
/*---插入活动记录表---*/
$imactdata["store_id"] = $stoid;
$imactdata["type"] = $ty1;
$imactdata["time"] = time();
$imactdata["version"] = $ver;
$imactdata["state"] = 0;
M("import_active")->save($imactdata);
}
/*---开始导入数据---*/
foreach ($imdata as $kk=>$vv){
/*--如果有导入继续下一个--*/
$ru=M('users')->where('store_id',$stoid)->where('erpvipid',$vv['ERPVIPId'])->find();
if(!empty($ru)){
continue;
}
$import['store_id'] = $stoid; //商家ID
$import['token'] = md5(time().mt_rand(1,99999));
$import['oauth'] = 'weixin';
$import['mobile'] = $vv['MobileTel']; //
$import['erpvipid'] = $vv['ERPVIPId']; //线下会员ID
$import['openid'] = $vv['WX_OpenId']; //线下会员公众号openid
$import['nickname'] = $vv['NickName'];
$import['vipname'] = $vv['VIPName'];
$import['head_pic'] = $vv['figureurl'];
$import['last_login'] = strtotime(str_replace("\"",'',$vv['LastLoginDate']));
$import['reg_time'] = strtotime(str_replace("\"",'',$vv['BillDate']));
$import['version'] = $ver;
/*---
$import['erpvipno'] = $vv['WX_OpenId'];
$import['pickup_id'] = $vv['WX_OpenId'];
$import['idcard'] = $vv['WX_OpenId'];
$import['address'] = $vv['WX_OpenId'];
$import['password'] = $vv['WX_OpenId'];
$import['email'] = $vv['WX_OpenId'];
$import['paypwd'] = $vv['WX_OpenId'];
$import['sex'] = $vv['WX_OpenId'];
$import['birthday'] = $vv['WX_OpenId'];
$import['user_money'] = $vv['WX_OpenId'];
$import['frozen_money'] = $vv['WX_OpenId'];
$import['distribut_money'] = $vv['WX_OpenId'];
$import['pay_points'] = $vv['WX_OpenId'];
$import['address_id'] = $vv['WX_OpenId'];
$import['reg_time'] = $vv['WX_OpenId'];
$import['qq'] = $vv['WX_OpenId'];
$import['mobile_validated'] = $vv['WX_OpenId'];
$import['oauth'] = $vv['WX_OpenId'];
$import['unionid'] = $vv['WX_OpenId'];
$import['province'] = $vv['WX_OpenId'];
$import['city'] = $vv['WX_OpenId'];
$import['district'] = $vv['WX_OpenId'];
$import['email_validated'] = $vv['WX_OpenId'];
$import['level_id'] = $vv['WX_OpenId'];
$import['discount'] = $vv['WX_OpenId'];
$import['total_amount'] = $vv['WX_OpenId'];
$import['is_lock'] = $vv['WX_OpenId'];
$import['is_distribut'] = $vv['WX_OpenId'];
$import['first_leader'] = $vv['WX_OpenId'];
$import['second_leader'] = $vv['WX_OpenId'];
$import['third_leader'] = $vv['WX_OpenId'];
---*/
M('users')->save($import); // 写入数据到数据库
unset($import);
}
if($page==$rs['page']) {
$ry = M("import_active")->where("store_id", $stoid)->where('type', $ty1)->save(['state' => 1]);
}
return json(['code' => 0, 'msg' => "导入完成", "allpage" => $rs['page'], 'ver' => $ver]);
exit();
}else{
return json(['code'=>-1,'msg'=>'系统未找到旧手店数据','ver' => $ver]);
}
}
//导入商品门店信息
public function import_storageinfo($stoid,$sh,$ver){
$ty1=7;
$url= IMPORT_URL."/API/ShopAPI.ashx?Method=shopstorage";
$data['Supplyid']=$sh['supplyid'];
$rs=$this->getInterfact($url,$data);
if($rs==-1){
return json(['code'=>-1,'msg'=>'系统未找到旧手店数据','ver' => $ver]);
}
$imdata=$rs['data']['item'];
if(!empty($imdata)){
/*---插入活动记录表---*/
$imactdata["store_id"]=$stoid;
$imactdata["type"]=$ty1;
$imactdata["time"]=time();
$imactdata["version"]=$ver;
$imactdata["state"]=0;
M("import_active")->save($imactdata);
/*---开始导入数据---*/
foreach ($imdata as $k=>$v){
$fr= M('pick_up')->where('store_id',$stoid)->where('keyid',$v['KeyId'])->find();
if(!empty($fr)){
continue;
}
$import['pickup_no']=$v['StorageNo'];
$import['pickup_name']=$v['StorageName'];
$import['pickup_address']=$v['Address'];
$import['pickup_phone']=$v['Tel'];
$import['pickup_contact']=$v['Manager'];
$import['store_id']=$stoid;
$import['keyid']=$v['KeyId'];
$import['lon']=$v['Location_X'];
$import['lat']=$v['Location_Y'];
$import['isstop']=$v['IsStop']?1:0;
$import['isoff']=$v['IsOff']?1:0;
if(!empty($v['ClassId'])) {
$rs = M('storage_category')->where('move_classid', $v['ClassId'])->find();
if ($rs) {
$import['category_id'] = $rs['cat_id'];
} else {
mlog('系统未找门店'.$v['StorageName'].'分类ID',"import");
//return json(['code' => -1, 'msg' => '系统未找门店'.$v['StorageName'].'分类ID','ver' => $ver]);
}
}
$import['version']=$ver;
M('pick_up')->save($import); // 写入数据到数据库
}
$ry=M("import_active")->where("store_id",$stoid)->where('type',$ty1)->save(['state'=>1]);
$htm=" ";
return json(['code'=>0,'msg'=>"导入完成".$htm,'ver' => $ver]);
exit();
}else{
return json(['code'=>-1,'msg'=>'系统未找到旧手店数据','ver' => $ver]);
}
}
//导入微信菜单
public function import_weixinmenu($stoid,$sh,$ver){
$ty1=8;
$url= IMPORT_URL."/API/ShopAPI.ashx?Method=wxmenu";
$data['Supplyid']=$sh['supplyid'];
$rs=$this->getInterfact($url,$data);
if($rs==-1){
return json(['code'=>-1,'msg'=>'系统未找到旧手店数据']);
}
$imdata=$rs['data']['item'];
if(!empty($imdata)){
/*---插入活动记录表---*/
$imactdata["store_id"]=$stoid;
$imactdata["type"]=$ty1;
$imactdata["time"]=time();
$imactdata["version"]=$ver;
$imactdata["state"]=0;
M("import_active")->save($imactdata);
/*---开始导入数据---*/
foreach ($imdata as $k=>$v){
$import["store_id"]=$stoid;
$import["move_menuid"]=$v['MenuId'];
$import["name"]=$v['MenuName'];
if($v['MenuName']=="关注触发"){
$import['gzstate']=1;
}else{
$import['gzstate']=0;
}
$import["sort"]=$v['OrdNo'];
$type=$v['WXDType'];
if($type=='view'){
if(strpos($v['WebURL'],"://mshop.jmhcn.com")== false){
$import['value']=$v['WebURL'];
}
else
{
$import['value']="";
}
}
if($type=='click'){
$import['value']=$v['LoginRemark'];
}
$import["type"]=$type;
$rt=M("wx_user")->where('store_id',$stoid)->find();
if($rt){
$import["token"]=$rt['token'];
}else{
return json(['code'=>-1,'msg'=>'系统未找到商家微信设置','ver' => $ver]);
}
if(!empty($v['PMenuId'])) {
$rt = M("wx_menu")->where('store_id', $stoid)->where('move_menuid', $v['PMenuId'])->find();
if ($rt) {
$import["pid"] = $rt['id'];
} else {
mlog($v['MenuName'].'无上级菜单','import');
continue;
}
}
$import["version"]=$ver;
M('wx_menu')->save($import); // 写入数据到数据库
}
$ry=M("import_active")->where("store_id",$stoid)->where('type',$ty1)->save(['state'=>1]);
$htm=" ";
return json(['code'=>0,'msg'=>"导入完成".$htm]);
exit();
}else{
return json(['code'=>-1,'msg'=>'系统未找到旧手店数据']);
}
}
//导入短信
public function import_sms($stoid,$sh,$ver){
$ty1=9;
$url= IMPORT_URL."/API/ShopAPI.ashx?Method=shopinfo";
$data['Supplyid']=$sh['supplyid'];
$rs=$this->getInterfact($url,$data);
if($rs==-1){
return json(['code'=>-1,'msg'=>'系统未找到旧手店数据']);
}
$imdata=$rs['data']['item'];
if(!empty($imdata)){
$sms=$imdata[0]['SMSQty'];
if($sms) {
/*---插入活动记录表---*/
$imactdata["store_id"]=$stoid;
$imactdata["type"]=$ty1;
$imactdata["time"]=time();
$imactdata["version"]=$ver;
$imactdata["state"]=0;
M("import_active")->save($imactdata);
/*--去除商家本来有的短信数--*/
$ddd=M('store')->where('store_id',$stoid)->field('smsqty')->find();
if($ddd['smsqty']){
$sms=$sms+$ddd['smsqty'];
}
/*--新手店上的短信数量更新--*/
$rrs=M('store')->where('store_id',$stoid)->save(['smsqty'=>$sms]);
if($rrs) {
$url1= IMPORT_URL."/API/ShopAPI.ashx?Method=updatesmsqty";
$data1['Supplyid']=$sh['supplyid'];
/*--旧手店短信数量清0--*/
$rs2=$this->getInterfact($url1,$data1);
if($rs2==-1){
$rrs=M('store')->where('store_id',$stoid)->save(['smsqty'=>0]);
return json(['code' => -1, 'msg' => "导入完成失败"]);
}else{
//更新后的数据库记录
$newData = M('store')->where("store_id", $stoid)->find();
F("shop_info" . $stoid, $newData, TEMP_PATH);
}
$ry = M("import_active")->where("store_id", $stoid)->where('type', $ty1)->save(['state' => 1]);
//$htm = " ";
return json(['code' => 0, 'msg' => "导入完成"]);
}
}else{
return json(['code' => -1, 'msg' => "旧手店短信数量为0"]);
}
exit();
}else{
return json(['code'=>-1,'msg'=>'系统未找到旧手店数据']);
}
}
//导入首页图片轮播
public function import_index_swiper($stoid,$sh,$ver){
$ty1=10;
$url= IMPORT_URL."/API/ShopAPI.ashx?Method=ggimg";
$data['Supplyid']=$sh['supplyid'];
$data['type']=1;
$rs=$this->getInterfact($url,$data);
if($rs==-1){
return json(['code'=>-1,'msg'=>'系统未找到旧手店数据']);
}
$imdata=$rs['data']['item'];
if(!empty($imdata)){
/*---插入活动记录表---*/
$imactdata["store_id"]=$stoid;
$imactdata["type"]=$ty1;
$imactdata["time"]=time();
$imactdata["version"]=$ver;
$imactdata["state"]=0;
M("import_active")->save($imactdata);
/*---开始导入数据---*/
foreach ($imdata as $k=>$v){
$import["store_id"]=$stoid;
$import["pid"]=2;
$import["ad_name"]=$v['title'];
$dd=str_replace("\"",'',$v['pubdate']);
$import["start_time"]=strtotime($dd);
$import["end_time"]=strtotime("$dd +5 year");
$img=$v['img'];
if(trim($img)!=""){
$rss=explode('http',$img);
$rss1=explode('https',$img);
if(count($rss)<2 && count($rss1)<2){
$img='/public/uppic/ggimg/'.$sh['ERPId'].'/'.$img;
}
}
$import["ad_code"]=$img;
$import["version"]=$ver;
M('ad')->save($import); // 写入数据到数据库
}
$ry = M("import_active")->where("store_id", $stoid)->where('type', $ty1)->save(['state' => 1]);
$htm = " ";
return json(['code' => 0, 'msg' => "导入完成".$htm]);
exit();
}else{
return json(['code'=>-1,'msg'=>'系统未找到旧手店数据']);
}
}
//导入会员首页背景图片
public function import_user_info($stoid,$sh,$ver){
$ty1=11;
$url= IMPORT_URL."/API/ShopAPI.ashx?Method=ggimg";
$data['Supplyid']=$sh['supplyid'];
$data['type']=2;
$rs=$this->getInterfact($url,$data);
if($rs==-1){
return json(['code'=>-1,'msg'=>'系统未找到旧手店数据']);
}
$imdata=$rs['data']['item'];
if(!empty($imdata)){
/*---插入活动记录表---*/
$imactdata["store_id"]=$stoid;
$imactdata["type"]=$ty1;
$imactdata["time"]=time();
$imactdata["version"]=$ver;
$imactdata["state"]=0;
M("import_active")->save($imactdata);
/*---开始导入数据---*/
foreach ($imdata as $k=>$v){
$import["store_id"]=$stoid;
$import["pid"]=401;
$import["ad_name"]=$v['title'];
$dd=str_replace("\"",'',$v['pubdate']);
$import["start_time"]=strtotime($dd);
$import["end_time"]=strtotime("$dd +5 year");
$img=$v['img'];
if(trim($img)!=""){
$rss=explode('http',$img);
$rss1=explode('https',$img);
if(count($rss)<2 && count($rss1)<2){
$img='/public/uppic/ggimg/'.$sh['ERPId'].'/'.$img;
}
}
$import["ad_code"]=$img;
$import["version"]=$ver;
M('ad')->save($import); // 写入数据到数据库
}
$ry = M("import_active")->where("store_id", $stoid)->where('type', $ty1)->save(['state' => 1]);
$htm = " ";
return json(['code' => 0, 'msg' => "导入完成".$htm]);
exit();
}else{
return json(['code'=>-1,'msg'=>'系统未找到旧手店数据']);
}
}
/*---会员关注---*/
function import_wx_guanzhu($stoid,$sh,$ver,$page){
$ty1=12;
$url= IMPORT_URL."/API/ShopAPI.ashx?Method=openlist";
$data['Supplyid']=$sh['supplyid'];
$data['pagenumber']=$page;
$data['pagesize']=100;
$rs=$this->getInterfact($url,$data);
if($rs==-1){
return json(['code'=>-1,'msg'=>'系统未找到旧手店数据','ver' => $ver]);
}
$wx=M('wx_user')->where('store_id',$stoid)->find();
if(empty($wx)){
return json(['code'=>-1,'msg'=>'商家还未配置微信信息','ver' => $ver]);
}
$wxid=$wx['wxid'];
$imdata=$rs['data']['item'];
if(!empty($imdata)){
$ry=M("import_active")->where("store_id",$stoid)->where('type',$ty1)->find();
if(empty($ry)) {
/*---插入活动记录表---*/
$imactdata["store_id"] = $stoid;
$imactdata["type"] = $ty1;
$imactdata["time"] = time();
$imactdata["version"] = $ver;
$imactdata["state"] = 0;
M("import_active")->save($imactdata);
}
/*---开始导入数据---*/
foreach ($imdata as $kk=>$vv){
$ru=M('wx_openlist')->where('store_id',$stoid)->where('wxopenid',$vv['WX_OpenId'])->find();
if(!empty($ru)){
continue;
}
$import['store_id'] = $stoid; //商家ID
$import['wxid'] = $wxid; //
$import['wxopenid'] = $vv['OpenId']; //线下会员ID
$import['openid'] = $vv['WX_OpenId']; //线下会员公众号openid
$isg=$vv['IsIn']?1:0;
$import['issubscribe'] = $isg;
$start=str_replace("\"",'',$vv['AddDate']);
$end=str_replace("\"",'',$vv['pubdate']);
$import['subscribe_date'] = strtotime($start);
$import['unsubscribe_date'] = strtotime($end);
$staffno=$vv['"StaffNo'];
if(empty($staffno)) $staffno="";
if($staffno=="null") $staffno="";
$import['version'] = $ver;
M('wx_openlist')->save($import); // 写入数据到数据库
unset($import);
}
if($page==$rs['page']) {
$ry = M("import_active")->where("store_id", $stoid)->where('type', $ty1)->save(['state' => 1]);
}
return json(['code' => 0, 'msg' => "导入完成", "allpage" => $rs['page'], 'ver' => $ver]);
exit();
}else{
return json(['code'=>-1,'msg'=>'系统未找到旧手店数据','ver' => $ver]);
}
}
//导入商品分类
/**
* @param $stoid 商家stoid
* @param $sh 商家data
* @param $ver 版本号
* @return \think\response\Json
*/
public function import_wx_tuisong($stoid,$sh,$ver){
$url= IMPORT_URL."/API/ShopAPI.ashx?Method=wxtslist";
$data['Supplyid']=$sh['supplyid'];
$data['type']=13;
$rs=$this->getInterfact($url,$data);
if($rs==-1){
return json(['code'=>-1,'msg'=>'系统未找到旧手店数据']);
}
$imdata=$rs['data']['item'];
if(!empty($imdata)){
/*---插入活动记录表---*/
$imactdata["store_id"]=$stoid;
$imactdata["type"]=13;
$imactdata["time"]=time();
$imactdata["version"]=$ver;
$imactdata["state"]=0;
M("import_active")->save($imactdata);
/*---开始导入数据---*/
foreach ($imdata as $k=>$v){
$rr=M("wx_sendlist")->where('typeid',$v['TypeId'])->where('store_id',$stoid)->find();
if($rr){
mlog($v['TypeId'].'已经存储','import_wx_tuisong/'.$stoid);
continue;
}
$import['template_id']=$v['template_id'];
$import['typeid']=$v['TypeId'];
$import['store_id']=$stoid;
$import['add_time']=time();
$import['version']=$ver;
M("wx_sendlist")->save($import);
}
$ry=M("import_active")->where("store_id",$stoid)->where('type',13)
->where('version',$ver)->save(['state'=>1]);
$htm="";
return json(['code'=>0,'msg'=>"导入完成".$htm]);
exit();
}else{
return json(['code'=>-1,'msg'=>'系统未找到旧手店数据']);
}
}
//导入2.0订单资料
public function import_order($stoid,$sh,$ver,$page){
$ty1=14;
$url= IMPORT_URL."/API/ShopAPI.ashx?method=orderlist";
$data['Supplyid']=$sh['supplyid'];
$data['pagenumber']=$page;
$data['pagesize']=100;
$rs=$this->getInterfact($url,$data);
if($rs==-1){
return json(['code'=>-1,'msg'=>'系统未找到旧手店数据','ver' => $ver]);
}
$imdata=$rs['data']['item'];
if(!empty($imdata)){
$ry=M("import_active")->where("store_id",$stoid)->where('type',$ty1)->find();
if(empty($ry)) {
/*---插入活动记录表---*/
$imactdata["store_id"] = $stoid;
$imactdata["type"] = $ty1;
$imactdata["time"] = time();
$imactdata["version"] = $ver;
$imactdata["state"] = 0;
M("import_active")->save($imactdata);
}
/*---开始导入数据---*/
foreach ($imdata as $kk=>$vv){
/*--如果有导入的就继续下一个--*/
$ru=M('order')->where('store_id',$stoid)->where('order_sn',$vv['Number'])->find();
if(!empty($ru)){
continue;
}
$import['order_sn']=$vv['Number'];
$user=M('users')->where('mobile',$vv['MobileTel'])->where('store_id',$stoid)->field('user_id')->find();
if($user) {
$import['user_id'] = $user['user_id']; //会员ID
}
switch ($vv['FBillState']){
case -1: //取消订单
$import['pay_status']=0;
$import['order_status']=3;
$import['shipping_status']=0;
break;
case 0: //未付款
$import['pay_status']=0;
$import['order_status']=0;
$import['shipping_status']=0;
break;
case 1: //已付款
$import['pay_status']=1;
$import['order_status']=1;
$import['shipping_status']=0;
break;
case 2: //已发货
$import['pay_status']=1;
$import['order_status']=1;
$import['shipping_status']=1;
break;
case 3: //已完成,确认收货
$import['pay_status']=1;
$import['order_status']=2;
$import['shipping_status']=1;
break;
case 4: //已付款取消订单
$import['pay_status']=1;
$import['order_status']=3;
$import['shipping_status']=0;
break;
case 5: //已评论
$import['pay_status']=1;
$import['order_status']=4;
$import['shipping_status']=1;
break;
}
/*--如果有退款要处理退款单,且退款完成
退款申请状态:0=正常状态 1=申请状态 3=卖家处理中 2=退款完成
--*/
if($vv['out_refund_State']==2){
$import['order_status']=6;
}
$import['consignee']=$vv['name'];
$import['address'] = $vv['Address'];
$import['mobile'] = $vv['tel'];
$import['shipping_code'] = $vv['ExpressCompanyNo'];
$import['shipping_name'] = $vv['ExpressCompany'];
if($vv['PayType']=='微支付'){
$import['pay_code'] ='weixin';
$import['pay_name'] ='微信支付';
$import['pay_sn'] =$vv['PayNo'];
}
switch ($vv['ExpressType']){
case 1://快递
$import['exp_type'] = 0;
break;
case 2://送货上门
$import['exp_type'] = 1;
break;
case 3://到店自提
$import['exp_type'] = 1;
break;
case 4://包邮
$import['exp_type'] = 0;
break;
}
$pkid=M('pick_up')->where('keyid',$vv['KeyId'])->field('pickup_id')->find();
if($pkid)
$import['pickup_id'] = $pkid['pickup_id'];
$import['isdel']=$vv['IsDel']==false?0:1;
if($vv['TIntegral'])
$import['integral']=$vv['TIntegral']; //应付积分
$import['order_amount']=$vv['TSum']; //应付金额
//订单总价
$import['total_amount']=$vv['ProSum']+$vv['ExpressPrice'];
//配送费
$import['shipping_price']=$vv['ExpressPrice'];
$import['add_time']= strtotime($vv['BillDate']); //应付金额
//快递单号
if($vv['ExpressNo'])
$import['expressno']=$vv['ExpressNo'];
//物流发货时间
if($vv['Adm_date']){
$import['shipping_time']=strtotime($vv['Adm_date']);
}
//支付时间
if($vv['PayDate']){
$import['pay_time']=strtotime($vv['PayDate']);
}
//合并单号
if($vv['hbnumber']){
$import['parent_sn']=$vv['hbnumber'];
}
$import['store_id'] = $stoid;
$import['version']=$ver;
M('order')->save($import); // 写入数据到数据库
/*--插入的ID--*/
$ins_id= M('order')->getLastInsID();
$fhid=0;
if(($vv['FBillState']==2 || $vv['FBillState']==3 || $vv['FBillState']==5) &&
($vv['ExpressType']==1 || $vv['ExpressType']==4)){
$dd=[
'store_id'=>$stoid,
'order_id'=>$ins_id,
'order_sn'=>$vv['Number'],
'consignee'=>$vv['name'],
'mobile'=>$vv['tel'],
'shipping_code'=>$vv['ExpressCompanyNo'],
'shipping_name'=>$vv['ExpressCompany'],
'shipping_price'=>$vv['ExpressPrice'],
'country'=>0,
'province'=>0,
'city'=>0,
'district'=>0,
'is_del'=>0
];
if($user) {
$dd['user_id'] = $user['user_id']; //会员ID
}
$adm=M("admin")->where('store_id',$stoid)->find();
if($adm){
$dd['admin_id'] = $adm['admin_id']; //会员ID
}
if($vv['Address'])
$dd['address']=$vv['Address']; //地址
else
$dd['address']=" ";
//快递单号
if($vv['ExpressNo'])
$dd['invoice_no']=$vv['ExpressNo'];
else
$dd['invoice_no']=" ";
//物流发货时间
if($vv['Adm_date']){
$dd['create_time']=strtotime($vv['Adm_date']);
}
$dd['version']=$ver;
$fhid=M("delivery_doc")->save($dd);
}
/*--如果图片列表--*/
$goods_id_list="";
$imglist=json_decode($vv['goodslist'],true);
if(!empty($imglist)){
// 添加图片
foreach($imglist as $key => $val)
{
if($val == null) continue;
$good=M('goods')
->where('store_id',$stoid)
->where('erpwareid',$val['ERPWareId'])->find();
$dat = array(
'order_id' => $ins_id,
'order_sn' => $vv['Number'],
'goods_num' => $val['Qty'],
'goods_price' => $val['Price'],
'account' => $val['Price'],
'member_goods_price' =>$val['Price'],
'store_id'=>$stoid,
);
if($val['WareName'])
$dat['goods_name']= $val['WareName'];
else if($good['goods_name'])
$dat['goods_name']= $good['goods_name'];
if($val['WareNo'])
$dat['goods_sn']= $val['WareNo'];
else if($good['goods_sn'])
$dat['goods_sn']= $good['goods_sn'];
if($val['BarCode'])
$dat['sku']= $val['BarCode'];
if($good){
$dat['goods_id']=$good['goods_id'];
$dat['cost_price']=$good['cost_price'];
$dat['market_price'] = $good['market_price'];
$goods_id_list.=$good['goods_id'].',';
}
if(($vv['FBillState']==2 || $vv['FBillState']==3 || $vv['FBillState']==5) &&
($vv['ExpressType']==1 || $vv['ExpressType']==4)){
$dat['is_send'] = 1;
$dat['delivery_id'] = $fhid;
}
$dat['version']=$ver;
M("order_goods")->insert($dat);
}
}
/*--如果有退款要处理退款单--*/
if($vv['out_refund_State']>0){
$goods_id_list= substr($goods_id_list,0,strlen($goods_id_list)-1);
$redata=[
'order_id'=>$ins_id,
'order_sn'=>$vv['Number'],
'type'=>0,
'reason'=>$vv['Remark'],
'store_id'=>$stoid,
'back_money'=>$vv['TSum'],
'goods_id_list'=>$goods_id_list,
];
if($vv['TIntegral'])
$redata['back_integral']=$vv['TIntegral'];
if($vv['out_refund_Date'])
$redata['addtime']=strtotime($vv['out_refund_Date']);
switch ($vv['out_refund_State']){
case 1:
$redata['status']=0;
break;
case 2:
$redata['status']=2;
$redata['ok_time']=strtotime($vv['out_refund_AdmDate']);
break;
}
if($user) {
$redata['user_id'] = $user['user_id']; //会员ID
}
$redata['version']=$ver;
M("return_goods")->insert($redata);
}
unset($import);
}
if($page==$rs['page']) {
$ry = M("import_active")->where("store_id", $stoid)->where('type', $ty1)->save(['state' => 1]);
}
return json(['code' => 0, 'msg' => "导入完成", "allpage" => $rs['page'], 'ver' => $ver]);
exit();
}else{
return json(['code'=>-1,'msg'=>'系统未找到旧手店数据','ver' => $ver]);
}
}
//导入美妆图库
public function import_mztk()
{
$page = I('p/d');
$store_id = I('stoid/d');
$count = M('goods')->where('store_id', $store_id)->count();//总数据数
$allpage = ceil($count / 100);//总页数
$Page = new AjaxPage($count, 100);
$data = M('goods')->where('store_id', $store_id)->limit($Page->firstRow . ',' . $Page->listRows)->select();
$ry = M("import_active")->where("store_id", $store_id)->where('type', 100)->find();
if (empty($ry)) {
$import['store_id'] = $store_id;
$import['type'] = 100;
$import['time'] = time();
$import['state'] = 0;
M('import_active')->save($import);
}
if (!empty($data)) {
foreach ($data as $k => $v) {
$bar = M('barcodegoods')->where('sku', $v['sku'])->field('goods_id')->find();
if (empty($bar)) {
$bar_data['sku'] = $v['sku'];
$bar_data['goods_sn'] = $v['goods_sn'];
$bar_data['goods_name'] = $v['goods_name'];
$bar_data['store_id'] = $store_id;
$bar_data['goods_content'] = $v['goods_content'];
$bar_data['original_img'] = $v['original_img'];
$bar_data['sort'] = M('barcodegoods')->Max('sort') + 1;
$bar_id = M('barcodegoods')->add($bar_data);
$bar_img = M('goods_images')->where('goods_id', $v['goods_id'])->select();
if ($bar_img) {
foreach ($bar_img as $kk => $vv) {
$bar_img[$kk]['goods_id'] = $bar_id;
unset($bar_img[$kk]['img_id']);
unset($bar_img[$kk]['store_id']);
unset($bar_img[$kk]['img_sort']);
}
M('barcodegoods_images')->insertAll($bar_img);
}
}
}
if ($page == $allpage) {
M("import_active")->where("store_id", $store_id)->where('type', 100)->save(['state' => 1]);//更新
}
return json(['code' => 1, 'msg' => '导入完成', 'allpage' => $allpage,]);
exit();
} else {
return json(['code' => 0, 'msg' => '系统未找到商品数据']);
}
}
/*-------------------接口分装--------------------*/
public function getInterfact($url,$data){
$parm= parameter_connect($data);
$url = $url.'&'.$parm;
mlog("地址:".$url,"getInterfact");
//$rs = httpRequest($url);
$rs=get_easy_url($url);
if ($rs) {
$dd = json_decode($rs, true);
if (!empty($dd) && $dd["code"] == 0) {
return $dd;
} else {
return "-1";
}
} else {
mlog($rs,'getInterfact');
return "-1";
}
}
/*------------------版本删除------------------*/
public function delver(){
$ty=I('type/d');
$ver=I('ver');
$stoid=I('stoid');
$ry=M("import_active")->where("store_id",$stoid)->where('type',$ty)->delete();
switch ($ty){
case 1:
M("goods_category")->where('version',$ver)->where("store_id",$stoid)->delete();
$htm="";
return json(['code'=>0,'msg'=>$htm]);
break;
case 2:
M("brand")->where('version',$ver)->where("store_id",$stoid)->delete();
$htm="";
return json(['code'=>0,'msg'=>$htm]);
break;
case 3:
M("nation")->where('version',$ver)->where("store_id",$stoid)->delete();
$htm="";
return json(['code'=>0,'msg'=>$htm]);
break;
case 4:
M("storage_category")->where('version',$ver)->where("store_id",$stoid)->delete();
$htm="";
return json(['code'=>0,'msg'=>$htm]);
break;
case 5:
M("goods")->where('version',$ver)->where("store_id",$stoid)->delete();
M("goods_images")->where('version',$ver)->where("store_id",$stoid)->delete();
$htm="";
return json(['code'=>0,'msg'=>$htm]);
break;
case 6:
M("users")->where('version',$ver)->where("store_id",$stoid)->delete();
$htm="";
return json(['code'=>0,'msg'=>$htm]);
break;
case 7:
M("pick_up")->where('version',$ver)->where("store_id",$stoid)->delete();
$htm="";
return json(['code'=>0,'msg'=>$htm]);
break;
case 8:
M("wx_menu")->where('version',$ver)->where("store_id",$stoid)->delete();
$htm="";
return json(['code'=>0,'msg'=>$htm]);
break;
case 9:
//M("store")->where('version',$ver)->where("store_id",$stoid)->delete();
$htm="";
return json(['code'=>0,'msg'=>$htm]);
break;
case 10:
M("ad")->where('version',$ver)->where("store_id",$stoid)->delete();
$htm="";
return json(['code'=>0,'msg'=>$htm]);
break;
case 11:
M("ad")->where('version',$ver)->where("store_id",$stoid)->delete();
$htm="";
return json(['code'=>0,'msg'=>$htm]);
break;
case 12:
M("wx_openlist")->where('version',$ver)->where("store_id",$stoid)->delete();
$htm="";
return json(['code'=>0,'msg'=>$htm]);
break;
case 13:
M("wx_sendlist")->where('version',$ver)->where("store_id",$stoid)->delete();
$htm="";
return json(['code'=>0,'msg'=>$htm]);
break;
case 14:
M("order")->where('version',$ver)->where("store_id",$stoid)->delete();
M("order_goods")->where('version',$ver)->where("store_id",$stoid)->delete();
M("return_goods")->where('version',$ver)->where("store_id",$stoid)->delete();
M("delivery_doc")->where('version',$ver)->where("store_id",$stoid)->delete();
$htm="";
return json(['code'=>0,'msg'=>$htm]);
break;
}
return json(['code'=>-1,'msg'=>"删除失败"]);
}
//导入商品资料
public function updata_goods(){
$stoid=I('stoid');
$page=I('page');
/*----访问接口----*/
//$sh=M('store')->where("store_id",$stoid)->find();
$sh=tpCache('shop_info',$stoid);
$url= IMPORT_URL."/API/ShopAPI.ashx?method=goodslist";
$data['Supplyid']=$sh['supplyid'];
$data['pagenumber']=$page;
$data['pagesize']=100;
$rs=$this->getInterfact($url,$data);
if($rs==-1){
return json(['code'=>-1,'msg'=>'系统未找到旧手店数据','ver' => $ver]);
}
$imdata=$rs['data']['item'];
if(!empty($imdata)){
/*---开始更新数据---*/
foreach ($imdata as $kk=>$vv){
/*--如果有导入的就继续下一个--*/
$WareNo=$vv['WareNo'];
$import['store_count'] = empty($vv['WebStoQty'])?0:$vv['WebStoQty'];
$import['sales_sum'] = empty($vv['WebSelQty'])?0:$vv['WebSelQty'];
$rss=M('goods')->where('store_id',$stoid)->where('goods_sn',$WareNo)->save($import);
}
return json(['code' => 0, 'msg' => "导入完成", "allpage" => $rs['page'], 'ver' => $ver]);
exit();
}else{
return json(['code'=>-1,'msg'=>'系统未找到旧手店数据','ver' => $ver]);
}
}
//更新线下商品资料
public function updata_erpgoods(){
$stoid=I('stoid');
$page=I('page');
$pagenum=500;
$tk = tpCache('shop_info.api_token', $stoid);
$accdb = tpCache("shop_info.ERPId", $stoid);
/*----访问接口----*/
$where=array('store_id'=>$stoid,'is_erpwares'=>0);
$model = M('goods');
$count = $model->where($where)->count();
$Page = new AjaxPage($count, $pagenum);
$show = $Page->show();
$imdata = $model->where($where)->order('goods_id asc')->limit($Page->firstRow . ',' . $Page->listRows)->select();
if(!empty($imdata)){
/*---开始更新数据---*/
foreach ($imdata as $kk=>$vv){
/*--如果有导入的就继续下一个--*/
$geterpwareid=$vv['erpwareid'];
$wdata[]=$geterpwareid;
//更新线上
$goodslistid[]=$vv['goods_id'];
}
$import['is_erpwares']=1;
$rss=M('goods')->where('store_id',$stoid)->where('goods_id',array("in",$goodslistid))->save($import);
$rs = getApiData_java_p("api/erp/msg/mshop/wares/insert", $accdb, json_encode($wdata), 1, 1000, null, "POST",1);
return json(['code' => 0, 'msg' => "更新完成","allpage" =>$count]);
exit();
}else{
return json(['code'=>-1,'msg'=>'无数据了']);
}
}
//添加备注
public function addremark()
{
$store_id = I('get.store_id/d', 0);
$this->assign('store_id',$store_id);
return $this->fetch();
}
public function addremarkhand()
{
$store_id = I('get.store_id/d', 0);
$remark = I('remark');
$adddata['store_id']=$store_id;
$adddata['remark']=$remark;
$adddata['addtime']=time();
$addres=M('store_remark')->save($adddata);
if (empty($addres))
{
return json(['code'=>-1,'msg'=>'添加失败']);
}
return json(['code'=>1,'msg'=>'添加成功']);
}
public function remarklist()
{
$model = M('store_remark');
$list = array();
$pagenum=20;//每页显示多少条
if ((int)I('pagenum/s')>0)
{
$pagenum=I('pagenum/s');
}
$keywords = I('keywords/s');
$store_id = I('store_id/d');
if ($keywords) {
$where['a.remark']=array(['like','%'.$keywords.'%']);;
}
if ($store_id) {
$where['a.store_id']=$store_id;
}
$count = $model->alias('a')->where($where)->count();
$Page = $pager = new Page($count,$pagenum);
$list = $model->alias('a')
->where($where)
->limit($Page->firstRow.','.$Page->listRows)->order('addtime desc')
->field('a.*')
->select();
$show = $Page->show();
$this->assign('keywords',$keywords);
$this->assign('list',$list);// 赋值数据集
$this->assign('page',$show);// 赋值分页输出
$this->assign('pager',$pager);
$this->assign('pagenum',$pagenum);
$this->assign('oldurl',urlencode(curPageURL()));
return $this->fetch();
}
public function trimall($str){
return preg_replace('/\r|\n|\t/', '', $str);
}
}