Forráskód Böngészése

Default Changelist

xxxrrrdddd 2 éve
szülő
commit
cd316f564d

+ 19 - 12
application/admin/view/award_recommend/add.html

@@ -1,4 +1,4 @@
-<form id="add-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
+<form id="edit-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
 
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Type')}:</label>
@@ -6,42 +6,49 @@
                         
             <select  id="c-type" class="form-control selectpicker" name="row[type]">
                 {foreach name="typeList" item="vo"}
-                    <option value="{$key}" {in name="key" value="1"}selected{/in}>{$vo}</option>
+                    <option value="{$key}">{$vo}</option>
                 {/foreach}
             </select>
 
         </div>
     </div>
     <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Register_award')}:</label>
+        <label class="control-label col-xs-12 col-sm-2">{:__('Stock')}:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-register_award" class="form-control" step="0.01" name="row[register_award]" type="number">
+            <input id="c-stock" class="form-control" name="row[stock]" type="number" value>
         </div>
     </div>
     <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Recommend_award')}:</label>
+        <label class="control-label col-xs-12 col-sm-2">{:__('Total_direct')}:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-recommend_award" class="form-control" step="0.01" name="row[recommend_award]" type="number">
+            <input id="c-total_direct" class="form-control" name="row[total_direct]" type="number" value="">
         </div>
     </div>
     <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Goods_id')}:</label>
+        <label class="control-label col-xs-12 col-sm-2">{:__('Register_award')}:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-goods_id" data-rule="required" data-source="goods/index" class="form-control selectpage" name="row[goods_id]" type="text" value="">
+            <input id="c-register_award" class="form-control" step="0.01" name="row[register_award]" type="number" value="">
         </div>
     </div>
     <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Box_id')}:</label>
+        <label class="control-label col-xs-12 col-sm-2">{:__('Recommend_award')}:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-box_id" data-rule="required" data-source="box/index" class="form-control selectpage" name="row[box_id]" type="text" value="">
+            <input id="c-recommend_award" class="form-control" step="0.01" name="row[recommend_award]" type="number" value="">
         </div>
     </div>
     <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Stock')}:</label>
+        <label class="control-label col-xs-12 col-sm-2">{:__('Goods_id')}:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-stock" class="form-control" name="row[stock]" type="number">
+            <input id="c-goods_id"  data-source="goods/index" class="form-control selectpage" name="row[goods_id]" type="text" value="">
         </div>
     </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Box_id')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-box_id"  data-source="box/index" class="form-control selectpage" name="row[box_id]" type="text" value="">
+        </div>
+    </div>
+
     <div class="form-group layer-footer">
         <label class="control-label col-xs-12 col-sm-2"></label>
         <div class="col-xs-12 col-sm-8">

+ 52 - 0
application/admin/view/award_recommend/add.html1

@@ -0,0 +1,52 @@
+<form id="add-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
+
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Type')}:</label>
+        <div class="col-xs-12 col-sm-8">
+                        
+            <select  id="c-type" class="form-control selectpicker" name="row[type]">
+                {foreach name="typeList" item="vo"}
+                    <option value="{$key}" {in name="key" value="1"}selected{/in}>{$vo}</option>
+                {/foreach}
+            </select>
+
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Register_award')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-register_award" class="form-control" step="0.01" name="row[register_award]" type="number">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Recommend_award')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-recommend_award" class="form-control" step="0.01" name="row[recommend_award]" type="number">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Goods_id')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-goods_id" data-rule="required" data-source="goods/index" class="form-control selectpage" name="row[goods_id]" type="text" value="">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Box_id')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-box_id" data-rule="required" data-source="box/index" class="form-control selectpage" name="row[box_id]" type="text" value="">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Stock')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-stock" class="form-control" name="row[stock]" type="number">
+        </div>
+    </div>
+    <div class="form-group layer-footer">
+        <label class="control-label col-xs-12 col-sm-2"></label>
+        <div class="col-xs-12 col-sm-8">
+            <button type="submit" class="btn btn-success btn-embossed disabled">{:__('OK')}</button>
+            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+        </div>
+    </div>
+</form>

+ 1 - 1
application/admin/view/award_recommend/index.html

@@ -7,7 +7,7 @@
                 <div class="widget-body no-padding">
                     <div id="toolbar" class="toolbar">
                         <a href="javascript:;" class="btn btn-primary btn-refresh" title="{:__('Refresh')}" ><i class="fa fa-refresh"></i> </a>
