DepCate.php 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. namespace app\common\model;
  3. use think\Db;
  4. use think\Exception;
  5. class DepCate extends Base
  6. {
  7. protected $createTime = 'create_time';
  8. protected $updateTime = 'update_time';
  9. protected $table = 'dep_cate';
  10. protected $validateName = 'DepCate';
  11. public function updates(){
  12. $data = request()->post();
  13. $data['org_id'] =cur_org_id();
  14. $result = validate($this->validateName)->check($data,[],'');
  15. if(true !== $result){
  16. $this->error = validate($this->validateName)->getError();
  17. return false;
  18. }
  19. $id = $data['id'];
  20. $depIds = $data['deps'];
  21. unset($data['id'],$data['deps']);
  22. Db::startTrans();
  23. try{
  24. if($id > 0){
  25. Db::name('dep')->where('cate_id',$id)->update(['cate_id'=>0]);
  26. $data['update_time'] = date('Y-m-d H:i:s');
  27. $res = Db::name('dep')->whereIn('id',$depIds)->update(['cate_id'=>$id]);
  28. $ret = $this->allowField(true)->save($data,['id'=>$id]);
  29. }else{
  30. $data['create_time'] = date('Y-m-d H:i:s');
  31. $res = $this->insertGetId($data);
  32. $ret = Db::name('dep')->whereIn('id',$depIds)->update(['cate_id'=>$res]);
  33. }
  34. if (!$ret || !$res){
  35. \exception('操作失败');
  36. }
  37. Db::commit();
  38. return true;
  39. }catch (Exception $e){
  40. Db::rollback();
  41. $this->error = $e->getMessage();
  42. return false;
  43. }
  44. }
  45. public function getList($orgId=0){
  46. if($orgId==0){
  47. $orgId = cur_org_id();
  48. }
  49. $list =$this
  50. ->where('org_id',$orgId)
  51. ->where('del',0)
  52. ->where('enable',1)
  53. ->field('id,title')
  54. ->select()
  55. ->toArray();
  56. return $list;
  57. }
  58. }