فهرست منبع

Merge branch 'master' into feature-goods-river

# Conflicts:
#	mec-student/src/main/java/com/ym/mec/student/controller/StudentOrderController.java
周箭河 5 سال پیش
والد
کامیت
77425c6dcb

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

@@ -30,7 +30,7 @@ public interface StudentPaymentOrderDao extends BaseDAO<Long, StudentPaymentOrde
     List<Goods> queryApplyGoodsList(@Param("musicGroupId") String musicGroupId, @Param("type") OrderDetailTypeEnum type);
 
 	List<StudentPaymentOrder> queryByCondition(@Param("groupType") GroupType groupType, @Param("musicGroupId") String musicGroupId,
-			@Param("userId") Integer userId, @Param("status") DealStatusEnum status);
+			@Param("userId") Integer userId, @Param("status") DealStatusEnum status, @Param("type") OrderTypeEnum type);
 
     /**
      * @Author: Joburgess

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/SporadicPayDto.java

@@ -14,9 +14,19 @@ public class SporadicPayDto {
     @ApiModelProperty(value = "支付项编号",required = false)
     private Integer sporadicId;
 
+    private boolean isRepeatPay;
+
     @ApiModelProperty(value = "是否余额支付",required = false)
     Boolean isUseBalancePayment = false;
 
+    public boolean getIsRepeatPay() {
+        return isRepeatPay;
+    }
+
+    public void setIsRepeatPay(boolean repeatPay) {
+        isRepeatPay = repeatPay;
+    }
+
     public BigDecimal getAmount() {
         return amount;
     }

+ 14 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/StudentPaymentOrderService.java

@@ -9,9 +9,10 @@ import com.ym.mec.biz.dal.dto.StudentPaymentOrderExportDto;
 import com.ym.mec.biz.dal.entity.Goods;
 import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
 import com.ym.mec.biz.dal.enums.DealStatusEnum;
+import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.biz.dal.enums.OrderDetailTypeEnum;
+import com.ym.mec.biz.dal.enums.OrderTypeEnum;
 import com.ym.mec.biz.dal.page.SporadicOrderQueryInfo;
-import com.ym.mec.biz.dal.page.StudentPaymentOrderQueryInfo;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
 
@@ -26,13 +27,23 @@ public interface StudentPaymentOrderService extends BaseService<Long, StudentPay
 	List<Goods> queryApplyGoodsList(String musicGroupId, OrderDetailTypeEnum type);
 
 	/**
-	 * 查询报名缴费订单
+	 * 查询订单列表
+	 * @param groupType
 	 * @param musicGroupId
+	 * @param userId
 	 * @param status
+	 * @param type
 	 * @return
 	 */
-	StudentPaymentOrder findMusicGroupApplyOrderByStatus(Integer userId,String musicGroupId, DealStatusEnum status);
+	List<StudentPaymentOrder> queryByCondition(GroupType groupType, String musicGroupId, Integer userId, DealStatusEnum status, OrderTypeEnum type);
 
+	/**
+	 * 查询报名缴费订单
+	 * @param musicGroupId
+	 * @param status
+	 * @return
+	 */
+	StudentPaymentOrder findMusicGroupApplyOrderByStatus(Integer userId, String musicGroupId, DealStatusEnum status);
 
 	/**
 	 * 根据orderNo查询订单
@@ -41,7 +52,6 @@ public interface StudentPaymentOrderService extends BaseService<Long, StudentPay
 	 */
 	StudentPaymentOrder findOrderByOrderNo(String orderNo);
 
-
 	/**
 	 * 查找支付成功和支付中订单
 	 * @return
@@ -56,7 +66,6 @@ public interface StudentPaymentOrderService extends BaseService<Long, StudentPay
 	 */
 	List<StudentPaymentOrder> findOrdersByStatus(DealStatusEnum status, String paymentChannel);
 
