修改订单的收货时间(MySQL)脚本
需求
下单时间为21:00-23:59,并且收货时间为第二天的订单,将这些订单的收货时间改为第三天;
- #!/bin/bash
- ###time:2016-04-26
- ###This script is change "specify_receive_time"
- ###作用:修改下单时间为21:00:00-23:59:59并且收货时间为第二天的订单,将收货时间改为第三天
- TIME="`date +%F`"
- NEXT_DAY="`date -d next-day +%F`"
- LAST_DAY="`date -d last-day +%F`"
- MYSQL_HOST="ip地址"
- MYSQL_DB="miracle"
- MYSQL_CMD="/server/mysql5.5.39/bin/mysql"
- MYSQL_USER="chtime"
- MYSQL_PWD="密码"
- ###SELECT_MY="use miracle;"
- ###根据下单时间段:21:00:00-23:59:59(前一天),查询出收货时间
- ###SELECT_RETIME="SELECT specify_receive_time,order_sn FROM orders WHERE create_time>('"$LAST_DAY" 21:00:00') and create_time<('"$LAST_DAY" 23:59:59') and specify_receive_time>('"$TIME" 00:00:00') and specify_receive_time<('"$TIME" 23:59:59');"
- ORDER_DIR="/data/order"
- ###ORDER_FILE="$ORDER_DIR/change_receive_time-`date +%F`.txt"
- ORDER_FILE="$ORDER_DIR/change_receive_time-"$TIME".txt"
- ###生成log file
- LOG_FILE="$ORDER_DIR/change_receive_time-"$TIME".log"
- exec 1>> "$LOG_FILE"
- exec 2>> "$LOG_FILE"
- function receive_time(){
- ###取出指定时间内对应的收货时间和订单号
- [ ! -d "$ORDER_DIR" ] && mkdir "$ORDER_DIR" -p
- $MYSQL_CMD -h$MYSQL_HOST -u$MYSQL_USER -p$MYSQL_PWD $MYSQL_DB -e "SELECT specify_receive_time,order_sn FROM orders WHERE create_time>('"$LAST_DAY" 21:00:00') and create_time<('"$LAST_DAY" 23:59:59') and specify_receive_time>('"$TIME" 00:00:00') and specify_receive_time<('"$TIME" 23:59:59');"|grep -v "spe" > "$ORDER_DIR"/change_receive_time-"$TIME".txt
- if [ `ls -l "$ORDER_DIR"/change_receive_time-"$TIME".txt|wc -l` -eq 1 ]
- then
- echo "collect specify_receive_time and order_sn success"
- else
- exit 1
- fi
- }
- function change_receive_time(){
- ###将取出的收货时间修改为第二天
- ORDER_NUM="`wc -l $ORDER_FILE|awk '{print $1}'`"
- ORDER_FILE="$ORDER_DIR/change_receive_time-"$TIME".txt"
- if [ `wc -l $ORDER_FILE|awk '{print $1}'` -eq 0 ]
- then
- echo "Do not have receive_time data"
- exit 2
- else
- echo "collect receive_time successful, Beginning change receive_time"
- fi
- for n in `seq 1 $ORDER_NUM`
- do
- RECEIVE_TIME="`cat $ORDER_FILE|awk '{print $2}'|sed -n "$n"p`"
- ORDER_SNN="`cat $ORDER_FILE|awk '{print $3}'|sed -n "$n"p`"
- $MYSQL_CMD -h$MYSQL_HOST -u$MYSQL_USER -p$MYSQL_PWD $MYSQL_DB -e "UPDATE orders SET specify_receive_time = '"$NEXT_DAY" "$RECEIVE_TIME"' WHERE order_sn = '"$ORDER_SNN"';"
- done
- if [ $? -eq 0 ]
- then
- echo "change specify_receive_time success"
- else
- echo "change specify_receive_time failed"
- fi
- }
- function main(){
- receive_time
- change_receive_time
- }
- main
修改订单的收货时间(MySQL)脚本的更多相关文章
- mysql脚本手动修改成oracle脚本
今天有一个需求,立了一个新项目,新项目初步定了使用了现有的框架,但数据库要求由原来的mysql改成oracle,所以原来的基础版本的数据库脚本就需要修改成符合oracle的脚本,修改完成后,总结了一下 ...
- [转]centos6.5修改yum安装的mysql默认目录
本文转自:https://www.cnblogs.com/fefjay/p/6044444.html 0.说明 Linux下更改yum默认安装的mysql路径datadir.linux下,MySQL默 ...
- centos6.5修改yum安装的mysql默认目录
0.说明 Linux下更改yum默认安装的mysql路径datadir. linux下,MySQL默认的数据文档存储目录为/var/lib/mysql. 假如要把MySQL目录移到/home/data ...
- 按时间划分备份MySQL脚本
按时间划分备份MySQL脚本 #!/bin/bash BASE_PATH=/data/dump/ JIRA_FILE_NAME=ZY798-`date +%Y%m%d%H%M%S`; cd /usr/ ...
- Magento后台手动修改订单状态方法及手动修改方法php
订单详细内容页手动修改订单状态方法: 打开此文件:app\design\adminhtml\default\default\template\sales\order\view\history.phtm ...
- 批量修改照片名称的shell脚本
代码这种经常完善的东西,其实是不太适合使用博客来发布的. 以下是一个批量修改照片名称的shell脚本: 事情是这样的,虽然手机拍的照片文件名是按照日期来确定的,但是是这种形式的 IMG_mmddYY_ ...
- cmd执行mssql脚本或者执行mysql脚本
private static int ExecuteMSSql(DbInfo db, string sqlPath) { Console.WriteLine("=============== ...
- LoadRunner利用ODBC编写MySql脚本
最近做了几周的LoadRunner测试,有一些心得,记录下来,以便以后查找. LoadRunner测试数据库是模拟客户端去连接数据库服务器,因此,需要协议(或者说驱动的支持).LoadRunner本身 ...
- 数据市中心全省中国mysql脚本
1.查尔斯省 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2h6aGFvY2hhbw==/font/5a6L5L2T/fontsize/400/fill ...
随机推荐
- ubuntu下编译protobuf
参考: http://blog.csdn.net/wuzuyu365/article/details/51900676 1.下载protobuf下载地址:https://github.com/goog ...
- (Array)169. Majority Element
Given an array of size n, find the majority element. The majority element is the element that appear ...
- Hadoop内功修炼
IT十八掌<大数据内功修炼系列课程>强势推出!由实战派名师徐培成亲自操刀,学完做不了大数据我们负全责!2015.12.21前,优惠价:4999(名额已不多!)2015.12.31前,优惠价 ...
- ORA-04021 timeout occurred while waiting to lock object
用户要求删除一个数据库的用户 GREENPASS,在删除的过程中,报错如下: drop user GREENPASS * ERROR at line 1: ORA-04021: timeout occ ...
- hbase 协处理器
一.服务端1.安装Protobuf2.RPC proto 定义文件:Examples.protooption java_package = "org.apache.hadoop.hbase. ...
- android bundle存放数据详解
转载自:android bundle存放数据详解 正如大家所知道,Activity之间传递数据,是将数据存放在Intent或者Bundle中 例如: 将数据存放倒Intent中传递: 将数据放到Bun ...
- 第一天 :学习node.js
① node.js环境配置 我学过的语言最简单的一门 直接百度就可以配置 ② 每个入门 的程序都是从helloworld开始 代码如下 : var http=require('http'); http ...
- 【zZ】OpenCV HOGDescriptor 参数图解
http://blog.csdn.net/raodotcong/article/details/6239431
- c++ stl容器set成员函数介绍及set集合插入,遍历等用法举例
c++ stl集合set介绍 c++ stl集合(Set)是一种包含已排序对象的关联容器.set/multiset会根据待定的排序准则,自动将元素排序.两者不同在于前者不允许元素重复,而后者允许. 1 ...
- 通过sqoop来传输mysql/oracle/vertica数据至HBASE
首先要注意将连接用的jar包,放到sqoop目录下,我的是/var/lib/sqoop 如果没有主键,则要加上-m 1 export正确的jdk目录 当做key的列必须唯一存在,不然报错 --mysq ...