修改订单的收货时间(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 ...
随机推荐
- 今天早上刚刚碰到的一个问题oracle数据归档已满,只能进行内部连接,ORA-00257 archiver error. 错误的处理方法
archive log 日志已满ORA-00257: archiver error. Connect internal only, until freed 错误的处理方法1. 用sys用户登录 sq ...
- Struts2:类型转换器
常规的String,int能自动转换,但是,有些类型不是这么简单,比如输入字符串,但需要Date.自定义类型,因此需要自定义类型转换类型转换器分全局和局部按惯例,局部的优先级高于全局 需求: 1.输入 ...
- 对restful的理解
最近在学习web api,从而涉及到了restful风格,我的理解是restful风格,每个链接都会对资源进行相应的操作(CRUD),如果一个链接不包含资源,则可能不符合restful风格,借此想请教 ...
- hive导入数据
替换分隔符为\ sed -i 's/\t/\x1/g;s/;/\x1/g' test1.txt gz压缩 gzip -r test1.txt 查看文件 hdfs dfs -ls /hive/wareh ...
- C#调用 ICSharpCode.SharpZipLib.Zip 实现解压缩功能公用类
最近想用个解压缩功能 从网上找了找 加自己修改,个人感觉还是比较好用的,直接上代码如下 using System; using System.Linq; using System.IO; using ...
- 最新原创:Power8伴随云计算横空出世
Power8伴随云计算横空出世 自从IBM将并不赚钱的x86服务器业务转手给联想之后,从此IBM便开始了硬件转型的新里程碑.伴随此事继续发酵的还有Power System Linux落户北京,从此IB ...
- nginx 使用
1.下载nginx包http://files.cnblogs.com/files/jyjin/nginx.zip 2.解压后找到nginx.conf文件进行配置 3.配置server选项: serve ...
- 两种open()函数
C语言中文件操作函数中,open()有两种形式: 一种形式是有两个参数open2: 另一种形式是有三个参数open3: 共有的参数有两个,第一个是"被打开文件的路径",第二个是&q ...
- Ninject之旅之六:Ninject约定
摘要 在小的应用系统中一个一个注册一些服务类型不怎么困难.但是,如果是一个实际的有上百个服务的应用程序呢?约定配置允许我们使用约定绑定一组服务,而不用一个一个分别绑定. 要使用约定配置,需要添加Nin ...
- 18.虚拟机linux上网问题
1.1.VMware中虚拟机网络的三种设置第一种:桥接(bridged)第二种:NAT第三种:Host only .该模式下仅主机可以上网,虚拟机不能上网. 1.2.虚拟机上网方式1:NAT方式设置步 ...