ShopRepository.php 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: Administrator
  5. * Date: 2019-04-28
  6. * Time: 15:49
  7. */
  8. namespace App\Repositories;
  9. use App\Shop;
  10. use App\ShopAccount;
  11. use Illuminate\Support\Facades\Hash;
  12. use League\Flysystem\Exception;
  13. class ShopRepository {
  14. public function __construct() {
  15. //$this->shop = $shop;
  16. }
  17. //新增
  18. public function addShopAccount($data = []){
  19. $accountData = ['account'=>$data['account'],'password'=>Hash::make($data['password'])];
  20. unset($data['account']);
  21. unset($data['password']);
  22. $shopData = $data;
  23. try{
  24. $shop = Shop::create($shopData);
  25. if($shop){
  26. $accountData['shop_id'] = $shop->shop_id;
  27. ShopAccount::create($accountData);
  28. }
  29. return true;
  30. }catch (Exception $exception){
  31. return false;
  32. }
  33. }
  34. //修改
  35. public function saveShopAccount($data = []){
  36. $shop_id = isset($data['shop_id'])?$data['shop_id']:0;
  37. $shop_account_id = isset($data['shop_account_id'])?$data['shop_account_id']:0;
  38. unset($data['shop_id']);
  39. unset($data['shop_account_id']);
  40. $shopData = $data;
  41. try{
  42. $shop = Shop::create($shopData);
  43. $accountData = [];
  44. if($shop){
  45. $accountData['shop_id'] = $shop->shop_id;
  46. }
  47. if(isset($data['account']) && isset($data['password'])){
  48. $accountData['account'] = $data['account'];
  49. $accountData['password'] = Hash::make($data['password']);
  50. ShopAccount::create($accountData);
  51. }
  52. return true;
  53. }catch (Exception $exception){
  54. return false;
  55. }
  56. }
  57. //修改
  58. public function editShopAccount($data = []){
  59. $shop_id = $data['shop_id'];
  60. $shop_account_id = $data['shop_account_id'];
  61. $account = $data['account'];
  62. $password = $data['password'];
  63. unset($data['password']);
  64. unset($data['shop_id']);
  65. unset($data['shop_account_id']);
  66. unset($data['account']);
  67. try{
  68. $shop = Shop::where(['shop_id'=>$shop_id])->update($data);
  69. $accountData = [];
  70. if(isset($account) && isset($password)){
  71. $accountData['shop_id'] = $shop_id;
  72. $accountData['account'] = $account;
  73. $accountData['password'] = Hash::make($password);
  74. ShopAccount::where(['id'=>$shop_account_id])->update($accountData);
  75. }
  76. return true;
  77. }catch (Exception $exception){
  78. return false;
  79. }
  80. }
  81. public function shopList($request)
  82. {
  83. $where = [];
  84. if (isset($request['status'])) {
  85. $where[] = ['status', '=', $request['status']];
  86. }
  87. if (isset($request['shop_name'])) {
  88. $where[] = ['shop_name', 'like', '%'.$request['shop_name'].'%'];
  89. }
  90. $perPage = isset($request['per_page']) ? $request['per_page'] : 20;
  91. return Shop::where($where)
  92. ->orderBy('shop_id', 'desc')
  93. ->paginate($perPage);
  94. }
  95. }