getAll(array('status' => 1, 'edate' => time() - 86400)); if ($coupon && Dever::project('message')) { foreach ($coupon as $k => $v) { $coupon_info = Dever::db('goods/coupon')->find($v['coupon_id']); $msg = $coupon_info['name'] . ",要到期啦!"; $msg_param['type'] = 2;//消息类型2是优惠券 $msg_param['id'] = $v['id']; $msg_param['coupon_id'] = $v['coupon_id']; $msg_param = Dever::json_encode($msg_param); Dever::load('message/lib/data')->push(-1, $v['uid'], '优惠劵到期提醒', $msg, 2, 1, false, $msg_param); if (Dever::load('wechat_applet') && $v['uid'] && $v['uid'] > 0) { $user = Dever::db('passport/wechat')->one(array('uid' => $v['uid'], 'system_id' => 1, 'system_source' => 5)); if ($user && $user['openid']) { $send = array ( 'thing1' => array ( 'value' => $coupon_info['name'], ), 'time2' => array ( 'value' => date('Y-m-d H:i', $v['edate']), ), 'thing3' => array ( 'value' => '您有一张优惠券即将到期,请尽快使用', ), ); $send = Dever::json_encode($send); Dever::load('wechat_applet/subscribe')->sendOne('act_2', 1, $user['openid'], 'pages/my/coupon/coupon', $send, Dever::config('base')->wechat_applet); } } } } } /** * 处理待支付订单提醒 * * @return mixed */ public function order_api() { # 获取超过5分钟未支付的订单 $time = time(); $where['status'] = 1; $where['cdate'] = $time + 300; $order = Dever::db('shop/sell_order')->getDataByTime($where); if ($order && Dever::project('message')) { $config = Dever::db('shop/sell_order')->config; foreach ($order as $k => $v) { if ($time - $v['cdate'] >= 900) { Dever::db('shop/sell_order')->update(array('where_id' => $v['id'], 'status' => 11)); } else { $msg = "您有一笔待付款订单,请及时付款。\r\n订单15分钟内未付款自动取消~"; $shop = Dever::db('shop/info')->one($v['shop_id']); $msg_param['type'] = 1;//消息类型1是订单消息 $msg_param['id'] = $v['id']; $msg_param['name'] = $shop['name']; $msg_param = Dever::json_encode($msg_param); Dever::load('message/lib/data')->push(-1, $v['uid'], '订单待支付提醒', $msg, 2, 1, false, $msg_param); if (Dever::load('wechat_applet') && $v['uid'] && $v['uid'] > 0) { $user = Dever::db('passport/wechat')->one(array('uid' => $v['uid'], 'system_id' => 1, 'system_source' => 5)); if ($user && $user['openid']) { $v['status_name'] = $config['status'][$v['status']]; $send = array ( 'character_string5' => array ( 'value' => $v['order_num'], ), 'amount11' => array ( 'value' => $v['price'] . '元', ), 'phrase13' => array ( 'value' => $v['status_name'], ), 'thing12' => array ( 'value' => '您有一笔待付款订单,请及时付款。', ), ); $send = Dever::json_encode($send); Dever::load('wechat_applet/subscribe')->sendOne('order_pay', 1, $user['openid'], 'pages/app/order/order?id=' . $v['id'], $send, Dever::config('base')->wechat_applet); } } } } } } /** * 处理销售数据 生成每天的销量统计 * * @return mixed */ public function sell_api() { $num = Dever::input('num', 1); $start = Dever::input('start', date('Y-m-d', strtotime('-'.$num.' day'))); $end = Dever::input('end', date('Y-m-d')); $where['status'] = '1,2,3,4,5,6'; $start = Dever::maketime($start . ' 00:00:00'); $end = Dever::maketime($end . ' 23:59:59'); $day = intval(($end - $start)/86400); $shop = Dever::db('shop/info')->select(); foreach ($shop as $k => $v) { $where['shop_id'] = $v['id']; for($i=0; $i<=$day; $i++) { $where['start'] = $start + 86400*$i; $where['end'] = $start + 86400*$i + 86399; $data = array(); $data['shop_id'] = $v['id']; $data['day'] = $where['start']; $info = Dever::db('shop/sell_stat')->find($data); $cash = Dever::db('shop/sell_order')->getCashNum($where); $data['cash'] = $cash['total']; $data['order'] = Dever::db('shop/sell_order')->getOrderNum($where); $goods = Dever::db('shop/sell_order')->getGoodsNum($where); $data['goods'] = $goods['total']; $data['area'] = $v['area']; $data['province'] = $v['province']; $data['city'] = $v['city']; $data['county'] = $v['county']; $data['town'] = $v['town']; if (!$info) { Dever::db('shop/sell_stat')->insert($data); } else { $data['where_id'] = $info['id']; Dever::db('shop/sell_stat')->update($data); } } } } public function buy_api() { $num = Dever::input('num', 1); $start = Dever::input('start', date('Y-m-d', strtotime('-'.$num.' day'))); $end = Dever::input('end', date('Y-m-d')); $where['status'] = '1,2,3,4,5,6'; $start = Dever::maketime($start . ' 00:00:00'); $end = Dever::maketime($end . ' 23:59:59'); $day = intval(($end - $start)/86400); $shop = Dever::db('shop/info')->select(); foreach ($shop as $k => $v) { $where['shop_id'] = $v['id']; for($i=0; $i<=$day; $i++) { $where['start'] = $start + 86400*$i; //$where['end'] = $start + 86400*$i + 86399; $data = array(); $data['type'] = 1; $data['type_id'] = $v['id']; $data['day'] = $where['start']; $info = Dever::db('shop/buy_stat')->find($data); $cash = Dever::db('shop/buy_order')->getCashNum($where); $data['cash'] = $cash['total']; $cash = Dever::db('shop/buy_order')->getPCashNum($where); $data['p_cash'] = $cash['total']; $data['order'] = Dever::db('shop/buy_order')->getOrderNum($where); $goods = Dever::db('shop/buy_order')->getGoodsNum($where); $data['goods'] = $goods['total']; $data['area'] = $v['area']; $data['province'] = $v['province']; $data['city'] = $v['city']; $data['county'] = $v['county']; $data['town'] = $v['town']; if (!$info) { Dever::db('shop/buy_stat')->insert($data); } else { $data['where_id'] = $info['id']; Dever::db('shop/buy_stat')->update($data); } } } } # 处理月度对账数据 废弃,直接用结算单处理 public function sell_month_api() { return; $num = Dever::input('num', -1); if ($num > 0) { $month = Dever::input('start', date('Y-m', strtotime('-'.$num.' month'))); } else { $month = Dever::input('start', date('Y-m')); } $where['status'] = 2; $start = Dever::maketime($month . '-01 00:00:00'); $end = Dever::maketime($month . '-31 23:59:59'); $shop = Dever::db('shop/info')->select(); foreach ($shop as $k => $v) { $where['shop_id'] = $v['id']; $where['start'] = $start; $where['end'] = $end; $data = array(); $data['shop_id'] = $v['id']; $data['month'] = $start; $info = Dever::db('shop/sell_stat_month')->find($data); $data['cash'] = Dever::db('shop/sell_order')->getCashNum($where); $data['order'] = Dever::db('shop/sell_order')->getOrderNum($where); $data['goods'] = Dever::db('shop/sell_order')->getGoodsNum($where); if (!$info) { Dever::db('shop/sell_stat_month')->insert($data); } else { $data['where_id'] = $info['id']; Dever::db('shop/sell_stat_month')->update($data); } } } # 处理月度对账数据:门店采购 废弃,直接用结算单处理 public function buy_month_api() { return; $num = Dever::input('num', -1); if ($num > 0) { $month = Dever::input('start', date('Y-m', strtotime('-'.$num.' month'))); } else { $month = Dever::input('start', date('Y-m')); } $where['status'] = '5,6'; $start = Dever::maketime($month . '-01 00:00:00'); $end = Dever::maketime($month . '-31 23:59:59'); $shop = Dever::db('shop/info')->select(); foreach ($shop as $k => $v) { $where['type'] = 1; $where['type_id'] = $v['id']; $where['start'] = $start; $where['end'] = $end; $data = array(); $data['shop_id'] = $v['id']; $data['month'] = $start; $info = Dever::db('shop/buy_stat_month')->find($data); $data['cash'] = Dever::db('shop/buy_order')->getCashNum($where); $data['order'] = Dever::db('shop/buy_order')->getOrderNum($where); $data['goods'] = Dever::db('shop/buy_order')->getGoodsNum($where); if (!$info) { Dever::db('shop/buy_stat_month')->insert($data); } else { $data['where_id'] = $info['id']; Dever::db('shop/buy_stat_month')->update($data); } } } # 处理月度对账数据:仓库对账 废弃,直接用结算单处理 public function store_month_api() { return; $num = Dever::input('num', -1); if ($num > 0) { $month = Dever::input('start', date('Y-m', strtotime('-'.$num.' month'))); } else { $month = Dever::input('start', date('Y-m')); } $where['status'] = '5,6'; $start = Dever::maketime($month . '-01 00:00:00'); $end = Dever::maketime($month . '-31 23:59:59'); $store = Dever::db('store/info')->select(); foreach ($store as $k => $v) { $where['type'] = 2; $where['type_id'] = $v['id']; $where['start'] = $start; $where['end'] = $end; $data = array(); $data['store_id'] = $v['id']; $data['month'] = $start; $info = Dever::db('shop/store_stat_month')->find($data); $data['cash'] = Dever::db('shop/buy_order')->getCashNum($where); $data['order'] = Dever::db('shop/buy_order')->getOrderNum($where); $data['goods'] = Dever::db('shop/buy_order')->getGoodsNum($where); if (!$info) { Dever::db('shop/store_stat_month')->insert($data); } else { $data['where_id'] = $info['id']; Dever::db('shop/store_stat_month')->update($data); } } } # 处理月度对账数据:工厂对账 废弃,直接用结算单处理 public function factory_month_api() { return; $num = Dever::input('num', -1); if ($num > 0) { $month = Dever::input('start', date('Y-m', strtotime('-'.$num.' month'))); } else { $month = Dever::input('start', date('Y-m')); } $where['status'] = '5,6'; $start = Dever::maketime($month . '-01 00:00:00'); $end = Dever::maketime($month . '-31 23:59:59'); $factory = Dever::db('factory/info')->select(); foreach ($factory as $k => $v) { $where['source_type'] = 3; $where['source_id'] = $v['id']; $where['start'] = $start; $where['end'] = $end; $data = array(); $data['factory_id'] = $v['id']; $data['month'] = $start; $info = Dever::db('shop/factory_stat_month')->find($data); $data['cash'] = Dever::db('shop/buy_order')->getCashNum($where); $data['order'] = Dever::db('shop/buy_order')->getOrderNum($where); $data['goods'] = Dever::db('shop/buy_order')->getGoodsNum($where); if (!$info) { Dever::db('shop/factory_stat_month')->insert($data); } else { $data['where_id'] = $info['id']; Dever::db('shop/factory_stat_month')->update($data); } } } }