DataService.php 10.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. <?php
  2. namespace App\Service;
  3. use App\Models\Admin;
  4. use App\Models\Role;
  5. use Illuminate\Database\Eloquent\Model;
  6. use Illuminate\Support\Facades\App;
  7. class DataService{
  8. public static function handleDate(Model $model, Array $inputs,$kind){
  9. $kind = explode('-',$kind);
  10. switch ($kind[0]){
  11. case 'menus':
  12. switch ($kind[1]){
  13. case 'add_or_update':
  14. $model->parent_id = $inputs['category'];
  15. $model->title = $inputs['name'];
  16. $model->icon = $inputs['icon'];
  17. $model->uri = $inputs['uri'];
  18. $model->order = $inputs['order'];
  19. $model->routes = 'url:'.$inputs['uri'];
  20. $roles = $inputs['roles'];
  21. if($inputs['id']){
  22. if (is_config_id($inputs['id'], "admin.menu_table_cannot_manage_ids", false))return ['status'=>0,'msg'=>trans('fzs.menus.notedit')];
  23. $model->exists = true;
  24. $model->id = $inputs['id'];
  25. }
  26. try{
  27. if (!$model->save()) {
  28. return ['status'=>0,'msg'=>trans('fzs.common.fail')];
  29. }
  30. foreach ($roles as $k => $role) {
  31. if (empty($role)) unset($roles[$k]);
  32. }
  33. $model->saveRoles($roles);
  34. }catch (\Exception $e){
  35. return ['status'=>0,'msg'=>trans('fzs.common.fail')];
  36. }
  37. return ['status'=>1,'msg'=>trans('fzs.common.success')];
  38. break;
  39. case 'delete':
  40. $model->id = $inputs['id'];
  41. $model->exists = true;
  42. if($model->delete())return ['status'=>1,'msg'=>trans('fzs.common.success')];
  43. else return ['status'=>0,'msg'=>trans('fzs.common.fail')];
  44. break;
  45. default:
  46. return ['status'=>0,'msg'=>trans('fzs.common.wrong')];
  47. }
  48. break;
  49. case 'users':
  50. switch ($kind[1]){
  51. case 'add_or_update':
  52. $model->email = $inputs['email'];
  53. $model->csr = $inputs['csr'];
  54. $model->IuuserID = $inputs['IssuerID'];
  55. $model->miyaoID = $inputs['miyaoID'];
  56. $model->p8 = $inputs['p8'];
  57. //if($inputs['pwd'])$model->password = bcrypt($inputs['pwd']);
  58. //if($inputs['id']){
  59. // if(is_config_id($inputs['id'], "admin.user_table_cannot_manage_ids", false))return ['status'=>0,'msg'=>trans('fzs.users.notedit')];
  60. //$model->exists = true;
  61. //$model->id = $inputs['id'];
  62. //}
  63. /* try{
  64. if (!$model->save()) {
  65. return ['status'=>0,'msg'=>trans('fzs.common.fail')];
  66. }
  67. $model->saveRoles($inputs['user_role']);
  68. }catch (\Exception $e){
  69. return ['status'=>0,'msg'=>trans('fzs.common.fail')];
  70. }
  71. return ['status'=>1,'msg'=>trans('fzs.common.success')];
  72. break;*/
  73. case 'update_pwd':
  74. $userinfo = new Admin();
  75. $userinfo = $userinfo->user();
  76. if(!App::make('hash')->check($inputs['oldpwd'],$userinfo['password']))return ['status'=>0,'msg'=>trans('fzs.users.pwd_false')];
  77. $model->password = bcrypt($inputs['pwd']);
  78. $model->exists = true;
  79. $model->id = $inputs['id'];
  80. try{
  81. if (!$model->save()) {
  82. return ['status'=>0,'msg'=>trans('fzs.common.fail')];
  83. }
  84. }catch (\Exception $e){
  85. return ['status'=>0,'msg'=>trans('fzs.common.fail')];
  86. }
  87. return ['status'=>1,'msg'=>trans('fzs.common.success')];
  88. break;
  89. case 'update_info':
  90. $model->email = $inputs['useremail'];
  91. $model->mobile = $inputs['usertel'];
  92. $model->sex = $inputs['usersex'];
  93. $model->exists = true;
  94. $model->id = $inputs['id'];
  95. try{
  96. if (!$model->save()) {
  97. return ['status'=>0,'msg'=>trans('fzs.common.fail')];
  98. }
  99. }catch (\Exception $e){
  100. return ['status'=>0,'msg'=>trans('fzs.common.fail')];
  101. }
  102. return ['status'=>1,'msg'=>trans('fzs.common.success')];
  103. break;
  104. case 'delete':
  105. $model->id = $inputs['id'];
  106. $model->exists = true;
  107. if($model->delete())return ['status'=>1,'msg'=>trans('fzs.common.success')];
  108. else return ['status'=>0,'msg'=>trans('fzs.common.fail')];
  109. break;
  110. default:
  111. return ['status'=>0,'msg'=>trans('fzs.common.wrong')];
  112. }
  113. break;
  114. case 'roles':
  115. switch ($kind[1]){
  116. case 'add_or_update':
  117. $model->name = $inputs['role_remark'];
  118. $model->display_name = $inputs['role_name'];
  119. $model->description = $inputs['role_desc'];
  120. if($inputs['id']){
  121. if(is_config_id($inputs['id'], "admin.role_table_cannot_manage_ids", false))return ['status'=>0,'msg'=>trans('fzs.roles.notedit')];
  122. $model->exists = true;
  123. $model->id = $inputs['id'];
  124. }
  125. try{
  126. if (!$model->save()) {
  127. return ['status'=>0,'msg'=>trans('fzs.common.fail')];
  128. }
  129. $role = new Role();
  130. $role = $role->find($model->id);
  131. $role->savePermissions(isset($inputs['permission_list'])?$inputs['permission_list']:'');
  132. if (!$role->save()) {
  133. return ['status'=>0,'msg'=>trans('fzs.common.fail')];
  134. }
  135. }catch (\Exception $e){
  136. return ['status'=>0,'msg'=>trans('fzs.common.fail')];
  137. }
  138. return ['status'=>1,'msg'=>trans('fzs.common.success')];
  139. break;
  140. case 'delete':
  141. if($model->isAbleDel($inputs['id']))return ['status'=>0,'msg'=>trans('fzs.roles.have_user')];
  142. $model->id = $inputs['id'];
  143. $model->exists = true;
  144. if($model->delete())return ['status'=>1,'msg'=>trans('fzs.common.success')];
  145. else return ['status'=>0,'msg'=>trans('fzs.common.fail')];
  146. break;
  147. default:
  148. return ['status'=>0,'msg'=>trans('fzs.common.wrong')];
  149. }
  150. break;
  151. case 'permissions':
  152. switch ($kind[1]){
  153. case 'add_or_update':
  154. $model->name = $inputs['permission_remark'];
  155. $model->display_name = $inputs['permission_name'];
  156. $model->description = $inputs['permission_desc'];
  157. $model->controllers = $inputs['permission_control'];
  158. if($inputs['id']){
  159. if (is_config_id($inputs['id'], "admin.permission_table_cannot_manage_ids", false))return ['status'=>0,'msg'=>trans('fzs.menus.notedit')];
  160. $model->exists = true;
  161. $model->id = $inputs['id'];
  162. }
  163. try{
  164. if (!$model->save()) {
  165. return ['status'=>0,'msg'=>trans('fzs.common.fail')];
  166. }
  167. $roles = $inputs['permission_roles'];
  168. if (!empty($roles)) {
  169. foreach ($roles as $k => $role) {
  170. if (empty($role)) unset($roles[$k]);
  171. }
  172. }
  173. $model->saveRoles($roles);
  174. }catch (\Exception $e){
  175. return ['status'=>0,'msg'=>trans('fzs.common.fail')];
  176. }
  177. return ['status'=>1,'msg'=>trans('fzs.common.success')];
  178. break;
  179. case 'delete':
  180. $model->id = $inputs['id'];
  181. $model->exists = true;
  182. if($model->delete())return ['status'=>1,'msg'=>trans('fzs.common.success')];
  183. else return ['status'=>0,'msg'=>trans('fzs.common.fail')];
  184. break;
  185. default:
  186. return ['status'=>0,'msg'=>trans('fzs.common.wrong')];
  187. }
  188. break;
  189. default:
  190. return ['status'=>0,'msg'=>trans('fzs.common.wrong')];
  191. }
  192. }
  193. }