Prechádzať zdrojové kódy

feature 缴费代码提交

xiahan 4 mesiacov pred
rodič
commit
4c1ba2a7c7
3 zmenil súbory, kde vykonal 96 pridanie a 28 odobranie
  1. 6 1
      app.js
  2. 9 7
      pages/homepage/homepage.js
  3. 81 20
      pages/lijijiaofei/lijijiaofei.js

+ 6 - 1
app.js

@@ -83,6 +83,8 @@ App({
     })
   },
   globalData: {
+    nickName:"",
+    avatarUrl:"",
     // 当前用户信息
     userWxInfo: {},
     // 系统中存在的水务公司
@@ -107,13 +109,16 @@ App({
       mineRepair: baseIp+  '/wechat/mine/repair',//报修登记
       mineFeedback: baseIp+  '/wechat/mine/feedback',//投诉建议
       paymentList: baseIp+  '/wechat/payment/record',//缴费记录信息
+      pendingBill: baseIp+  '/wechat/bill/pending/',//代缴费用
+      prepayOrder:baseIp+  '/wechat/payment/prepayOrder/',//获取缴费的订单信息
+      createPaymentRecord:baseIp+  '/wechat/payment/record/create',//获取缴费的订单信息
       updateRadstateStatus: baseIp+  '/wechat/account/readStatus',//修改已读状态
       updateRadstateStatusAll: baseIp+  '/wechat/account/readStatusAll',//全部消息已读
     },
     // 微信静态文件预览方式 使用二开服务的使用次方法
     weChatImgPreviewUrl: "http://192.168.0.215:8020/wechat/",
     // 平台
-    imgPreviewUrl:" http://192.168.0.215:9000/common/sys/sysfile/preview/",
+    imgPreviewUrl:"http://192.168.0.215:9000/common/sys/sysfile/preview/",
    
     // 统一管理图片路径
     images: {

+ 9 - 7
pages/homepage/homepage.js

@@ -268,17 +268,19 @@ Page({
   // 添加或修改立即缴费按钮点击事件
   goToPayment: function(e) {
     // 获取当前账单信息
-    const billInfo = {
-      amount: this.data.billInfo.totalAmount, // 应缴金额
-      amountDue:this.data.billInfo.totalAmount,  // 总计应缴
-      balance: this.data.billInfo.balance   // 账户余额
-    };
+    debugger
+    // const billInfo = {
+    //   amount: this.data.billInfo.totalAmount, // 应缴金额
+    //   amountDue:this.data.billInfo.totalAmount,  // 总计应缴
+    //   balance: this.data.billInfo.balance   // 账户余额
+    // };
 
     // 编码账单信息并传递到缴费页面
-    const billInfoStr = encodeURIComponent(JSON.stringify(billInfo));
+    // const billInfoStr = encodeURIComponent(JSON.stringify(billInfo));
 
     wx.navigateTo({
-      url: `/pages/lijijiaofei/lijijiaofei?billInfo=${billInfoStr}`
+      url: `/pages/lijijiaofei/lijijiaofei`
+      // url: `/pages/lijijiaofei/lijijiaofei?billInfo=${billInfoStr}`
     });
   },
 

+ 81 - 20
pages/lijijiaofei/lijijiaofei.js

@@ -27,18 +27,38 @@ Page({
     selectedAmount: null,
     customAmount: '',
     inputFocus: false,
+    zdId:"",
   },
   onLoad(options) {
-    // 接收从homepage传递的账单信息
-    if (options.billInfo) {
-      const billInfo = JSON.parse(decodeURIComponent(options.billInfo));
-      debugger
-      this.setData({
-        amount: billInfo.amount, // 默认实缴金额为应缴金额
-        actualAmount: billInfo.amountDue, // 设置应缴金额
-        balance: billInfo.balance   //余额
-      });
-    }
+    const _this=this;
+    wx.request({
+      url: app.globalData.interfaceUrls.pendingBill + app.globalData.currentAccountInfo.usernumber,
+      method: 'POST',
+      header: {
+        'content-type': 'application/json',
+        'token': app.globalData.userWxInfo.token,
+        'source': "wc",
+        '!SAAS_LOGIN_TOKEN_!': app.globalData.currentAccountInfo.dsKey
+      },
+      success(res) {
+        wx.hideLoading();
+        let apiReturnData = res.data;
+        _this.setData({
+          amount: apiReturnData.data.yj, // 默认实缴金额为应缴金额
+          actualAmount: apiReturnData.data.yj, // 设置应缴金额
+          balance:  apiReturnData.data.ye,   //余额
+          zdId:  apiReturnData.data.zdId  // 对应的账单记录
+        });
+      },
+      fail(error) {
+        wx.hideLoading();
+        wx.showToast({
+          title: '数据加载失败,请稍后再试',
+          icon: 'none',
+          duration: 2000
+        });
+      }
+    });
 
     this.setData({
       images: {
@@ -87,25 +107,32 @@ Page({
       },
       data: {
         openId: app.globalData.userWxInfo.openid,
-        totalAmount: 1,
-        description: '测试订单',
+        totalAmount: this.data.amount*100,
+        dskey: app.globalData.currentAccountInfo.dsKey
       },
       success: res => {
         wx.hideLoading();
         console.log('预下单', res);
+        let orderNo=res.data.data.orderNo;
         wx.requestPayment({
-          timeStamp: res.data.data.timeStamp,
-          nonceStr: res.data.data.nonceStr,
-          package: res.data.data.packageVal,
+          timeStamp: res.data.data.paymentSign.timeStamp,
+          nonceStr: res.data.data.paymentSign.nonceStr,
+          package: res.data.data.paymentSign.packageVal,
           signType: 'RSA',
-          paySign: res.data.data.paySign,
+          paySign: res.data.data.paymentSign.paySign,
           success: res => {
-            console.log('支付结果', res)
+            console.log('支付结果', res);
+            this.createWeChatPayMentRecord(orderNo,this.data.amount);
+          },
+          fail (res) {
+            console.log("fail",res);
           },
           complete: () => {
-
           }
         })
+
+
+
       }
     })
     // 模拟支付
@@ -278,6 +305,40 @@ Page({
       inputFocus: false
     });
   },
+  // 创建微信付款记录
+  createWeChatPayMentRecord:function(orderNo,paymentAmount){
+    wx.request({
+      url: app.globalData.interfaceUrls.createPaymentRecord,
+      method: 'POST',
+      header: {
+        'content-type': 'application/json',
+        'token': app.globalData.userWxInfo.token,
+        'source': "wc",
+        '!SAAS_LOGIN_TOKEN_!': app.globalData.currentAccountInfo.dsKey
+      },
+      data: {
+        orderNo: orderNo,
+        paymentAmount: paymentAmount,
+        zdId: this.data.zdId,
+        userNumber: app.globalData.currentAccountInfo.usernumber,
+        dsKey: app.globalData.currentAccountInfo.dsKey
+      },
+      success(res) {
+        wx.hideLoading();
+        wx.navigateTo({
+          url: '/pages/jiaofeiSuccess/jiaofeiSuccess',
+        });
+      },
+      fail(error) {
+        wx.hideLoading();
+        wx.showToast({
+          title: '数据加载失败,请稍后再试',
+          icon: 'none',
+          duration: 2000
+        });
+      }
+    });
+  },
 
   // 从接口获取支付数据
   fetchPaymentData: function() {
@@ -291,10 +352,10 @@ Page({
     //     });
     //   }
     // });
-
+    
     // this.setData({
     //   amountDue: 150.00,
     //   balance: 200.50
     // });
   },
-})
+})