Browse Source

wesmiler 更新代码0706

wesmiler 1 year ago
parent
commit
8f82cbb2dd

+ 1 - 1
addons/admin/src/components/uploadImage.vue

@@ -55,7 +55,7 @@ export default {
       }
     },
     value:{
-      type: String||Array||Object,
+      type: [String,Array,Object],
       default: ''
     }
   },

+ 2 - 2
app/Helpers/common.php

@@ -1449,7 +1449,7 @@ if (!function_exists('upload_image')) {
      * @author laravel开发员
      * @date 2019/5/23
      */
-    function upload_image($request, $form_name = 'file')
+    function upload_image($request, $form_name = 'file',$file_path='')
     {
         // 检测请求中是否包含name=$form_name的上传文件
         if (!$request->hasFile($form_name)) {
@@ -1485,7 +1485,7 @@ if (!function_exists('upload_image')) {
         }
 
         // 文件路径
-        $file_dir = UPLOAD_TEMP_PATH . "/" . date('Ymd');
+        $file_dir = ($file_path? ATTACHMENT_PATH.'/images/'.$file_path : UPLOAD_TEMP_PATH) . "/" . date('Ymd');
 
         // 检测文件路径是否存在,不存在则创建
         if (!file_exists($file_dir)) {

+ 12 - 0
app/Http/Controllers/Admin/MemberController.php

@@ -102,4 +102,16 @@ class MemberController extends Backend
             return message(MemberService::make()->getError(), false);
         }
     }
+
+    /**
+     * 删除数据
+     * @return mixed
+     * @since 2020/11/11
+     * @author laravel开发员
+     */
+    public function delete()
+    {
+        $result = $this->service->delete();
+        return $result;
+    }
 }

+ 10 - 1
app/Http/Controllers/Api/v1/GoodsController.php

@@ -3,9 +3,11 @@
 namespace App\Http\Controllers\Api\v1;
 
 use App\Http\Controllers\Api\webApp;
+use App\Models\ShopModel;
 use App\Services\Common\GoodsService;
 use App\Services\Common\MemberService;
 use App\Services\Common\ScoreGoodsService;
+use App\Services\Common\ShopService;
 use App\Services\Common\TradeService;
 
 /**
@@ -21,8 +23,15 @@ class GoodsController extends webApp
         $params = request()->all();
         $pageSize = isset($params['pageSize'])? $params['pageSize'] : 18;
 
+
+        $shopInfo = ShopService::make()->getInfo($this->shopId);
+        $shopUid = isset($shopInfo['user_id'])? $shopInfo['user_id'] : 0;
+        // 非店长不可看到自己的商品
+        if($shopUid != $this->userId){
+            $params['not_user_id'] = $this->userId;
+        }
+
         $params['shop_id'] = $this->shopId;
-        $params['not_user_id'] = $this->userId;
         $params['is_trade'] = 2;
         $params['status'] = 1;
         $params['type'] = 1;

+ 1 - 1
app/Http/Controllers/Api/v1/MemberController.php

@@ -60,7 +60,7 @@ class MemberController extends webApp
     public function saveAvatar(Request $request)
     {
         // 上传单图统一调取方法
-        $result = upload_image($request, 'file');
+        $result = upload_image($request, 'file','avatar');
         if (!$result['success']) {
             return message($result['msg'],false,['url'=>'']);
         }

BIN
app/Models.zip


+ 1 - 9
app/Services/Common/AdService.php

@@ -74,15 +74,7 @@ class AdService extends BaseService
         $data = request()->all();
         // 图片处理
         $cover = $data['cover']? trim($data['cover']): '';
-        if (strpos($cover, "temp")) {
-            $data['cover'] = save_image($cover, 'ad');
-        } else {
-            $data['cover'] = str_replace(IMG_URL, "", $data['cover']);
-        }
-        // 开始时间
-        if (isset($data['start_time'])) {
-            $data['start_time'] = strtotime($data['start_time']);
-        }
+
         // 结束时间
         if (isset($data['end_time'])) {
             $data['end_time'] = strtotime($data['end_time']);

+ 6 - 2
app/Services/Common/GoodsService.php

@@ -89,7 +89,11 @@ class GoodsService extends BaseService
             ->where($where)
             ->where(function($query) use($type){
                 if($type == 1){
-                    $query->whereIn('a.id', TradeModel::where(['is_pay'=>2,'status'=>1,'is_out'=>0,'mark'=>1])->pluck('goods_id'));
+                    $ids = TradeModel::where(['is_pay'=>2,'status'=>1,'is_out'=>0,'mark'=>1])->pluck('goods_id');
+                    $ids = $ids? $ids->toArray() : [];
+                    if($ids){
+                        $query->whereIn('a.id', $ids);
+                    }
                 }else if($type == 2){
                     $query->where(['a.confirm_status'=> 1, 'a.status'=> 1,'a.is_trade'=>2]);
                 }else if($type == 3){
@@ -223,7 +227,7 @@ class GoodsService extends BaseService
         // thumb处理
         $thumb = isset($data['thumb']) ? trim($data['thumb']) : '';
         if ($thumb && strpos($thumb, "temp")) {
-            $data['thumb'] = save_image($thumb, 'member');
+            $data['thumb'] = save_image($thumb, 'goods');
         } else if ($thumb) {
             $data['thumb'] = str_replace(IMG_URL, "", $data['thumb']);
         }

+ 20 - 1
app/Services/Common/MemberService.php

@@ -658,6 +658,16 @@ class MemberService extends BaseService
     }
 
     /**
+     * 删除
+     * @return mixed
+     */
+    public function delete()
+    {
+        $this->model->where(['mark'=>0])->where('update_time','<', time() - 300)->delete();
+        return parent::delete();
+    }
+
+    /**
      * 修改头像
      * @param $userId
      * @param $avatar
@@ -665,7 +675,16 @@ class MemberService extends BaseService
      */
     public function saveAvatar($userId, $avatar)
     {
-        return $this->model->where(['id'=> $userId])->update(['avatar'=> $avatar,'update_time'=> time()]);
+        $oldAvatar = $this->model->where(['id'=> $userId])->value('avatar');
+        if($this->model->where(['id'=> $userId])->update(['avatar'=> $avatar,'update_time'=> time()])){
+            if($oldAvatar && file_exists(ATTACHMENT_PATH.$oldAvatar)){
+                @unlink(ATTACHMENT_PATH.$oldAvatar);
+            }
+
+            return true;
+        }
+
+        return false;
     }
 
     /**

+ 30 - 8
app/Services/Common/TradeService.php

@@ -833,17 +833,19 @@ class TradeService extends BaseService
             return false;
         }
 
-        if ($goodsUserId == $userId) {
-            $this->error = 2036;
-            return false;
-        }
-
         $shopInfo = ShopService::make()->getInfo($shopId);
+        $shopUid = isset($shopInfo['user_id'])? $shopInfo['user_id'] : 0;
         if (empty($shopInfo)) {
             $this->error = 2033;
             return false;
         }
 
+        // 非店长不可拍自己商品
+        if ($goodsUserId == $userId && $shopUid != $userId) {
+            $this->error = 2036;
+            return false;
+        }
+
         // 营业时间
         $curTime = time();
         $startTime = isset($shopInfo['start_time']) ? $shopInfo['start_time'] : '';
@@ -854,7 +856,7 @@ class TradeService extends BaseService
         $snapNum = $snapNum>0? $snapNum : 5;
 
         // 店长自己抢
-        if ($shopInfo['user_id'] == $userId) {
+        if ($shopUid == $userId) {
             $shopownerSnapNum = ConfigService::make()->getConfigByCode('shopowner_snap_num');
             $snapNum = $shopownerSnapNum>0? $shopownerSnapNum : 5;
 
@@ -885,6 +887,15 @@ class TradeService extends BaseService
             return false;
         }
 
+        // 如果是店长拍自身商品,直接转为隔天待售
+        if($shopUid == $goodsUserId && $shopUid == $userId){
+            GoodsModel::where(['id' => $goodsId])->update(['last_sell_time' => time(),'remark' => '店长自拍重新上架 ' . date('Y-m-d H:i:s'), 'update_time' => time()]);
+            $this->error = 2041;
+            // 抢拍成功,清除当天已抢拍数量统计
+            RedisService::keyDel("caches:trade:snapNum:{$userId}");
+            return true;
+        }
+
         // 验证收款账号
         if (!MemberBankService::make()->getBindInfo($userId)) {
             $this->error = 2037;
@@ -1362,7 +1373,8 @@ class TradeService extends BaseService
     {
         // 更新商品交易状态
         DB::beginTransaction();
-
+        // 交易次数
+        GoodsModel::where(['id' => $info['goods_id'], 'mark' => 1])->increment('trade_count', 1);
 
         $memberInfo = MemberModel::where(['id' => $info['user_id'], 'mark' => 1])->first();
         $parentId = isset($memberInfo['parent_id']) ? $memberInfo['parent_id'] : 0;
@@ -1590,8 +1602,18 @@ class TradeService extends BaseService
         }
 
         $this->model->where('create_time', '<', $clearDay)->update(['mark' => 0, 'remark' => '到期清除', 'update_time' => time()]);
-        $this->model->where('create_time', '<', $clearDay - 86400)->where(['mark' => 0])->delete();
+        $lists = $this->model->where('create_time', '<', $clearDay - 86400)->where(['mark' => 0])->select(['id','pay_img'])->get();
+        if($lists){
+            $lists = $lists->toArray();
+            foreach ($lists as $v){
+                $payImg = isset($v['pay_img'])? $v['pay_img'] : '';
+                if($payImg && file_exists(ATTACHMENT_PATH.$payImg)){
+                    unlink(ATTACHMENT_PATH.$payImg);
+                }
+            }
+        }
 
+        $this->model->where('create_time', '<', $clearDay - 86400)->where(['mark' => 0])->delete();
         $result = ['count' => $count, 'day' => date('Y-m-d H:i:s', $clearDay)];
         RedisService::set($cacheKey, $result, 7200);
         return $result;