Преглед изворни кода

Merge branch 'master' of http://git.dayaedu.com/yonge/mec

yonge пре 4 година
родитељ
комит
ebab226e3e

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -5286,7 +5286,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 			if(Objects.nonNull(updatePayment)&&updatePayment.getCourseScheduleId().equals(courseScheduleStudentPayment.getCourseScheduleId())){
 				continue;
 			}
-			if(updatePayment.getUserId().equals(courseScheduleStudentPayment.getUserId())){
+			if(Objects.nonNull(updatePayment)&&updatePayment.getUserId().equals(courseScheduleStudentPayment.getUserId())){
 				updatePayment.setExpectPrice(updatePayment.getExpectPrice().add(courseScheduleStudentPayment.getExpectPrice()));
 				courseScheduleStudentPayment.setExpectPrice(BigDecimal.ZERO);
 				updatePayments.add(updatePayment);

+ 3 - 1
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -1825,7 +1825,9 @@
                cs.leave_student_num_,
                cs.schoole_id_
         FROM course_schedule cs
-        WHERE cs.class_date_ BETWEEN #{startDate} AND #{endDate}
+        WHERE
+            (cs.new_course_id_ IS NULL OR cs.new_course_id_=cs.id_)
+            AND cs.class_date_ BETWEEN #{startDate} AND #{endDate}
           AND cs.group_type_ = 'MUSIC'
           AND (cs.del_flag_ IS NULL OR cs.del_flag_ = 0)
     </select>

+ 14 - 0
mec-thirdparty/src/main/java/com/ym/mec/thirdparty/adapay/Payment.java

@@ -116,6 +116,20 @@ public class Payment {
         return payment;
     }
 
+    public static Map<String, Object> queryConfirmList(String paymentId) throws Exception {
+        Map<String, Object> paymentParams = new HashMap<>();
+        paymentParams.put("app_id", ConfigInit.appId);
+        paymentParams.put("payment_id", paymentId);
+
+        Map<String, Object> payment = com.huifu.adapay.model.Payment.queryConfirmList(paymentParams);
+        String error_code = (String) payment.get("error_code");
+        if (null != error_code) {
+            String errorMsg = (String) payment.get("error_msg");
+            throw new ThirdpartyException(errorMsg);
+        }
+        return payment;
+    }
+
 
     public static Map<String, Object> getPayMap(BigDecimal amount, String orderNo, String notifyUrl, String returnUrl, String orderSubject, String orderBody, String sellerNo, List<Map<String, Object>> tempRoutingList) throws Exception {
         Map<String, Object> paymentParams = new LinkedHashMap<>();

+ 31 - 10
mec-web/src/main/java/com/ym/mec/web/controller/AdapayController.java

@@ -28,6 +28,7 @@ import org.springframework.web.bind.annotation.RestController;
 
 import javax.servlet.http.HttpServletResponse;
 import java.io.*;
+import java.math.BigDecimal;
 import java.util.*;
 
 @RequestMapping("adapay")
@@ -137,7 +138,7 @@ public class AdapayController extends BaseController {
         long createdLte = DateUtil.getLastSecondWithDay(endTime).getTime();
         int pageIndex = 1;
         List<Map<String, Object>> data = new ArrayList<>();
-        while (profiles.equals("prod")) {
+        while (profiles.equals("dev")) {
             Map<String, Object> paymentList = Payment.queryList(pageIndex, createdGte, createdLte);
             JSONArray payments = (JSONArray) paymentList.get("payments");
             if (!paymentList.get("status").equals("succeeded")) {
@@ -163,17 +164,37 @@ public class AdapayController extends BaseController {
                     } else {
                         paymentMap.put("status", "交易失败");
                     }
-                    JSONArray divMembers = (JSONArray) paymentMap.get("div_members");
-                    for (Object divMember : divMembers) {
-                        Map<String, Object> divMemberMap = (Map<String, Object>) divMember;
-                        divMemberMap.putAll(paymentMap);
-                        if (divMemberMap.get("member_id").equals("0")) {
-                            divMemberMap.put("member_id", ConfigInit.merNo);
+                    if (paymentMap.get("pay_mode").equals("delay")) {
+                        Map<String, Object> confirmMap = Payment.queryConfirmList(paymentMap.get("id").toString());
+                        JSONArray confirms = (JSONArray) confirmMap.get("payment_confirms");
+                        for (Object confirm : confirms) {
+                            Map<String, Object> divMemberMap = (Map<String, Object>) confirm;
+                            divMemberMap.putAll(paymentMap);
+
+                            JSONArray divMembers = (JSONArray) divMemberMap.get("div_members");
+                            Map<String, Object> divMember = (Map<String, Object>) divMembers.get(0);
+                            divMemberMap.putAll(divMember);
+                            if (divMemberMap.get("member_id").equals("0")) {
+                                divMemberMap.put("member_id", ConfigInit.merNo);
+                            }
+                            BigDecimal feeAmt = (new BigDecimal(divMemberMap.get("amount").toString())).multiply(new BigDecimal("0.28")).divide(new BigDecimal(100),2, BigDecimal.ROUND_HALF_UP);
+                            divMemberMap.put("fee_amt", feeAmt);
+                            data.add(divMemberMap);
                         }
-                        if (divMemberMap.get("fee_flag").equals("N")) {
-                            divMemberMap.put("fee_amt", "0.00");
+
+                    } else {
+                        JSONArray divMembers = (JSONArray) paymentMap.get("div_members");
+                        for (Object divMember : divMembers) {
+                            Map<String, Object> divMemberMap = (Map<String, Object>) divMember;
+                            divMemberMap.putAll(paymentMap);
+                            if (divMemberMap.get("member_id").equals("0")) {
+                                divMemberMap.put("member_id", ConfigInit.merNo);
+                            }
+                            if (divMemberMap.get("fee_flag").equals("N")) {
+                                divMemberMap.put("fee_amt", "0.00");
+                            }
+                            data.add(divMemberMap);
                         }
-                        data.add(divMemberMap);
                     }
                 }
             }