errcode::ErrParamter,'msg' => "请输入活动开始和结束时间.");
return false;
}
$start_tm = strtotime($input['start_time']);
if($start_tm == false) {
$ret = array('code' => errcode::ErrParamter,'msg' => "错误的活动开始时间格式,请参考,2016-06-04 10:00:00.");
return false;
}
if($start_tm < time()) {
$cur_time = date("Y-m-d H:i:s");
$ret = array('code' => errcode::ErrParamter,'msg' => "活动时间不能小于服务器当前时间:{$cur_time}");
return false;
}
if(isset($input['end_time'])) {
$end_tm = strtotime($input['end_time']);
} else {
$end_tm = $start_tm + 24 * 3600;
}
if($end_tm <= $start_tm) {
$ret = array('code' => errcode::ErrParamter,'msg' => "活动结束时间必须大于开始时间");
return false;
}
$param = [];
$param['send_start_date'] = $start_tm;
$param['send_end_date'] = $end_tm;
return $param;
}
public function make_activityOp()
{
if(empty($_GET['bonus_rate'])) {
return self::outerr(errcode::ErrParamter,"bonus_rate 参数为空");
}
$rate_moneys = $this->parse_rate($_GET['bonus_rate']);
if($rate_moneys == false) {
return self::outerr(errcode::ErrParamter,"bonus_rate 或者 send_type 参数错误");
} else {
$_GET['rate_money'] = $rate_moneys;
}
$param = $this->check_param($_GET,$ret);
if($param == false) {
return self::outerr($ret['code'],$ret['msg']);
}
$param = array_merge($param,$_GET);
$this->add_system($param);
$ret = account::admin_make_bonus($param,$rate_moneys);
if($ret === false) {
return self::outerr(errcode::ErrBonus,"生成红包失败.");
} else {
$type_sn = $ret['type_sn'];
$url = BASE_SITE_URL . "/mobile/index.php?act=bonusex&op=open&client_type=wap&type_sn={$type_sn}";
return self::outsuccess(array('type_sn' => $ret,'url' => "{$url}"));
}
}
public function makeOp()
{
if(empty($_GET['bonus_rate'])) {
return self::outerr(errcode::ErrParamter,"bonus_rate 参数为空");
}
$rate_moneys = $this->parse_rate($_GET['bonus_rate']);
if($rate_moneys == false) {
return self::outerr(errcode::ErrParamter,"bonus_rate 或者 send_type 参数错误");
} else {
$_GET['rate_money'] = $rate_moneys;
}
$param = $_GET;
$this->add_system($param);
$ret = account::admin_make_bonus($param,$rate_moneys);
if($ret === false) {
return self::outerr(errcode::ErrBonus,"生成红包失败.");
} else {
$type_sn = $ret['type_sn'];
$url = BASE_SITE_URL . "/mobile/index.php?act=bonusex&op=open&client_type=wap&type_sn={$type_sn}";
return self::outsuccess(array('type_sn' => $ret,'url' => "{$url}"));
}
}
public function resort_realtaionOp()
{
$mod = Model('member_relation');
$items = $mod->field('member_mobile')->limit(false)->select();
foreach ($items as $item)
{
try
{
$mobile = intval($item['member_mobile']);
$relation = new \relation\mem_relation(0,$mobile);
$relation->sort_mobile();
}
catch (Exception $ex) {
Log::record($ex->getMessage(),Log::ERR);
}
}
}
public function putomsOp()
{
$pay_sn = $_GET['pay_sn'];
$trade_no = $_GET['trade_no'];
if(empty($pay_sn) || empty($trade_no)) {
return self::outerr(errcode::ErrApptype);
}
$logic_delivery = Logic('delivery');
$ret = $logic_delivery->putOrder($pay_sn, $trade_no);
if($ret == true) {
return self::outsuccess(array('state' => true));
} else {
return self::outerr(array('state' => false));
}
}
public function putallOp()
{
$order = Model('order');
$items = $order->table('order')->field('pay_sn,trade_no')->where(array('order_state' => array('in',array(ORDER_STATE_PAY))))->limit(false)->select();
foreach($items as $val)
{
$pay_sn = $val['pay_sn'];
$trade_no = $val['trade_no'];
$logic_delivery = Logic('delivery');
$ret = $logic_delivery->putOrder($pay_sn, $trade_no);
if(!$ret) {
Log::record("putallOp pay_sn={$pay_sn} trade_no = {$trade_no}");
}
}
}
public function reset_bonus_typeOp()
{
$bonus_type = Model('bonus_type');
$ret = $bonus_type->where(array('type_id' => array('gt',0),'bonus_rate' => 0))->update(array('bonus_rate' => 30));
if($ret == false) {
return self::outerr(errcode::ErrDB);
} else {
return self::outsuccess(null);
}
}
public function reset_bonus_snOp()
{
$bonus_type = Model('bonus_type');
$types = $bonus_type->field('type_id,type_sn')->where(array('type_id' => array('gt',0)))->limit(false)->select();
foreach ($types as $type)
{
$type_id = intval($type['type_id']);
$type_sn = $type['type_sn'];
$user_bonus = Model('user_bonus');
$bonuses = $user_bonus->field('bonus_id,bonus_sn')->where(array('type_id' => $type_id))->limit(false)->select();
$count = count($bonuses);
if($count <= 0) {
continue;
} elseif($count <= 10) {
$format = "%d";
} elseif($count <= 100) {
$format = "%02d";
} elseif ($count <= 1000) {
$format = "%03d";
} else {
$format = "%04d";
}
$pos = 0;
foreach ($bonuses as $bonus) {
$bonus_sn = $type_sn . sprintf($format,$pos);
$user_bonus->where(array('bonus_id' => intval($bonus['bonus_id'])))->update(array('bonus_sn' => $bonus_sn));
if($user_bonus->affected_rows() <= 0) {
Log::record("update bonus_sn error",Log::ERR);
}
$pos++;
}
}
}
// // 更新商品序列号
// public function updateGoodsSerialOp()
// {
// $sku_map = Model()->table('sku_map')->limit(10000)->select();
//
// foreach ($sku_map as $value) {
//
// $condition = array('goods_serial_tm' => trim($value['tmsku']));
// $updateinfo = array('goods_serial' => $value['psku']);
//
// $ret = Model('goods_common')->where($condition)->update($updateinfo);
// }
//
// joutput_data(array("ret" => 'complete'));
// }
//
// private function getSign($data)
// {
// return md5(self::$appkey . self::$appPassWord . $data);
// }
//
// public function omsOp()
// {
// $outdata = '{"type":"PUT_TRADE","data":[{"tid":"8000000000026501","total_fee":"360.00","discount_fee":"","post_fee":"0.00","created":"2016-01-11 14:51:39","pay_time":"2016-01-11 14:51:39","buyer_message":"","express_code":"","pay_account_type":"\u5fae\u4fe1\u652f\u4ed8","pay_account_id":"","pay_account_no":"1007070763201601112636550146","buyer_nick":"anonymous_36365","buyer_email":"","trade_memo":"","receiver_name":"\u6c5f\u6d77\u82d7","receiver_state":"\u4e0a\u6d77","receiver_city":"\u4e0a\u6d77\u5e02","receiver_district":"\u5f90\u6c47\u533a","receiver_address":"\u756a\u79ba\u8def876\u53f7","receiver_zip":"000000","receiver_mobile":"13911129867","receiver_phone":"","order_size":1,"orderList":[{"oid":"80000000000265010","tid":"8000000000026501","title":"DQ\u8482\u73c2 \u5378\u5986\u6cb9170ml 170ml","price":"360.00","num":"1","outer_sku_id":"P0300292","outer_sku_properties_name":"DQ\u8482\u73c2 \u5378\u5986\u6cb9170ml 170ml","buyer_nick":"anonymous_36365"}]}]}';
// $sign = $this->getSign($outdata);
// $headers = array('v_appkey: ' . self::$appkey, 'v_sign: ' . $sign, 'Content-Type: application/json');
// http_request(self::$appURL, $outdata, 'POST', false, $headers);
// }
//
// public function test_callbackOp()
// {
// $param['order_sn'] = $_POST['tid'];
// $status = $_POST['status'];
// //$param['consign_time'] = $_POST['consign_time'];
// $param['shipping_code'] = $_POST['logistics_no'];
// $param['oms_code'] = $_POST['logistics_company'];
//
// if (intval($status) === 1) {
// $logic_delivery = Logic('delivery');
// $ret = $logic_delivery->handleCallback($param);
// joutput_data($ret);
// } else {
//
// }
// }
//
// /**
// * 首页
// */
// public function indexOp()
// {
//
// $t = time();
//
// $t1 = date("D F d Y", 1452355200);
//
//// $payment = 500;
//// $payment = $payment = $this->getAndUpdateBonus(36218,$payment);
//// joutput_data(array('$payment'=>$payment));
//
// // 修改地址
// $order_id = "order_id in (297, 401, 923, 928,1097,1145,1150,1154,1244,1248,1281)";
// $model = Model('order_common')->where($order_id)->select();
// $model_address = Model('area');
// $recv_info_array = array();
// if ($model != null) {
//
// foreach ($model as $val) {
// $recv_info = unserialize($val['reciver_info']);
//
// $recv_info['area'] = $model_address->formatAddress($recv_info['area']);
// Model()->table('recv_info')->insert(array('order_id' => $val['order_id'], 'reciver_info' => serialize($recv_info)));
//
// Model('order_common')->where(array('order_id' => $val['order_id']))->update(array('reciver_info' => serialize($recv_info)));
//
// array_push($recv_info_array, $recv_info);
// }
// }
//
// joutput_data($recv_info_array);
// }
//
// public function getAndUpdateBonus($user_id, $pay_amount)
// {
//
// $condition['user_id'] = $user_id;
// $condition['type_id'] = 1;
// $bonus_list = Model()->table("user_bonus")->where($condition)->select();
//
// $ret_value = 0;
// if (!empty($bonus_list)) {
//
// foreach ($bonus_list as $value) {
// $bonus_value = doubleval($value['bonus_value']);
//
// if (($pay_amount - $bonus_value) > 0.0000001) {
//
// $data['bonus_value'] = 0;
// $ret = Model()->table('user_bonus')->where(array('bonus_id' => $value['bonus_id']))->update($data);
//
// if ($ret) {
// $pay_amount -= $bonus_value;
// }
// } else {
//
// $data['bonus_value'] = $bonus_value - $pay_amount;
// $ret = Model()->table('user_bonus')->where(array('bonus_id' => $value['bonus_id']))->update($data);
//
// if ($ret) {
// $pay_amount = 0;
// }
// break;
// }
// }
// }
//
// return $pay_amount;
// }
//
// /**
// * order_sn
// * member_id
// *
// * 手动退款接口
// */
// public function refundOp()
// {
// $model_trade = Model('trade');
// $order_info = Model('order')->getOrderInfo(array('order_sn' => $_GET['order_sn']));
// if (empty($order_info)) return;
//
// $model_refund = Model('refund_return');
// $order_id = intval($order_info['order_id']);
// $condition = array();
// $condition['buyer_id'] = $order_info['buyer_id'];
// $condition['order_id'] = $order_id;
// $order = $model_refund->getRightOrderList($condition);
// $order_amount = $order['order_amount'];//订单金额
// $condition = array();
// $condition['buyer_id'] = $order['buyer_id'];
// $condition['order_id'] = $order['order_id'];
// $condition['goods_id'] = '0';
// $condition['seller_state'] = array('lt', '3');
// $refund_list = $model_refund->getRefundReturnList($condition);
// $refund = array();
// if (!empty($refund_list) && is_array($refund_list)) {
// $refund = $refund_list[0];
// }
// $order_paid = $model_trade->getOrderState('order_paid');//订单状态20:已付款
// $payment_code = $order['payment_code'];//支付方式
// if ($refund['refund_id'] > 0 || $order['order_state'] != $order_paid || $payment_code == 'offline') {//检查订单状态,防止页面刷新不及时造成数据错误
// joutput_error(array("result" => false));
// return false;
// }
//
// $refund_array = array();
// $refund_array['refund_type'] = '1';//类型:1为退款,2为退货
// $refund_array['seller_state'] = '1';//状态:1为待审核,2为同意,3为不同意
// $refund_array['order_lock'] = '2';//锁定类型:1为不用锁定,2为需要锁定
// $refund_array['goods_id'] = '0';
// $refund_array['order_goods_id'] = '0';
// $refund_array['reason_id'] = '0';
// $refund_array['reason_info'] = '取消订单,全部退款';
// $refund_array['goods_name'] = '订单商品全部退款';
// $refund_array['refund_amount'] = ncPriceFormat($order_amount);
// $refund_array['buyer_message'] = $_POST['buyer_message'];
// $refund_array['add_time'] = time();
//
// $pic_array = array();
// $pic_array['buyer'] = '';//$this->upload_pic();//上传凭证
// $info = serialize($pic_array);
// $refund_array['pic_info'] = $info;
// $state = $model_refund->addRefundReturn($refund_array, $order);
//
// if ($state) {
// $model_refund->editOrderLock($order_id);
// joutput_data(array("result" => true));
// return true;
// } else {
// joutput_error(array("result" => false));
// return false;
// }
// }
//
// public function subscribe_kdnOp()
// {
// $ordersn = $_GET['order_sn'];
// kdn_helper::req_subscribe('YD', '3941561454548', $ordersn);
// }
//
// private function merge_user($mod_member,$mobile,$name,$passwd,$balance)
// {
// $user = $mod_member->where(array('member_mobile' => $mobile))->limit(false)->find();
// if(empty($user))
// {
// $data = array();
// $data['member_mobile'] = $mobile;
// $data['member_name'] = $mobile;
// $data['member_passwd'] = $passwd;
// $data['member_nickname'] = $name;
// $data['available_predeposit'] = $balance;
//
// $mod_member->insert($data);
// }
// else
// {
// $data = array();
// $data['member_name'] = $mobile;
// $data['member_nickname'] = $name;
//
// $mod_member->where(array('member_id' => $user['member_id']))->update($data);
// $money = intval($balance * 100 + 0.5);
//
// if($money > 0) {
// $pd_helper = new predeposit_helper($user['member_id']);
// $pd_helper->transform_money($name,$balance);
// }
// }
// }
//
// public function imolduserOp()
// {
// $mod_users = Model('users');
// $mod_member = Model('member');
//
// $users = $mod_users->field('*')->limit(false)->select();
// foreach($users as $val)
// {
// $mobile = $val['mobile'];
// $name = $val['name'];
// $passwd = $val['encrypted_password'];
// $balance = $val['remain_balance'];
//
// $this->merge_user($mod_member,$mobile,$name,$passwd,$balance);
//
// }
// }
//
// public function sendbonusOp()
// {
// $pay_sn = '210510764647050484';
//
// $pay = new pay_helper();
// $pay->success($pay_sn);
//
// }
//
// public function balance_pdbonusOp()
// {
// $member_ids = Model()->table("member")->field("member_id")->order("member_id asc")->limit(false)->select();
// foreach($member_ids as $val) {
// $member_id = $val["member_id"];
//
// $pd = new predeposit_helper($member_id);
// $ret = $pd->get_predeposit();
// $total = intval($ret['total_value'] * 100 + $ret['freeze_value'] * 100 + 0.5);
//
// $holder = new bonus\witholder($member_id);
// $usable_amount = intval($holder->usable_amount() * 100 + 0.5);
//
// echo "total={$total},usable_amout={$usable_amount}
";
// if($total < $usable_amount) {
// echo "witholding
";
// $holder->withold(($usable_amount - $total) / 100);
// }
// }
// }
//
// public function init_relationOp()
// {
// $member_ids = Model()->table("member")->field("member_id")->order("member_id asc")->limit(false)->select();
// foreach($member_ids as $val) {
//
// $member_id = $val["member_id"];
// echo ("add member_id = {$member_id}
");
// relation_helper::onRegister($member_id);
// }
// }
//
// public function add_bonus_expiretimeOp()
// {
// $is_dev = $_GET["dev"];
// $day_secs = 3600 * 24;
//
// if (isset($is_dev) && !empty($is_dev)) {
// $left_secs = $day_secs;
// } else {
// $left_secs = $day_secs * 30;
// }
//
// echo "add bonus expire left seconds: {$left_secs}
";
//
// $expire_time = time() + $left_secs;
//
// $cond = array("bonus_status" => 3);
// $data = array("usable_time" => $expire_time);
//
// $model = Model("user_bonus");
// $ret = $model->edit($cond, $data);
// if ($ret == false) {
// echo 'failed';
// } else {
// echo 'update affect rows: ' . $model->affected_rows();
// }
//
// }
}