Browse Source

每月限额改成每日限额

周箭河 4 years ago
parent
commit
2e51ba3233

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentPaymentOrderDao.java

@@ -383,9 +383,19 @@ public interface StudentPaymentOrderDao extends BaseDAO<Long, StudentPaymentOrde
 
     /**
      * 获取学生的报名订单
+     *
      * @param userId
      * @param musicGroupId
      * @return
      */
     List<StudentPaymentOrderExportDto> getUserApplyOrders(@Param("userId") Integer userId, @Param("musicGroupId") String musicGroupId);
+
+    /**
+     * 获取成功的汇付支付的订单
+     *
+     * @param startTime
+     * @param endTime
+     * @return
+     */
+    List<StudentPaymentOrder> getAdaPayOrdersByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
 }

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/StudentPaymentOrderService.java

@@ -131,4 +131,12 @@ public interface StudentPaymentOrderService extends BaseService<Long, StudentPay
 	 */
 	List<StudentPaymentOrder> getUserOrderByType(Integer userId, OrderTypeEnum type, DealStatusEnum status);
 
+
+	/**
+	 * 从新提交分账信息
+	 * @param startTime
+	 * @param endTime
+	 * @return
+	 */
+	List<StudentPaymentOrder> reConfirmOrder(Date startTime,Date endTime);
 }

+ 22 - 12
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderServiceImpl.java

@@ -254,19 +254,15 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
         }
         order.setPaymentBusinessChannel(rpMap.get("channelType"));
 
+        callOrderCallBack(order);
+
         if (status.equals(DealStatusEnum.SUCCESS) && order.getPaymentChannel().equals("ADAPAY")
                 && !rpMap.containsKey("simulation")) {
             confirmOrder(order);
         }
-
-        callOrderCallBack(order);
     }
 
-    private Boolean confirmOrder(StudentPaymentOrder order) {
-        String delayRouteStartDate = sysConfigDao.findConfigValue("delay_route_start_date");
-        if (order.getCreateTime().before(Objects.requireNonNull(DateUtil.stringToDate(delayRouteStartDate, "yyyy-MM-dd HH:mm:ss")))) {
-            return true;
-        }
+    private Boolean confirmOrder(StudentPaymentOrder order) throws Exception {
         List<StudentPaymentRouteOrder> routeOrders = studentPaymentRouteOrderDao.getRouteOrders(order.getOrderNo());
         for (StudentPaymentRouteOrder routeOrder : routeOrders) {
             Map<String, Object> divMember = new HashMap<>();
@@ -284,11 +280,7 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
             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;
-            }
+            Payment.createConfirm(confirm);
         }
         return true;
     }
@@ -472,4 +464,22 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
     public List<StudentPaymentOrder> getUserOrderByType(Integer userId, OrderTypeEnum type, DealStatusEnum status) {
         return studentPaymentOrderDao.getUserOrderByType(userId, type, status);
     }
+
+    @Override
+    public List<StudentPaymentOrder> reConfirmOrder(Date startTime, Date endTime) {
+        List<StudentPaymentOrder> orders = studentPaymentOrderDao.getAdaPayOrdersByTime(startTime, endTime);
+        String tips = "";
+        for (StudentPaymentOrder order : orders) {
+            try {
+                this.confirmOrder(order);
+            } catch (Exception e) {
+                tips += order.getOrderNo() + ":" + e.getMessage() + ",";
+                continue;
+            }
+        }
+        if(StringUtils.isNotBlank(tips)){
+            throw new BizException(tips);
+        }
+        return orders;
+    }
 }

+ 4 - 0
mec-biz/src/main/resources/config/mybatis/StudentPaymentOrderMapper.xml

@@ -863,4 +863,8 @@
         WHERE spo.user_id_ = #{userId} AND spo.type_='APPLY' AND spo.music_group_id_=#{musicGroupId}
         ORDER BY spo.id_ desc
     </select>
+
+    <select id="getAdaPayOrdersByTime" resultMap="StudentPaymentOrder"><![CDATA[
+        SELECT * FROM student_payment_order WHERE create_time_ >= #{startTime} AND create_time_ <= #{endTime} AND payment_channel_='ADAPAY' AND status_ ='SUCCESS']]>
+    </select>
 </mapper>

+ 12 - 3
mec-student/src/main/java/com/ym/mec/student/controller/StudentOrderController.java

@@ -139,7 +139,7 @@ public class StudentOrderController extends BaseController {
             List<StudentPaymentOrderDetail> orderDetail1 = studentPaymentOrderDetailService.getOrderDetail(orderByOrderNo.getId());
             String kitGroupPurchaseType = orderDetail1.stream().filter(e -> e.getGoodsList() != null).filter(e -> e.getKitGroupPurchaseType() != null).map(e -> e.getKitGroupPurchaseType().getCode()).collect(Collectors.joining(","));
             orderDetail.put("goods", goodsList);
-            orderDetail.put("kitGroupPurchaseType",kitGroupPurchaseType);
+            orderDetail.put("kitGroupPurchaseType", kitGroupPurchaseType);
             orderDetail.put("course", musicGroup.getCourseForm());
             orderDetail.put("ownershipType", musicGroup.getOwnershipType());
             orderDetail.put("detailType", orderDetailType);
@@ -754,12 +754,21 @@ public class StudentOrderController extends BaseController {
     }
 
     @GetMapping("/getUserApplyOrders")
-    public HttpResponseResult<List<StudentPaymentOrderExportDto>> getUserApplyOrders(String musicGroupId){
+    public HttpResponseResult<List<StudentPaymentOrderExportDto>> getUserApplyOrders(String musicGroupId) {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         if (sysUser == null) {
             return failed(HttpStatus.FORBIDDEN, "请登录");
         }
-        return succeed(studentPaymentOrderDao.getUserApplyOrders(sysUser.getId(),musicGroupId));
+        return succeed(studentPaymentOrderDao.getUserApplyOrders(sysUser.getId(), musicGroupId));
     }
 
+    @GetMapping("/reConfirmOrder")
+    public HttpResponseResult<List<StudentPaymentOrder>> reConfirmOrder(Date startTime, Date endTime) {
+        if (!profiles.equals("prod")) {
+            return failed("测试环境不支持");
+        }
+        return succeed(studentPaymentOrderService.reConfirmOrder(startTime, endTime));
+    }
+
+
 }