zhs 3 gadi atpakaļ
vecāks
revīzija
a2c998aa79

+ 2 - 0
src/main/java/com/travel/mapper/PrivateOrderMapper.java

@@ -82,4 +82,6 @@ public interface PrivateOrderMapper {
     List<SupplierReleaseDay> getReleaseRemind(String uuid);
 
     void delReleaseRemind(String id);
+
+    void updateSupplierOfferChild(Release release1);
 }

+ 3 - 0
src/main/java/com/travel/mapper/SupplierMapper.java

@@ -1,6 +1,7 @@
 package com.travel.mapper;
 
 import com.travel.model.ConfirmOrdering;
+import com.travel.model.Release;
 import com.travel.model.Supplier;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -31,4 +32,6 @@ public interface SupplierMapper {
     Supplier getSuppierPhone(String code);
 
     int getIdNumber(String idNumber);
+
+    void setSupplierBalanceOfChild(Supplier supplier);
 }

+ 8 - 0
src/main/java/com/travel/mapper/ZFBPayMapper.java

@@ -53,4 +53,12 @@ public interface ZFBPayMapper {
     void pay(ZFBPay wxPay);
 
     void minusBalanceOfUser(WxWithdrawal wxWithdrawal);
+
+    void updateBalanceChild(@Param("totalFee") Double totalFee, @Param("code") String code);
+
+    void addOfferNumChild(@Param("offerNum") String offerNum, @Param("code") String code);
+
+    void addSupplierBalanceOfChild(Supplier supplier);
+
+    void updateSupplierOfferChild(SupplierRelease supplierRelease2);
 }

+ 10 - 0
src/main/java/com/travel/service/impl/PrivateOrderServiceImpl.java

@@ -1,6 +1,7 @@
 package com.travel.service.impl;
 
 import com.travel.mapper.PrivateOrderMapper;
+import com.travel.mapper.SupplierMapper;
 import com.travel.model.*;
 import com.travel.service.PrivateOrderService;
 import com.travel.util.ParsingToken;
