//添加关联赠品(确定)
public function addGiveGoods($ids,$child,$parent_sku_no){
$license=new LicenseModel();
$personnel_code=$_SESSION['user']['personnel_code'];
$time=date("Y-m-d H:i:s",time());
$sku_gift=M('sku_gift');
$sku_gift_stock=M('sku_gift_stock');
$sku_nos=array_column($child,'sku_no');
$sgg_where['sku_no']=array('in',$sku_nos);
$sku_gift_stock_info=$sku_gift_stock->field('sku_no,is_online')->where($sgg_where)->select();
foreach($sku_gift_stock_info as $k=>$v){
$sgg[$v['sku_no']]=$v['is_online'];
}
$s_where['parent_sku_no']=$parent_sku_no;
$s_where['is_deleted']=;
$s_where['sku_no']=array('in',$sku_nos);
$s_info=$sku_gift->field('id,num,create_time,is_deleted,is_online,create_user')->where($s_where)->select();
foreach($s_info as $k=>$v){
$ss[$v['id']]=$v;
}
$pars2=array();
$pars3=array();
$sku_nos_info=array();
foreach($child as $k=>$v){
if(!empty($v['id'])){
$data[]=array(
'id'=>$v['id'],
'parent_sku_no'=>$parent_sku_no,
'sku_no'=>$v['sku_no'],
'create_time'=>$ss[$v['id']]['create_time'],
'modified'=>$time,
'num'=>$v['num'],
'is_deleted'=>$ss[$v['id']]['is_deleted'],
'is_online'=>$ss[$v['id']]['is_online'],
'update_user'=>$personnel_code,
'create_user'=>$ss[$v['id']]['create_user'],
);
}else{
$data[]=array(
'id'=>$v['id'],
'parent_sku_no'=>$parent_sku_no,
'sku_no'=>$v['sku_no'],
'create_time'=>$time,
'modified'=>$time,
'num'=>$v['num'],
'is_deleted'=>,
'is_online'=>empty($sgg[$v['sku_no']])?:,
'update_user'=>$personnel_code,
'create_user'=>$personnel_code,
);
$sku_nos_info[]=$v['sku_no'];
}
if(empty($v['id'])){
$pars2[]=array(
'message'=>$_SESSION['user']['true_name'].":赠品".$v['sku_no']."被商品".$parent_sku_no."关联了",
'create_time'=>$time,
'create_id'=>$personnel_code,
'type'=>,
'sku_no'=>$v['sku_no']
);
}else{
if($ss[$v['id']]['num'] !=$v['num']){
$pars3[]=array(
'message'=>$_SESSION['user']['true_name'].":修改了商品".$parent_sku_no."所关联的赠品".$v['sku_no']."的数量,修改前[".$ss[$v['id']]['num']."],修改后[".$v['num']."]",
'create_time'=>$time,
'create_id'=>$personnel_code,
'type'=>,
'sku_no'=>$parent_sku_no
);
}
}
}
foreach($data as $k=>$v){
if(empty($v['id'])){
$update[]="('','".$v['parent_sku_no']."','".$v['sku_no']."','".$v['create_time']."','".$v['modified']."','".$v['num']."','".$v['is_deleted']."','".$v['is_online']."','".$v['update_user']."','".$v['create_user']."')";
}else{
$update[]="('".$v['id']."','".$v['parent_sku_no']."','".$v['sku_no']."','".$v['create_time']."','".$v['modified']."','".$v['num']."','".$v['is_deleted']."','".$v['is_online']."','".$v['update_user']."','".$v['create_user']."')";
}
}

if(!empty($update)){
$value=implode(',',$update);
}
if(!empty($data)){
$Model = new \Think\Model();
$res=$Model->execute("insert into ".C('DB_PREFIX')."sku_gift(`id`,`parent_sku_no`,`sku_no`,`create_time`,`modified`,`num`,`is_deleted`,`is_online`,`update_user`,`create_user`) VALUES $value ON DUPLICATE KEY UPDATE `id`=VALUES(id),`parent_sku_no`=VALUES(parent_sku_no),`sku_no`=VALUES(sku_no),`create_time`=VALUES(create_time),`modified`=VALUES(modified),`num`=VALUES(num),`is_deleted`=VALUES(is_deleted),`is_online`=VALUES(is_online),`update_user`=VALUES(update_user),`create_user`=VALUES(create_user)");
if(!$res){
return ;
}
}
if(!empty($ids)){
$ids=explode(",",$ids);
$sg_where['id']=array('in',$ids);
$res_in=$sku_gift->field('parent_sku_no,sku_no')->where($sg_where)->select();
$ar=array(
'is_deleted'=>,
'modified'=>$time,
'update_user'=>$personnel_code,
);
$res=$sku_gift->data($ar)->where($sg_where)->save();
if(!$res){
return ;
}
$skus=implode(",",array_column($res_in,'sku_no'));
if(!empty($res_in)){
$pars=array(
'message'=>$_SESSION['user']['true_name'].":商品".$parent_sku_no."的关联赠品".$skus."被删除了",
'create_time'=>date('Y-m-d H:i:s',time()),
'create_id'=>$_SESSION['user']['personnel_code'],
'type'=>,
'sku_no'=>$parent_sku_no
);
$license->writeLog('sku_gift_log',$pars);
}
}
if(!empty($pars2)){
$license->writeAllLog('sku_gift_log',$pars2);
}
if(!empty($sku_nos_info)){
$sku_noss=implode(",",$sku_nos_info);
$params=array(
'message'=>$_SESSION['user']['true_name'].":商品".$parent_sku_no."添加了关联赠品".$sku_noss,
'create_time'=>date('Y-m-d H:i:s',time()),
'create_id'=>$_SESSION['user']['personnel_code'],
'type'=>,
'sku_no'=>$parent_sku_no
);
$license->writeLog('sku_gift_log',$params);
}
if(!empty($pars3)){
$license->writeAllLog('sku_gift_log',$pars3);
}
return true;
}

