$avatar, 'real_name' => $params['real_name'], 'nickname' => $params['nickname'], 'account' => $params['account'], 'password' => $password, 'mobile' => $params['mobile'], 'sex' => $params['sex'], 'is_disable' => $params['is_disable'], ]); Db::commit(); return $res; } catch (\Exception $e) { Db::rollback(); self::setError($e->getMessage()); return false; } } public static function StoreAdd(array $params) { $passwordSalt = Config::get('project.unique_identification'); $password = create_password(123456, $passwordSalt); $defaultAvatar = config('project.default_image.admin_avatar'); $avatar = !empty($params['avatar']) ? FileService::setFileUrl($params['avatar']) : $defaultAvatar; Db::startTrans(); try { $data=[ 'avatar' => $avatar, 'real_name' => $params['real_name']??"", 'nickname' => '用户'.time(), 'account' => $params['mobile'], 'password' => $password, 'mobile' => $params['mobile'], 'user_ship' => $params['user_ship']??0, ]; $res=User::create($data); UserAddress::create([ 'uid' => $res['id'], 'real_name' => $params['real_name']??"", 'mobile' => $params['mobile'], 'province' => $params['province'], 'city' => $params['city'], 'area' => $params['area'], 'street' => $params['street'], 'village' => $params['village'], 'brigade' => $params['brigade'], 'is_default' => 1, ]); Db::commit(); return $res; } catch (\Exception $e) { Db::rollback(); self::setError($e->getMessage()); return false; } } /** * @notes 编辑用户列表 * @param array $params * @return bool * @author likeadmin * @date 2024/04/25 10:20 */ public static function edit(array $params): bool { Db::startTrans(); try { User::where('id', $params['id'])->update([ // 'avatar' => $params['avatar'] ?? '', // 'real_name' => $params['real_name'], // 'nickname' => $params['nickname'], // 'account' => $params['account'], // 'password' => $params['password'] ?? '', // 'mobile' => $params['mobile'] ?? '', // 'sex' => $params['sex'] ?? 0, // 'is_disable' => $params['is_disable'] ?? 0, 'label_id'=>$params['label_id'] ]); Db::commit(); return true; } catch (\Exception $e) { Db::rollback(); self::setError($e->getMessage()); return false; } } /** * @notes 用户详情 * @param int $userId * @return array * @author 乔峰 * @date 2022/9/22 16:32 */ public static function detail(int $userId): array { $field = [ 'id', 'account', 'nickname', 'avatar', 'real_name','integral','label_id', 'sex', 'mobile', 'create_time', 'login_time', 'channel','now_money','purchase_funds' ]; $user = User::where(['id' => $userId])->field($field) ->findOrEmpty(); $user['channel'] = UserTerminalEnum::getTermInalDesc($user['channel']); $user->sex = $user->getData('sex'); $user['number']=StoreFinanceFlow::where('other_uid',$userId)->where(['status'=>0,'financial_pm'=>1,'type'=>1])->sum('number'); $user['label_name']=$user->label_id?UserLabel::where('label_id',$user->label_id)->value('label_name'):""; return $user->toArray(); } /** * @notes 更新用户信息 * @param array $params * @return User * @author 乔峰 * @date 2022/9/22 16:38 */ public static function setUserInfo(array $params) { return User::update([ 'id' => $params['id'], $params['field'] => $params['value'] ]); } public static function dealDetails($params) { switch ($params['type']){ case 1: //采购款明细 $categories = ['user_balance_recharge', 'user_order_purchase_pay']; $query = CapitalFlow::where('uid', $params['id']) ->whereIn('category', $categories); $count = $query->count(); $data = $query ->page($params['page_no'],$params['page_size']) ->select()->toArray(); foreach ($data as &$value){ if($value['category'] == 'user_order_purchase_pay'){ $value['order_sn'] = StoreOrder::where('id',$value['link_id'])->value('order_id'); }elseif($value['category'] == 'user_balance_recharge'){ $value['order_sn'] = UserRecharge::where('id',$value['link_id'])->value('order_id'); } } break; case 2: //余额明细 $query = CapitalFlow::where('uid', $params['id']) ->where('category', 'user_order_balance_pay'); $count = $query->count(); $data = $query ->page($params['page_no'],$params['page_size']) ->select()->toArray(); foreach ($data as &$value){ $value['order_sn'] = StoreOrder::where('id',$value['link_id'])->value('order_id'); } break; case 3: //礼品券明细 $query = UserSign::where(['uid'=>$params['id']]); $count = $query->count(); $data =$query ->page($params['page_no'],$params['page_size']) ->select()->toArray(); break; case 4: //返还金明细 -todo back $query = VipFlow::with('store')->where(['user_id'=>$params['id']]); $count = $query->count(); $data = $query ->page($params['page_no'],$params['page_size']) ->select()->toArray(); break; default: $data = []; $count = 0; } return [ 'lists' => $data, 'count' => $count ]; } }