From 17336d42e38798b0289029e84271d1433ea21080 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期一, 09 六月 2025 14:26:40 +0800
Subject: [PATCH] feat: 接口

---
 apps/taro/src/subpackages/my/generatePromotionCode/generatePromotionCode.vue |    6 +-
 packages/components/src/views/Mine/GeneratePromotionCodeView.vue             |   25 ++++++++----
 apps/taro/src/subpackages/my/applyAgent/applyAgent.vue                       |    4 +-
 packages/components/src/views/Mine/ApplyAgentView.vue                        |    5 +-
 packages/core/src/lifeRechargeServices.ts                                    |   27 +++++++++++++
 apps/taro/src/subpackages/my/applyResult/applyResult.vue                     |    7 +++
 6 files changed, 58 insertions(+), 16 deletions(-)

diff --git a/apps/taro/src/subpackages/my/applyAgent/applyAgent.vue b/apps/taro/src/subpackages/my/applyAgent/applyAgent.vue
index a9bfb94..232af4e 100644
--- a/apps/taro/src/subpackages/my/applyAgent/applyAgent.vue
+++ b/apps/taro/src/subpackages/my/applyAgent/applyAgent.vue
@@ -26,9 +26,9 @@
   applyAgentViewRef.value?.handleSubmit?.();
 }
 
-function submit() {
+function submit(value: string) {
   RouteHelper.navigateTo({
-    url: RouterPath.applyResult,
+    url: `${RouterPath.applyResult}?promoterIdNumber=${value}`,
   });
 }
 </script>
diff --git a/apps/taro/src/subpackages/my/applyResult/applyResult.vue b/apps/taro/src/subpackages/my/applyResult/applyResult.vue
index c7c56f1..59e712a 100644
--- a/apps/taro/src/subpackages/my/applyResult/applyResult.vue
+++ b/apps/taro/src/subpackages/my/applyResult/applyResult.vue
@@ -12,14 +12,19 @@
 <script setup lang="ts">
 import { PageLayout } from '@/components';
 import { ResultWithoutBG } from '@life-payment/components';
+import Taro from '@tarojs/taro';
 
 defineOptions({
   name: 'applyAgent',
 });
 
+const router = Taro.useRouter();
+
+const promoterIdNumber = router.params?.promoterIdNumber ?? '';
+
 function generate() {
   RouteHelper.navigateTo({
-    url: RouterPath.promotionQrcode,
+    url: `${RouterPath.generatePromotionCode}?promoterIdNumber=${promoterIdNumber}`,
   });
 }
 </script>
diff --git a/apps/taro/src/subpackages/my/generatePromotionCode/generatePromotionCode.vue b/apps/taro/src/subpackages/my/generatePromotionCode/generatePromotionCode.vue
index be38334..c264292 100644
--- a/apps/taro/src/subpackages/my/generatePromotionCode/generatePromotionCode.vue
+++ b/apps/taro/src/subpackages/my/generatePromotionCode/generatePromotionCode.vue
@@ -18,8 +18,8 @@
 import { PageLayout } from '@/components';
 import { RouterPath } from '@/constants';
 import { GeneratePromotionCodeView } from '@life-payment/components';
-import { goBack } from '@/utils';
 import type { ComponentExposed } from 'vue-component-type-helpers';
+import Taro from '@tarojs/taro';
 
 defineOptions({
   name: 'generatePromotionCode',
@@ -33,9 +33,9 @@
   generatePromotionCodeViewRef.value?.handleSubmit?.();
 }
 
-function submit() {
+function submit(value: string) {
   RouteHelper.navigateTo({
-    url: RouterPath.applyResult,
+    url: `${RouterPath.promotionQrcode}?promoterIdNumber=${value}`,
   });
 }
 </script>
diff --git a/packages/components/src/views/Mine/ApplyAgentView.vue b/packages/components/src/views/Mine/ApplyAgentView.vue
index 8956745..8c70ef6 100644
--- a/packages/components/src/views/Mine/ApplyAgentView.vue
+++ b/packages/components/src/views/Mine/ApplyAgentView.vue
@@ -77,7 +77,7 @@
 });
 
 const emit = defineEmits<{
-  (e: 'submit'): void;
+  (e: 'submit', value: string): void;
 }>();
 
 const router = Taro.useRouter();
@@ -125,9 +125,10 @@
       companyName: form.companyName,
       customerResources: form.customerResources,
     };
