123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- <?php
- declare (strict_types = 1);
- namespace app\store\controller\card;
- use app\api\service\User as UserService;
- use app\common\library\helper;
- use app\store\controller\Controller;
- use app\store\model\card\UserRiceCard as UserRiceCardModel;
- use app\store\model\card\UserRiceCardConsume;
- /**
- * 用户现金卡管理控制器
- * Class RiceCard
- * @package app\store\controller\card
- */
- class UserRiceCard extends Controller
- {
- public function list()
- {
- $model = new UserRiceCardModel;
- $lists = $model->getList($this->request->param());
- $list = $lists['list'];
- //面值
- $currBalance = $currCost = 0;
- foreach ($list['data'] as $key=>$item){
- if ($item['activation_state'] == 1){
- $currCost += ($item['face_value'] - $item['balance']);
- $currBalance += $item['balance'];
- }
- }
- //本页面值
- $currFaceValue = helper::bcadd(array_sum(array_column($list['data'], 'face_value')),0,2);
- //余额
- //$currBalance = helper::bcadd(array_sum(array_column($list['data'], 'balance')),0);
- //已消费
- //$currCost = helper::bcadd($currFaceValue - $currBalance,0);
- $currBalance = helper::bcadd($currBalance,0);
- $currCost = helper::bcadd($currCost,0);
- $stat = $lists['stat'];
- $faceValue = helper::bcadd($stat['face_value']??0,0);//总面值
- $balance = helper::bcadd($stat['balance']??0,0);//总余额
- $cost = helper::bcadd($faceValue - $balance,0);//总消费
- return $this->renderSuccess(compact('list','currFaceValue','currBalance','currCost','faceValue','balance','cost'));
- }
- /**
- * 米卡-现金卡详情记录
- * @param int $id
- * @return array
- */
- public function consumeDetail()
- {
- $model = new UserRiceCardConsume();
- $list = $model->getList($this->request->param());
- return $this->renderSuccess(compact('list'));
- }
- /**
- * 冻结米卡现金卡
- * @param int $id
- * @param int $state 1:冻结,0:解冻
- * @return array
- */
- public function frozenState( int $id, int $state)
- {
- $model = new UserRiceCardModel;
- if (!$model->freezeCard($id, $state)) {
- return $this->renderError($model->getError() ?: '操作失败');
- }
- return $this->renderSuccess('操作成功');
- }
- /**
- * 撤回
- * @param $cardId
- * @return array
- * @throws \think\db\exception\DataNotFoundException
- * @throws \think\db\exception\DbException
- * @throws \think\db\exception\ModelNotFoundException
- */
- public function revoke($cardId){
- $rice_card = \app\api\model\card\UserRiceCard::where('id',$cardId)->find();
- if(!$rice_card){
- return $this->renderError('找不到信息');
- }
- if($rice_card->effect_state==2){
- return $this->renderError('该卡已被领取');
- }
- if($rice_card->effect_state==1){
- return $this->renderError("该卡已撤回");
- }
- $childrenRice = UserRiceCardModel::where('parent_id',$rice_card->id)->where('is_delete',0)->where('effect_state',1)->find();
- if($childrenRice){
- if($childrenRice->user_id>0){
- return $this->renderError("该卡已被领取,不能撤回");
- }
- }
- $childrenRice->effect_state =2;//失效,删除
- $childrenRice->is_delete = 1;
- $childrenRice->save();
- $rice_card->effect_state = 1;
- $rice_card->save();
- //原米卡改为失效
- //原米卡的限制商品所属用户更换ID
- return $this->renderSuccess('撤回成功');
- }
- /**
- * 实物兑换卡用户表
- * @return array
- */
- public function listReal(){
- $model = new UserRiceCardModel;
- $list = $model->getListReal($this->request->param());
- return $this->renderSuccess(compact('list'));
- }
- }
|