-
 	/**
 	 * 查询支付中超时的订单
 	 * @param orderNoList

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

@@ -21,6 +21,7 @@ import com.ym.mec.biz.dal.dto.StudentPaymentOrderExportDto;
 import com.ym.mec.biz.dal.entity.Goods;
 import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
 import com.ym.mec.biz.dal.enums.DealStatusEnum;
+import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.biz.dal.enums.OrderDetailTypeEnum;
 import com.ym.mec.biz.dal.enums.OrderTypeEnum;
 import com.ym.mec.biz.dal.page.SporadicOrderQueryInfo;
@@ -66,6 +67,11 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
     }
 
     @Override
+	public List<StudentPaymentOrder> queryByCondition(GroupType groupType, String musicGroupId, Integer userId, DealStatusEnum status, OrderTypeEnum type) {
+		return studentPaymentOrderDao.queryByCondition(groupType, musicGroupId, userId, status, type);
+	}
+
+	@Override
     public StudentPaymentOrder findMusicGroupApplyOrderByStatus(Integer userId, String musicGroupId, DealStatusEnum status) {
         return studentPaymentOrderDao.findMusicGroupApplyOrderByStatus(userId, musicGroupId, status);
     }

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

@@ -247,6 +247,7 @@
         AND spo.music_group_id_=#{musicGroupId}
         AND spo.status_=#{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
         AND spo.group_type_ = #{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
+        and spo.type_ = #{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
     </select>
     <select id="findByStudentVipGroup" resultMap="StudentPaymentOrder">
         SELECT

+ 16 - 2
mec-student/src/main/java/com/ym/mec/student/controller/MusicGroupController.java

@@ -7,21 +7,27 @@ import com.ym.mec.biz.dal.dto.RegisterPayDto;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.entity.MusicGroupStudentFee.PaymentStatus;
 import com.ym.mec.biz.dal.enums.DealStatusEnum;
+import com.ym.mec.biz.dal.enums.GroupType;
+import com.ym.mec.biz.dal.enums.OrderTypeEnum;
 import com.ym.mec.biz.dal.enums.PaymentStatusEnum;
 import com.ym.mec.biz.service.*;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.exception.BizException;
+
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
+
 import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.ui.ModelMap;
 import org.springframework.web.bind.annotation.*;
+
 import javax.annotation.Resource;
+
 import java.math.BigDecimal;
 import java.util.HashMap;
 import java.util.List;
@@ -171,13 +177,21 @@ public class MusicGroupController extends BaseController {
 	@GetMapping("/renew")
 	@ApiImplicitParams({ @ApiImplicitParam(name = "musicGroupId", value = "乐团id", required = true, dataType = "String"),
 			@ApiImplicitParam(name = "isUseBalancePayment", value = "是否使用余额付款", required = true, dataType = "Boolean") })
-	public HttpResponseResult renew(String musicGroupId, Boolean isUseBalancePayment) throws Exception {
+	public HttpResponseResult renew(String musicGroupId, Boolean isUseBalancePayment, boolean isRepeatPay) throws Exception {
 		SysUser sysUser = sysUserFeignService.queryUserInfo();
 		Integer userId = sysUser.getId();
-		
+
 		if (isUseBalancePayment == null) {
 			isUseBalancePayment = false;
 		}
+		if (isRepeatPay == false) {
+            // 判断是否存在支付中的记录
+            List<StudentPaymentOrder> list = studentPaymentOrderService.queryByCondition(GroupType.MUSIC, musicGroupId, userId, DealStatusEnum.ING,
+                    OrderTypeEnum.RENEW);
+			if (list.size() > 0) {
+				return failed(HttpStatus.CONTINUE, "您有待支付的订单");
+			}
+		}
 		return succeed(musicGroupService.renew(musicGroupId, userId, isUseBalancePayment));
 	}
 

+ 10 - 3
mec-student/src/main/java/com/ym/mec/student/controller/SporadicChargeInfoController.java

@@ -6,8 +6,11 @@ import com.ym.mec.auth.api.enums.SysUserType;
 import com.ym.mec.biz.dal.dao.SysUserCashAccountDao;
 import com.ym.mec.biz.dal.dto.SporadicPayDto;
 import com.ym.mec.biz.dal.entity.SporadicChargeInfo;
+import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
 import com.ym.mec.biz.dal.entity.SysUserCashAccount;
 import com.ym.mec.biz.dal.enums.DealStatusEnum;
+import com.ym.mec.biz.dal.enums.GroupType;
+import com.ym.mec.biz.dal.enums.OrderTypeEnum;
 import com.ym.mec.biz.service.MusicGroupService;
 import com.ym.mec.biz.service.SporadicChargeInfoService;
 import com.ym.mec.biz.service.StudentPaymentOrderService;
@@ -19,6 +22,8 @@ import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
 import java.util.Map;
 
 @RequestMapping("sporadicChargeInfo")
@@ -76,9 +81,11 @@ public class SporadicChargeInfoController extends BaseController {
 			}
 			sporadicPayDto.setUserId(sysUser.getId());
 		}
-		Integer ingOrder = studentPaymentOrderService.findOrderByGroupType(sporadicPayDto.getUserId(),sporadicPayDto.getSporadicId(),"SPORADIC", DealStatusEnum.ING);
-		if (ingOrder != null && ingOrder > 0){
-			return failed("您有支付中的订单");
+		if (sporadicPayDto.getIsRepeatPay() == false) {
+			Integer ingOrder = studentPaymentOrderService.findOrderByGroupType(sporadicPayDto.getUserId(),sporadicPayDto.getSporadicId(),"SPORADIC", DealStatusEnum.ING);
+			if (ingOrder != null && ingOrder > 0) {
+				return failed(HttpStatus.CONTINUE, "您有待支付的订单");
+			}
 		}
 		Map payMap = musicGroupService.sporadicPay(sporadicPayDto);
 		if(payMap.containsKey("tradeState")){