12月功能提交

master
zhengyongxing 4 years ago
parent 166c1d63d6
commit 7e41ad1e18

@ -1075,6 +1075,11 @@ class CompanyStatementPoolController extends ThinkController
addOperationLog(['op_type'=>1,'key'=>$v['id'],"op_name"=>$opname,'url'=>U('lists')]);
}
if($ajaxreturn){
if ($change_status == 2) {
$this->splitForPayStatementInfo();
}
$this->ajaxReturn(array(
'status' => 1,
"info"=>$opname."成功"
@ -1763,58 +1768,160 @@ class CompanyStatementPoolController extends ThinkController
public function splitForPayStatementInfo() {
$ids = $_REQUEST['ids'];
$limit_amount = 20000;
$dbres = $this->DBModel->field("id")->where("id in ({$ids})")->select();
foreach($dbres as $key=>$value){
$statement_data_info = M("company_statement_info","tab_")
->where(['pool_id'=>$value['id']])
->select();
if ($value['company_type'] == 2){
//循环info汇总详单
foreach ($statement_data_info as $skey => $svalue) {
//循环info汇总详单
foreach ($statement_data_info as $skey => $svalue) {
$statement_info = json_decode($svalue['statement_info'],true);
$handle_data = [];
$statement_info = json_decode($svalue['statement_info'],true);
$handle_data = [];
foreach ($statement_info as $k => $v) {
foreach ($statement_info as $k => $v) {
$game_list = $v['game_list'];
foreach ($game_list as $gk => $gv ) {
//同一结算时间的汇总成一个数组
$handle_data[$gv['statement_begin_time'].'-'.$gv['statement_end_time']][] = ['account'=>$v['account'],'game_list'=>$gv];
$game_list = $v['game_list'];
foreach ($game_list as $gk => $gv ) {
//同一结算时间的汇总成一个数组
if (!$handle_data[$gv['statement_begin_time'].'-'.$gv['statement_end_time']][$v['account']]) {
$handle_data[$gv['statement_begin_time'].'-'.$gv['statement_end_time']][$v['account']] = ['account'=>$v['account'],'game_list'=>[$gv]];
} else {
$handle_data[$gv['statement_begin_time'].'-'.$gv['statement_end_time']][$v['account']]['game_list'][] = $gv;
}
}
}
// dump($handle_data);
}
$save = [];
$handle_statement = [];
//将同一时间的汇总详单记录起来
foreach ($handle_data as $hk => $hv) {
$statement_time = explode('-',$hk);
$save['statement_begin_time'] = $statement_time[0];
$save['statement_end_time'] = $statement_time[1];
$save = [];
$handle_statement = [];
//将同一时间的汇总详单记录起来
foreach ($handle_data as $hk => $hv) {
$statement_time = explode('-',$hk);
$save['statement_begin_time'] = strtotime(str_replace('.','-',$statement_time[0]));
$save['statement_end_time'] = strtotime(str_replace('.','-',$statement_time[1]));
$handle_statement = json_encode(array_values($hv));
$statement_money = 0;
foreach ($hv as $shk => $shv) {
$game_list = $shv['game_list'];
foreach($game_list as $gk => $gv ) {
$statement_money += $gv['sum_money'];
}
}
$handle_statement = $hv;
if ($statement_money > $limit_amount) {
for($amount=$statement_money;$amount>0;$amount -= $limit_amount) {
$save['statement_info'] = $handle_statement;
$save['company_id'] = $svalue['company_id'];
$save['company_name'] = $svalue['company_name'];
$save['company_type'] = $svalue['company_type'];
$save['pay_type'] = $svalue['pay_type'];
$save['verify_status'] = $svalue['verify_status'];
$save['remark'] = $svalue['remark'];
$save['company_info'] = $svalue['company_info'];
$save['statement_num'] = "JS_".date("YmdHis",time()).sp_random_string(5);
if ($amount > $limit_amount) {
$save['statement_money'] = $limit_amount;
} else {
$save['statement_money'] = $amount;
}
$save['statement_info_id'] = $svalue['id'];
$save['fine'] = $svalue['fine'];
$save['reward'] = $svalue['reward'];
$save['is_limit'] = 1;
M("pay_statement_info","tab_")->add($save);
}
// $save['statement_info'] = json_encode($handle_statement);
$save['company_id'] = $svalue['company_id'];
$save['company_name'] = $svalue['company_name'];
$save['company_type'] = $svalue['company_type'];
$save['company_info'] = $svalue['company_info'];
} else {
$save['statement_info'] = $handle_statement;
$save['company_id'] = $svalue['company_id'];
$save['company_name'] = $svalue['company_name'];
$save['company_type'] = $svalue['company_type'];
$save['pay_type'] = $svalue['pay_type'];
$save['verify_status'] = $svalue['verify_status'];
$save['remark'] = $svalue['remark'];
$save['company_info'] = $svalue['company_info'];
$save['statement_num'] = "JS_".date("YmdHis",time()).sp_random_string(5);
$save['statement_money'] = $statement_money;
$save['statement_info_id'] = $svalue['id'];
$save['fine'] = $svalue['fine'];
$save['reward'] = $svalue['reward'];
M("pay_statement_info","tab_")->add($save);
}
$save['statement_money'] = $svalue['statement_money'];
$save['statement_info_id'] = $svalue['id'];
dump($handle_statement);
}
}
}
else {
foreach ($statement_data_info as $skey => $svalue) {
$statement_money = $svalue['statement_money'];
if ($statement_money > $limit_amount) {
for ($amount = $statement_money; $amount > 0; $amount -= $limit_amount) {
$save['statement_begin_time'] = $svalue['statement_begin_time'];
$save['statement_end_time'] = $svalue['statement_end_time'];
$save['statement_info'] = $svalue['statement_info'];
$save['company_id'] = $svalue['company_id'];
$save['company_name'] = $svalue['company_name'];
$save['company_type'] = $svalue['company_type'];
$save['pay_type'] = $svalue['pay_type'];
$save['verify_status'] = $svalue['verify_status'];
$save['remark'] = $svalue['remark'];
$save['company_info'] = $svalue['company_info'];
$save['statement_num'] = "JS_" . date("YmdHis", time()) . sp_random_string(5);
$save['statement_money'] = $svalue['statement_money'];
if ($amount > $limit_amount) {
$save['statement_money'] = $limit_amount;
} else {
$save['statement_money'] = $amount;
}
}
$save['statement_info_id'] = $svalue['id'];
$save['fine'] = $svalue['fine'];
$save['reward'] = $svalue['reward'];
M("pay_statement_info", "tab_")->add($save);
}
} else {
for ($amount = $statement_money; $statement_money > 0; $amount -= $limit_amount) {
$save['statement_begin_time'] = $svalue['statement_begin_time'];
$save['statement_end_time'] = $svalue['statement_end_time'];
$save['statement_info'] = $svalue['statement_info'];
$save['company_id'] = $svalue['company_id'];
$save['company_name'] = $svalue['company_name'];
$save['company_type'] = $svalue['company_type'];
$save['pay_type'] = $svalue['pay_type'];
$save['verify_status'] = $svalue['verify_status'];
$save['remark'] = $svalue['remark'];
$save['company_info'] = $svalue['company_info'];
$save['statement_num'] = "JS_" . date("YmdHis", time()) . sp_random_string(5);
$save['statement_money'] = $svalue['statement_money'];
$save['statement_info_id'] = $svalue['id'];
$save['fine'] = $svalue['fine'];
$save['reward'] = $svalue['reward'];
M("pay_statement_info", "tab_")->add($save);
}
}
}
}
}
}
}

@ -157,6 +157,9 @@ class ExcelPaymentController extends BaseController
if(count($checkarr) < 1){
$this->ajaxReturn(["status"=>1,"msg"=>"ok"]);
}
$limit_amount = 20000;
// dump($batch);die();
$ExcelStatementInfo = M('ExcelStatementInfo',"tab_");
foreach ($checkarr as $k => &$v) {
$company_info = $v['company_info'];
@ -188,11 +191,34 @@ class ExcelPaymentController extends BaseController
$this->ajaxReturn(["status"=>0,"msg"=>"支付宝真实姓名及登陆账号不允许为空"]);
}
$res = $ExcelStatementInfo->add($v);
if($res === false){
M('ExcelStatementInfo',"tab_")->where("batch_num = '{$v['batch_num']}'")->delete();
$this->ajaxReturn(["status"=>0,"msg"=>"添加失败"]);
$statement_money = $v['statement_money'];
if ($statement_money > $limit_amount) {
for($amount=$statement_money;$amount>0;$amount -= $limit_amount) {
if ($amount > $limit_amount) {
$v['statement_money'] = $limit_amount;
} else {
$v['statement_money'] = $amount;
}
$res = $ExcelStatementInfo->add($v);
if($res === false){
M('ExcelStatementInfo',"tab_")->where("batch_num = '{$v['batch_num']}'")->delete();
$this->ajaxReturn(["status"=>0,"msg"=>"添加失败"]);
}
}
} else {
$res = $ExcelStatementInfo->add($v);
if($res === false){
M('ExcelStatementInfo',"tab_")->where("batch_num = '{$v['batch_num']}'")->delete();
$this->ajaxReturn(["status"=>0,"msg"=>"添加失败"]);
}
}
}
$this->ajaxReturn(["status"=>1,"msg"=>"ok"]);
}
@ -504,7 +530,7 @@ class ExcelPaymentController extends BaseController
])
->select();
$check_company_statement_info = M("company_statement_info","tab_")
$check_company_statement_info = M("pay_statement_info","tab_")
->where([
'pay_status'=>1,
'company_name'=>$value['company_name'],

@ -42,65 +42,66 @@ class PaymentController extends BaseController
$row = $params['row'] ? intval($params['row']) : 10;
$map=[
"i.verify_status"=>["in","-1,1"],
"s.verify_status"=>["in","-1,1"],
];
if (isset($_REQUEST['time_start']) && isset($_REQUEST['time_end'])) {
$time_start = strtotime($_REQUEST['time_start']);
$time_end = strtotime($_REQUEST['time_end'])+ 86399;
$map["_string"] = "(i.statement_begin_time BETWEEN {$time_start} AND {$time_end}) OR (i.statement_end_time BETWEEN {$time_start} AND {$time_end})";
$map["_string"] = "(s.statement_begin_time BETWEEN {$time_start} AND {$time_end}) OR (s.statement_end_time BETWEEN {$time_start} AND {$time_end})";
} elseif (isset($_REQUEST['time_start'])) {
$time_start = strtotime($_REQUEST['time_start']);
$map["_string"] = "(i.statement_begin_time >= {$time_start} ) OR (i.statement_end_time >= {$time_start})";
$map["_string"] = "(s.statement_begin_time >= {$time_start} ) OR (s.statement_end_time >= {$time_start})";
} elseif (isset($_REQUEST['time_end'])) {
$time_end = strtotime($_REQUEST['time_end'])+ 86399;
$map["_string"] = "(i.statement_begin_time <= {$time_end} ) OR (i.statement_end_time <= {$time_end})";
$map["_string"] = "(s.statement_begin_time <= {$time_end} ) OR (s.statement_end_time <= {$time_end})";
}
if (isset($_REQUEST['pay_time_start']) && isset($_REQUEST['pay_time_end'])) {
$map['i.pay_time'] = ['between', [strtotime($_REQUEST['pay_time_start']), strtotime($_REQUEST['pay_time_end']) + 86399]];
$map['s.pay_time'] = ['between', [strtotime($_REQUEST['pay_time_start']), strtotime($_REQUEST['pay_time_end']) + 86399]];
} elseif (isset($_REQUEST['pay_time_start'])) {
$map['i.pay_time'] = ['EGT', strtotime($_REQUEST['pay_time_start'])];
$map['s.pay_time'] = ['EGT', strtotime($_REQUEST['pay_time_start'])];
} elseif (isset($_REQUEST['pay_time_end'])) {
$map['i.pay_time'] = ['ELT', strtotime($_REQUEST['pay_time_end']) + 86399];
$map['s.pay_time'] = ['ELT', strtotime($_REQUEST['pay_time_end']) + 86399];
}
if (isset($_REQUEST['verifytime_start']) && isset($_REQUEST['verifytime_end'])) {
$map['i.verify_time'] = ['between', [strtotime($_REQUEST['verifytime_start']), strtotime($_REQUEST['verifytime_end']) + 86399]];
$map['s.verify_time'] = ['between', [strtotime($_REQUEST['verifytime_start']), strtotime($_REQUEST['verifytime_end']) + 86399]];
} elseif (isset($_REQUEST['verifytime_start'])) {
$map['i.verify_time'] = ['EGT', strtotime($_REQUEST['verifytime_start'])];
$map['s.verify_time'] = ['EGT', strtotime($_REQUEST['verifytime_start'])];
} elseif (isset($_REQUEST['verifytime_end'])) {
$map['i.verify_time'] = ['ELT', strtotime($_REQUEST['verifytime_end']) + 86399];
$map['s.verify_time'] = ['ELT', strtotime($_REQUEST['verifytime_end']) + 86399];
}
if(isset($_REQUEST['company_type'])){
$map['i.company_type'] = $_REQUEST['company_type'];
$map['s.company_type'] = $_REQUEST['company_type'];
}
if(isset($_REQUEST['company_id'])){
$map['i.company_id'] = $_REQUEST['company_id'];
$map['s.company_id'] = $_REQUEST['company_id'];
}
if(isset($_REQUEST['pay_status'])){
if($_REQUEST['pay_status'] == -2){
$map['i.verify_status'] = -1;
$map['s.verify_status'] = -1;
}else{
$map['i.pay_status'] = $_REQUEST['pay_status'];
$map['s.pay_status'] = $_REQUEST['pay_status'];
}
}
if(isset($_REQUEST['pay_type'])){
$map['i.pay_type'] = $_REQUEST['pay_type'];
$map['s.pay_type'] = $_REQUEST['pay_type'];
}
// dump($map);
$CompanyInfo = M("company_statement_info","tab_")
->alias('i')
->field("i.*,p.statement_num statement_pool_num")
->join("tab_company_statement_pool p ON p.id = i.pool_id")
// dump($map);die();
$CompanyInfo = M("pay_statement_info","tab_")
->alias('s')
->field("s.*,p.statement_num statement_pool_num")
->join("left join tab_company_statement_info i ON s.statement_info_id = i.id")
->join("left join tab_company_statement_pool p ON p.id = i.pool_id")
->where($map)
->page($page,$row)
->order("FIELD(pay_status,0,-1,1),verify_status desc")
->order("FIELD(s.pay_status,0,-1,1),s.verify_status desc")
->select();
foreach($CompanyInfo as $k=>&$v){
$v['can_pay'] = 1;
@ -139,10 +140,10 @@ class PaymentController extends BaseController
//统计待打款金额
$countmap = $map;
$countmap['pay_status']=["neq",1];
$money = M("company_statement_info","tab_")->alias('i')->field("sum(statement_money) statement_money")->where($countmap)->find();
$money = M("pay_statement_info","tab_")->alias('s')->field("sum(statement_money) statement_money")->where($countmap)->find();
$count = M("company_statement_info","tab_")->alias('i')->field("count(id) count")->where($map)->find();
$count = M("pay_statement_info","tab_")->alias('s')->field("count(id) count")->where($map)->find();
$page = set_pagination($count['count'], $row);
if ($page) {
$this->assign('_page', $page);
@ -166,7 +167,7 @@ class PaymentController extends BaseController
$is_export = true;
}
//获取基本信息
$dbres = M("company_statement_info","tab_")->where("id='{$id}'")->select();
$dbres = M("pay_statement_info","tab_")->where("id='{$id}'")->select();
$title = $dbres[0]['company_name'];
$this->assign("title",$title);
@ -597,10 +598,11 @@ class PaymentController extends BaseController
if(!isset($_REQUEST['ids'])) $this->error("参数错误");
$ids = $_REQUEST['ids'];
$CompanyInfo = M("company_statement_info","tab_")
$CompanyInfo = M("pay_statement_info","tab_")
->alias('i')
->field("i.id,i.pool_id,i.company_name,i.company_info,i.statement_money,p.statement_num,i.remark,i.pay_status")
->join("left join tab_company_statement_pool p ON p.id = i.pool_id")
->field("i.id,c.pool_id,i.company_name,i.company_info,i.statement_money,p.statement_num,i.remark,i.pay_status")
->join("left join tab_company_statement_info c ON c.id = i.statement_info_id")
->join("left join tab_company_statement_pool p ON p.id = c.pool_id")
->where("i.id in ({$ids})")
->select();
foreach($CompanyInfo as $k=>&$v){
@ -609,7 +611,7 @@ class PaymentController extends BaseController
$v['company_info']['ali_account'] ?? '';
}
$count = M("company_statement_info","tab_")->field("sum(statement_money) statement_money")->where("id in ({$ids})")->find();
$count = M("pay_statement_info","tab_")->field("sum(statement_money) statement_money")->where("id in ({$ids})")->find();
$this->getAccountMoney();
// dd($CompanyInfo);
@ -652,8 +654,6 @@ class PaymentController extends BaseController
{
$id = $_REQUEST['id'];
$limit_amount = 20000;
$remark = $_REQUEST['remark'];
if(empty(C("ALI_PAYMENT"))){
$this->ajaxReturn(["success"=>"配置错误,无法打款","data"=>["status"=>0]]);
@ -758,7 +758,7 @@ class PaymentController extends BaseController
($status == 1)?($status_str = '已审核通过'):($status_str = '已审核拒绝');
$verify = M("company_statement_info","tab_")
$verify = M("pay_statement_info","tab_")
->where([
'id'=>['in',$id]
])
@ -788,7 +788,7 @@ class PaymentController extends BaseController
$ids = $_REQUEST['ids'];
$data = M("company_statement_info","tab_")
$data = M("pay_statement_info","tab_")
->field("id,statement_money,company_name,statement_begin_time,statement_end_time,pay_time")
->where(['id'=>['in',$ids]])
->select();
@ -809,7 +809,7 @@ class PaymentController extends BaseController
])
->select();
$check_company_statement_info = M("company_statement_info","tab_")
$check_company_statement_info = M("pay_statement_info","tab_")
->where([
'pay_status'=>1,
'company_name'=>$value['company_name'],

@ -542,7 +542,7 @@
return true;
} else {
return;
doPayment();
return false;
}

@ -2723,6 +2723,26 @@ ADD COLUMN `pay_verify_status` tinyint(255) NULL DEFAULT 0 COMMENT '审核状态
ADD COLUMN `verify_time` varchar(11) NULL DEFAULT 0 COMMENT '审核时间' AFTER `pay_verify_status`,
ADD COLUMN `verify_member_id` int(11) NULL DEFAULT 0 COMMENT '审核人员id' AFTER `verify_time`;
ALTER TABLE `tab_excel_statement_info`
ADD COLUMN `verify_status` tinyint(255) NULL DEFAULT 0 COMMENT '审核状态 0 未审核 1 审核通过 2 审核拒绝',
ADD COLUMN `verify_time` varchar(11) NULL DEFAULT 0 COMMENT '审核时间',
ADD COLUMN `verify_member_id` int(11) NULL DEFAULT 0 COMMENT '审核人员id';
ALTER TABLE `sj_game_channel`.`sj_cptogether_company`
MODIFY COLUMN `phone` varchar(20) NULL DEFAULT NULL COMMENT '联系电话' AFTER `connection_person`,
MODIFY COLUMN `register_phone` varchar(20) NULL DEFAULT NULL COMMENT '注册电话' AFTER `register_address`;
MODIFY COLUMN `register_phone` varchar(20) NULL DEFAULT NULL COMMENT '注册电话' AFTER `register_address`;
CREATE TABLE `sys_payment_member` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '姓名',
`mobile` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '手机号码',
`is_payment` tinyint(2) NULL DEFAULT 0 COMMENT '是否可打款 否0是1',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of sys_payment_member
-- ----------------------------
INSERT INTO `sys_payment_member` VALUES (1, '', '1990676517', 1);
INSERT INTO `sys_payment_member` VALUES (3, '关飞', '18859216458', 0);
INSERT INTO `sys_payment_member` VALUES (4, '测试正在', '16754678756', 0);
Loading…
Cancel
Save