Bläddra i källkod

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

zouxuan 5 år sedan
förälder
incheckning
3780f186c3

+ 12 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentPaymentOrder.java

@@ -30,7 +30,10 @@ public class StudentPaymentOrder {
 	/**  */
 	@ApiModelProperty(value = "用户编号",required = true)
 	private Integer userId;
-	
+
+	@ApiModelProperty(value = "分部编号",required = true)
+	private Integer organId;
+
 	/** 订单类型(报名、续费、小课购买、其他) */
 	@ApiModelProperty(value = "订单类型",required = true)
 	private OrderTypeEnum type;
@@ -402,4 +405,12 @@ public class StudentPaymentOrder {
 	public void setLeaseFee(BigDecimal leaseFee) {
 		this.leaseFee = leaseFee;
 	}
+
+	public Integer getOrganId() {
+		return organId;
+	}
+
+	public void setOrganId(Integer organId) {
+		this.organId = organId;
+	}
 }

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

@@ -327,6 +327,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                 studentPaymentOrder.setActualAmount(new BigDecimal(0));
                 studentPaymentOrder.setBalancePaymentAmount(amount);
                 studentPaymentOrder.setStatus(DealStatusEnum.SUCCESS);
+                studentPaymentOrder.setOrganId(chargeInfo.getOrganId());
                 studentPaymentOrder.setUpdateTime(date);
                 sysUserCashAccountService.updateBalance(userId, amount.negate(),PlatformCashAccountDetailTypeEnum.SPORADIC,chargeInfo.getTitle());
                 studentPaymentOrderService.update(studentPaymentOrder);
@@ -378,6 +379,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         );
 
         Map<String,BigDecimal> routingFee = (Map<String,BigDecimal>)payMap.get("routingFee");
+        studentPaymentOrder.setOrganId(chargeInfo.getOrganId());
         studentPaymentOrder.setComAmount(routingFee.get("COM"));
         studentPaymentOrder.setPerAmount(routingFee.get("PER"));
         studentPaymentOrder.setMerNos((String) payMap.get("routingMerNos"));
@@ -497,6 +499,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 
         Date date = new Date();
 
