TeamItemController.class.php 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. <?php
  2. namespace Api\Controller;
  3. use Think\Controller;
  4. /*
  5. 团队和项目的绑定关系
  6. */
  7. class TeamItemController extends BaseController {
  8. //添加和编辑
  9. public function save(){
  10. $login_user = $this->checkLogin();
  11. $uid = $login_user['uid'] ;
  12. $item_id = I("item_id/d");
  13. $team_id = I("team_id/d");
  14. if(!$this->checkItemCreator($uid , $item_id)){
  15. $this->sendError(10303);
  16. return ;
  17. }
  18. $teamInfo = D("Team")->where(" id = '$team_id' and uid = '$login_user[uid]' ")->find();
  19. if (!$teamInfo) {
  20. $this->sendError(10209,"无此团队或者你无管理此团队的权限");
  21. return ;
  22. }
  23. $data = array() ;
  24. $data['item_id'] = $item_id ;
  25. $data['team_id'] = $team_id ;
  26. $data['addtime'] = time() ;
  27. $id = D("TeamItem")->add($data);
  28. //获取该团队的所有成员并加入项目
  29. $teamMembers = D("TeamMember")->where(" team_id = '$team_id' ")->select() ;
  30. if ($teamMembers) {
  31. foreach ($teamMembers as $key => $value) {
  32. $data= array(
  33. "team_id"=>$team_id,
  34. "member_uid"=>$value['member_uid'],
  35. "member_username"=>$value['member_username'],
  36. "item_id"=>$item_id,
  37. "member_group_id"=>1, //默认添加的权限为1,即编辑权限
  38. "addtime"=>time()
  39. );
  40. D("TeamItemMember")->add($data);
  41. }
  42. }
  43. $return = D("TeamItem")->where(" id = '$id' ")->find();
  44. if (!$return) {
  45. $return['error_code'] = 10103 ;
  46. $return['error_message'] = 'request fail' ;
  47. }
  48. $this->sendResult($return);
  49. }
  50. //获取列表
  51. public function getList(){
  52. $login_user = $this->checkLogin();
  53. $uid = $login_user['uid'] ;
  54. $item_id = I("item_id/d");
  55. if(!$this->checkItemCreator($uid , $item_id)){
  56. $this->sendError(10303);
  57. return ;
  58. }
  59. $sql = "select team.*,team_item.team_id , team_item.id as id from team left join team_item on team.id = team_item.team_id where team_item.item_id = '$item_id' ";
  60. $ret = D("TeamItem")->query($sql);
  61. if ($ret) {
  62. foreach ($ret as $key => &$value) {
  63. $value['addtime'] = date("Y-m-d H:i:s" , $value['addtime']);
  64. }
  65. $this->sendResult($ret);
  66. }else{
  67. $this->sendResult(array());
  68. }
  69. }
  70. //删除
  71. public function delete(){
  72. $login_user = $this->checkLogin();
  73. $uid = $login_user['uid'] ;
  74. $id = I("id/d")? I("id/d") : 0;
  75. $teamItemInfo = D("TeamItem")->where(" id = '$id' ")->find();
  76. $item_id = $teamItemInfo['item_id'] ;
  77. $team_id = $teamItemInfo['team_id'] ;
  78. if(!$this->checkItemCreator($uid , $item_id)){
  79. $this->sendError(10303);
  80. return ;
  81. }
  82. $ret = D("TeamItemMember")->where(" item_id = '$item_id' and team_id = '$team_id' ")->delete();
  83. $ret = D("TeamItem")->where(" id = '$id' ")->delete();
  84. if ($ret) {
  85. $this->sendResult($ret);
  86. }else{
  87. $return['error_code'] = 10103 ;
  88. $return['error_message'] = 'request fail' ;
  89. $this->sendResult($return);
  90. }
  91. }
  92. }