Просмотр исходного кода

fix 导入订单,学校id存储问题

周箭河 4 лет назад
Родитель
Сommit
c6f665be7f

+ 35 - 7
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TenantPaymentOrderServiceImpl.java

@@ -10,6 +10,9 @@ import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
 
+import com.ym.mec.biz.dal.dao.*;
+import com.ym.mec.biz.dal.entity.*;
+import com.ym.mec.thirdparty.adapay.ConfigInit;
 import com.ym.mec.thirdparty.adapay.Payment;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -20,16 +23,9 @@ import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 
 import com.alibaba.fastjson.JSON;
-import com.ym.mec.biz.dal.dao.SysConfigDao;
-import com.ym.mec.biz.dal.dao.TeacherDao;
-import com.ym.mec.biz.dal.dao.TenantEntryActivitiesDao;
-import com.ym.mec.biz.dal.dao.TenantPaymentOrderDao;
 import com.ym.mec.biz.dal.dto.PageInfoOrder;
 import com.ym.mec.biz.dal.entity.SysTenantAccountDetail.TransType;
-import com.ym.mec.biz.dal.entity.Teacher;
-import com.ym.mec.biz.dal.entity.TenantEntryActivities;
 import com.ym.mec.biz.dal.entity.TenantEntryActivities.SuitableUser;
-import com.ym.mec.biz.dal.entity.TenantPaymentOrder;
 import com.ym.mec.biz.dal.entity.TenantPaymentOrder.TenantPaymentType;
 import com.ym.mec.biz.dal.enums.DealStatusEnum;
 import com.ym.mec.biz.dal.enums.PaymentChannelEnum;
@@ -77,6 +73,8 @@ public class TenantPaymentOrderServiceImpl extends BaseServiceImpl<Long, TenantP
 
     @Autowired
     private YqPayFeignService yqPayFeignService;
+    @Autowired
+    private StudentPaymentRouteOrderDao studentPaymentRouteOrderDao;
 
     @Override
     public BaseDAO<Long, TenantPaymentOrder> getDAO() {
@@ -214,6 +212,8 @@ public class TenantPaymentOrderServiceImpl extends BaseServiceImpl<Long, TenantP
             // 更新账户表信息
             sysTenantAccountService.update(userId, tenantEntryActivities.getPurchaseMinutes() + tenantEntryActivities.getGiveMinutes(),
                     tenantPaymentOrder.getOrderNo(), TransType.RECHARGE, "", tenantEntryActivities.getDiscountPrice(), "");
+
+            this.confirmOrder(tenantPaymentOrder);
         } else {
 
         }
@@ -221,6 +221,34 @@ public class TenantPaymentOrderServiceImpl extends BaseServiceImpl<Long, TenantP
         return true;
     }
 
+    private Boolean confirmOrder(TenantPaymentOrder order) {
+        List<StudentPaymentRouteOrder> routeOrders = studentPaymentRouteOrderDao.getRouteOrders(order.getOrderNo());
+        for (StudentPaymentRouteOrder routeOrder : routeOrders) {
+            Map<String, Object> divMember = new HashMap<>();
+            divMember.put("member_id", routeOrder.getMerNo());//分佣账户
+            divMember.put("amount", routeOrder.getRouteAmount().setScale(2, BigDecimal.ROUND_HALF_UP));//分佣金额
+            divMember.put("fee_flag", "Y");
+            if (routeOrder.getMerNo().equals(ConfigInit.merNo)) {
+                divMember.put("member_id", 0);
+            }
+            List<Map<String, Object>> divMembers = new ArrayList<>();
+            divMembers.add(divMember);
+
+            Map<String, Object> confirm = new HashMap<>();
+            confirm.put("payment_id", order.getTransNo());
+            confirm.put("order_no", idGeneratorService.generatorId("payment"));
+            confirm.put("confirm_amt", routeOrder.getRouteAmount());
+            confirm.put("div_members", divMembers);
+            try {
+                Payment.createConfirm(confirm);
+            } catch (Exception e) {
+                continue;
+            }
+        }
+        return true;
+    }
+
+
     @Override
     public void queryOrderStatusFromRemote() {
         try {