|
@@ -14,22 +14,40 @@ class bonusControl extends mobileMemberExControl
|
|
|
parent::__construct();
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 获取红包类型
|
|
|
+ */
|
|
|
+ private function getBonusType($type_id) {
|
|
|
+ static $bonustype;
|
|
|
+ if (empty($bonustype)) {
|
|
|
+ $result = Model()->table('bonus_type')->select();
|
|
|
+ foreach ($result as $key => $value) {
|
|
|
+ $bonustype[$result['type_id']] = $value;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return $bonustype[$type_id];
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取红包列表, 红包使用列表数据
|
|
|
+ */
|
|
|
public function bonus_listOp()
|
|
|
{
|
|
|
// 检验token
|
|
|
- // $token = $_GET['key'];
|
|
|
+ $token = $_GET['key'];
|
|
|
|
|
|
- // if (empty($token)) {
|
|
|
- // return joutput_error(errcode::ErrInputParam, '输入参数有误');
|
|
|
- // }
|
|
|
+ if (empty($token)) {
|
|
|
+ return joutput_error(errcode::ErrInputParam, '输入参数有误');
|
|
|
+ }
|
|
|
|
|
|
- // if ($this->checkToken($token) != errcode::Success) {
|
|
|
- // return joutput_error($this->err_code, errcode::msg($this->err_code));
|
|
|
- // }
|
|
|
+ if ($this->checkToken($token) != errcode::Success) {
|
|
|
+ return joutput_error($this->err_code, errcode::msg($this->err_code));
|
|
|
+ }
|
|
|
|
|
|
// 根据token获取用户ID
|
|
|
$condition['user_id'] = $this->member_info['member_id'];
|
|
|
- $condition['user_id'] = 36455;
|
|
|
+ //$condition['user_id'] = 36455;
|
|
|
|
|
|
if (!empty($condition['user_id'])) {
|
|
|
|
|
@@ -46,12 +64,12 @@ class bonusControl extends mobileMemberExControl
|
|
|
$ret_array['bonus_list'] = array();
|
|
|
$bonus_list = array();
|
|
|
foreach ($ret as $value) {
|
|
|
- $bonus_type = Model()->table('bonus_type')->where(array('type_id' => $value['bonus_type_id']))->limit(1)->select();
|
|
|
+ $bonus_type = $this->getBonusType($value['bonus_type_id']);
|
|
|
|
|
|
if (!empty($bonus_type)) {
|
|
|
- $result['type_name'] = $bonus_type[0]['type_name'];
|
|
|
- $result['use_start_date'] = $bonus_type[0]['use_start_date'];
|
|
|
- $result['use_end_date'] = $bonus_type[0]['use_end_date'];
|
|
|
+ $result['type_name'] = $bonus_type['type_name'];
|
|
|
+ $result['use_start_date'] = $bonus_type['use_start_date'];
|
|
|
+ $result['use_end_date'] = $bonus_type['use_end_date'];
|
|
|
}
|
|
|
|
|
|
$result['bonus_sn'] = $value['bonus_sn'];
|
|
@@ -70,6 +88,56 @@ class bonusControl extends mobileMemberExControl
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 添加余额
|
|
|
+ */
|
|
|
+ private function _add_money_ex($member_id, $pointsnum, $order_sn, $pointsdesc){
|
|
|
+
|
|
|
+ $obj_validate = new Validate();
|
|
|
+ $obj_validate->validateparam = array(
|
|
|
+ array("input"=>$member_id, "require"=>"true", "message"=>Language::get('admin_points_member_error_again')),
|
|
|
+ array("input"=>$pointsnum, "require"=>"true",'validator'=>'Compare','operator'=>' >= ','to'=>1,"message"=>Language::get('admin_points_points_min_error'))
|
|
|
+ );
|
|
|
+ $error = $obj_validate->validate();
|
|
|
+ if ($error != ''){
|
|
|
+ return -1;
|
|
|
+ }
|
|
|
+
|
|
|
+ $money = abs(floatval($pointsnum));
|
|
|
+ $memo=trim($pointsdesc);
|
|
|
+ if ($money <= 0) {
|
|
|
+ return -2; // 输入的金额必需大于0
|
|
|
+ }
|
|
|
+ //查询会员信息
|
|
|
+ $obj_member = Model('member');
|
|
|
+ $member_id = intval($member_id);
|
|
|
+ $member_info = $obj_member->getMemberInfo(array('member_id'=>$member_id));
|
|
|
+
|
|
|
+ if (!is_array($member_info) || count($member_info)<=0){
|
|
|
+ return -3; // 用户信息不对
|
|
|
+ }
|
|
|
+ $available_predeposit=floatval($member_info['available_predeposit']);
|
|
|
+ $freeze_predeposit=floatval($member_info['freeze_predeposit']);
|
|
|
+ $model_pd = Model('predeposit');
|
|
|
+
|
|
|
+ try {
|
|
|
+ //扣除冻结的预存款
|
|
|
+ $data = array();
|
|
|
+ $data['member_id'] = $member_info['member_id'];
|
|
|
+ $data['member_name'] = $member_info['member_name'];
|
|
|
+ $data['amount'] = $money;
|
|
|
+ $data['order_sn'] = $order_sn;
|
|
|
+ $data['admin_name'] = $admininfo['name'];
|
|
|
+ $data['pdr_sn'] = $order_sn;
|
|
|
+ $data['lg_desc'] = $memo;
|
|
|
+ $model_pd->changePd("bonus_add_money",$data);
|
|
|
+ return 0; // 操作成功
|
|
|
+ } catch (Exception $e) {
|
|
|
+ return -7; // 操作异常
|
|
|
+ }
|
|
|
+ return -8;
|
|
|
+ }
|
|
|
+
|
|
|
// 红包绑定
|
|
|
public function bind_bonusOp()
|
|
|
{
|
|
@@ -84,6 +152,9 @@ class bonusControl extends mobileMemberExControl
|
|
|
return joutput_error($this->err_code, errcode::msg($this->err_code));
|
|
|
}
|
|
|
|
|
|
+ // 技术债务
|
|
|
+ //$this->member_info['member_id'] = 36455;
|
|
|
+
|
|
|
// 获取user_id
|
|
|
$condition['member_id'] = $this->member_info['member_id'];
|
|
|
|
|
@@ -101,20 +172,35 @@ class bonusControl extends mobileMemberExControl
|
|
|
|
|
|
$bonus_info = array();
|
|
|
foreach ($user_bonus as $value) {
|
|
|
-
|
|
|
- $bonus_type = Model()->table('bonus_type')->where(array('type_id' => $value['bonus_type_id']))->limit(1)->select();
|
|
|
-
|
|
|
+ $bonus_type = $this->getBonusType($value['bonus_type_id']);
|
|
|
$info = [];
|
|
|
- $info['sender'] = $bonus_type[0]['sender'];
|
|
|
- $info['type_name'] = $bonus_type[0]['type_name'];
|
|
|
+ $info['sender'] = $bonus_type['sender'];
|
|
|
+ $info['type_name'] = $bonus_type['type_name'];
|
|
|
$info['bonus_value'] = $value['bonus_value'];
|
|
|
|
|
|
array_push($bonus_info, $info);
|
|
|
}
|
|
|
// 更新为已领取
|
|
|
$data['user_id'] = $this->member_info['member_id'];
|
|
|
+
|
|
|
+ Model::beginTransaction();
|
|
|
+
|
|
|
+ // 添加预存款
|
|
|
+ $ret = $this->_add_money_ex($data['user_id'], $user_bonus[0]['bonus_value'], $user_bonus[0]["bonus_sn"]);
|
|
|
+ if (0 != $ret) {
|
|
|
+ Model::rollback();
|
|
|
+ return joutput_error(errcode::ErrDB, "数据库错误");
|
|
|
+ }
|
|
|
+
|
|
|
$ret = Model()->table('user_bonus')->where(array('user_mobile' => $member[0]['member_mobile']))->update($data);
|
|
|
|
|
|
+ if (0 == $ret) {
|
|
|
+ Model::rollback();
|
|
|
+ return joutput_error(errcode::ErrDB, "数据库错误");
|
|
|
+ }
|
|
|
+
|
|
|
+ Model::commit();
|
|
|
+
|
|
|
// 返回存在红包
|
|
|
joutput_data(array('have_bonus' => 1, 'bonus_info' => $bonus_info));
|
|
|
|