2020-08-15 17:59:10 +08:00

150 lines
4.7 KiB
PHP

<?php
namespace wstmart\app\controller;
use think\Db;
class Note extends Base
{
public function index(){
$userId = (int)session('WST_USER.userId');
$model = Db::name('note')->field(true)
->where(["user_id"=>$userId])->order("update_time", "desc")
->select();
return WSTReturn("OK", 1, $model);
}
public function detail(){
$userId = (int)session('WST_USER.userId');
if(($id = (int)input( 'id', 0)) > 0){
$detail = Db::name('note')
->where(["user_id"=>$userId, "id"=>$id])->find();
if(!$detail) return WSTReturn("该条内容已被删除",0);
$detail['content'] = htmlspecialchars_decode($detail['content']);
return WSTReturn("OK", 1, $detail);
}
return WSTReturn("异常请求",0);
}
public function save(){
$userId = (int)session('WST_USER.userId');
$id = (int)input( 'post.id', 0);
$title = input("post.title");
$content = request()->post("content");
$content = htmlspecialchars_decode($content);
if(empty($title)) return WSTReturn("请填写标题",0);
if(empty($content)) return WSTReturn("请填写内容",0);
if($id > 0){
$detail = Db::name('note')->field(true)
->where(["user_id"=>$userId, "id"=>$id])->select();
if(!$detail) return WSTReturn("该条内容已被删除",0);
Db::name('note')->where(["user_id"=>$userId, "id"=>$id])
->update([
"title"=>$title,
"content"=>$content,
"update_time"=>date("Y-m-d H:i:s"),
]);
return WSTReturn("成功", 1);
}elseif($id == 0){
Db::name('note')->insert([
"title"=>$title,
"content"=>$content,
"user_id"=>$userId,
"create_time"=>date("Y-m-d H:i:s"),
"update_time"=>date("Y-m-d H:i:s"),
]);
return WSTReturn("成功", 1);
}
return WSTReturn("异常请求",0);
}
public function creditIndex(){
$userId = (int)session('WST_USER.userId');
$model = Db::name('note_credit')->field(true)
->where(["user_id"=>$userId])->order("update_time", "desc")
->select();
return WSTReturn("OK", 1, $model);
}
public function creditDetail(){
}
public function creditCreate(){
$userId = (int)session('WST_USER.userId');
$title = input("post.title");
$content = input("post.content");
$cash = (float)input("post.cash");
Db::startTrans();
try{
$id = Db::name('note_credit')->save([
"title"=>$title,
"content"=>$content,
"user_id"=>$userId,
"cur_cash"=>$cash,
]);
model("note_credit_detail")->save([
"credit_id"=>$id,
"type"=>0,
"cash"=>$cash,
"content"=>"新建时填写的值",
"create_time"=>date("Y-m-d H:i:s"),
]);
Db::commit();
return WSTReturn("OK", 1);
}catch (\Exception $e) {
Db::rollback();errLog($e);
return WSTReturn('操作失败',-1);
}
}
public function creditAdd(){
$userId = (int)session('WST_USER.userId');
$id = (int)input( 'post.id', 0);
$type = (int)input("post.type", 1);
$content = input("post.content");
$cash = (float)input("post.cash");
$credit = Db::name('note_credit')->where([
"user_id"=>$userId,
"id"=>$id,
])->field(true)->find();
if(empty($credit)){
return WSTReturn("数据不存在",0);
}
switch ($type){
case 1:
//+
$credit["cash"] += $cash;
break;
case 2:
//-
$credit["cash"] -= $cash;
break;
case 9:
//-
$credit["cash"] = $cash;
break;
}
Db::startTrans();
try{
Db::name('note_credit')->where([
"user_id"=>$userId,
"id"=>$id,
])->save($credit);
model("note_credit_detail")->save([
"credit_id"=>$id,
"type"=>$type,
"cash"=>$cash,
"content"=>$content,
"create_time"=>date("Y-m-d H:i:s"),
]);
Db::commit();
return WSTReturn("OK", 1);
}catch (\Exception $e) {
Db::rollback();errLog($e);
return WSTReturn('操作失败',-1);
}
}
}