Kaynağa Gözat

修复微信支付代码编写

赵冬冬 4 yıl önce
ebeveyn
işleme
a4e18e5a56

+ 14 - 12
forest-portal/portal-mbg/src/main/resources/com/hwrj/cloud/portal/mapper/OmsOrderPayMapper.xml

@@ -105,22 +105,21 @@
     </if>
   </delete>
   <insert id="insert" parameterType="com.hwrj.cloud.portal.model.OmsOrderPay">
-    <selectKey keyProperty="id" order="AFTER" resultType="java.lang.String">
-      SELECT LAST_INSERT_ID()
-    </selectKey>
-    insert into oms_order_pay (order_id, pay_money, create_id, 
-      create_user, create_time, update_time, 
-      status, pay_type)
-    values (#{orderId,jdbcType=BIGINT}, #{payMoney,jdbcType=DECIMAL}, #{createId,jdbcType=BIGINT}, 
-      #{createUser,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}, 
-      #{status,jdbcType=INTEGER}, #{payType,jdbcType=INTEGER})
+    insert into oms_order_pay (id, order_id, pay_money, 
+      create_id, create_user, create_time, 
+      update_time, status, pay_type
+      )
+    values (#{id,jdbcType=VARCHAR}, #{orderId,jdbcType=BIGINT}, #{payMoney,jdbcType=DECIMAL}, 
+      #{createId,jdbcType=BIGINT}, #{createUser,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, 
+      #{updateTime,jdbcType=TIMESTAMP}, #{status,jdbcType=INTEGER}, #{payType,jdbcType=INTEGER}
+      )
   </insert>
   <insert id="insertSelective" parameterType="com.hwrj.cloud.portal.model.OmsOrderPay">
-    <selectKey keyProperty="id" order="AFTER" resultType="java.lang.String">
-      SELECT LAST_INSERT_ID()
-    </selectKey>
     insert into oms_order_pay
     <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        id,
+      </if>
       <if test="orderId != null">
         order_id,
       </if>
@@ -147,6 +146,9 @@
       </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id,jdbcType=VARCHAR},
+      </if>
       <if test="orderId != null">
         #{orderId,jdbcType=BIGINT},
       </if>

+ 20 - 1
forest-portal/portal-server/src/main/java/com/hwrj/cloud/portal/controller/WechatH5PayController.java

@@ -14,6 +14,9 @@ import com.hwrj.cloud.portal.util.GeneratorIdUtils;
 import com.hwrj.cloud.portal.util.UUIDUtils;
 import io.swagger.annotations.Api;
 import lombok.extern.slf4j.Slf4j;
+import me.chanjar.weixin.common.bean.WxJsapiSignature;
+import me.chanjar.weixin.common.error.WxErrorException;
+import me.chanjar.weixin.mp.api.WxMpService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Controller;
@@ -106,9 +109,25 @@ public class WechatH5PayController {
         //orderClient.update(data);
         omsOrderPayService.insert(omsOrder, orderNum);
         //签名完成新增支付订单
-        return CommonResult.failed("微信支付成功");
+        return CommonResult.success(unOrder);
     }
 
+    @Autowired
+    private WxMpService wxMpService;
+
+    /*微信js签名接口*/
+    @GetMapping("/getJsapiTicket")
+    @ResponseBody
+    public CommonResult getJsapiTicket(String url) {
+        WxJsapiSignature jsapiSignature = null;
+        try {
+            jsapiSignature = wxMpService.createJsapiSignature(url);
+        } catch (WxErrorException e) {
+            e.printStackTrace();
+            System.err.print(e.getError());
+        }
+        return CommonResult.success(jsapiSignature);
+    }
 
     /**
      * wx支付成功回调接口

+ 1 - 1
sql/表结构变化语句/更新sql.sql

@@ -231,7 +231,7 @@ CREATE TABLE `ums_company_share` (
 
 # 支付订单表
 CREATE TABLE `oms_order_pay` (
-  `id` bigint(25) NOT NULL COMMENT 'id',
+  `id` varchar(22) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'id',
   `order_id` bigint(20) NOT NULL COMMENT '订单id',
   `pay_money` decimal(20,2) NOT NULL COMMENT '支付金额',
   `create_id` bigint(20) NOT NULL COMMENT '创建人',