作者 杨育虎

ok

... ... @@ -3,9 +3,6 @@
function handleOrder($orderInfo) {
try {
if(!is_array($orderInfo)) {
return false;
}
$orderInfo['other'] = json_decode($orderInfo['other'], true);
if($orderInfo['type'] == 1) { // 打赏
... ... @@ -43,18 +40,22 @@ function handleOrder($orderInfo) {
if($studentInfo['vip_endtime']) {
if($studentInfo['vip_level'] == $orderInfo['other']['vip_level']) {
if($studentInfo['vip_endtime'] >= time()) {
$vipEndTime = bcadd($studentInfo['vip_endtime'], bcmul($orderInfo['other']['keep'], bcmul(3600, 24, 0), 0), 0);
} else {
$vipEndTime = bcmul($orderInfo['other']['keep'], bcmul(3600, 24, 0), 0);
$vipEndTime = bcadd(bcmul($orderInfo['other']['keep'], bcmul(3600, 24, 0), 0), time(), 0);
}
} else {
$vipEndTime = bcadd(bcmul($orderInfo['other']['keep'], bcmul(3600, 24, 0), 0), time(), 0);
}
} else {
$vipEndTime = bcmul($orderInfo['other']['keep'], bcmul(3600, 24, 0), 0);
$vipEndTime = bcadd(bcmul($orderInfo['other']['keep'], bcmul(3600, 24, 0), 0), time(), 0);
}
$updateData = [
'vip_level' => $orderInfo['other']['vip_level'],
'vip_endtime' => $vipEndTime,
];
$res = $student->updateOne($studentInfo['id'], $updateData);
$res = $student->updateOne($studentInfo['user_id'], $updateData);
if(!$res) {
return false;
}
... ...
... ... @@ -17,6 +17,7 @@ use fast\Http;
use fast\Random;
use think\Config;
use think\Db;
use think\Log;
/**
* 公共接口
... ... @@ -192,7 +193,7 @@ class Common extends Api
if(!$orderInfo) {
Db::rollback();
} else {
if($orderInfo['status'] == 3) {
if($orderInfo['status'] != 1) {
Db::rollback();
} else {
$res = $order->updateOne($orderInfo['id'], ['status' => 3, 'updatetime' => time()]);
... ...
... ... @@ -14,7 +14,7 @@ class Mes extends Api
{
// 无需登录的接口,*表示全部
protected $noNeedLogin = [''];
protected $noNeedLogin = ['getMyMes'];
// 无需鉴权的接口,*表示全部
protected $noNeedRight = ['*'];
... ... @@ -122,6 +122,7 @@ class Mes extends Api
public function getMyMes()
{
$userId = $this->auth->id;
$userId = 12;
$page = $this->request->param('page', 1, 'int');
$size = $this->request->param('size', 10, 'int');
... ... @@ -130,8 +131,16 @@ class Mes extends Api
$mesList = $mes->listByUserId($userId, $page, $size);
$student = new Student();
$userData = [];
$newMes = [];
foreach ($mesList as $k => $v) {
$users = [$v['usera_id'], $v['userb_id']];
sort($users);
if(!in_array($users, $userData)) {
$userData[] = $users;
} else {
continue;
}
$mesInfo = $mes->infoOne($v['usera_id'], $v['userb_id']);
$mesInfo['createtime'] = date('Y-m-d', $mesInfo['createtime']);
... ... @@ -240,7 +249,8 @@ class Mes extends Api
$page = $this->request->param('page', 1, 'int');
$size = $this->request->param('size', 10, 'int');
$userbId = $this->request->param('userb_id', 0, 'string');
$userbId = $this->request->param('userb_id', 0, 'int');
if(!$userbId) {
$this->error('');
}
... ... @@ -249,34 +259,30 @@ class Mes extends Api
$mes = new MesModel();
$sql = "select * from fa_mes where (usera_id = $userId and userb_id = $userbId) or (usera_id = $userbId and userb_id = $userId) order by createtime desc limit $limit, $size";
$mesList = $mes->listBySql($sql);
$student = new Student();
if($mesList) {
$mesList = array_reverse($mesList);
}
$newMes = [];
foreach ($mesList as $k => $v) {
$mesInfo = $mes->infoOne($v['usera_id'], $v['userb_id']);
$mesInfo['createtime'] = date('Y-m-d', $mesInfo['createtime']);
$student = new Student();
$studentInfo = $student->infoByUserIdCanShow($userbId);
if($v['usera_id'] != $userId) {
$studentInfo = $student->infoByUserIdCanShow($v['usera_id']);
}
$userInfo = $student->infoByUserId($userId);
if($v['userb_id'] != $userId) {
$studentInfo = $student->infoByUserIdCanShow($v['userb_id']);
}
foreach ($mesList as $k => $v) {
$mesList[$k]['createtime'] = date('Y-m-d', $v['createtime']);
if(isset($studentInfo)) {
$mesInfo['head_image'] = $studentInfo['head_image'];
$mesInfo['nickname'] = $studentInfo['nickname'];
if($studentInfo) {
$mesList[$k]['userb_head_image'] = $this->qiNiu.$studentInfo['head_image'];
$mesList[$k]['userb_nickname'] = $studentInfo['nickname'];
} else {
$mesInfo['head_image'] = '';
$mesInfo['nickname'] = '';
$mesList[$k]['userb_head_image'] = '';
$mesList[$k]['userb_nickname'] = '';
}
$newMes[] = $mesInfo;
$mesList[$k]['usera_head_image'] = $this->qiNiu.$userInfo['head_image'];
$mesList[$k]['usera_nickname'] = $userInfo['nickname'];
}
$this->success('', $newMes);
$this->success('', $mesList);
}
}
\ No newline at end of file
... ...
... ... @@ -312,9 +312,12 @@ class Student extends Api
$studentInfo['college_name'] = '';
}
$endYear = date("Y-m-d", strtotime($studentInfo['endtime']));
$endYear = date("Y-m-d", $studentInfo['endtime']);
$studentInfo['end_year'] = $endYear;
$startYear = date("Y-m-d", $studentInfo['starttime']);
$studentInfo['start_year'] = $startYear;
$school = new School();
$schoolInfo = $school->infoById($studentInfo['school_id']);
if($schoolInfo) {
... ...
... ... @@ -39,7 +39,7 @@ class Thank extends Api
$userId = $this->auth->id;
$money = $this->request->param('money', 0, 'int');
if(!$money || $money <= 0) {
if(!$money || $money <= 0 || (!is_float($money) && !is_numeric($money))) {
$this->error('您的操作有误');
}
... ... @@ -55,6 +55,8 @@ class Thank extends Api
$this->error('您提交的内容有误');
}
$openid = $thirdInfo['openid'];
$amount = $money;
$amount = 0.01;
$order = new Order();
$out_trade_no = date("YmdHis", time()) . mt_rand(100000, 999999);
... ... @@ -62,10 +64,10 @@ class Thank extends Api
'createtime' => time(),
'updatetime' => time(),
'order_id' => $out_trade_no,
'money' => $money,
'money' => $amount,
'type' => 1,
'status' => 1,
'other' => json_encode(['user_id' => $userbId, 'money' => $money]),
'other' => json_encode(['user_id' => $userbId, 'money' => $amount]),
'user_id' => $userId
];
$res = $order->addOne($insertData);
... ... @@ -79,7 +81,6 @@ class Thank extends Api
//其他
$type = 'wechat';
$method = 'miniapp';
$amount = $money;
//回调链接
$notifyurl = 'http://school.t.brotop.cn/api/Common/payNotify';
... ...
... ... @@ -337,7 +337,6 @@ class University extends Api
$universityId = $this->request->param('university_id', 0, 'int');
if(!$universityId) {
Log::write('1', 'debug');
$this->error('您的提交有误');
}
... ... @@ -345,7 +344,6 @@ class University extends Api
$university = new UniversityModel();
$universityInfo = $university->infoById($universityId);
if(!$universityInfo) {
Log::write('2', 'debug');
$this->error('您的提交有误');
}
... ... @@ -353,7 +351,6 @@ class University extends Api
$student = new Student();
$studentInfo = $student->infoByUserIdCanShow($userId);
if(!$studentInfo) {
Log::write('3', 'debug');
$this->error('您的提交有误');
}
$sameSchoolTotalNum = $student->countByUniversityIdAndSchoolId($universityId, $studentInfo['school_id']);
... ...
... ... @@ -65,7 +65,7 @@ class Vip extends Api
$vipConfig = new VipConfig();
$vipConfigList = $vipConfig->listAll();
foreach ($vipConfigList as $k => $v) {
if($studentInfo['vip_endtime'] > time() && $v['id'] == $studentInfo['vip_level']) {
if($studentInfo['vip_endtime'] > time() && $v['vip_level'] == $studentInfo['vip_level']) {
$vipConfigList[$k]['vip_endtime'] = date('Y-m-d', $studentInfo['vip_endtime']);
} else {
$vipConfigList[$k]['vip_endtime'] = '';
... ... @@ -110,6 +110,8 @@ class Vip extends Api
$this->error('您提交的内容有误');
}
$openid = $thirdInfo['openid'];
$amount = $vipConfigInfo['money'];
$amount = 0.01;
$order = new Order();
$out_trade_no = date("YmdHis", time()) . mt_rand(100000, 999999);
... ... @@ -117,7 +119,7 @@ class Vip extends Api
'createtime' => time(),
'updatetime' => time(),
'order_id' => $out_trade_no,
'money' => $vipConfigInfo['money'],
'money' => $amount,
'type' => 2,
'status' => 1,
'other' => json_encode(['user_id' => $userId, 'keep' => 30, 'vip_level' => $vipConfigInfo['vip_level']]),
... ... @@ -134,7 +136,6 @@ class Vip extends Api
//其他
$type = 'wechat';
$method = 'miniapp';
$amount = $vipConfigInfo['money'];
//回调链接
$notifyurl = 'http://school.t.brotop.cn/api/Common/payNotify';
... ...
... ... @@ -36,7 +36,7 @@ class Mes extends Model
// 获取最新的一条消息
public function infoOne($useraId, $userbId)
{
return $this->where(['usera_id' => ['=', $useraId], 'userb_id' => ['=', $userbId]])->useSoftDelete($this->deleteTime)->order('createtime desc')->find();
return $this->where(("usera_id = $useraId AND userb_id = $userbId) OR (usera_id = $userbId and userb_id = $useraId"))->useSoftDelete($this->deleteTime)->order('createtime desc')->find();
}
... ...
... ... @@ -29,7 +29,7 @@ class Order extends Model
// 获取并锁定一个订单
public function infoAndLockById($id)
{
return $this->where(['id' => ['=', $id]])->useSoftDelete($this->deleteTime)->find();
return $this->where(['order_id' => ['=', $id]])->useSoftDelete($this->deleteTime)->find();
}
// 修改一个订单
... ...
... ... @@ -36,7 +36,7 @@ class Student extends Model
public function infoByUserIdCanShow($userId)
{
return $this
->where(['user_id' => ['=', $userId], 'show_switch' => ['=', 1]])
->where(['user_id' => ['=', $userId]])
->useSoftDelete($this->deleteTime)
->find();
}
... ...
... ... @@ -42,16 +42,18 @@ class PayToUser extends Command{
$third = new Third();
$userMoneyLog = new UserMoneyLog();
// try {
try {
foreach ($withdrawLogList as $v) {
$thirdInfo = $third->getOneByUserId($v['user_id']);
$order = [
'partner_trade_no' => $v['order_id'],
'openid' => $thirdInfo['openid'],
'check_name' => 'NO_CHECK',
'amount' => bcmul($v['money'], 100, 0),
'amount' => bcmul($v['money'], 10000, 0),
'desc' => '提现到零钱',
'appid' => 'wxf06ef1898e5e6d55',
'mchid' => '1591095591',
'mch_appid' => 'wxf06ef1898e5e6d55',
'nonce_str' => uniqid(),
];
$res = $pay->driver('wechat')->gateway('transfer')->pay($order);
if(isset($res['return_code']) && ($res['return_code'] == 'SUCCESS') && isset($res['result_code']) && ($res['result_code'] == 'SUCCESS')) {
... ... @@ -113,9 +115,8 @@ class PayToUser extends Command{
}
}
}
// } catch (\Exception $e) {
// Log::write($e, '错误');
// }
} catch (\Exception $e) {
Log::write($e, '错误');
}
}
}
\ No newline at end of file
... ...