|
|
- <?php
- namespace Api\Controller;
- use Think\Controller;
- /*
- 团队和项目的绑定关系
- */
- class TeamItemController extends BaseController {
-
- //添加和编辑
- public function save(){
- $login_user = $this->checkLogin();
- $uid = $login_user['uid'] ;
-
- $item_id = I("item_id");
- $team_id = I("team_id/d");
-
- $teamInfo = D("Team")->where(" id = '$team_id' and uid = '$login_user[uid]' ")->find();
- if (!$teamInfo) {
- $this->sendError(10209,"无此团队或者你无管理此团队的权限");
- return ;
- }
-
- $item_id_array = explode(",", $item_id);
- foreach ($item_id_array as $key => $value) {
- $item_id = intval($value) ;
- if(!$this->checkItemCreator($uid , $item_id)){
- $this->sendError(10303);
- return ;
- }
-
- if (D("TeamItem")->where(" team_id = '$team_id' and item_id = '$item_id' ")->find()) {
- continue ; //如果该项目已经加入团队了,则结束当前一次循环。
- }
-
-
- $data = array() ;
- $data['item_id'] = $item_id ;
- $data['team_id'] = $team_id ;
- $data['addtime'] = time() ;
- $id = D("TeamItem")->add($data);
-
- //获取该团队的所有成员并加入项目
- $teamMembers = D("TeamMember")->where(" team_id = '$team_id' ")->select() ;
- if ($teamMembers) {
- foreach ($teamMembers as $key => $value) {
- $data= array(
- "team_id"=>$team_id,
- "member_uid"=>$value['member_uid'],
- "member_username"=>$value['member_username'],
- "item_id"=>$item_id,
- "member_group_id"=>1, //默认添加的权限为1,即编辑权限
- "addtime"=>time()
- );
- D("TeamItemMember")->add($data);
- }
- }
- }
-
-
- $return = D("TeamItem")->where(" id = '$id' ")->find();
-
- if (!$return) {
- $return['error_code'] = 10103 ;
- $return['error_message'] = 'request fail' ;
- }
-
- $this->sendResult($return);
-
- }
-
- //根据项目来获取其绑定的团队列表
- public function getList(){
- $login_user = $this->checkLogin();
- $uid = $login_user['uid'] ;
-
- $item_id = I("item_id/d");
-
- if(!$this->checkItemCreator($uid , $item_id)){
- $this->sendError(10303);
- return ;
- }
-
- $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' ";
- $ret = D("TeamItem")->query($sql);
-
- if ($ret) {
- foreach ($ret as $key => &$value) {
- $value['addtime'] = date("Y-m-d H:i:s" , $value['addtime']);
- }
- $this->sendResult($ret);
- }else{
- $this->sendResult(array());
- }
- }
-
- //根据团队来获取项目列表
- public function getListByTeam(){
- $login_user = $this->checkLogin();
- $uid = $login_user['uid'] ;
-
- $team_id = I("team_id/d");
-
- $teamInfo = D("Team")->where(" id = '$team_id' and uid = '$login_user[uid]' ")->find();
- if (!$teamInfo) {
- $this->sendError(10209,"无此团队或者你无管理此团队的权限");
- return ;
- }
-
- $sql = "select item.*,team_item.team_id , team_item.id as id from item left join team_item on item.item_id = team_item.item_id where team_item.team_id = '$team_id' and item.is_del = 0 ";
- $ret = D("Item")->query($sql);
-
- if ($ret) {
- foreach ($ret as $key => &$value) {
- $value['addtime'] = date("Y-m-d H:i:s" , $value['addtime']);
- }
- $this->sendResult($ret);
- }else{
- $this->sendResult(array());
- }
- }
-
-
- //删除
- public function delete(){
- $login_user = $this->checkLogin();
- $uid = $login_user['uid'] ;
-
- $id = I("id/d")? I("id/d") : 0;
- $teamItemInfo = D("TeamItem")->where(" id = '$id' ")->find();
- $item_id = $teamItemInfo['item_id'] ;
- $team_id = $teamItemInfo['team_id'] ;
-
- if(!$this->checkItemCreator($uid , $item_id)){
- $this->sendError(10303);
- return ;
- }
-
- $ret = D("TeamItemMember")->where(" item_id = '$item_id' and team_id = '$team_id' ")->delete();
- $ret = D("TeamItem")->where(" id = '$id' ")->delete();
-
- if ($ret) {
- $this->sendResult($ret);
- }else{
- $return['error_code'] = 10103 ;
- $return['error_message'] = 'request fail' ;
- $this->sendResult($return);
- }
- }
-
-
-
-
- }
|