def post(self, request, team_name, group_id, *args, **kwargs): """ 生成分享订单,会验证是否能够分享 --- parameter: - name: team_name description: 团队名 required: true type: string paramType: path - name: group_id description: 应用id required: true type: string paramType: path """ scope = request.data.get("scope") market_name = None if scope == "goodrain": target = request.data.get("target") market_name = target.get("store_id") if market_name is None: result = general_message(400, "fail", "参数不全") return Response(result, status=result.get("code", 200)) try: if group_id == "-1": code = 400 result = general_message(400, "group id error", "未分组应用不可分享") return Response(result, status=code) team_id = self.team.tenant_id group_count = group_repo.get_group_count_by_team_id_and_group_id(team_id=team_id, group_id=group_id) if group_count == 0: code = 202 result = general_message(code, "group is not yours!", "当前组已删除或您无权限查看!", bean={}) return Response(result, status=200) # 判断是否满足分享条件 data = share_service.check_service_source( team=self.team, team_name=team_name, group_id=group_id, region_name=self.response_region) if data and data["code"] == 400: return Response(data, status=data["code"]) fields_dict = { "group_share_id": make_uuid(), "group_id": group_id, "team_name": team_name, "is_success": False, "step": 1, "share_app_market_name": market_name, "scope": scope, "create_time": datetime.datetime.now(), "update_time": datetime.datetime.now(), } service_share_record = share_service.create_service_share_record(**fields_dict) result = general_message(200, "create success", "创建成功", bean=service_share_record.to_dict()) return Response(result, status=200) except ServiceHandleException as e: raise e except Exception as e: logger.exception(e) result = error_message(e.message) return Response(result, status=500)
def post(self, request, team_name, group_id, *args, **kwargs): """ 生成分享订单,会验证是否能够分享 --- parameter: - name: team_name description: 团队名 required: true type: string paramType: path - name: group_id description: 应用组id required: true type: string paramType: path """ try: if group_id == "-1": code = 400 result = general_message(400, "group id error", "未分组应用不可分享") return Response(result, status=code) team_id = self.team.tenant_id group_count = group_repo.get_group_count_by_team_id_and_group_id(team_id=team_id, group_id=group_id) if group_count == 0: code = 400 result = general_message(code, "group is not yours!", "这个应用组不是你的!") return Response(result, status=code) # 判断是否满足分享条件 data = share_service.check_service_source( team=self.team, team_name=team_name, group_id=group_id, region_name=self.response_region) if data and data["code"] == 400: return Response(data, status=data["code"]) # 判断是否有未完成订单 share_record = share_service.get_service_share_record_by_group_id(group_id) if share_record: if not share_record.is_success and share_record.step < 3: result = general_message(20021, "share record not complete", "之前有分享流程未完成", bean=share_record.to_dict()) return Response(result, status=200) fields_dict = { "group_share_id": make_uuid(), "group_id": group_id, "team_name": team_name, "is_success": False, "step": 1, "create_time": datetime.datetime.now(), "update_time": datetime.datetime.now() } service_share_record = share_service.create_service_share_record(**fields_dict) result = general_message(200, "create success", "创建成功", bean=service_share_record.to_dict()) return Response(result, status=200) except Exception as e: logger.exception(e) result = error_message(e.message) return Response(result, status=500)