+        MusicGroup musicGroup = musicGroupDao.get(studentRegistration.getMusicGroupId());
         if(registerPayDto.getIsUseBalancePayment() || amount.doubleValue() == 0){
             studentPaymentOrder.setPaymentChannel("BALANCE");
         	SysUserCashAccount userCashAccount = sysUserCashAccountService.getLocked(userId);
@@ -506,9 +509,10 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         	if(userCashAccount.getBalance().subtract(amount).doubleValue() > 0){
         		// 更新订单信息
         		studentPaymentOrder.setBalancePaymentAmount(amount);
+        		studentPaymentOrder.setOrganId(musicGroup.getOrganId());
                 studentPaymentOrder.setUpdateTime(date);
         		sysUserCashAccountService.updateBalance(userId, amount.negate(),PlatformCashAccountDetailTypeEnum.PAY_FEE,"乐团续费");
-
+                amount = BigDecimal.ZERO;
         	}else{
 				if (userCashAccount.getBalance().doubleValue() > 0) {
 					sysUserCashAccountService.updateBalance(userId, userCashAccount.getBalance().negate(), PlatformCashAccountDetailTypeEnum.PAY_FEE, "乐团续费");
@@ -533,7 +537,6 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 
         studentPaymentOrder.setVersion(studentPaymentOrder.getVersion()+1);
 
-        MusicGroup musicGroup = musicGroupDao.get(studentRegistration.getMusicGroupId());
         //分类费用 course,instrument,accessories,other
         Map<String, BigDecimal> classFee = new HashMap<>();
         classFee.put("course",courseFee);
@@ -569,6 +572,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         );
 
         Map<String,BigDecimal> routingFee = (Map<String,BigDecimal>)payMap.get("routingFee");
+        studentPaymentOrder.setOrganId(musicGroup.getOrganId());
         studentPaymentOrder.setComAmount(routingFee.get("COM"));
         studentPaymentOrder.setPerAmount(routingFee.get("PER"));
         studentPaymentOrder.setMerNos((String) payMap.get("routingMerNos"));
@@ -693,6 +697,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         studentPaymentOrder.setVersion(0);
         Date date = new Date();
 
+        MusicGroup musicGroup = musicGroupDao.get(studentRegistration.getMusicGroupId());
         if(registerPayDto.getIsUseBalancePayment() || amount.doubleValue() == 0){
         	SysUserCashAccount userCashAccount = sysUserCashAccountService.getLocked(userId);
         	if(userCashAccount == null){
@@ -702,8 +707,10 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         	if(userCashAccount.getBalance().subtract(amount).doubleValue() > 0){
         		// 更新订单信息
         		studentPaymentOrder.setBalancePaymentAmount(amount);
+        		studentPaymentOrder.setOrganId(musicGroup.getOrganId());
                 studentPaymentOrder.setUpdateTime(date);
         		sysUserCashAccountService.updateBalance(userId, amount.negate(),PlatformCashAccountDetailTypeEnum.PAY_FEE,"乐团续费");
+        		amount = BigDecimal.ZERO;
         	}else{
 				if (userCashAccount.getBalance().doubleValue() > 0) {
 					sysUserCashAccountService.updateBalance(userId, userCashAccount.getBalance().negate(), PlatformCashAccountDetailTypeEnum.PAY_FEE, "乐团续费");
@@ -727,7 +734,6 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         }
         studentPaymentOrder.setVersion(studentPaymentOrder.getVersion()+1);
 
-        MusicGroup musicGroup = musicGroupDao.get(studentRegistration.getMusicGroupId());
         //分类费用 course,instrument,accessories,other
         Map<String, BigDecimal> classFee = new HashMap<>();
         classFee.put("course",courseFee);
@@ -763,6 +769,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         );
 
         Map<String,BigDecimal> routingFee = (Map<String,BigDecimal>)payMap.get("routingFee");
+        studentPaymentOrder.setOrganId(musicGroup.getOrganId());
         studentPaymentOrder.setComAmount(routingFee.get("COM"));
         studentPaymentOrder.setPerAmount(routingFee.get("PER"));
         studentPaymentOrder.setMerNos((String) payMap.get("routingMerNos"));
@@ -1471,11 +1478,12 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         		throw new BizException("用户账户找不到");
         	}
             studentPaymentOrder.setPaymentChannel("BALANCE");
-        	if(userCashAccount.getBalance().subtract(amount).doubleValue() > 0){
+        	if(userCashAccount.getBalance().subtract(amount).doubleValue() >= 0){
         		// 更新订单信息
         		studentPaymentOrder.setBalancePaymentAmount(amount);
                 studentPaymentOrder.setStatus(DealStatusEnum.SUCCESS);
                 studentPaymentOrder.setUpdateTime(date);
+                studentPaymentOrder.setOrganId(musicGroup.getOrganId());
                 studentPaymentOrderService.update(studentPaymentOrder);
 
         		sysUserCashAccountService.updateBalance(userId, amount.negate(),PlatformCashAccountDetailTypeEnum.PAY_FEE,"乐团续费");
@@ -1520,6 +1528,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             );
 
             Map<String,BigDecimal> routingFee = (Map<String,BigDecimal>)payMap.get("routingFee");
+            studentPaymentOrder.setOrganId(musicGroup.getOrganId());
             studentPaymentOrder.setComAmount(routingFee.get("COM"));
             studentPaymentOrder.setPerAmount(routingFee.get("PER"));
             studentPaymentOrder.setMerNos((String) payMap.get("routingMerNos"));

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -1068,6 +1068,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 				studentPaymentOrder.setBalancePaymentAmount(amount);
 				studentPaymentOrder.setStatus(DealStatusEnum.SUCCESS);
 				studentPaymentOrder.setUpdateTime(date);
+				studentPaymentOrder.setOrganId(vipGroup.getOrganId());
 
 				this.orderCallback(studentPaymentOrder);
 
@@ -1117,6 +1118,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			);
 
 			Map<String,BigDecimal> routingFee = (Map<String,BigDecimal>)payMap.get("routingFee");
+			studentPaymentOrder.setOrganId(vipGroup.getOrganId());
 			studentPaymentOrder.setComAmount(routingFee.get("COM"));
 			studentPaymentOrder.setPerAmount(routingFee.get("PER"));
 			studentPaymentOrder.setMerNos((String) payMap.get("routingMerNos"));

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

@@ -10,6 +10,7 @@
         <result column="id_" property="id"/>
         <result column="group_type_" property="groupType" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="user_id_" property="userId"/>
+        <result column="organ_id_" property="organId"/>
         <result column="type_" property="type" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="expect_amount_" property="expectAmount"/>
         <result column="actual_amount_" property="actualAmount"/>
@@ -149,6 +150,9 @@
             <if test="musicGroupId != null">
                 music_group_id_ = #{musicGroupId},
             </if>
+            <if test="organId != null">
+                organ_id_ = #{organId},
+            </if>
             <if test="payTime != null">
                 pay_time_ = #{payTime},
             </if>
@@ -183,7 +187,7 @@
     <sql id="queryPaymentOrder">
         <where>
             <if test="organId != null">
-                AND FIND_IN_SET(u.organ_id_,#{organId})
+                AND FIND_IN_SET(spo.organ_id_,#{organId})
             </if>
             <if test="orderStartDate != null">
                 AND DATE_FORMAT(spo.create_time_,'%Y-%m-%d') &gt;= #{orderStartDate}