Просмотр исходного кода

up - admin / 退款权益卡次数

liugc 1 год назад
Родитель
Сommit
cdadec65f4

+ 6 - 0
app/adminapi/controller/equity/UserEquityController.php

@@ -104,5 +104,11 @@ class UserEquityController extends BaseAdminController
         return $this->data($result);
     }
 
+    public function serviceWorkDetail()
+    {
+        $params = $this->request->param();
+        $result = UserEquityLogic::serviceWorkDetail($params);
+        return $this->data($result);
+    }
 
 }

+ 3 - 3
app/adminapi/lists/equity/EquityConfigLists.php

@@ -38,8 +38,8 @@ class EquityConfigLists extends BaseAdminDataLists implements ListsSearchInterfa
     public function setSearch(): array
     {
         return [
-            '=' => ['equity_name', 'price', 'number', 'goods_id', 'day_num'],
-
+            '=' => ['price', 'number', 'goods_id', 'day_num'],
+            '%like%'=> ['equity_name'],
         ];
     }
 
@@ -55,7 +55,7 @@ class EquityConfigLists extends BaseAdminDataLists implements ListsSearchInterfa
      */
     public function lists(): array
     {
-        return EquityConfig::where($this->searchWhere)
+        return EquityConfig::with(['goods'])->where($this->searchWhere)
             ->field(['id', 'equity_name', 'price', 'number', 'goods_id', 'day_num'])
             ->limit($this->limitOffset, $this->limitLength)
             ->order(['id' => 'desc'])

+ 9 - 3
app/adminapi/lists/equity/UserEquityLists.php

@@ -18,6 +18,7 @@ namespace app\adminapi\lists\equity;
 use app\adminapi\lists\BaseAdminDataLists;
 use app\common\model\equity\UserEquity;
 use app\common\lists\ListsSearchInterface;
+use app\common\model\user\User;
 
 
 /**
@@ -37,8 +38,12 @@ class UserEquityLists extends BaseAdminDataLists implements ListsSearchInterface
      */
     public function setSearch(): array
     {
+        if(isset($this->params['mobile']) && !empty($this->params['mobile'])){
+            $userId = User::where('mobile',$this->params['mobile'])->value('id')??0;
+            $this->params['user_id'] = $userId;
+        }
         return [
-            '=' => ['user_id', 'equity_id', 'price', 'all_num', 'goods_id', 'number', 'end_time'],
+            '=' => ['user_id', 'equity_id', 'goods_id', 'number', 'end_time'],
 
         ];
     }
@@ -55,8 +60,9 @@ class UserEquityLists extends BaseAdminDataLists implements ListsSearchInterface
      */
     public function lists(): array
     {
-        return UserEquity::where($this->searchWhere)
-            ->field(['id', 'user_id', 'equity_id', 'price', 'all_num', 'goods_id', 'number', 'end_time'])
+        return UserEquity::with(['equityConfig', 'goods','user'])
+        ->where($this->searchWhere)
+            ->field(['id', 'user_id', 'equity_id', 'goods_id', 'number', 'end_time'])
             ->limit($this->limitOffset, $this->limitLength)
             ->order(['id' => 'desc'])
             ->select()

+ 23 - 14
app/adminapi/logic/equity/UserEquityLogic.php

@@ -15,8 +15,12 @@
 namespace app\adminapi\logic\equity;
 
 
+use app\adminapi\logic\user\UserLogic;
+use app\common\model\equity\EquityConfig;
 use app\common\model\equity\UserEquity;
 use app\common\logic\BaseLogic;
+use app\common\model\user\User;
+use app\common\model\works\ServiceWork;
 use think\facade\Db;
 
 
@@ -40,14 +44,18 @@ class UserEquityLogic extends BaseLogic
     {
         Db::startTrans();
         try {
+            // 通过手机号查询用户是否注册 - 已注册绑定id ,未注册注册再绑定id
+            $userId = UserLogic::getUserIdByMobile($params['mobile']);
+            $equityConfigInfo = EquityConfig::find($params['equity_id']);
             UserEquity::create([
-                'user_id' => $params['user_id'],
+                'user_id' => $userId,
                 'equity_id' => $params['equity_id'],
-                'price' => $params['price'],
-                'all_num' => $params['all_num'],
-                'goods_id' => $params['goods_id'],
-                'number' => $params['number'],
-                'end_time' => $params['end_time'],
+                'remark' => $params['remark'],
+
+                'goods_id' => $equityConfigInfo['goods_id'],
+                'number' => $equityConfigInfo['number'],
+                'end_time' => (time()+$equityConfigInfo['day_num']*86400),
+
             ]);
 
             Db::commit();
@@ -72,15 +80,9 @@ class UserEquityLogic extends BaseLogic
         Db::startTrans();
         try {
             UserEquity::where('id', $params['id'])->update([
-                'user_id' => $params['user_id'],
-                'equity_id' => $params['equity_id'],
-                'price' => $params['price'],
-                'all_num' => $params['all_num'],
-                'goods_id' => $params['goods_id'],
-                'number' => $params['number'],
-                'end_time' => $params['end_time'],
+                'number' => $params['number']??0,
+                'remark' => $params['remark'],
             ]);
-
             Db::commit();
             return true;
         } catch (\Exception $e) {
@@ -115,4 +117,11 @@ class UserEquityLogic extends BaseLogic
     {
         return UserEquity::findOrEmpty($params['id'])->toArray();
     }
+
+
+    public static function serviceWorkDetail($params): array
+    {
+        return ServiceWork::where('user_equity_id',$params['user_equity_id'])->append(['work_status_text'])->select()->toArray();
+    }
+
 }

+ 4 - 4
app/adminapi/validate/equity/UserEquityValidate.php

@@ -32,7 +32,7 @@ class UserEquityValidate extends BaseValidate
       */
     protected $rule = [
         'id' => 'require',
-        'user_id' => 'require',
+        'mobile' => 'require|mobile',
         'equity_id' => 'require',
         'goods_id' => 'require',
         'number' => 'require',
@@ -46,7 +46,7 @@ class UserEquityValidate extends BaseValidate
      */
     protected $field = [
         'id' => 'id',
-        'user_id' => '用户ID',
+        'mobile' => '用户手机号',
         'equity_id' => '权益卡ID',
         'goods_id' => '商品ID',
         'number' => '剩余使用次数',
@@ -62,7 +62,7 @@ class UserEquityValidate extends BaseValidate
      */
     public function sceneAdd()
     {
-        return $this->only(['user_id','equity_id','goods_id','number']);
+        return $this->only(['mobile','equity_id']);
     }
 
 
@@ -74,7 +74,7 @@ class UserEquityValidate extends BaseValidate
      */
     public function sceneEdit()
     {
-        return $this->only(['id','user_id','equity_id','goods_id','number']);
+        return $this->only(['id']);
     }
 
 

+ 7 - 2
app/common/command/QueryRefund.php

@@ -113,7 +113,8 @@ class QueryRefund extends Command
                 'log_sn' => $record['log_sn'],
                 'pay_way' => $order['pay_way'],
                 'order_terminal' => $order['order_terminal'],
-                'order_id'=>$order['id']
+                'order_id'=>$order['id'],
+                'paid_amount'=>$order['paid_amount'],
             ]);
         }
     }
@@ -133,7 +134,11 @@ class QueryRefund extends Command
         $result = null;
         switch ($refundData['pay_way']) {
             case PayEnum::WECHAT_PAY:
-                $result = self::checkWechatRefund($refundData['order_terminal'], $refundData['log_sn']);
+                if((float)$refundData['paid_amount'] > 0){
+                    $result = self::checkWechatRefund($refundData['order_terminal'], $refundData['log_sn']);
+                }else{
+                    $result = true;
+                }
                 break;
         }
         if (is_null($result)) {

+ 8 - 0
app/common/logic/TableDataLogic.php

@@ -18,6 +18,7 @@ namespace app\common\logic;
 
 use app\common\enum\PayEnum;
 use app\common\enum\RefundEnum;
+use app\common\model\equity\EquityConfig;
 use app\common\model\labels\Labels;
 use app\common\model\property\PropertyHead;
 use app\common\model\recharge\RechargeOrder;
@@ -80,6 +81,13 @@ class TableDataLogic extends BaseLogic
         return Labels::where('id','>',0)->where('label_type',3)->field('id,label_name as name,id as value,"data_table_couponLabels" as type_value')->select()->toArray();
     }
 
+    /**
+     * @notes 权益卡列表
+     */
+    public static function equityConfig()
+    {
+        return EquityConfig::where('id','>',0)->field('id,equity_name as name,id as value,"data_table_equityConfig" as type_value')->select()->toArray();
+    }
 
 
 }

+ 5 - 2
app/common/model/equity/EquityConfig.php

@@ -16,7 +16,7 @@ namespace app\common\model\equity;
 
 
 use app\common\model\BaseModel;
-
+use app\common\model\goods\Goods;
 
 
 /**
@@ -28,7 +28,10 @@ class EquityConfig extends BaseModel
 {
     
     protected $name = 'equity_config';
-    
 
+    public function goods()
+    {
+        return $this->hasOne(Goods::class, 'id', 'goods_id');
+    }
     
 }

+ 7 - 0
app/common/model/equity/UserEquity.php

@@ -3,6 +3,7 @@
 namespace app\common\model\equity;
 use app\common\model\BaseModel;
 use app\common\model\goods\Goods;
+use app\common\model\user\User;
 
 class UserEquity extends BaseModel
 {
@@ -17,4 +18,10 @@ class UserEquity extends BaseModel
     {
         return $this->hasOne(Goods::class, 'id', 'goods_id');
     }
+    public function user()
+    {
+        return $this->hasOne(User::class, 'id', 'user_id');
+    }
+
+
 }