Browse Source

修改缴费统计

周箭河 4 years ago
parent
commit
c59c88599a

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

@@ -337,8 +337,19 @@ public interface StudentPaymentOrderDao extends BaseDAO<Long, StudentPaymentOrde
 
     /**
      * 根据ids获取商品
+     *
      * @param ids
      * @return
      */
     List<UserGoodsDto> getUserGoods(@Param("ids") String ids);
+
+
+    /**
+     * 获取用户某种类型的订单
+     * @param userId
+     * @param type
+     * @param status
+     * @return
+     */
+    List<StudentPaymentOrder> getUserOrderByType(@Param("userId") Integer userId, @Param("type") OrderTypeEnum type, @Param("status") DealStatusEnum status);
 }

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

@@ -122,4 +122,13 @@ public interface StudentPaymentOrderService extends BaseService<Long, StudentPay
 	 */
 	Integer findOrganPayOrderNum(Integer organId);
 
+	/**
+	 * 获取用户某种类型的订单
+	 * @param userId
+	 * @param type
+	 * @param status
+	 * @return
+	 */
+	List<StudentPaymentOrder> getUserOrderByType(Integer userId, OrderTypeEnum type, DealStatusEnum status);
+
 }

+ 13 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -302,6 +302,19 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             throw new BizException("订单金额异常");
         }
         if (chargeInfo.getMaxAmount() != null) {
+            if(sporadicPayDto.getIsRepeatPay()){
+                List<StudentPaymentOrder> orders = studentPaymentOrderService.getUserOrderByType(sporadicPayDto.getUserId(), OrderTypeEnum.DOUBLE_ELEVEN2020, DealStatusEnum.ING);
+                for (StudentPaymentOrder order : orders) {
+                    Map<String, String> notifyMap = new HashMap<>();
+                    notifyMap.put("tradeState", "0");
+                    notifyMap.put("merOrderNo", order.getOrderNo());
+                    notifyMap.put("channelType", order.getPaymentBusinessChannel());
+                    notifyMap.put("orderNo", "");
+                    notifyMap.put("remarks", "用户主动关闭");
+                    studentPaymentOrderService.updateOrder(notifyMap);
+                }
+            }
+
             if (chargeInfo.getOpenMaxTerm().equals(YesOrNoEnum.YES) && chargeInfo.getMaxAmount().compareTo(chargeInfo.getPaidAmount().add(amount)) < 0) {
                 throw new Exception("活动人数暂时已满,请稍后再试");
             }

+ 5 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderServiceImpl.java

@@ -371,4 +371,9 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
     public Integer findOrganPayOrderNum(Integer organId) {
         return studentPaymentOrderDao.findOrganPayOrderNum(organId);
     }
+
+    @Override
+    public List<StudentPaymentOrder> getUserOrderByType(Integer userId, OrderTypeEnum type, DealStatusEnum status) {
+       return studentPaymentOrderDao.getUserOrderByType(userId,type,status);
+    }
 }

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

@@ -749,4 +749,7 @@
           AND status_ = 'SUCCESS'
           AND type_ = #{orderType}
     </select>
+    <select id="getUserOrderByType" resultMap="StudentPaymentOrder">
+        SELECT * FROM student_payment_order WHERE user_id_=#{userId} AND type_=#{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler} AND status_=#{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
+    </select>
 </mapper>