Переглянути джерело

Merge remote-tracking branch 'origin/online1' into online1

zouxuan 3 роки тому
батько
коміт
dd8b104724

+ 11 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentPaymentOrderExportDto.java

@@ -87,6 +87,8 @@ public class StudentPaymentOrderExportDto extends StudentPaymentOrder {
 
     //分润中的服务费用
     private BigDecimal serviceAmount = BigDecimal.ZERO;
+    
+    private BigDecimal serviceFee = BigDecimal.ZERO;
 
     private String feeFlag;
 
@@ -335,7 +337,15 @@ public class StudentPaymentOrderExportDto extends StudentPaymentOrder {
         this.serviceAmount = serviceAmount;
     }
 
-    public BigDecimal getMaintenanceFee() {
+    public BigDecimal getServiceFee() {
+		return serviceFee;
+	}
+
+	public void setServiceFee(BigDecimal serviceFee) {
+		this.serviceFee = serviceFee;
+	}
+
+	public BigDecimal getMaintenanceFee() {
         return maintenanceFee;
     }
 

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentPaymentRouteOrder.java

@@ -59,6 +59,8 @@ public class StudentPaymentRouteOrder {
     
     private BigDecimal serviceAmount;
     
+    private BigDecimal serviceFee;
+    
     private String memo;
     
     private String goodsIds;
@@ -201,6 +203,14 @@ public class StudentPaymentRouteOrder {
 		this.serviceAmount = serviceAmount;
 	}
 
+	public BigDecimal getServiceFee() {
+		return serviceFee;
+	}
+
+	public void setServiceFee(BigDecimal serviceFee) {
+		this.serviceFee = serviceFee;
+	}
+
 	public String getMemo() {
 		return memo;
 	}

+ 17 - 13
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ExportServiceImpl.java

@@ -399,20 +399,24 @@ public class ExportServiceImpl implements ExportService {
 					++times;
 				}
             	orderCountMap.put(row.getOrderNo(), times);
+            	
+            	currentFee = row.getServiceFee();
                 
-                transferFee = serviceChargeMap.get(row.getOrderNo());
-                if(transferFee == null){
-                	transferFee = BigDecimal.ZERO;
-                }
-                
-                currentFee = row.getRouteAmount().multiply(new BigDecimal("0.28")).divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP);
-                totalFee = row.getActualAmount().multiply(new BigDecimal("0.28")).divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP);
-                if(totalFee.subtract(transferFee.add(currentFee)).doubleValue() < 0 || times == countFeeFlagNum.getTotalNum()){
-                	currentFee = totalFee.subtract(transferFee);
-                	serviceChargeMap.put(row.getOrderNo(), totalFee);
-                }else{
-                	serviceChargeMap.put(row.getOrderNo(), transferFee.add(currentFee));
-                }
+				if (currentFee == null || currentFee.floatValue() == 0) {
+					transferFee = serviceChargeMap.get(row.getOrderNo());
+					if (transferFee == null) {
+						transferFee = BigDecimal.ZERO;
+					}
+
+					currentFee = row.getRouteAmount().multiply(new BigDecimal("0.28")).divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP);
+					totalFee = row.getActualAmount().multiply(new BigDecimal("0.28")).divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP);
+					if (totalFee.subtract(transferFee.add(currentFee)).doubleValue() < 0 || times == countFeeFlagNum.getTotalNum()) {
+						currentFee = totalFee.subtract(transferFee);
+						serviceChargeMap.put(row.getOrderNo(), totalFee);
+					} else {
+						serviceChargeMap.put(row.getOrderNo(), transferFee.add(currentFee));
+					}
+				}
                 
                 /*if (countFeeFlagNum.getTotalNum() > countFeeFlagNum.getYesNum() && row.getFeeFlag().equals("Y")) {
                     transferFee = row.getActualAmount().multiply(new BigDecimal("0.28")).divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP);

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

@@ -390,6 +390,7 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
     }
 
     private Boolean confirmOrder(StudentPaymentOrder order) {
+    	Date date = new Date();
         List<StudentPaymentRouteOrder> routeOrders = studentPaymentRouteOrderDao.getRouteOrders(order.getOrderNo());
         for (StudentPaymentRouteOrder routeOrder : routeOrders) {
             Map<String, Object> divMember = new HashMap<>();
@@ -410,6 +411,9 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
             try {
                 Map<String, Object> map = Payment.createConfirm(confirm);
                 LOGGER.info("分账信息返回:{}",map);
+                routeOrder.setServiceFee(new BigDecimal(map.get("fee_amt").toString()));
+                routeOrder.setUpdateTime(date);
+                studentPaymentRouteOrderDao.update(routeOrder);
             } catch (Exception e) {
                 continue;
             }

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

@@ -619,6 +619,7 @@
         <result column="routeBalance" property="routeBalance"/>
         <result column="sale_amount_" property="saleAmount"/>
         <result column="service_amount_" property="serviceAmount"/>
+        <result column="service_fee_" property="serviceFee"/>
         <result column="routeBalance" property="routeBalance"/>
         <result column="feeFlag" property="feeFlag"/>
         <collection property="orderDetailList" ofType="com.ym.mec.biz.dal.entity.StudentPaymentOrderDetail">

+ 11 - 7
mec-biz/src/main/resources/config/mybatis/StudentPaymentRouteOrderMapper.xml

@@ -17,6 +17,7 @@
         <result column="pay_time_" property="payTime"/>
         <result column="sale_amount_" property="saleAmount"/>
         <result column="service_amount_" property="serviceAmount"/>
+        <result column="service_fee_" property="serviceFee"/>
         <result column="memo_" property="memo"/>
         <result column="goods_json_" property="goodsJson"/>
         <result column="audit_status_" property="auditStatus" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler" />
@@ -51,7 +52,7 @@
 
     <sql id="Base_Column_List">
         <!--@mbg.generated-->
-        id_, route_organ_id_, route_amount_,route_balance_amount_, mer_no_, order_no_, fee_flag_,user_id_,school_id_,trans_no_,pay_time_,sale_amount_,service_amount_,memo_,goods_json_,audit_status_,audit_comment_,calender_id_,create_time_,create_by_,update_time_,update_by_
+        id_, route_organ_id_, route_amount_,route_balance_amount_, mer_no_, order_no_, fee_flag_,user_id_,school_id_,trans_no_,pay_time_,sale_amount_,service_amount_,service_fee_,memo_,goods_json_,audit_status_,audit_comment_,calender_id_,create_time_,create_by_,update_time_,update_by_
     </sql>
     <select id="get" parameterType="java.lang.Long" resultMap="StudentPaymentRouteOrderMap">
         <!--@mbg.generated-->
@@ -71,8 +72,8 @@
             parameterType="com.ym.mec.biz.dal.entity.StudentPaymentRouteOrder" useGeneratedKeys="true">
         <!--@mbg.generated-->
         insert into student_payment_route_order (route_organ_id_, route_amount_,route_balance_amount_, mer_no_,
-        order_no_, fee_flag_,user_id_,school_id_,trans_no_,pay_time_,sale_amount_,service_amount_,memo_,goods_json_,audit_status_,audit_comment_,calender_id_,create_time_,update_time_,create_by_,update_by_)
-        values (#{routeOrganId}, #{routeAmount},#{routeBalanceAmount}, #{merNo}, #{orderNo}, #{feeFlag},#{userId},#{schoolId},#{transNo},#{payTime},#{saleAmount},#{serviceAmount},#{memo},#{goodsJson},#{auditStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{auditComment},#{calenderId},#{createTime},#{updateTime},#{createBy},#{updateBy})
+        order_no_, fee_flag_,user_id_,school_id_,trans_no_,pay_time_,sale_amount_,service_amount_,service_fee_,memo_,goods_json_,audit_status_,audit_comment_,calender_id_,create_time_,update_time_,create_by_,update_by_)
+        values (#{routeOrganId}, #{routeAmount},#{routeBalanceAmount}, #{merNo}, #{orderNo}, #{feeFlag},#{userId},#{schoolId},#{transNo},#{payTime},#{saleAmount},#{serviceAmount},#{serviceFee},#{memo},#{goodsJson},#{auditStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{auditComment},#{calenderId},#{createTime},#{updateTime},#{createBy},#{updateBy})
     </insert>
     <update id="update" parameterType="com.ym.mec.biz.dal.entity.StudentPaymentRouteOrder">
         <!--@mbg.generated-->
@@ -111,6 +112,9 @@
             </if>
                 sale_amount_ = #{saleAmount},
                 service_amount_ = #{serviceAmount},
+            <if test="serviceFee != null">
+                service_fee_ = #{serviceFee},
+            </if>
             <if test="memo != null">
                 memo_ = #{memo},
             </if>
@@ -144,14 +148,14 @@
             keyProperty="id">
         INSERT INTO student_payment_route_order
         (order_no_,route_organ_id_, route_amount_,route_balance_amount_, mer_no_,fee_flag_,user_id_,
-        school_id_,trans_no_,pay_time_,sale_amount_,service_amount_,memo_,goods_json_,audit_status_,
+        school_id_,trans_no_,pay_time_,sale_amount_,service_amount_,service_fee_,memo_,goods_json_,audit_status_,
         audit_comment_,calender_id_,create_time_,update_time_,create_by_,update_by_)
         VALUE
         <foreach collection="routeOrders" item="routeOrder" separator=",">
             (#{routeOrder.orderNo},#{routeOrder.routeOrganId},#{routeOrder.routeAmount},
             #{routeOrder.routeBalanceAmount},#{routeOrder.merNo},#{routeOrder.feeFlag},
             #{routeOrder.userId},#{routeOrder.schoolId},#{routeOrder.transNo},#{routeOrder.payTime},
-            #{routeOrder.saleAmount},#{routeOrder.serviceAmount},#{routeOrder.memo},#{routeOrder.goodsJson},
+            #{routeOrder.saleAmount},#{routeOrder.serviceAmount},#{routeOrder.serviceFee},#{routeOrder.memo},#{routeOrder.goodsJson},
             #{routeOrder.auditStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{routeOrder.auditComment},
             #{routeOrder.calenderId},NOW(),NOW(),#{routeOrder.createBy},#{routeOrder.updateBy})
         </foreach>
@@ -285,7 +289,7 @@
         SELECT spo.*,u.username_,spod.id_ detail_id_,spod.type_ detail_type_,spod.price_
         detail_price_,spod.kit_group_purchase_type_ detail_kit_group_purchase_type_,
         sci.charge_type_,g.id_ goods_id, g.name_ goods_name,o.name_ organ_name,spro.route_amount_
-        routeAmount,spro.route_balance_amount_ routeBalance,spro.sale_amount_,spro.service_amount_,
+        routeAmount,spro.route_balance_amount_ routeBalance,spro.sale_amount_,spro.service_amount_,spro.service_fee_,
         spro.mer_no_ routeMerNo,spro.fee_flag_ feeFlag
         FROM student_payment_order spo
         LEFT JOIN student_payment_route_order spro ON spro.order_no_ = spo.order_no_
@@ -295,7 +299,7 @@
         LEFT JOIN sporadic_charge_info sci on spo.music_group_id_ = sci.id_
         LEFT JOIN goods g on FIND_IN_SET(g.id_,spod.goods_id_list_)
         <include refid="queryPaymentOrder"/>
-        ORDER BY spro.id_ DESC
+        ORDER BY spro.id_ asc
     </select>
     <select id="countByTransNo" resultType="java.lang.String">
         SELECT trans_no_ FROM student_payment_route_order WHERE trans_no_ IN