-                        <!--<a href="javascript:;" class="btn btn-success btn-add {:$auth->check('award_recommend/add')?'':'hide'}" title="{:__('Add')}" ><i class="fa fa-plus"></i> {:__('Add')}</a>-->
+                        <a href="javascript:;" class="btn btn-success btn-add {:$auth->check('award_recommend/add')?'':'hide'}" title="{:__('Add')}" ><i class="fa fa-plus"></i> {:__('Add')}</a>
                         <!--<a href="javascript:;" class="btn btn-success btn-edit btn-disabled disabled {:$auth->check('award_recommend/edit')?'':'hide'}" title="{:__('Edit')}" ><i class="fa fa-pencil"></i> {:__('Edit')}</a>-->
                         <!--<a href="javascript:;" class="btn btn-danger btn-del btn-disabled disabled {:$auth->check('award_recommend/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a>-->
                         <!--<a href="javascript:;" class="btn btn-danger btn-import {:$auth->check('award_recommend/import')?'':'hide'}" title="{:__('Import')}" id="btn-import-file" data-url="ajax/upload" data-mimetype="csv,xls,xlsx" data-multiple="false"><i class="fa fa-upload"></i> {:__('Import')}</a>-->

+ 1 - 1
extend/datamodel/GoodsHash.php

@@ -18,7 +18,7 @@ class GoodsHash extends BaseDataModel
         $this->save();
     }
     protected function scopeZero(Query $query){
-        $query->where('order_id',0);
+        $query->whereNull('order_id');
     }
     protected function scopeQueryOrder(Query $query,$orderId){
         $query->where('order_id',$orderId);

+ 0 - 9
extend/datamodel/OrdersGoods.php

@@ -14,13 +14,4 @@ use think\db\Query;
 
 class OrdersGoods extends BaseDataModel
 {
-
-    public function addHash($goodsHash){
-        if(!$goodsHash){
-            throw new \Exception('未找到hash');
-        }
-        $this['goods_hash'] = $goodsHash['hash'];
-        $this['user_hash']=ChainLogic::instance()->getGoodsHash(Goods::get($this['goods_id']));
-        return $this->save();
-    }
 }

+ 13 - 1
extend/datamodel/UsersGoods.php

@@ -9,7 +9,19 @@
 namespace datamodel;
 
 
+use logicmodel\ChainLogic;
+use think\Log;
+
 class UsersGoods extends BaseDataModel
 {
-
+    public function addHash($goodsHash){
+        if(!$goodsHash){
+            //throw new \Exception('未找到hash');
+            Log::error("用户商品未找到hash,{$this['id']}");
+            return;
+        }
+        $this['goods_hash'] = $goodsHash['hash'];
+        $this['user_hash']=ChainLogic::instance()->getGoodsHash(Goods::get($this['goods_id']));
+        return $this->save();
+    }
 }

+ 6 - 7
extend/logicmodel/GoodsLogic.php

@@ -480,19 +480,18 @@ class GoodsLogic
                 return Response::fail('购买失败');
             }
             $hash->setOrder($result);
