|
|
@@ -1,7 +1,8 @@
|
|
|
<?php
|
|
|
require_once __DIR__."/../model/user_dicts.php";
|
|
|
require_once __DIR__."/controller.php";
|
|
|
-
|
|
|
+require_once __DIR__."/../../public/snowflakeid.php";
|
|
|
+require_once __DIR__."/../../public/function.php";
|
|
|
|
|
|
Class CtlUserDict extends Controller{
|
|
|
public function index(){
|
|
|
@@ -52,6 +53,8 @@ Class CtlUserDict extends Controller{
|
|
|
if(!isset($_COOKIE["user_id"])){
|
|
|
$this->error("not login");
|
|
|
}
|
|
|
+ $snowflake = new SnowFlakeId();
|
|
|
+
|
|
|
$_data = json_decode($_POST["data"],true);
|
|
|
switch($_POST["view"]){
|
|
|
case "wbw":
|
|
|
@@ -73,9 +76,11 @@ Class CtlUserDict extends Controller{
|
|
|
|
|
|
if($isDoesntExist){
|
|
|
#不存在插入数据
|
|
|
+ $word["id"]=$snowflake->id();
|
|
|
$word["source"]='_USER_WBW_';
|
|
|
+ $word["create_time"]=mTime();
|
|
|
$word["creator_id"]=$_COOKIE["user_id"];
|
|
|
- $id = UserDict::insertGetId($word);
|
|
|
+ $id = UserDict::insert($word);
|
|
|
$updateOk = $this->update_sys_wbw($word);
|
|
|
$this->update_redis($word);
|
|
|
$iOk++;
|
|
|
@@ -89,6 +94,7 @@ Class CtlUserDict extends Controller{
|
|
|
}
|
|
|
|
|
|
public function show(){
|
|
|
+
|
|
|
$result = UserDict::find($_GET["id"]);
|
|
|
if($result){
|
|
|
$this->ok($result);
|
|
|
@@ -97,6 +103,7 @@ Class CtlUserDict extends Controller{
|
|
|
}
|
|
|
}
|
|
|
public function update(){
|
|
|
+ $snowflake = new SnowFlakeId();
|
|
|
$data = json_decode($_POST["data"],true);
|
|
|
|
|
|
$result = UserDict::where('id', $data["id"])
|
|
|
@@ -131,6 +138,7 @@ Class CtlUserDict extends Controller{
|
|
|
更新系统wbw汇总表
|
|
|
*/
|
|
|
private function update_sys_wbw($data){
|
|
|
+ $snowflake = new SnowFlakeId();
|
|
|
#查询用户重复的数据
|
|
|
$count = UserDict::where('word',$data["word"])
|
|
|
->where('type',$data["type"])
|
|
|
@@ -141,7 +149,9 @@ Class CtlUserDict extends Controller{
|
|
|
->where('factormean',$data["factormean"])
|
|
|
->where('source','_USER_WBW_')
|
|
|
->count();
|
|
|
+
|
|
|
if($count==0){
|
|
|
+ # 没有任何用户有这个数据
|
|
|
#删除数据
|
|
|
$result = UserDict::where('word',$data["word"])
|
|
|
->where('type',$data["type"])
|
|
|
@@ -155,7 +165,7 @@ Class CtlUserDict extends Controller{
|
|
|
return($result);
|
|
|
|
|
|
}else{
|
|
|
- #更新或新增
|
|
|
+ #更新或新增
|
|
|
#查询最早上传这个数据的用户
|
|
|
$creator_id = UserDict::where('word',$data["word"])
|
|
|
->where('type',$data["type"])
|
|
|
@@ -167,8 +177,21 @@ Class CtlUserDict extends Controller{
|
|
|
->where('source','_USER_WBW_')
|
|
|
->orderby("created_at",'asc')
|
|
|
->value("creator_id");
|
|
|
- $result = UserDict::updateOrInsert(
|
|
|
+
|
|
|
+ $count = UserDict::where('word',$data["word"])
|
|
|
+ ->where('type',$data["type"])
|
|
|
+ ->where('grammar',$data["grammar"])
|
|
|
+ ->where('parent',$data["parent"])
|
|
|
+ ->where('mean',$data["mean"])
|
|
|
+ ->where('factors',$data["factors"])
|
|
|
+ ->where('factormean',$data["factormean"])
|
|
|
+ ->where('source','_SYS_USER_WBW_')
|
|
|
+ ->count();
|
|
|
+ if($count==0){
|
|
|
+ #系统字典没有 新增
|
|
|
+ $result = UserDict::insert(
|
|
|
[
|
|
|
+ 'id' =>$snowflake->id(),
|
|
|
'word'=>$data["word"],
|
|
|
'type'=>$data["type"],
|
|
|
'grammar'=>$data["grammar"],
|
|
|
@@ -176,12 +199,27 @@ Class CtlUserDict extends Controller{
|
|
|
'mean'=>$data["mean"],
|
|
|
'factors'=>$data["factors"],
|
|
|
'factormean'=>$data["factormean"],
|
|
|
- 'source'=>"_SYS_USER_WBW_"
|
|
|
- ],
|
|
|
- [
|
|
|
- 'creator_id' => $creator_id,
|
|
|
- 'ref_counter' => $count
|
|
|
- ]);
|
|
|
+ 'source'=>"_SYS_USER_WBW_",
|
|
|
+ 'creator_id' => $creator_id,
|
|
|
+ 'ref_counter' => 1,
|
|
|
+ "create_time"=>mTime()
|
|
|
+ ]);
|
|
|
+ }else{
|
|
|
+ #有,更新
|
|
|
+ $result = UserDict::where('word',$data["word"])
|
|
|
+ ->where('type',$data["type"])
|
|
|
+ ->where('grammar',$data["grammar"])
|
|
|
+ ->where('parent',$data["parent"])
|
|
|
+ ->where('mean',$data["mean"])
|
|
|
+ ->where('factors',$data["factors"])
|
|
|
+ ->where('factormean',$data["factormean"])
|
|
|
+ ->where('source','_SYS_USER_WBW_')
|
|
|
+ ->update(
|
|
|
+ [
|
|
|
+ 'creator_id'=>$creator_id,
|
|
|
+ 'ref_counter'=>$count
|
|
|
+ ]);
|
|
|
+ }
|
|
|
return($result);
|
|
|
}
|
|
|
}
|