@@ -17,6 +18,9 @@ public class PrivateOrderServiceImpl implements PrivateOrderService {
     @Autowired
     private PrivateOrderMapper privateOrderMapper;
 
+    @Autowired
+    private SupplierMapper supplierMapper;
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void insertPrivate(PrivateOrder privateOrder) {
@@ -141,7 +145,13 @@ public class PrivateOrderServiceImpl implements PrivateOrderService {
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void updateSupplierOffer(Release release1) {
+        Supplier supplier = supplierMapper.getSuppierPhone(release1.getCode());
+        //如果操作人不是父级账号 则改变成父级账号操作
+        if(!supplier.getAccountAssociated().equals("0")){
+            release1.setCode(supplier.getAccountAssociated());
+        }
         privateOrderMapper.updateSupplierOffer(release1);
+        privateOrderMapper.updateSupplierOfferChild(release1);//子账号同步
     }
 
     @Override

+ 1 - 0
src/main/java/com/travel/service/impl/SupplierServiceImpl.java

@@ -69,6 +69,7 @@ public class SupplierServiceImpl implements SupplierService {
     @Transactional(rollbackFor = Exception.class)
     public void setSupplierBalanceOf(Supplier supplier) {
         supplierMapper.setSupplierBalanceOf(supplier);
+        supplierMapper.setSupplierBalanceOfChild(supplier);//子账号同步
     }
 
     @Override

+ 37 - 0
src/main/java/com/travel/service/impl/ZFBPayServiceImpl.java

@@ -6,6 +6,7 @@ import com.alipay.api.CertAlipayRequest;
 import com.alipay.api.DefaultAlipayClient;
 import com.alipay.api.request.AlipayTradeRefundRequest;
 import com.alipay.api.response.AlipayTradeRefundResponse;
+import com.travel.mapper.SupplierMapper;
 import com.travel.mapper.ZFBPayMapper;
 import com.travel.model.*;
 import com.travel.service.ZFBPayService;
@@ -25,13 +26,18 @@ public class ZFBPayServiceImpl extends ZfbPayUtils implements ZFBPayService {
     @Autowired
     private ZFBPayMapper zfbPayMapper;
 
+    @Autowired
+    private SupplierMapper supplierMapper;
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void updateBuySupplier(ZFBPay buySupplier) {
         try{
+            buySupplier.setCode(getSuppileUtil(buySupplier.getCode()));
             zfbPayMapper.updateBuySupplier(buySupplier); //完善充值记录
             //供应商余额增加
             zfbPayMapper.updateBalance(Double.parseDouble(buySupplier.getTotalFee()), buySupplier.getCode());//金额充值
+            zfbPayMapper.updateBalanceChild(Double.parseDouble(buySupplier.getTotalFee()), buySupplier.getCode());//子账号金额同步
         } catch (Exception e){
             e.printStackTrace();
         }
@@ -41,9 +47,11 @@ public class ZFBPayServiceImpl extends ZfbPayUtils implements ZFBPayService {
     @Transactional(rollbackFor = Exception.class)
     public void updateBuyOfferNum(BuyOfferNum buyOfferNum) {
         try{
+            buyOfferNum.setCode(getSuppileUtil(buyOfferNum.getCode()));
             zfbPayMapper.updateBuyOfferNum(buyOfferNum);//完善购买记录
             //供应商报价单次数增加
             zfbPayMapper.addOfferNum(buyOfferNum.getOfferNum(), buyOfferNum.getCode());//增加次数
+            zfbPayMapper.addOfferNumChild(buyOfferNum.getOfferNum(), buyOfferNum.getCode());//子账号次数同步
         }catch (Exception e){
             e.printStackTrace();
         }
@@ -73,7 +81,9 @@ public class ZFBPayServiceImpl extends ZfbPayUtils implements ZFBPayService {
 
     @Override
     public void updateSupplierOffer(SupplierRelease supplierRelease2) {
+        supplierRelease2.setCode(getSuppileUtil(supplierRelease2.getCode()));
         zfbPayMapper.updateSupplierOffer(supplierRelease2);
+        zfbPayMapper.updateSupplierOfferChild(supplierRelease2);//返回子账号次数
     }
 
     @Override
@@ -100,6 +110,13 @@ public class ZFBPayServiceImpl extends ZfbPayUtils implements ZFBPayService {
             }
             if(zfbRefund.getRefundState().equals("1")){
                 ZFBPay wxPay = zfbPayMapper.getRefundVal(zfbRefund.getReleaseUuid());//获取付该报价单付款的信息
+                Supplier supplier = supplierMapper.getSuppierPhone(wxPay.getCode());//查询供应商信息
+                //如果操作人不是父级账号 则查询父级账号的信息 将父级余额放入对象中
+                if(!supplier.getAccountAssociated().equals("0")){
+                    Supplier supplier1 = supplierMapper.getSuppierPhone(supplier.getAccountAssociated());//查询父级信息
+                    wxPay.setBalanceOf(supplier1.getBalanceOf());
+                    wxPay.setCode(supplier1.getCode());
+                }
                 if(null == wxPay){
                     map.put("msg", "500");
                     map.put("errMsg", "未查询到该报价单的支付信息");
@@ -119,6 +136,7 @@ public class ZFBPayServiceImpl extends ZfbPayUtils implements ZFBPayService {
                 if(map1.get("msg").equals("200")){
                     String bigDecimal2 = AmountUtil.moneySub(wxPay.getBalanceOf(), refund.getRefundFee());//退款后的账户余额
                     zfbPayMapper.subtractBalance(bigDecimal2, wxPay.getCode());//供应商余额变更
+                    zfbPayMapper.updateBalanceChild(Double.parseDouble(bigDecimal2), wxPay.getCode());//子账号余同步
                     zfbPayMapper.updateRefundType(zfbRefund.getReleaseUuid(), zfbRefund.getRefundState());
                     return map1;
                 } else {
@@ -186,7 +204,9 @@ public class ZFBPayServiceImpl extends ZfbPayUtils implements ZFBPayService {
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void addSupplierBalanceOf(Supplier supplier) {
+        supplier.setCode(getSuppileUtil(supplier.getCode()));
         zfbPayMapper.addSupplierBalanceOf(supplier);
+        zfbPayMapper.addSupplierBalanceOfChild(supplier);//子账号同步
     }
 
     @Override
@@ -244,4 +264,21 @@ public class ZFBPayServiceImpl extends ZfbPayUtils implements ZFBPayService {
         }
         return mapReturn;
     }
+
+    /**
+     * 判断当前账号是否是主账号 如果不是主账号则将编号改成主账号操作
+     * @param code 参数
+     * @return 返回结果
+     */
+    public String getSuppileUtil(String code){
+        String result = "";
+        Supplier supplier = supplierMapper.getSuppierPhone(code);//查询供应商信息
+        //如果操作人不是父级账号 则查询父级账号的信息 将父级余额放入对象中
+        if(!supplier.getAccountAssociated().equals("0")){
+            result = supplier.getAccountAssociated();
+        } else {
+            result = code;
+        }
+        return result;
+    }
 }

+ 7 - 0
src/main/resources/config/mapping/PrivateOrderMapper.xml

@@ -248,6 +248,13 @@
         WHERE
             code = #{code}
     </update>
+    <!-- 用户删除定制返回供应商报价单次数子账号同步 -->
+    <update id="updateSupplierOfferChild" parameterType="Release">
+        UPDATE sys_supplier
+        SET offer_num = ( SELECT offer_num FROM sys_supplier WHERE code = #{code} )
+        WHERE
+            account_associated = #{code}
+    </update>
     <!-- 查询指定供应商的定制单的信息 -->
     <select id="getReleaseOrderType" resultType="Release">
         select *

+ 8 - 1
src/main/resources/config/mapping/SupplierMapper.xml

@@ -145,13 +145,20 @@
             ) - 1
         ) AS destination
     </select>
-    <!-- 用户删除定制返回供应商报价单次数 -->
+    <!-- 供应商余额录入 -->
     <update id="setSupplierBalanceOf" parameterType="Release">
         UPDATE sys_supplier
         SET balance_of = (SELECT balance_of + ${balanceOf} FROM sys_supplier WHERE code = #{code})
         WHERE
             code = #{code}
     </update>
+    <!-- 供应商余额录入子账号同步 -->
+    <update id="setSupplierBalanceOfChild" parameterType="Release">
+        UPDATE sys_supplier
+        SET balance_of = (SELECT balance_of FROM sys_supplier WHERE code = #{code})
+        WHERE
+            account_associated = #{code}
+    </update>
     <!-- 路线发布时校验 -->
     <select id="getSuppierPhone" resultType="Supplier" parameterType="String">
         select * from sys_supplier where code = #{code}

+ 26 - 1
src/main/resources/config/mapping/ZFBPayMapper.xml

@@ -11,6 +11,10 @@
     <update id="addOfferNum">
         update sys_supplier set offer_num = (select offer_num + ${offerNum} from sys_supplier where code = #{code}) where code = #{code}
     </update>
+    <!-- 子账户次数同步 -->
+    <update id="addOfferNumChild">
+        update sys_supplier set offer_num = (select offer_num from sys_supplier where code = #{code}) where account_associated = #{code}
+    </update>
     <!-- 购买记录添加金额 -->
     <update id="updateBuyOfferNum" parameterType="BuyOfferNum">
         update bus_buy_offer_num set pay_amount = #{payAmount},pay_type=#{payType} where code = #{code} and uuid = #{uuid}
@@ -26,6 +30,13 @@
         WHERE
             code = #{code}
     </update>
+    <!-- 子账户余额同步 -->
+    <update id="updateBalanceChild" parameterType="double">
+        UPDATE sys_supplier
+        SET balance_of = (SELECT balance_of FROM sys_supplier WHERE code = #{code})
+        WHERE
+            account_associated = #{code}
+    </update>
     <!-- 查询供应商路线 -->
     <select id="getSupplierRelease" resultType="SupplierRelease">
         select
@@ -59,6 +70,13 @@
         WHERE
             code = #{code}
     </update>
+    <!-- 返回供应商子报价单次数 -->
+    <update id="updateSupplierOfferChild" parameterType="SupplierRelease">
+        UPDATE sys_supplier
+        SET offer_num = ( SELECT offer_num FROM sys_supplier WHERE code = #{code} )
+        WHERE
+            account_associated = #{code}
+    </update>
     <!-- 查询指定参数的退款信息 -->
     <select id="getRefund" resultType="ZFBRefund">
         select * from bus_refund
@@ -117,13 +135,20 @@
         WHERE
             code = #{code}
     </update>
-    <!-- 用户购买报价单后将50%的资金转入供应商余额 -->
+    <!-- 用户购买报价单后将资金转入供应商余额 -->
     <update id="addSupplierBalanceOf" parameterType="Supplier">
         UPDATE sys_supplier
         SET balance_of = ( SELECT balance_of + ${balanceOf} FROM sys_supplier WHERE code = #{code} )
         WHERE
             code = #{code}
     </update>
+    <!-- 用户购买报价单后将资金转入供应商余额子账号同步 -->
+    <update id="addSupplierBalanceOfChild" parameterType="Supplier">
+        UPDATE sys_supplier
+        SET balance_of = ( SELECT balance_of FROM sys_supplier WHERE code = #{code} )
+        WHERE
+            account_associated = #{code}
+    </update>
     <!-- 供应商退款后账户余额变更 -->
     <update id="subtractBalance" parameterType="Supplier">
         UPDATE sys_supplier