Browse Source

fix: 移除不可行的会员订单归属校验 + 修复前端 add-effect 页面(toggleType/导入)

Sisyphus Agent 1 month ago
parent
commit
29c2da1587

+ 1 - 10
cfc-backend/src/main/java/com/etotem/cfc/service/KeyPersonService.java

@@ -3,11 +3,9 @@ package com.etotem.cfc.service;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.etotem.cfc.common.Result;
-import com.etotem.cfc.entity.MemberSubscriptionOrder;
 import com.etotem.cfc.entity.OctopusEffectKeyPerson;
 import com.etotem.cfc.entity.OctopusEffectRecord;
 import com.etotem.cfc.entity.OctopusKeyPerson;
-import com.etotem.cfc.mapper.MemberSubscriptionOrderMapper;
 import com.etotem.cfc.mapper.OctopusEffectKeyPersonMapper;
 import com.etotem.cfc.mapper.OctopusEffectRecordMapper;
 import com.etotem.cfc.mapper.OctopusKeyPersonMapper;
@@ -27,8 +25,6 @@ public class KeyPersonService {
     private OctopusKeyPersonMapper keyPersonMapper;
     @Resource
     private OctopusEffectKeyPersonMapper ekpMapper;
-    @Resource
-    private MemberSubscriptionOrderMapper memberOrderMapper;
 
     // ========== 1. 盘点项目 ==========
 
@@ -75,12 +71,7 @@ public class KeyPersonService {
 
     public Result<OctopusEffectRecord> addEffect(Long userId, Long memberOrderId, Integer effectType,
                                                  BigDecimal effectAmount, String effectDesc) {
-        if (memberOrderId != null) {
-            MemberSubscriptionOrder order = memberOrderMapper.selectById(memberOrderId);
-            if (order == null || !order.getUserId().equals(userId)) {
-                return Result.error("会员订单不存在");
-            }
-        }
+        // memberOrderId 为可选关联(MemberSubscriptionOrder 为家庭维度表,无 userId 字段,仅记录关联不校验归属)
         OctopusEffectRecord r = new OctopusEffectRecord();
         r.setUserId(userId);
         r.setMemberOrderId(memberOrderId);

+ 1 - 29
cfc-frontend/pages/action-detail/octopus-add-effect.vue

@@ -4,20 +4,6 @@
       <text class="page-title">记录成效</text>
     </view>
 
-    <!-- 关联会员订单(可选) -->
-    <view class="form-section">
-      <text class="section-label">关联会员订单(选填)</text>
-      <view class="order-select" v-if="orders.length > 0">
-        <view class="order-item" v-for="o in orders" :key="o.id"
-              :class="{selected: selectedOrderId === o.id}"
-              @click="selectedOrderId = o.id">
-          <text class="order-no">{{ o.orderNo }}</text>
-          <text class="order-amount">¥{{ (o.actualPrice/100).toFixed(2) }}</text>
-        </view>
-      </view>
-      <text class="empty-hint" v-else>暂无会员订单,可不关联</text>
-    </view>
-
     <!-- 成效类型(多选) -->
     <view class="form-section">
       <text class="section-label">成效类型 <text class="required-mark">*</text></text>
@@ -51,13 +37,11 @@
 </template>
 
 <script>
-import { getMemberOrders, addOctopusEffect } from '../../utils/api.js'
+import { addOctopusEffect } from '../../utils/api.js'
 
 export default {
   data() {
     return {
-      orders: [],
-      selectedOrderId: null,
       effectTypeList: [],
       effectTypes: {1: '金额大', 2: '频次高', 4: '新成交'},
       typeIcons: {1: '💰', 2: '🔁', 4: '✨'},
@@ -70,18 +54,7 @@ export default {
       return this.effectTypeList.length > 0 && this.effectAmount.trim()
     }
   },
-  onLoad() {
-    this.loadOrders()
-  },
   methods: {
-    async loadOrders() {
-      try {
-        var res = await getMemberOrders({ page: 1, size: 100 })
-        if (res.code === 200 && res.data) {
-          this.orders = res.data.list || (Array.isArray(res.data) ? res.data : [])
-        }
-      } catch (e) { /* 静默 */ }
-    },
     toggleType(val) {
       var idx = this.effectTypeList.indexOf(val)
       if (idx > -1) this.effectTypeList.splice(idx, 1)
@@ -95,7 +68,6 @@ export default {
       var type = 0
       this.effectTypeList.forEach(v => { type |= v })
       var data = { effectType: type, effectAmount: this.effectAmount, effectDesc: this.effectDesc.trim() }
-      if (this.selectedOrderId) data.memberOrderId = this.selectedOrderId
       try {
         var res = await addOctopusEffect(data)
         if (res.code === 200) {