Browse Source

完善功能

gorden 8 months ago
parent
commit
b794b89d01

+ 7 - 1
app/admin/controller/asset/HouseTypeController.php

@@ -8,6 +8,7 @@ use app\model\Content;
 use support\exception\BusinessException;
 use support\Request;
 use support\Response;
+use Tinywan\Jwt\JwtToken;
 
 class HouseTypeController extends Curd
 {
@@ -33,7 +34,8 @@ class HouseTypeController extends Curd
         $model = $this->model->with([
             'category' => function ($query) {
                 $query->select('category_id', 'category_name');
-            }
+            },
+            'user'
         ]);
         foreach ($where as $column => $value) {
             if (is_array($value)) {
@@ -126,6 +128,8 @@ class HouseTypeController extends Curd
         }
         $data['content_config_json']['specs'] = $specs;
 
+        $data['creator_user_id'] = JwtToken::getCurrentId();
+
         $data['content_config_json'] = json_encode($data['content_config_json']);
 
         return $data;
@@ -159,6 +163,8 @@ class HouseTypeController extends Curd
 
         $data['content_config_json'] = json_encode($data['content_config_json']);
 
+        $data['content_updatetimes'] = time();
+
         unset($data[$primary_key]);
         return [$id, $data];
     }

+ 7 - 1
app/admin/controller/sys_manage/HealthyClassroomController.php

@@ -9,9 +9,11 @@ use app\controller\Curd;
 use app\model\Adv;
 use app\model\Article;
 use app\model\Content;
+use Firebase\JWT\JWT;
 use support\exception\BusinessException;
 use support\Request;
 use support\Response;