mysql批量插入更新操作的更多相关文章

  1. Java批量插入更新操作

    以前总是说批量插入和更新的效率比非批量的要高,但是一直没有使用过批量处理数据的功能,现在由于项目中需要处理的数据量比较大,所以使用了批量处理的功能,java代码如下: 1.java实现批量插入数据: ...

  2. mybatis + mysql 批量插入、删除、更新

    mybatis + mysql 批量插入.删除.更新 Student 表结构 批量插入 public int insertBatchStudent(List<Student> studen ...

  3. mybatis+mysql批量插入和批量更新、存在及更新

    mybatis+mysql批量插入和批量更新 一.批量插入 批量插入数据使用的sql语句是: insert into table (字段一,字段二,字段三) values(xx,xx,xx),(oo, ...

  4. day38 mycql 初识概念,库(增删改查),表(增删改)以及表字段(增删改查),插入更新操作

    在Navicat中把已经生成的表逆向成模型 数据库上,右键-逆向数据库到模型 ego笔记: 增删改查 文件夹(库) 增 create database day43 charset utf8; 改 al ...

  5. MySQL 批量插入值

    MySQL 批量插入值 今天遇到个问题,需要从类似以下语句中的各个小括号[其实也有中括号等]抽取相关字段进行组合[相关规则,此处略去不提],并保存到数据库中,此时如果每次插入一条,会连续进行多次插入, ...

  6. Oracle/Mysql批量插入的sql,效率比较高

    1.oracle 批量插入: insert into tableName(col1,col2,col3...)    select 1,'第一行第一列值','第二列值' from dual union ...

  7. mysql批量插入简单测试数据

    mysql批量插入简单测试数据 # 参考网址: https://www.2cto.com/database/201703/618280.html 1.mysql创建测试表 CREATE TABLE ` ...

  8. mybatis oracle mysql 批量插入时的坑爹问题--需谨记

    mybatis oracle mysql 批量插入一.oracle的批量插入方式insert into db(id, zgbh, shbzh) select '1', '2', '3' from du ...

  9. mysql批量update更新,mybatis中批量更新操作

    在日常开发中,有时候会遇到批量更新操作,这时候最普通的写法就是循环遍历,然后一条一条地进行update操作.但是不管是在服务端进行遍历,还是在sql代码中进行遍历,都很耗费资源,而且性能比较差,容易造 ...

随机推荐

  1. 如何去掉Eclipse注释中英文单词的拼写错误检查

  2. Mac旧机「焕」新机过程记录

    一.首先我做了非硬件上的优化处理,在升级到10.14之前还是挺管用的.但是为了使用最新的iOS SDK,升级到10.14以后,已经不管用了. 1.设置->通用 将动画相关的选项去掉. 2.设置- ...

  3. 查找字符串strscan

    ;Author : Bing ;Date : 1/10/2019;Usage: modify log drictory according to actual drictory fileopen fh ...

  4. Hibernate笔记一

    背景 jdbc的优缺点 A:直接操作底层,提供了简单,便捷的访问数据库方法,跨平台比较强,灵活,可以写很多赋值的SQL语句:是最底层的数据库操作,所以效率比较高,Sql语句可以自己选择写,采用效率最高 ...

  5. 吴裕雄--天生自然PythonDjangoWeb企业开发:框架基础和技术选型

    简单的Web Server import socket eol1 = b'\n\n' eol2 = b'\n\r\n' body = '''Hello,world!<h1>tszrwyx& ...

  6. H.264 中的Annex B格式和AVCC格式

    首先要理解的是没有标准的H.264基本流格式.文档中的确包含了一个Annex,特别是描述了一种可能的格式Annex B格式,但是这个并不是一个必须要求的格式.标准文档中指定了视频怎样编码成独立的包,但 ...

  7. mysql 优化策略(如何利用好索引)

    博客园 首页 联系 管理 随笔- 3282  文章- 0  评论- 157  mysql联合索引 命名规则:表名_字段名1.需要加索引的字段,要在where条件中2.数据量少的字段不需要加索引3.如果 ...

  8. LibreOJ #2006. 「SCOI2015」小凸玩矩阵

    想了挺久没想出来,一看题解恍然大悟.一个数对应一行和一列,二分答案,凡是小于等于答案的就连边.如果满足能够取出 \(n - k + 1\) 个不比二分中点 \(mid\) 大的数,那么r = mid, ...

  9. Kubernetes 深入学习(一) —— 入门和集群安装部署

    一.简介 1.Kubernetes 是什么 Kubernetes 是一个全新的基于容器技术的分布式架构解决方案,是 Google 开源的一个容器集群管理系统,Kubernetes 简称 K8S. Ku ...

  10. webView之可加载JavaScript

    有两个方法 方法一: 首先就是在xml文件中添加webview标签很简单不用说明 初始化控件 private WebView wv= (WebView) findViewById(R.id.wv); ...