浏览代码

分帐问题

zhangbin 1 年之前
父节点
当前提交
65cb1b34fa

+ 6 - 0
nbjk-admin/src/main/java/com/miaxis/app/controller/wx/WxController.java

@@ -264,6 +264,9 @@ public class WxController extends BaseController {
             order.setUnionId(userInfo.getUnionId());
             order.setPhoneType(wxOrderDTO.getPhoneType()); //手机类型 1:苹果 2:安卓
             order.setForeType(wxOrderDTO.getForeType()); //前端类型 1:app 2:小程序 3:公众号
+            if(wxOrderDTO.getForeType()==2) {
+                order.setProfitSharing(1); //待分账
+            }
             order.setTotal(examInfo.getPrice());
             order.setOrderStatus(OrderStatusEnum.PROCESSING.getCode());
             wxOrderService.save(order);
@@ -291,6 +294,9 @@ public class WxController extends BaseController {
             order.setPhoneType(wxOrderDTO.getPhoneType()); //手机类型 1:苹果 2:安卓
             order.setForeType(wxOrderDTO.getForeType()); //前端类型 1:app 2:小程序 3:公众号
             order.setTotal(Integer.parseInt(baziPriceStr));
+            if(wxOrderDTO.getForeType()==2) {
+                order.setProfitSharing(1); //待分账
+            }
             order.setOrderStatus(OrderStatusEnum.PROCESSING.getCode());
             wxOrderService.save(order);
             return Response.success(placeXcxWxOrder(order, "八字排盘"));

+ 40 - 5
nbjk-admin/src/test/java/com/miaxis/test/Test3.java

@@ -1,18 +1,53 @@
 package com.miaxis.test;
 
+import com.miaxis.NbjkApplication;
+import com.miaxis.dict.service.IDictCityService;
+import com.miaxis.wx.domain.WxOrder;
+import com.miaxis.wx.service.IWxOrderService;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.ActiveProfiles;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import java.util.List;
+
+@ActiveProfiles("dev")
+@SpringBootTest(classes = NbjkApplication.class)
+@RunWith(SpringRunner.class)
 public class Test3 {
 
-    public static void main(String[] args) {
 
-        double f =  990-(990*0.01);
+    @Autowired
+    private IWxOrderService wxOrderService;
+
+
+
+    @Test
+    public void test() throws Exception {
+    //    WxOrder wxOrder = wxOrderService.getById(892);
+
+        List<WxOrder> wxOrderList = wxOrderService.selectWxOrderByWaitProfit();
+
+        for (int i = 0; i < wxOrderList.size(); i++) {
+            WxOrder wxOrder = wxOrderList.get(i);
+            boolean flag = wxOrderService.wxProfitsharing(wxOrderList.get(i));
+
+            if(flag) {
+                wxOrder.setProfitSharing(3);
+                wxOrderService.saveOrUpdate(wxOrder);
+            }
+
+        }
+
 
-        System.out.println(f);
 
-      //  double f2 = Math.floor(f);
 
-      //  System.out.println(f2);
 
 
     }
 
+
+
 }

+ 91 - 0
nbjk-common/src/main/java/com/miaxis/common/config/WxPayAppConfigImpl.java

@@ -0,0 +1,91 @@
+package com.miaxis.common.config;
+
+import com.github.wxpay.sdk.WXPayConfig;
+import org.springframework.core.io.ClassPathResource;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.FileInputStream;
+import java.io.InputStream;
+
+
+public class WxPayAppConfigImpl implements WXPayConfig {
+    public static String url = "你设置的回调接口";
+    private static WxPayAppConfigImpl wxPayConfig;
+    private byte[] certData = null;
+
+
+//    @Resource
+//    private WxpayConfig wxpayConfigBean;
+
+
+    public static WxPayAppConfigImpl getInstance() {
+        if (wxPayConfig == null) {
+            synchronized (WxPayAppConfigImpl.class) {
+                wxPayConfig = new WxPayAppConfigImpl();
+            }
+        }
+        return wxPayConfig;
+    }
+
+    public WxPayAppConfigImpl() {
+        try {
+            //这个证书的位置不是瞎鸡儿填的,你要在这个路径真的有一个证书
+            // InputStream is = new FileInputStream("F:\\jpcj\\jpcj\\jpcj-admin\\src\\main\\resources\\wechatpay\\apiclient_cert.p12");
+            InputStream is = new FileInputStream(new ClassPathResource("wechatpay/apiclient_cert.p12").getFile());
+            ByteArrayOutputStream baos = new ByteArrayOutputStream();
+            byte[] bs = new byte[1024];
+            int cnt = -1;
+            while ((cnt = is.read(bs)) != -1) {
+                baos.write(bs, 0, cnt);
+            }
+            is.close();
+            certData = baos.toByteArray();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    @Override
+    public String getAppID() {
+        return "wxfb80ed2dac7a6bb9";
+    }
+
+    @Override
+    public String getMchID() {
+        return "1639487489";
+    }
+
+    @Override
+    public String getKey() {
+        return "ac7eb47efc59f3cdbec46d3bf3a68627";
+    }
+
+    @Override
+    public InputStream getCertStream() {
+        ByteArrayInputStream certBis;
+        certBis = new ByteArrayInputStream(this.certData);
+        return certBis;
+    }
+
+    @Override
+    public int getHttpConnectTimeoutMs() {
+        // TODO Auto-generated method stub
+        return 8000;
+    }
+
+    @Override
+    public int getHttpReadTimeoutMs() {
+        // TODO Auto-generated method stub
+        return 10000;
+    }
+
+
+    public String getPrimaryDomain() {
+        return "api.mch.weixin.qq.com";
+    }
+
+    public String getNotifyUrl(){
+        return url;
+    }
+}

+ 6 - 9
nbjk-common/src/main/java/com/miaxis/common/config/WxPayConfigImpl.java → nbjk-common/src/main/java/com/miaxis/common/config/WxPayXcxConfigImpl.java

@@ -1,7 +1,6 @@
 package com.miaxis.common.config;
 
 import com.github.wxpay.sdk.WXPayConfig;
-import org.springframework.beans.factory.annotation.Value;
 import org.springframework.core.io.ClassPathResource;
 
 import java.io.ByteArrayInputStream;
@@ -10,28 +9,26 @@ import java.io.FileInputStream;
 import java.io.InputStream;
 
 
-public class WxPayConfigImpl implements WXPayConfig {
+public class WxPayXcxConfigImpl implements WXPayConfig {
     public static String url = "你设置的回调接口";
-    private static WxPayConfigImpl wxPayConfig;
+    private static WxPayXcxConfigImpl wxPayConfig;
     private byte[] certData = null;
 
 
 //    @Resource
 //    private WxpayConfig wxpayConfigBean;
 
-    @Value("${app.appid}")
-    private String appid;
 
-    public static WxPayConfigImpl getInstance() {
+    public static WxPayXcxConfigImpl getInstance() {
         if (wxPayConfig == null) {
-            synchronized (WxPayConfigImpl.class) {
-                wxPayConfig = new WxPayConfigImpl();
+            synchronized (WxPayXcxConfigImpl.class) {
+                wxPayConfig = new WxPayXcxConfigImpl();
             }
         }
         return wxPayConfig;
     }
 
-    public WxPayConfigImpl() {
+    public WxPayXcxConfigImpl() {
         try {
             //这个证书的位置不是瞎鸡儿填的,你要在这个路径真的有一个证书
             // InputStream is = new FileInputStream("F:\\jpcj\\jpcj\\jpcj-admin\\src\\main\\resources\\wechatpay\\apiclient_cert.p12");

+ 7 - 0
nbjk-service/src/main/java/com/miaxis/wx/domain/WxOrder.java

@@ -193,5 +193,12 @@ public class WxOrder extends BaseBusinessEntity{
     private Integer foreType;
 
 
+    /** 是否分账 0不分账 1待分账 3分账完成 */
+    @Excel(name = "是否分账 0不分账 1待分账 3分账完成")
+    @TableField("profit_sharing")
+    @ApiModelProperty(value = "是否分账 0不分账 1待分账 3分账完成")
+    private Integer profitSharing;
+
+
 
 }

+ 20 - 0
nbjk-service/src/main/java/com/miaxis/wx/dto/WxOrderProfitDTO.java

@@ -0,0 +1,20 @@
+package com.miaxis.wx.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class WxOrderProfitDTO {
+    private static final long serialVersionUID = 1L;
+
+
+
+    @ApiModelProperty(value = "时间",required = true)
+    private String nowDate;
+
+
+
+
+}

+ 5 - 0
nbjk-service/src/main/java/com/miaxis/wx/mapper/WxOrderMapper.java

@@ -5,7 +5,9 @@ import com.miaxis.wx.domain.WxOrder;
 import com.miaxis.wx.dto.PcWxOrderListDTO;
 import com.miaxis.wx.dto.QuerySchoolOrderListDTO;
 import com.miaxis.wx.dto.WxOrderListDTO;
+import com.miaxis.wx.dto.WxOrderProfitDTO;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -30,4 +32,7 @@ public interface WxOrderMapper extends BaseMapper<WxOrder> {
     List<WxOrder> selectPcOrderList(PcWxOrderListDTO pcWxOrderListDTO);
 
     List<WxOrder> QuerySchoolOrderList(QuerySchoolOrderListDTO dto);
+
+    List<WxOrder> selectWxOrderByWaitProfit(String nowDate);
+
 }

+ 4 - 5
nbjk-service/src/main/java/com/miaxis/wx/service/IWxOrderService.java

@@ -1,11 +1,8 @@
 package com.miaxis.wx.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.miaxis.common.core.domain.entity.SysDictData;
 import com.miaxis.wx.domain.WxOrder;
-import com.miaxis.wx.dto.*;
-import org.springframework.transaction.annotation.Transactional;
+import com.miaxis.wx.dto.WxExtractBankDTO;
 
 import java.util.List;
 
@@ -16,7 +13,7 @@ public interface IWxOrderService extends IService<WxOrder>{
 
     void wxAddFenZhang() throws Exception;
 
-    void wxProfitsharing(WxOrder wxOrder) throws  Exception;
+    boolean wxProfitsharing(WxOrder wxOrder) throws  Exception;
 
     WxOrder getByOutTradeNo(String outTradeNo);
 
@@ -24,4 +21,6 @@ public interface IWxOrderService extends IService<WxOrder>{
 
     String wxwithbankdrawal(WxExtractBankDTO amount) throws Exception;
 
+    List<WxOrder> selectWxOrderByWaitProfit();
+
 }

+ 30 - 9
nbjk-service/src/main/java/com/miaxis/wx/service/impl/WxOrderServiceImpl.java

@@ -7,10 +7,11 @@ import com.github.wxpay.sdk.WXPay;
 import com.github.wxpay.sdk.WXPayConfig;
 import com.github.wxpay.sdk.WXPayConstants;
 import com.github.wxpay.sdk.WXPayUtil;
-import com.miaxis.common.config.WxPayConfigImpl;
+import com.miaxis.common.config.WxPayXcxConfigImpl;
 import com.miaxis.common.config.WxpayConfig;
 import com.miaxis.common.core.domain.entity.UserInfo;
 import com.miaxis.common.exception.CustomException;
+import com.miaxis.common.utils.DateUtils;
 import com.miaxis.common.utils.RSAUtils;
 import com.miaxis.common.utils.SecurityUtils;
 import com.miaxis.common.utils.XmlUtil;
@@ -24,6 +25,7 @@ import com.miaxis.wx.domain.WxExtract;
 import com.miaxis.wx.domain.WxExtractBank;
 import com.miaxis.wx.domain.WxOrder;
 import com.miaxis.wx.dto.WxExtractBankDTO;
+import com.miaxis.wx.dto.WxOrderProfitDTO;
 import com.miaxis.wx.mapper.WxOrderMapper;
 import com.miaxis.wx.service.IWxExtractBankService;
 import com.miaxis.wx.service.IWxExtractService;
@@ -37,6 +39,7 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
 import javax.annotation.Resource;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import java.util.TreeMap;
@@ -108,7 +111,7 @@ public class WxOrderServiceImpl extends ServiceImpl<WxOrderMapper, WxOrder> impl
         String receiverMapJson = objectMapper.writeValueAsString(receiverMap);
         sortMap.put("receiver", receiverMapJson);
 
-        WXPayConfig config = new WxPayConfigImpl();
+        WXPayConfig config = new WxPayXcxConfigImpl();
         String sign = WXPayUtil.generateSignature(sortMap, config.getKey(), WXPayConstants.SignType.HMACSHA256);
         sortMap.put("sign", sign);
 
@@ -129,7 +132,7 @@ public class WxOrderServiceImpl extends ServiceImpl<WxOrderMapper, WxOrder> impl
      */
     @Override
     @Transactional
-    public void wxProfitsharing(WxOrder wxOrder) throws Exception {
+    public boolean wxProfitsharing(WxOrder wxOrder) throws Exception {
         String url = "https://api.mch.weixin.qq.com/secapi/pay/profitsharing";
         String nonceStr = RandomStringUtils.randomAlphanumeric(32);
         //用于签名
@@ -156,14 +159,13 @@ public class WxOrderServiceImpl extends ServiceImpl<WxOrderMapper, WxOrder> impl
         String receiverMapJson = objectMapper.writeValueAsString(receiverMap);
         sortMap.put("receivers", receiverMapJson);
 
-        WXPayConfig config = new WxPayConfigImpl();
+        WXPayConfig config = new WxPayXcxConfigImpl();
         String sign = WXPayUtil.generateSignature(sortMap, config.getKey(), WXPayConstants.SignType.HMACSHA256);
         sortMap.put("sign", sign);
 
         WXPay pay = new WXPay(config);
         String xmlStr = pay.requestWithCert(url, sortMap, config.getHttpConnectTimeoutMs(), config.getHttpReadTimeoutMs());
         Map<String, String> resMap = XmlUtil.xmlToMap(xmlStr);
-        System.out.println(resMap);
         if (!"SUCCESS".equals(resMap.get("return_code")) || !"SUCCESS".equals(resMap.get("result_code"))) {
             throw new CustomException("微信分账出错");
         }
@@ -174,9 +176,10 @@ public class WxOrderServiceImpl extends ServiceImpl<WxOrderMapper, WxOrder> impl
         OrderSplit orderSplit = new OrderSplit();
         orderSplit.setOutSplitNo(orderCode);
         orderSplit.setAmount(amount);
-        orderSplit.setOpenId("o7N3j5XxUrgOKE4ulP-HseFpBCiM");
+      //  orderSplit.setOpenId("o7N3j5XxUrgOKE4ulP-HseFpBCiM");
+        orderSplit.setOpenId("obYLX6C7ln62silx-KP73Nd9jUB0");
         orderSplit.setDescription("分到个人");
-        orderSplitService.save(orderSplit);
+        return orderSplitService.save(orderSplit);
     }
 
 
@@ -205,7 +208,7 @@ public class WxOrderServiceImpl extends ServiceImpl<WxOrderMapper, WxOrder> impl
         sortMap.put("amount", String.valueOf(amount));
         sortMap.put("desc", "用户提现");
 
-        WXPayConfig config = new WxPayConfigImpl();
+        WXPayConfig config = new WxPayXcxConfigImpl();
         String sign = WXPayUtil.generateSignature(sortMap, config.getKey(), WXPayConstants.SignType.MD5);
         sortMap.put("sign", sign);
         WXPay pay = new WXPay(config);
@@ -256,7 +259,7 @@ public class WxOrderServiceImpl extends ServiceImpl<WxOrderMapper, WxOrder> impl
         sortMap.put("bank_code", dto.getBankCode().toString());
 
 
-        WXPayConfig config = new WxPayConfigImpl();
+        WXPayConfig config = new WxPayXcxConfigImpl();
         String sign = WXPayUtil.generateSignature(sortMap, config.getKey(), WXPayConstants.SignType.MD5);
         sortMap.put("sign", sign);
         WXPay pay = new WXPay(config);
@@ -295,5 +298,23 @@ public class WxOrderServiceImpl extends ServiceImpl<WxOrderMapper, WxOrder> impl
         return resMap.get("return_msg");
     }
 
+    @Override
+    public List<WxOrder> selectWxOrderByWaitProfit() {
+
+        // 获取当前时间
+        Date currentDate = new Date();
+        // 添加5分钟
+        long fiveMinutesInMillis = 5 * 60 * 1000; // 5分钟的毫秒数
+        Date nowDate = new Date(currentDate.getTime() - fiveMinutesInMillis);
+
+        WxOrderProfitDTO wxOrderProfitDTO = new WxOrderProfitDTO();
+
+        String nowDateStr = DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", nowDate);
+
+        wxOrderProfitDTO.setNowDate(nowDateStr);
+        List<WxOrder> wxOrderList = wxOrderMapper.selectWxOrderByWaitProfit(nowDateStr);
+        return wxOrderList;
+    }
+
 
 }

+ 75 - 60
nbjk-service/src/main/resources/mapper/wx/WxOrderMapper.xml

@@ -1,86 +1,91 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE mapper
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.miaxis.wx.mapper.WxOrderMapper">
 
     <resultMap type="WxOrder" id="WxOrderResult">
-        <result property="id"    column="id"    />
-        <result property="goodsId"    column="goods_id"    />
-        <result property="goodsName"    column="goods_name"    />
-        <result property="userId"    column="user_id"    />
-        <result property="unionId"    column="union_id"    />
-        <result property="appOpenid"    column="app_openid"    />
-        <result property="xcxOpenid"    column="xcx_openid"    />
-        <result property="gzhOpenid"    column="gzh_openid"    />
-        <result property="outTradeNo"    column="out_trade_no"    />
-        <result property="outRefundNo"    column="out_refund_no"    />
-        <result property="refundReason"    column="refund_reason"    />
-        <result property="transactionId"    column="transaction_id"    />
-        <result property="tradeType"    column="trade_type"    />
-        <result property="tradeState"    column="trade_state"    />
-        <result property="tradeStateDesc"    column="trade_state_desc"    />
-        <result property="bankType"    column="bank_type"    />
-        <result property="attach"    column="attach"    />
-        <result property="successTime"    column="success_time"    />
-        <result property="total"    column="total"    />
-        <result property="payerTotal"    column="payer_total"    />
-        <result property="currency"    column="currency"    />
-        <result property="payerCurrency"    column="payer_currency"    />
-        <result property="orderStatus"    column="order_status"    />
-        <result property="phoneType"    column="phone_type"    />
-        <result property="foreType"    column="fore_type"    />
-        <result property="createTime"    column="create_time"    />
-        <result property="updateTime"    column="update_time"    />
+        <result property="id" column="id"/>
+        <result property="goodsId" column="goods_id"/>
+        <result property="goodsName" column="goods_name"/>
+        <result property="userId" column="user_id"/>
+        <result property="unionId" column="union_id"/>
+        <result property="appOpenid" column="app_openid"/>
+        <result property="xcxOpenid" column="xcx_openid"/>
+        <result property="gzhOpenid" column="gzh_openid"/>
+        <result property="outTradeNo" column="out_trade_no"/>
+        <result property="outRefundNo" column="out_refund_no"/>
+        <result property="refundReason" column="refund_reason"/>
+        <result property="transactionId" column="transaction_id"/>
+        <result property="tradeType" column="trade_type"/>
+        <result property="tradeState" column="trade_state"/>
+        <result property="tradeStateDesc" column="trade_state_desc"/>
+        <result property="bankType" column="bank_type"/>
+        <result property="attach" column="attach"/>
+        <result property="successTime" column="success_time"/>
+        <result property="total" column="total"/>
+        <result property="payerTotal" column="payer_total"/>
+        <result property="currency" column="currency"/>
+        <result property="payerCurrency" column="payer_currency"/>
+        <result property="orderStatus" column="order_status"/>
+        <result property="phoneType" column="phone_type"/>
+        <result property="foreType" column="fore_type"/>
+        <result property="profitSharing" column="profit_sharing"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateTime" column="update_time"/>
     </resultMap>
 
     <sql id="selectWxOrderVo">
-        select * from wx_order
+        select *
+        from wx_order
     </sql>
 
     <select id="getByOutTradeNo" parameterType="string" resultType="com.miaxis.wx.domain.WxOrder">
-         select * from wx_order where out_trade_no =#{outTradeNo}
+        select *
+        from wx_order
+        where out_trade_no = #{outTradeNo}
     </select>
 
 
     <select id="selectWxOrderList" parameterType="WxOrder" resultMap="WxOrderResult">
         <include refid="selectWxOrderVo"/>
         <where>
-            <if test="goodsId != null"> and goods_id = #{goodsId}</if>
-            <if test="goodsName != null  and goodsName != ''"> and goods_name like concat('%', #{goodsName}, '%')</if>
-            <if test="userId != null"> and user_id = #{userId}</if>
-            <if test="unionId != null  and unionId != ''"> and union_id = #{unionId}</if>
-            <if test="outTradeNo != null and outTradeNo != ''"> and out_trade_no = #{outTradeNo}</if>
-            <if test="outRefundNo != null and outRefundNo != ''"> and out_refund_no = #{outRefundNo}</if>
-            <if test="refundReason != null and refundReason != ''"> and refund_reason = #{refundReason}</if>
-            <if test="transactionId != null  and transactionId != ''"> and transaction_id = #{transactionId}</if>
-            <if test="tradeType != null  and tradeType != ''"> and trade_type = #{tradeType}</if>
-            <if test="tradeState != null  and tradeState != ''"> and trade_state = #{tradeState}</if>
-            <if test="tradeStateDesc != null  and tradeStateDesc != ''"> and trade_state_desc = #{tradeStateDesc}</if>
-            <if test="bankType != null  and bankType != ''"> and bank_type = #{bankType}</if>
-            <if test="attach != null  and attach != ''"> and attach = #{attach}</if>
-            <if test="successTime != null "> and success_time = #{successTime}</if>
-            <if test="total != null "> and total = #{total}</if>
-            <if test="payerTotal != null "> and payer_total = #{payerTotal}</if>
-            <if test="currency != null  and currency != ''"> and currency = #{currency}</if>
-            <if test="payerCurrency != null  and payerCurrency != ''"> and payer_currency = #{payerCurrency}</if>
-            <if test="orderStatus != null  and orderStatus != ''"> and order_status = #{orderStatus}</if>
-            <if test="phoneType != null"> and phone_type = #{phoneType}</if>
-            <if test="foreType != null"> and fore_type = #{foreType}</if>
+            <if test="goodsId != null">and goods_id = #{goodsId}</if>
+            <if test="goodsName != null  and goodsName != ''">and goods_name like concat('%', #{goodsName}, '%')</if>
+            <if test="userId != null">and user_id = #{userId}</if>
+            <if test="unionId != null  and unionId != ''">and union_id = #{unionId}</if>
+            <if test="outTradeNo != null and outTradeNo != ''">and out_trade_no = #{outTradeNo}</if>
+            <if test="outRefundNo != null and outRefundNo != ''">and out_refund_no = #{outRefundNo}</if>
+            <if test="refundReason != null and refundReason != ''">and refund_reason = #{refundReason}</if>
+            <if test="transactionId != null  and transactionId != ''">and transaction_id = #{transactionId}</if>
+            <if test="tradeType != null  and tradeType != ''">and trade_type = #{tradeType}</if>
+            <if test="tradeState != null  and tradeState != ''">and trade_state = #{tradeState}</if>
+            <if test="tradeStateDesc != null  and tradeStateDesc != ''">and trade_state_desc = #{tradeStateDesc}</if>
+            <if test="bankType != null  and bankType != ''">and bank_type = #{bankType}</if>
+            <if test="attach != null  and attach != ''">and attach = #{attach}</if>
+            <if test="successTime != null ">and success_time = #{successTime}</if>
+            <if test="total != null ">and total = #{total}</if>
+            <if test="payerTotal != null ">and payer_total = #{payerTotal}</if>
+            <if test="currency != null  and currency != ''">and currency = #{currency}</if>
+            <if test="payerCurrency != null  and payerCurrency != ''">and payer_currency = #{payerCurrency}</if>
+            <if test="orderStatus != null  and orderStatus != ''">and order_status = #{orderStatus}</if>
+            <if test="profitSharing != null">and profit_sharing = #{profitSharing}</if>
+            <if test="phoneType != null">and phone_type = #{phoneType}</if>
+            <if test="foreType != null">and fore_type = #{foreType}</if>
         </where>
     </select>
 
 
     <select id="selectOrderList" resultType="com.miaxis.wx.domain.WxOrder">
         select * from wx_order
-         where openid=#{openid} and trade_state ='SUCCESS'
+        where openid=#{openid} and trade_state ='SUCCESS'
         <if test="days != null  and days != ''">
-            and  DATE_SUB(CURDATE(), INTERVAL #{days} DAY) &lt;= date(create_time)
+            and DATE_SUB(CURDATE(), INTERVAL #{days} DAY) &lt;= date(create_time)
         </if>
         <if test="orderStatus != null  and orderStatus != ''">
-            and  order_status = #{orderStatus}
+            and order_status = #{orderStatus}
         </if>
-         order by create_time desc
+        order by create_time desc
     </select>
 
 
@@ -88,13 +93,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         select * from wx_order
         where trade_state ='SUCCESS'
         <if test="outTradeNo != null  and outTradeNo != ''">
-            and  out_trade_no = #{outTradeNo}
+            and out_trade_no = #{outTradeNo}
         </if>
         <if test="orderStatus != null  and orderStatus != ''">
-            and  order_status = #{orderStatus}
+            and order_status = #{orderStatus}
         </if>
         <if test="goodsType != null  and goodsType != ''">
-            and  goods_type = #{goodsType}
+            and goods_type = #{goodsType}
         </if>
         <if test="startTime != null">
             and DATE_FORMAT(create_time,'%Y-%m-%d')<![CDATA[ >= ]]> #{startTime}
@@ -110,7 +115,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         select * from wx_order
         where trade_state ='SUCCESS'
         <if test="referralUserId != null  and referralUserId != ''">
-            and  referral_user_id = #{referralUserId}
+            and referral_user_id = #{referralUserId}
         </if>
         <if test="startTime != null">
             and DATE_FORMAT(create_time,'%Y-%m-%d')<![CDATA[ >= ]]> #{startTime}
@@ -121,4 +126,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         order by create_time desc
     </select>
 
+
+    <select id="selectWxOrderByWaitProfit" resultType="com.miaxis.wx.domain.WxOrder">
+        select * from wx_order where trade_state ='SUCCESS' and profit_sharing = 1
+        <if test="nowDate != null"><!-- 开始时间检索 -->
+            and DATE_FORMAT(success_time,'%Y-%m-%d %H:%i:%S') <![CDATA[ <= ]]> #{nowDate}
+        </if>
+        order by success_time
+    </select>
+
+
 </mapper>