+    console.log('params: ', params);
     let res = await blLifeRecharge.services.createChannelConsultation(params);
     if (res) {
-      emit('submit');
+      emit('submit', res);
     }
   } catch (error) {}
 }
diff --git a/packages/components/src/views/Mine/GeneratePromotionCodeView.vue b/packages/components/src/views/Mine/GeneratePromotionCodeView.vue
index b4b40d3..9a9c670 100644
--- a/packages/components/src/views/Mine/GeneratePromotionCodeView.vue
+++ b/packages/components/src/views/Mine/GeneratePromotionCodeView.vue
@@ -29,16 +29,21 @@
 import { Form as NutForm, FormItem as NutFormItem, Input as NutInput } from '@nutui/nutui-taro';
 import { FormRules } from '@nutui/nutui-taro/dist/types/__VUE/form/types';
 import { reactive, ref } from 'vue';
-import { useLifeRechargeContext } from '@life-payment/core-vue';
+import { CreateOrUpdatePromoterInput, useLifeRechargeContext } from '@life-payment/core-vue';
 import { FormValidator } from '../../utils';
+import Taro from '@tarojs/taro';
 
 defineOptions({
   name: 'ApplyAgentView',
 });
 
 const emit = defineEmits<{
-  (e: 'submit'): void;
+  (e: 'submit', data: string): void;
 }>();
+
+const router = Taro.useRouter();
+
+const promoterIdNumber = router.params?.promoterIdNumber ?? '';
 
 const form = reactive({
   name: '',
@@ -68,12 +73,16 @@
 
 async function refundUserLifePayOrder() {
   try {
-    // let params = {
-    //   userId: blLifeRecharge.accountModel.userId,
-    //   refundApplyRemark: form.refundApplyRemark,
-    // };
-    // let res = await blLifeRecharge.services.refundUserLifePayOrder(params);
-    emit('submit');
+    let params: CreateOrUpdatePromoterInput = {
+      userId: blLifeRecharge.accountModel.userId,
+      idNumber: promoterIdNumber,
+      name: form.name,
+      phoneNumber: form.phoneNumber,
+    };
+    let res = await blLifeRecharge.services.createOrUpdatePromoter(params);
+    if (res) {
+      emit('submit', res);
+    }
   } catch (error) {}
 }
 
diff --git a/packages/core/src/lifeRechargeServices.ts b/packages/core/src/lifeRechargeServices.ts
index e612ef8..4d2cb05 100644
--- a/packages/core/src/lifeRechargeServices.ts
+++ b/packages/core/src/lifeRechargeServices.ts
@@ -422,6 +422,18 @@
       ...(options || {}),
     });
   }
+
+  /** 鍒涘缓鎴栨洿鏂版帹骞垮憳 POST /api/Promoter/CreateOrUpdatePromoter */
+  async createOrUpdatePromoter(body: API.CreateOrUpdatePromoterInput, options?: API.RequestConfig) {
+    return this.request<string>('/api/Promoter/CreateOrUpdatePromoter', {
+      method: 'POST',
+      headers: {
+        'Content-Type': 'application/json',
+      },
+      data: body,
+      ...(options || {}),
+    });
+  }
 }
 
 export interface PhoneMesssageCodeLoginInput {
@@ -943,3 +955,18 @@
   /** 瀹㈡埛璧勬簮 */
   customerResources?: string;
 }
+
+export interface CreateOrUpdatePromoterInput {
+  /** Id */
+  id?: string;
+  /** 瀹㈡埛绔敤鎴稩d 濡傛湁 */
+  userId?: string;
+  /** ID */
+  idNumber?: string;
+  /** 鎺ㄥ箍鍛� */
+  name?: string;
+  /** 鑱旂郴鏂瑰紡 */
+  phoneNumber?: string;
+  /** 澶囨敞 */
+  remark?: string;
+}

--
Gitblit v1.9.1