| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- <?php
- namespace bizMall\promote\services;
- use bizMall\base\services\BaseService;
- use bizMall\user\services\UserService;
- use common\components\error;
- use common\components\imgUtil;
- use common\components\stringUtil;
- use Yii;
- class GuaGuaWinService extends BaseService
- {
- public static $baseFile = '\bizMall\promote\classes\GuaGuaWinClass';
- //获取自己的奖品 ssh 2019.8.10
- public static function getMyPrize($id, $userId, $sjId)
- {
- $card = GuaGuaService::getById($id);
- if ($card['sjId'] != $sjId) {
- error::instance()->setError('你没有权限');
- return false;
- }
- $list = self::getAllByCondition(['cardId' => $id, 'userId' => $userId], null, '*');
- if (empty($list)) {
- return [];
- }
- $ids = array_column($list, 'prizeId');
- $ids = array_unique(array_filter($ids));
- $prizeList = GuaGuaPrizeService::getAllByCondition(['id' => ['in', $ids]], null, '*', 'id');
- foreach ($list as $key => $val) {
- $prizeId = $val['prizeId'];
- $list[$key]['prizeInfo'] = isset($prizeList[$prizeId]) ? $prizeList[$prizeId] : [];
- }
- return $list;
- }
- //发放奖品 ssh 2019.8.11
- public static function setPrizeGet($id, $sjId)
- {
- $win = self::getById($id);
- if (empty($win)) {
- error::instance()->setError('没有获奖信息');
- return false;
- }
- if ($win['sjId'] != $sjId) {
- error::instance()->setError('你无法操作' . $win['sjId'] . ' | ' . $sjId);
- return false;
- }
- $time = time();
- if (!empty($win['deadline']) && $win['deadline'] < $time) {
- error::instance()->setError('领奖时间已经过了');
- return false;
- }
- if ($win['status'] == 2) {
- error::instance()->setError('已经发放过了');
- return false;
- }
- self::updateById($id, ['status' => 2]);
- return true;
- }
- public static function getWinUser($card)
- {
- $id = $card['id'];
- $respond = self::getListData('*', ['cardId' => $id], 1, 10);
- $winData = [];
- if (isset($respond['list']) && !empty($respond['list'])) {
- $winList = $respond['list'];
- //奖品
- $ids = array_column($winList, 'prizeId');
- $ids = array_unique(array_filter($ids));
- $prizeList = GuaGuaPrizeService::getAllByCondition(['id' => ['in', $ids]], null, '*', 'id');
- //用户
- $userIdList = array_column($winList, 'userId');
- $userInfoList = UserService::getAllByCondition(['id' => ['in', $userIdList]], null, 'id,avatar,userName', 'id');
- foreach ($winList as $key => $val) {
- $userId = $val['userId'];
- $prizeId = $val['prizeId'];
- $userInfo = isset($userInfoList[$userId]) ? $userInfoList[$userId] : [];
- $userName = isset($userInfo['userName']) ? stringUtil::replaceXH($userInfo['userName']) : '';
- $avatar = 'http://img.huaml.com/weixinUserAvatar/2019/08/10/190810092812358125366301679.jpg';
- $prizeName = isset($prizeList[$prizeId]['prizeName']) ? $prizeList[$prizeId]['prizeName'] : '';
- $getTime = date("m-d H:i", $val['getTime']);
- $winData[] = ['userName' => $userName, 'avatar' => $avatar, 'prizeName' => $prizeName, 'getTime' => $getTime];
- }
- }
- return $winData;
- }
- }
|