+use Tinywan\Jwt\JwtToken;
 
 class HealthyClassroomController extends Curd
 {
@@ -43,7 +45,7 @@ class HealthyClassroomController extends Curd
 
     protected function doSelect(array $where, string $field = null, string $order = 'desc')
     {
-        $model = $this->model->with('category');
+        $model = $this->model->with('category','user');
         foreach ($where as $column => $value) {
             if (is_array($value)) {
                 if ($value[0] === 'like' || $value[0] === 'not like') {
@@ -108,6 +110,7 @@ class HealthyClassroomController extends Curd
 
         try {
             $data = $this->insertInput($request);
+            $data['creator_user_id'] = JwtToken::getCurrentId();
             $this->doInsert($data);
         } catch (BusinessException $customException) {
             return json_fail($customException->getMessage());
@@ -136,6 +139,8 @@ class HealthyClassroomController extends Curd
             }
 
             $params['content_config_json'] = json_encode($params['content_config_json'], JSON_UNESCAPED_UNICODE);
+        }else{
+            $params['content_config_json'] = '[]';
         }
         $data = $this->inputFilter($params);
 
@@ -159,6 +164,7 @@ class HealthyClassroomController extends Curd
         }
         $data = $this->inputFilter($params);
         $data['content_title_prefix'] = $data['content_title_prefix'];
+        $data['content_updatetimes'] = time();
         $model = $this->model->find($id);
         if (!$model) {
             throw new BusinessException('记录不存在', 2);

+ 28 - 4
app/admin/service/goods/GoodsService.php

@@ -11,11 +11,13 @@ use app\model\GoodsSku;
 use app\model\SysCategory;
 use app\model\SysDept;
 use app\model\SysSerial;
+use app\model\SysUser;
 use support\Db;
 use support\exception\BusinessException;
 use support\Redis;
 use support\Request;
 use support\Response;
+use Tinywan\Jwt\JwtToken;
 
 class GoodsService
 {
@@ -165,8 +167,11 @@ class GoodsService
             },
             'supplier' => function ($query) {
                 $query->select('supplier_id', 'supplier_name');
+            },
+            'user'=>function($query){
+                $query->select('user_id', 'user_name');
             }
-        ])->select('goods_id', 'join_goods_category_id', 'join_goods_supplier_id', 'goods_status', 'goods_sales_price', 'goods_category', 'goods_name', 'goods_title', 'goods_cover', 'goods_sort', 'goods_attribute_json', 'goods_addtimes')
+        ])->select('goods_id', 'join_goods_category_id', 'join_goods_supplier_id','creator_user_id', 'goods_status', 'goods_sales_price', 'goods_category', 'goods_name', 'goods_title', 'goods_cover', 'goods_sort', 'goods_attribute_json', 'goods_addtimes','goods_updatetimes')
             ->when($goodsName != '', function ($query) use ($goodsName) {
                 $query->where(function ($q) use ($goodsName) {
                     $q->where('goods_name', 'like', '%' . $goodsName . '%')
@@ -242,8 +247,11 @@ class GoodsService
             },
             'supplier' => function ($query) {
                 $query->select('supplier_id', 'supplier_name');
+            },
+            'user'=>function($query){
+                $query->select('user_id', 'user_name');
             }
-        ])->select('goods_id', 'join_goods_category_id', 'join_goods_supplier_id', 'goods_status', 'goods_sales_price', 'goods_category', 'goods_name', 'goods_title', 'goods_cover', 'goods_sort', 'goods_addtimes')
+        ])->select('goods_id', 'join_goods_category_id', 'join_goods_supplier_id','creator_user_id', 'goods_status', 'goods_sales_price', 'goods_category', 'goods_name', 'goods_title', 'goods_cover', 'goods_sort', 'goods_addtimes','goods_updatetimes')
             ->when($goodsName != '', function ($query) use ($goodsName) {
                 $query->where(function ($q) use ($goodsName) {
                     $q->where('goods_name', 'like', '%' . $goodsName . '%')
@@ -303,8 +311,11 @@ class GoodsService
             },
             'supplier' => function ($query) {
                 $query->select('supplier_id', 'supplier_name');
+            },
+            'user'=>function($query){
+                $query->select('user_id', 'user_name');
             }
-        ])->select('goods_id', 'join_goods_category_id', 'join_goods_supplier_id', 'goods_status', 'goods_sales_price', 'goods_category', 'goods_name', 'goods_title', 'goods_cover', 'goods_sort', 'goods_addtimes')
+        ])->select('goods_id', 'join_goods_category_id', 'join_goods_supplier_id','creator_user_id', 'goods_status', 'goods_sales_price', 'goods_category', 'goods_name', 'goods_title', 'goods_cover', 'goods_sort', 'goods_addtimes','goods_updatetimes')
             ->when($goodsName != '', function ($query) use ($goodsName) {
                 $query->where(function ($q) use ($goodsName) {
                     $q->where('goods_name', 'like', '%' . $goodsName . '%')
@@ -351,7 +362,10 @@ class GoodsService
             'supplier' => function ($query) {
                 $query->select('supplier_id', 'supplier_name');
             },
-        ])->select('goods_id', 'join_goods_category_id', 'join_goods_supplier_id', 'goods_status', 'goods_sales_price', 'goods_category', 'goods_name', 'goods_title', 'goods_cover', 'goods_sort', 'goods_addtimes')
+            'user'=>function($query){
+                $query->select('user_id', 'user_name');
+            }
+        ])->select('goods_id', 'join_goods_category_id', 'join_goods_supplier_id','creator_user_id', 'goods_status', 'goods_sales_price', 'goods_category', 'goods_name', 'goods_title', 'goods_cover', 'goods_sort', 'goods_addtimes','goods_updatetimes')
             ->when($goodsName != '', function ($query) use ($goodsName) {
                 $query->where(function ($q) use ($goodsName) {
                     $q->where('goods_name', 'like', '%' . $goodsName . '%')
@@ -570,6 +584,13 @@ class GoodsService
             $data['goods_label'] = !empty($data['goods_label']) ? explode(',', $data['goods_label']) : [];
             $data['goods_json'] = $data['goods_json'] ? json_decode($data['goods_json'], true) : [];
             $data['goods_cover'] = getenv('STORAGE_DOMAIN') . $data['goods_cover'];
+
+            // 创建者
+            $data['creator_username'] = '';
+            if (!empty($data['creator_user_id'])){
+                $data['creator_username'] = SysUser::where('user_id',$data['creator_user_id'])->value('user_name');
+            }
+
             if (!empty($data['goods_detail_slider_json'])) {
                 $data['goods_detail_slider_json'] = json_decode($data['goods_detail_slider_json'], true);
                 // ……
@@ -1131,7 +1152,9 @@ class GoodsService
             $model->goods_remark = $params['goods_remark'] ?? '';
             $model->goods_extend_json = $params['goods_extend_json'] ?? '{}';
             $model->is_support_appointment = $params['is_support_appointment'] ?? 'N';
+            $model->creator_user_id = JwtToken::getCurrentId();
             $model->goods_addtimes = time();
+            $model->goods_updatetimes = time();
 
             if (!empty($params['is_support_appointment']) && $params['is_support_appointment'] == 'Y' && !empty($params['appointment_times']) && $params['goods_category'] != 'TRAVEL') {
                 $times = [];
@@ -1627,6 +1650,7 @@ class GoodsService
             foreach ($data as $key => $val) {
                 $row->{$key} = $val;
             }
+            $row->goods_updatetimes = time();
             $row->save();
         } catch (BusinessException $e) {
             throw new BusinessException($e->getMessage());

+ 6 - 1
app/model/Content.php

@@ -15,7 +15,7 @@ class Content extends Model
 
     const CREATED_AT = 'content_addtimes';
 
-    const UPDATED_AT = null;
+    const UPDATED_AT = 'content_updatetimes';
 
     protected function serializeDate(DateTimeInterface $date)
     {
@@ -26,4 +26,9 @@ class Content extends Model
         return $this->hasOne(SysCategory::class,'category_id','join_content_category_id')
             ->select('category_id','category_name');
     }
+
+    public function user(){
+        return $this->hasOne(SysUser::class,'user_id','creator_user_id')
+            ->select('user_id','user_name');
+    }
 }

+ 5 - 1
app/model/Goods.php

@@ -18,7 +18,7 @@ class Goods extends Model
 
     const CREATED_AT = 'goods_addtimes';
 
-    const UPDATED_AT = null;
+    const UPDATED_AT = 'goods_updatetimes';
 
     // 自动上架
     const LISTING_KEY_PREFIX = "GOODS:LISTING:ON:";
@@ -72,4 +72,8 @@ class Goods extends Model
         return $this->hasMany(GoodsSku::class,'join_sku_goods_id','goods_id')
             ->select('goods_sku_id','join_sku_goods_id','goods_sku_specs_json','goods_sku_sales_price');
     }
+
+    public function user(){
+        return $this->hasOne(SysUser::class,'user_id','creator_user_id');
+    }
 }