From 02f908e3dec86fae14da17dedf15b9a7bf312281 Mon Sep 17 00:00:00 2001 From: MMXX Date: Fri, 4 Mar 2022 10:50:42 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=85=B1=E4=BA=AB=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E4=B8=80=E9=94=AE=E6=B8=85=E7=90=86=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/user/FirSuperSignBase.vue | 36 ++++++++++++------- fir_ser/xsign/views/supersign.py | 26 ++++++++++++++ 2 files changed, 50 insertions(+), 12 deletions(-) diff --git a/fir_client/src/components/user/FirSuperSignBase.vue b/fir_client/src/components/user/FirSuperSignBase.vue index 8f5f393..3cfa491 100644 --- a/fir_client/src/components/user/FirSuperSignBase.vue +++ b/fir_client/src/components/user/FirSuperSignBase.vue @@ -1169,15 +1169,21 @@ label="操作" width="100"> @@ -1391,9 +1397,15 @@ export default { "page": this.pagination.currentPage }) }, - cancelshare(billinfo) { + cancelshare(billinfo){ + this.cancelsharebase(billinfo,'确定要撤回么,撤回之后,对方账号将无法使用该账户设备数,并且会清理对方账户已经分配的设备数据信息?','DELETE') + }, + cleanshare(billinfo){ + this.cancelsharebase(billinfo,'确定要清理么,确定会清理该账户已经分配的设备数据信息?','PUT') + }, + cancelsharebase(billinfo,msg,methods='DELETE') { - this.$confirm('确定要撤回么,撤回之后,对方账号将无法使用该账户设备数,并且会清理对方账户已经设备的设备数据信息?', '提示', { + this.$confirm(msg, '提示', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' @@ -1410,10 +1422,10 @@ export default { this.$message.success("操作成功") this.refreshactiveFun() } else { - this.$message.error("撤回失败 " + data.msg) + this.$message.error("操作失败 " + data.msg) } }, { - 'methods': 'DELETE', + 'methods': methods, data: {uid: billinfo.target_user.uid, status: billinfo.status, number: billinfo.number} }) }).catch(() => { diff --git a/fir_ser/xsign/views/supersign.py b/fir_ser/xsign/views/supersign.py index d7f6235..9de75ed 100644 --- a/fir_ser/xsign/views/supersign.py +++ b/fir_ser/xsign/views/supersign.py @@ -641,6 +641,32 @@ class DeviceTransferBillView(APIView): res.code = 1003 return Response(res.dict) + def put(self, request): + res = BaseResponse() + uid = request.data.get("uid", None) + status = request.data.get("status", None) + number = request.data.get("number", None) + + if uid and status and number: + if check_uid_has_relevant(uid, request.user.uid): + if MigrateStorageState(uid).get_state(): + res.code = 1008 + res.msg = "数据迁移中,无法处理该操作" + return Response(res.dict) + bill_obj = IosDeveloperBill.objects.filter(user_id__uid=uid, to_user_id=request.user, status=status, + number=abs(int(number))).first() + if bill_obj: + for app_obj in Apps.objects.filter(user_id=request.user, type=1): + count = APPToDeveloper.objects.filter(app_id=app_obj).count() + if app_obj.issupersign or count > 0: + logger.info(f"app_id:{app_obj} is super_sign ,clean IOS developer") + IosUtils.clean_app_by_user_obj(app_obj) + return Response(res.dict) + + res.code = 1003 + res.msg = '转移记录不存在' + return Response(res.dict) + def delete(self, request): res = BaseResponse() uid = request.query_params.get("uid", None)