-            try {
-                $orderGoods=OrdersGoods::get($result);
-                $orderGoods->addHash($hash);
-            }catch (\Exception $e){
-                Db::rollback();
-                return Response::fail('购买失败1');
-            }
             $goods['uid'] = $uid;
             $goods['goods_id'] = $goods_id;
             $goods['price'] = $price;
             $goods['create_time'] = date('Y-m-d H:i:s');
             $result =  $this->usersGoodsData->saveEntityAndGetId($goods);
             if($result >0){
+                try {
+                    UsersGoods::get($result)->addHash($hash);
+                }catch (\Exception $e){
+                    Db::rollback();
+                    return Response::fail('购买失败1');
+                }
                 Db::commit();
                 $goodsData = new Goods();
                 $goodsData->where(['id'=>$goods_id])->setInc('sales');

+ 2 - 1
extend/logicmodel/NotifyLogic.php

@@ -157,7 +157,6 @@ class NotifyLogic
                 $data['pay_time'] = date('Y-m-d H:i:s');
                 $hash=GoodsHash::queryOrder($orderInfo['id'])->find();
                 Db::startTrans();
-                $orderInfo->addHash($hash);
                 $result = $ordersGoodsData->updateByWhere(['id'=>$orderInfo['id']],$data);
                 if($result < 0){
                     Db::rollback();
@@ -168,6 +167,7 @@ class NotifyLogic
                 $goods['price'] = $orderInfo['price'];
                 $goods['create_time'] = date('Y-m-d H:i:s');
                 $result = (new UsersGoods())->insertGetId($goods);
+                UsersGoods::get($result)->addHash($hash);
                 if(!$result){
                     Db::rollback();
                     return $fail('通信失败,请稍后再通知我');
@@ -485,6 +485,7 @@ class NotifyLogic
             $goods['price'] = $orderInfo['price'];
             $goods['create_time'] = date('Y-m-d H:i:s');
             $result = (new UsersGoods())->insertGetId($goods);
+            UsersGoods::get($result)->addHash($hash);
             if(!$result){
                 Db::rollback();
                 return 'FAIL';

+ 43 - 40
extend/logicmodel/award/Recommend.php

@@ -34,49 +34,52 @@ class Recommend extends Award
        $awardInfo =  $this->awardIsOpen($this->award_id);
         if($awardInfo === false) return false;
         $recommendData = new AwardRecommend();
-        $recommend =  $recommendData->find(1);
-        if(empty($recommend))return false;
-        $register_award = $recommend['register_award'];
-        if($register_award >0){
-            (new AccountLogic())->addAccount($uid, 2, $register_award, '实名认证奖励', '认证奖励');
-        }
-        if($recommend['stock'] <= 0) return false;
-        $count = $this->usersData->where(['is_auth'=>1,'pid'=>$uid,'is_del'=>0])->where('create_time','>=',Conf::getValue('award_goods_clear_time','0000-00-00'))->count();
-        if($count != $recommend['total_direct']) return false;
-        $type = $recommend['type'];
-        if($type == 1){
-            $recommend_award = $recommend['recommend_award'];//推荐奖励
-            if($register_award > 0){
-                $recommendData->where(['id'=>1])->setDec('stock',1);
-                $this->record($uid,2,$recommend_award,$from_uid,$this->award_id,$awardInfo['name'],'推荐奖励',$awardInfo['field'],0,0,1);
+        $recommends =  $recommendData->select();
+        foreach ($recommends as $recommend){
+            $register_award = $recommend['register_award'];
+            if($register_award >0){
+                (new AccountLogic())->addAccount($uid, 2, $register_award, '实名认证奖励', '认证奖励');
             }
-
-            return true;
-        }elseif ($type == 2){
-            //生成一个藏品
-            if($recommend['goods_id'] > 0){
-               $goods =  Goods::where(['id'=>$recommend['goods_id']])->find();
-               if($goods){
-                   $recommendData->where(['id'=>1])->setDec('stock',1);
-                   $usersGoods = ['uid'=>$uid,'goods_id'=>$goods['id'],'price'=>$goods['price'],'create_time'=>date('Y-m-d H:i:s')];
-                   $result = (new UsersGoods())->insertGetId($usersGoods);
-                   if($result){
-                       $this->record($uid,2,0,$from_uid,$this->award_id,$awardInfo['name'],'推荐奖励',$awardInfo['field'],$recommend['goods_id'],0,2);
-                   }
-               }
-
+            if($recommend['stock'] <= 0) {
+                continue;
             }
-
-        }elseif ($type == 3){
-            if($recommend['box_id'] > 0){
-                $box =  Goods::where(['id'=>$recommend['box_id']])->find();
-                if($box){
+            $count = $this->usersData->where(['is_auth'=>1,'pid'=>$uid,'is_del'=>0])->where('create_time','>=',Conf::getValue('award_goods_clear_time','0000-00-00'))->count();
+            if($count != $recommend['total_direct']) {
+                continue;
+            }
+            $type = $recommend['type'];
+            if($type == 1){
+                $recommend_award = $recommend['recommend_award'];//推荐奖励
+                if($recommend_award > 0){
                     $recommendData->where(['id'=>1])->setDec('stock',1);
-                    $usersBox = ['uid'=>$uid,'box_id'=>$recommend['box_id'],'price'=>$box['price'],'create_time'=>date('Y-m-d H:i:s')];
-                   $result =  (new UsersBox())->insertGetId($usersBox);
-                   if($result){
-                       $this->record($uid,2,0,$from_uid,$this->award_id,$awardInfo['name'],'推荐奖励',$awardInfo['field'],0,$recommend['box_id'],3);
-                   }
+                    $this->record($uid,2,$recommend_award,$from_uid,$this->award_id,$awardInfo['name'],'推荐奖励',$awardInfo['field'],0,0,1);
+                }
+            }elseif ($type == 2){
+                //生成一个藏品
+                if($recommend['goods_id'] > 0){
+                    $goods =  Goods::where(['id'=>$recommend['goods_id']])->find();
+                    if($goods){
+                        $recommendData->where(['id'=>1])->setDec('stock',1);
+                        $usersGoods = ['uid'=>$uid,'goods_id'=>$goods['id'],'price'=>$goods['price'],'create_time'=>date('Y-m-d H:i:s')];
+                        $result = (new UsersGoods())->insertGetId($usersGoods);
+                        if($result){
+                            $this->record($uid,2,0,$from_uid,$this->award_id,$awardInfo['name'],'推荐奖励',$awardInfo['field'],$recommend['goods_id'],0,2);
+                        }
+                    }
+
+                }
+
+            }elseif ($type == 3){
+                if($recommend['box_id'] > 0){
+                    $box =  Goods::where(['id'=>$recommend['box_id']])->find();
+                    if($box){
+                        $recommendData->where(['id'=>1])->setDec('stock',1);
+                        $usersBox = ['uid'=>$uid,'box_id'=>$recommend['box_id'],'price'=>$box['price'],'create_time'=>date('Y-m-d H:i:s')];
+                        $result =  (new UsersBox())->insertGetId($usersBox);
+                        if($result){
+                            $this->record($uid,2,0,$from_uid,$this->award_id,$awardInfo['name'],'推荐奖励',$awardInfo['field'],0,$recommend['box_id'],3);
+                        }
+                    }
                 }
             }
         }