Преглед изворни кода

更新家族成员魅力消费礼物数

zhangxiaobin пре 1 година
родитељ
комит
50b872b5d6

+ 32 - 0
application/api/controller/Guild.php

@@ -626,6 +626,8 @@ class Guild extends Api
                 $uQuery->field('id,avatar,nickname,gender,age,logintime,age_id,constellation_id,province_id,city_id');
             }])->find($member_id);
         if(!$memberInfo) $this->error("用户信息获取失败!");
+        $userService = new UserService();
+        $userService->updateGuildMember(['user_id'=>$memberInfo['user_id']]);
         $userData  = isset($memberInfo['user']) ? $memberInfo['user'] : [];
         $gender    = isset($userData['gender']) ? $userData['gender'] : 1;
         $logintime = isset($userData['logintime']) ? $userData['logintime'] : 0;
@@ -647,6 +649,36 @@ class Guild extends Api
         $memberInfo["logintime"] = !empty($logintime) ? date("Y-m-d", $logintime) : '';
         $myGuildMember = model('GuildMember')->field('role')->where(["user_id"=>$this->auth->id,"guild_id"=>$memberInfo->guild_id])->find();
         $memberInfo["my_role"] = !empty($myGuildMember) ? $myGuildMember['role'] : -1;
+        $fieldArr = ['wealth','charm','gift_num'];
+        foreach ($fieldArr as $fkey => $fval) {
+            if ($memberInfo[$fval] > 10000) {
+                $memberInfo[$fval] = bcdiv($memberInfo[$fval],10000,2).'w';
+            }
+        }
+        /*$userJewelLogWhere["type"] = ["in",[0,2,3,5,6,13]];//查看wallet.php文件
+        $userJewelLogWhere["user_id"] = $userData['id'];
+        $userJewelLogPay = model('UserJewelLog')
+            ->field("sum(value) as total_price")
+            ->where($userJewelLogWhere)
+            ->select();
+        $memberInfo['wealth'] = isset($userJewelLogPay[0]['total_price']) ? (int)$userJewelLogPay[0]['total_price'] : 0;
+        if ($memberInfo['wealth'] > 10000) {
+            $memberInfo['wealth'] = bcdiv($memberInfo['wealth'],10000,2).'w';
+        }
+        $userGiftWhere = [];
+        $userGiftWhere["user_to_id"] = $userData['id'];
+        $userGift = model('GiftUserParty')
+            ->field("sum(value) as total_price,sum(number)as gift_total_num")
+            ->where($userGiftWhere)
+            ->select();
+        $memberInfo['charm'] = isset($userGift[0]['total_price']) ? (int)$userGift[0]['total_price'] : 0;
+        $memberInfo['gift_num'] = isset($userGift[0]['gift_total_num']) ? (int)$userGift[0]['gift_total_num'] : 0;
+        if ($memberInfo['charm'] > 10000) {
+            $memberInfo['charm'] = bcdiv($memberInfo['charm'],10000,2).'w';
+        }
+        if ($memberInfo['gift_num'] > 10000) {
+            $memberInfo['gift_num'] = bcdiv($memberInfo['gift_num'],10000,2).'w';
+        }*/
         $this->success("获取成功!",$memberInfo);
     }
 

+ 3 - 1
application/common/model/Wallet.php

@@ -1,5 +1,6 @@
 <?php
 namespace app\common\model;
+use app\common\service\UserService;
 use think\Model;
 use think\Db;
 /**
@@ -163,7 +164,8 @@ class Wallet extends Model
                 $result['msg'] = '账户余额已更新!';
                 $result['log_table'] = $accountType.'_log';
                 $result['log_id'] = $rs2_id;
-
+                $userService = new UserService();
+                $userService->updateGuildMember(['user_id'=>$user_id]);
                 return $result;
             }
             else

+ 44 - 0
application/common/service/UserService.php

@@ -233,4 +233,48 @@ class UserService
         }
         return $result;
     }
+
+    /**
+     * 更新用户消费/魅力/礼物数据
+     * @return void
+     */
+    public function updateGuildMember($params=[])
+    {
+        $result = [
+            'status' => 1,
+            'msg' => '操作成功',
+            'data' => [],
+        ];
+        try {
+            $userId = isset($params['user_id']) ? $params['user_id'] : 0;
+            if (!empty($userId)) {
+                $guildMemberWhere['user_id'] = $userId;
+                $guildMember = model('GuildMember')->where($guildMemberWhere)->count();
+                if (!empty($guildMember)) {
+                    $wealth = $charm = $gift_num = 0;
+                    $userJewelLogWhere["type"] = ["in",[0,2,3,5,6,13]];//查看wallet.php文件
+                    $userJewelLogWhere["user_id"] = $userId;
+                    $userJewelLogPay = model('UserJewelLog')
+                        ->field("sum(value) as total_price")
+                        ->where($userJewelLogWhere)
+                        ->select();
+                    $wealth = isset($userJewelLogPay[0]['total_price']) ? (int)$userJewelLogPay[0]['total_price'] : 0;
+                    $userGiftWhere = [];
+                    $userGiftWhere["user_to_id"] = $userId;
+                    $userGift = model('GiftUserParty')
+                        ->field("sum(value) as total_price,sum(number)as gift_total_num")
+                        ->where($userGiftWhere)
+                        ->select();
+                    $charm = isset($userGift[0]['total_price']) ? (int)$userGift[0]['total_price'] : 0;
+                    $giftNum = isset($userGift[0]['gift_total_num']) ? (int)$userGift[0]['gift_total_num'] : 0;
+                    $guildMemberData = ['wealth'=>$wealth,'charm'=>$charm,'gift_num'=>$giftNum];
+                    $r = model('GuildMember')->update($guildMemberData,$guildMemberWhere);
+                }
+            }
+        } catch (Exception $e) {
+            $result['status'] = 0;
+            $result['msg'] = $e->getMessage();
+        }
+        return $result;
+    }
 }