Explorar o código

更新支付回调

liu %!s(int64=2) %!d(string=hai) anos
pai
achega
553ed096ab
Modificáronse 24 ficheiros con 223 adicións e 37 borrados
  1. 20 20
      .idea/workspace.xml
  2. 0 3
      src/main/java/com/template/api/HouseNumberControllerAPI.java
  3. 21 0
      src/main/java/com/template/controller/HouseNumberStateController.java
  4. 2 2
      src/main/java/com/template/controller/HouseOrderController.java
  5. 2 0
      src/main/java/com/template/mapper/HouseNumberStateMapper.java
  6. 1 1
      src/main/java/com/template/model/dto/OpenRoomsDto.java
  7. 0 1
      src/main/java/com/template/model/vo/ParticularHouseNumberStatusVo.java
  8. 2 0
      src/main/java/com/template/services/HouseNumberStateService.java
  9. 7 0
      src/main/java/com/template/services/impl/HouseNumberStateServiceImpl.java
  10. 4 4
      src/main/resources/application-dev.yml
  11. 10 5
      src/main/resources/application.yml
  12. 10 1
      src/main/resources/mapper/template/HouseNumberStateMapper.xml
  13. 94 0
      src/test/java/com/template/JsapiServiceExtensionExample.java
  14. 46 0
      src/test/java/com/template/QuickStart.java
  15. BIN=BIN
      target/classes/com/template/controller/HouseNumberStateController.class
  16. BIN=BIN
      target/classes/com/template/controller/HouseOrderController.class
  17. BIN=BIN
      target/classes/com/template/mapper/HouseNumberStateMapper.class
  18. BIN=BIN
      target/classes/com/template/model/dto/OpenRoomsDto.class
  19. BIN=BIN
      target/classes/com/template/model/vo/ParticularHouseNumberStatusVo.class
  20. BIN=BIN
      target/classes/com/template/services/HouseNumberStateService.class
  21. BIN=BIN
      target/classes/com/template/services/impl/HouseNumberStateServiceImpl.class
  22. 4 0
      target/classes/mapper/template/HouseNumberStateMapper.xml
  23. BIN=BIN
      target/mybatis_plus-0.0.1-SNAPSHOT.jar
  24. BIN=BIN
      target/mybatis_plus-0.0.1-SNAPSHOT.jar.original

+ 20 - 20
.idea/workspace.xml

@@ -5,27 +5,22 @@
   </component>
   <component name="ChangeListManager">
     <list default="true" id="42a0d34b-c484-4704-92dd-be5ac61d2f66" name="Changes" comment="">
-      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/model/dto/LockRoomDtos.java" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/model/dto/OpenRoomsDto.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/api/HouseNumberStateAPI.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/api/HouseNumberStateAPI.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/api/HouseOrderAPI.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/api/HouseOrderAPI.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/HouseNumberStateController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/HouseNumberStateController.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/HouseOrderController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/HouseOrderController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/resources/application-dev.yml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/application-dev.yml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/resources/application.yml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/application.yml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/application-dev.yml" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/application-dev.yml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/application.yml" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/application.yml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/com/template/api/HouseNumberStateAPI.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/api/HouseNumberStateAPI.class" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/com/template/controller/AppletLoginController$1.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/controller/AppletLoginController$1.class" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/com/template/controller/AppletLoginController$2.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/controller/AppletLoginController$2.class" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/com/template/controller/AppletLoginController.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/controller/AppletLoginController.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/mapper/HouseNumberStateMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/mapper/HouseNumberStateMapper.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/model/dto/OpenRoomsDto.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/model/dto/OpenRoomsDto.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/model/vo/ParticularHouseNumberStatusVo.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/model/vo/ParticularHouseNumberStatusVo.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/HouseNumberStateService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/HouseNumberStateService.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/impl/HouseNumberStateServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/impl/HouseNumberStateServiceImpl.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/resources/mapper/template/HouseNumberStateMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/mapper/template/HouseNumberStateMapper.xml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/target/classes/com/template/controller/HouseNumberStateController.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/controller/HouseNumberStateController.class" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/mqtt/MqttPushClient.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/mqtt/MqttPushClient.class" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/vo/CleanRoomDtos.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/vo/CleanRoomDtos.class" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/vo/DirtyRoomDtos.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/vo/DirtyRoomDtos.class" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/vo/HouseStateVo.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/vo/HouseStateVo.class" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/mapper/template/HouseNumberMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/mapper/template/HouseNumberMapper.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/controller/HouseOrderController.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/controller/HouseOrderController.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/mapper/HouseNumberStateMapper.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/mapper/HouseNumberStateMapper.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/vo/ParticularHouseNumberStatusVo.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/vo/ParticularHouseNumberStatusVo.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/services/HouseNumberStateService.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/services/HouseNumberStateService.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/services/impl/HouseNumberStateServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/services/impl/HouseNumberStateServiceImpl.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/mapper/template/HouseNumberStateMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/mapper/template/HouseNumberStateMapper.xml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/target/mybatis_plus-0.0.1-SNAPSHOT.jar" beforeDir="false" afterPath="$PROJECT_DIR$/target/mybatis_plus-0.0.1-SNAPSHOT.jar" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/target/mybatis_plus-0.0.1-SNAPSHOT.jar.original" beforeDir="false" afterPath="$PROJECT_DIR$/target/mybatis_plus-0.0.1-SNAPSHOT.jar.original" afterDir="false" />
     </list>
@@ -261,7 +256,7 @@
       <workItem from="1718855981011" duration="13620000" />
       <workItem from="1719450617842" duration="1267000" />
       <workItem from="1719468917857" duration="202000" />
-      <workItem from="1719803543119" duration="40854000" />
+      <workItem from="1719803543119" duration="45843000" />
     </task>
     <servers />
   </component>
@@ -354,7 +349,7 @@
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/HouseOrderController.java</url>
-          <line>1848</line>
+          <line>1775</line>
           <option name="timeStamp" value="179" />
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
@@ -364,7 +359,7 @@
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/HouseOrderController.java</url>
-          <line>1696</line>
+          <line>1623</line>
           <option name="timeStamp" value="218" />
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
@@ -372,6 +367,11 @@
           <line>33</line>
           <option name="timeStamp" value="224" />
         </line-breakpoint>
+        <line-breakpoint enabled="true" type="java-line">
+          <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/HouseNumberStateController.java</url>
+          <line>432</line>
+          <option name="timeStamp" value="228" />
+        </line-breakpoint>
       </breakpoints>
     </breakpoint-manager>
     <watches-manager>

+ 0 - 3
src/main/java/com/template/api/HouseNumberControllerAPI.java

@@ -33,7 +33,4 @@ public interface HouseNumberControllerAPI {
     @ApiOperation(value = "水电表删除绑定", notes = "水电表删除绑定", httpMethod = "POST")
     CommonResult delete(@RequestBody HouseNumberDeleteBindingDto houseNumberDeleteBindingDto);
 
-
-
-
 }

+ 21 - 0
src/main/java/com/template/controller/HouseNumberStateController.java

@@ -1536,6 +1536,27 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
 
     @Override
     public CommonResult openRooms(OpenRoomsDto openRoomsDto) {
+        int adminId = openRoomsDto.getAdminId();
+        PermissionSetting permissionSetting = permissionSettingService.getById(adminId);
+        if (ObjectUtils.isEmpty(permissionSetting)) {
+            return CommonResult.fail("非法进入");
+        }
+//      判断该用户是否拥有权限
+        String houseTypeManagement = permissionSetting.getHouseStatusManagement();
+        if (!"0".equals(houseTypeManagement) && !houseTypeManagement.contains("12")) {
+            return CommonResult.fail("此账号暂无该权限");
+        }
+
+        List<String> houseNumberIds = openRoomsDto.getHouseNumberIds();
+        LocalDateTime now = LocalDateTime.now();
+        for (String houseNumberId : houseNumberIds) {
+            //        查找房间对应的锁房状态
+         HouseNumberState houseNumberStates = houseNumberStateService.getLockHouseNumberState(houseNumberId,now);
+
+        }
+
+
+
         return null;
     }
 

+ 2 - 2
src/main/java/com/template/controller/HouseOrderController.java

@@ -2151,7 +2151,7 @@ public class HouseOrderController implements HouseOrderAPI {
             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
             houseNumberState.setEndTime(sdf.format(new Date()));
             // 修改订单状态
-            houseOrder.setOrderStatus("9");
+//            houseOrder.setOrderStatus("9");
             //  设置取消时间
             houseOrder.setCancelTime(new Date());
 
@@ -2232,7 +2232,7 @@ public class HouseOrderController implements HouseOrderAPI {
                             JSONObject.toJSONString(jsonObject));
                     log.info("退款签名值"+authStr);
                     httpHeaders.add("Accept", "application/json");
-                    httpHeaders.add("Authorization", "headerValue3");
+                    httpHeaders.add("Authorization", authStr);
 //                    httpHeaders.add("User-Agent", "WeChatPay-HttpClient/null (Windows 10/10.0) Java/1.8.0_171");
                     httpHeaders.add("Content-Type", "application/json");
                     HttpEntity<JSONObject> fromEntity = new HttpEntity<>(jsonObject, httpHeaders);

+ 2 - 0
src/main/java/com/template/mapper/HouseNumberStateMapper.java

@@ -27,4 +27,6 @@ public interface HouseNumberStateMapper extends BaseMapper<HouseNumberState> {
 
 
     HouseNumberState getData(@Param("date") Date date,@Param("houseNumberId") String houseNumberId);
+
+    HouseNumberState getLockHouseNumberState(@Param("houseNumberId")String houseNumberId,@Param("now") LocalDateTime now);
 }

+ 1 - 1
src/main/java/com/template/model/dto/OpenRoomsDto.java

@@ -6,7 +6,7 @@ import java.util.List;
 
 @Data
 public class OpenRoomsDto {
-    private List<String> houseNumberId;
+    private List<String> houseNumberIds;
 
     private int adminId;
 }

+ 0 - 1
src/main/java/com/template/model/vo/ParticularHouseNumberStatusVo.java

@@ -39,7 +39,6 @@ public class ParticularHouseNumberStatusVo {
 
 //       电量
     private String electricQuantity;
-
 //    开始时间
     private String stateTime;
 //    结束时间

+ 2 - 0
src/main/java/com/template/services/HouseNumberStateService.java

@@ -23,4 +23,6 @@ public interface HouseNumberStateService extends IService<HouseNumberState> {
     List<HouseNumberState> beBooked(String ids, String reserveLiveTime, String reserveLeaveTime);
 
     HouseNumberState getData(Date date,String houseNumberId);
+
+    HouseNumberState getLockHouseNumberState(String houseNumberId, LocalDateTime now);
 }

+ 7 - 0
src/main/java/com/template/services/impl/HouseNumberStateServiceImpl.java

@@ -40,4 +40,11 @@ public class HouseNumberStateServiceImpl extends ServiceImpl<HouseNumberStateMap
     public HouseNumberState getData(Date date,String houseNumberId) {
         return houseNumberStateMapper.getData(date,houseNumberId);
     }
+
+    @Override
+    public HouseNumberState getLockHouseNumberState(String houseNumberId, LocalDateTime now) {
+        HouseNumberState houseNumberState=  houseNumberStateMapper.getLockHouseNumberState(houseNumberId,now);
+
+        return houseNumberState;
+    }
 }

+ 4 - 4
src/main/resources/application-dev.yml

@@ -94,10 +94,10 @@ wechat:
   pay:
     v3:
       appId: wxd87cbe1db0437303
-      keyPath: E:\\2024project\\iHotel_student_houtai\\src\\main\\resources\\cert\\apiclient_key.pem
-      certPath: E:\\2024project\\iHotel_student_houtai\\src\\main\\resources\\cert\\apiclient_cert.pem
-      certP12Path: E:\\2024project\\iHotel_student_houtai\\src\\main\\resources\\cert\\apiclient_cert.p12
-      platformCertPath: E:\\2024project\\iHotel_student_houtai\\src\\main\\resources\\cert\\cert\\wx_cert.pem
+      keyPath: F:\项目资料\创海项目资料\iHotel_student_houtai\src\main\resources\cert\apiclient_key.pem
+      certPath: F:\项目资料\创海项目资料\iHotel_student_houtai\src\main\resources\cert\apiclient_cert.pem
+      certP12Path: F:\项目资料\创海项目资料\iHotel_student_houtai\src\main\resources\cert\apiclient_cert.p12
+      platformCertPath: F:\项目资料\创海项目资料\iHotel_student_houtai\src\main\resources\cert\apiclient_cert.p12
       mchId: 1609853253
       apiKey3: nanchangjiaotongxueyuan202188888
       apiKey: chuanghaikeji2021chuanghaikeji20

+ 10 - 5
src/main/resources/application.yml

@@ -92,13 +92,18 @@ wechat:
   pay:
     v3:
       appId: wxd87cbe1db0437303
-      keyPath: E:\\2024project\\iHotel_student_houtai\\src\\main\\resources\\cert\\apiclient_key.pem
-      certPath: E:\\2024project\\iHotel_student_houtai\\src\\main\\resources\\cert\\apiclient_cert.pem
-      certP12Path: E:\\2024project\\iHotel_student_houtai\\src\\main\\resources\\cert\\apiclient_cert.p12
-      platformCertPath: E:\\2024project\\iHotel_student_houtai\\src\\main\\resources\\cert\\cert\\wx_cert.pem
+#      keyPath: E:\\2024project\\iHotel_student_houtai\\src\\main\\resources\\cert\\apiclient_key.pem
+#      certPath: E:\\2024project\\iHotel_student_houtai\\src\\main\\resources\\cert\\apiclient_cert.pem
+#      certP12Path: E:\\2024project\\iHotel_student_houtai\\src\\main\\resources\\cert\\apiclient_cert.p12
+#      platformCertPath: E:\\2024project\\iHotel_student_houtai\\src\\main\\resources\\cert\\cert\\wx_cert.pem
+      keyPath: F:\项目资料\创海项目资料\iHotel_student_houtai\src\main\resources\cert\apiclient_key.pem
+      certPath: F:\项目资料\创海项目资料\iHotel_student_houtai\src\main\resources\cert\apiclient_cert.pem
+      certP12Path: F:\项目资料\创海项目资料\iHotel_student_houtai\src\main\resources\cert\apiclient_cert.p12
+      platformCertPath: F:\项目资料\创海项目资料\iHotel_student_houtai\src\main\resources\cert\apiclient_cert.p12
       mchId: 1609853253
       apiKey3: nanchangjiaotongxueyuan202188888
       apiKey: chuanghaikeji2021chuanghaikeji20
-      domain: https://chtech.ncjti.edu.cn/hotel/ihotel/auto/house-order/returnPay #回调地址
+#      domain: http://73j8db.natappfree.cc  #回调地址
+      domain: https://chtech.ncjti.edu.cn/hotel/ihotel #回调地址
       secret: 18e17f97e674e1c03fc255f12d12ca4d
       serialNum: 61A33563F6158C1B921A27A23A4E94E963DD53DD

+ 10 - 1
src/main/resources/mapper/template/HouseNumberStateMapper.xml

@@ -22,8 +22,17 @@
         SELECT *
         FROM `house_number_state`
         WHERE deleted = 0
-           AND FIND_IN_SET(house_number_id, #{houseNumberId})
+          AND FIND_IN_SET(house_number_id, #{houseNumberId})
           AND #{date} >= start_time
           AND end_time >= #{date}
     </select>
+    <select id="getLockHouseNumberState" resultType="com.template.model.pojo.HouseNumberState">
+        SELECT
+        *
+        FROM
+        `house_number_state` hns
+        WHERE hns.`status`=5
+        AND hns.deleted=0 AND #{now}>=  hns.start_time AND hns.end_time>=#{now}
+        AND hns.house_number_id=#{houseNumberId}
+    </select>
 </mapper>

+ 94 - 0
src/test/java/com/template/JsapiServiceExtensionExample.java

@@ -0,0 +1,94 @@
+package com.template;
+
+import com.wechat.pay.java.core.Config;
+import com.wechat.pay.java.core.RSAAutoCertificateConfig;
+import com.wechat.pay.java.core.exception.HttpException;
+import com.wechat.pay.java.core.exception.MalformedMessageException;
+import com.wechat.pay.java.core.exception.ServiceException;
+import com.wechat.pay.java.service.payments.jsapi.JsapiServiceExtension;
+import com.wechat.pay.java.service.payments.jsapi.model.CloseOrderRequest;
+import com.wechat.pay.java.service.payments.jsapi.model.PrepayRequest;
+import com.wechat.pay.java.service.payments.jsapi.model.PrepayWithRequestPaymentResponse;
+import com.wechat.pay.java.service.payments.jsapi.model.QueryOrderByIdRequest;
+import com.wechat.pay.java.service.payments.jsapi.model.QueryOrderByOutTradeNoRequest;
+import com.wechat.pay.java.service.payments.model.Transaction;
+
+public class JsapiServiceExtensionExample {
+    /** 商户号 */
+    public static String merchantId = "190000****";
+
+    /** 商户API私钥路径 */
+    public static String privateKeyPath = "/Users/yourname/your/path/apiclient_key.pem";
+
+    /** 商户证书序列号 */
+    public static String merchantSerialNumber = "5157F09EFDC096DE15EBE81A47057A72********";
+
+    /** 商户APIV3密钥 */
+    public static String apiV3Key = "...";
+
+    public static JsapiServiceExtension service;
+
+    public static void main(String[] args) {
+        // 初始化商户配置
+        Config config =
+                new RSAAutoCertificateConfig.Builder()
+                        .merchantId(merchantId)
+                        // 使用 com.wechat.pay.java.core.util 中的函数从本地文件中加载商户私钥,商户私钥会用来生成请求的签名
+                        .privateKeyFromPath(privateKeyPath)
+                        .merchantSerialNumber(merchantSerialNumber)
+                        .apiV3Key(apiV3Key)
+                        .build();
+        // 初始化服务
+        service =
+                new JsapiServiceExtension.Builder()
+                        .config(config)
+                        .signType("RSA") // 不填默认为RSA
+                        .build();
+        try {
+            // ... 调用接口
+            PrepayWithRequestPaymentResponse response = prepayWithRequestPayment();
+            System.out.println(response);
+        } catch (HttpException e) { // 发送HTTP请求失败
+            // 调用e.getHttpRequest()获取请求打印日志或上报监控,更多方法见HttpException定义
+        } catch (ServiceException e) { // 服务返回状态小于200或大于等于300,例如500
+            // 调用e.getResponseBody()获取返回体打印日志或上报监控,更多方法见ServiceException定义
+        } catch (MalformedMessageException e) { // 服务返回成功,返回体类型不合法,或者解析返回体失败
+            // 调用e.getMessage()获取信息打印日志或上报监控,更多方法见MalformedMessageException定义
+        }
+    }
+
+    /** 关闭订单 */
+    public static void closeOrder() {
+
+        CloseOrderRequest request = new CloseOrderRequest();
+        // 调用request.setXxx(val)设置所需参数,具体参数可见Request定义
+        // 调用接口
+        service.closeOrder(request);
+    }
+
+    /** JSAPI支付下单,并返回JSAPI调起支付数据 */
+    public static PrepayWithRequestPaymentResponse prepayWithRequestPayment() {
+        PrepayRequest request = new PrepayRequest();
+        // 调用request.setXxx(val)设置所需参数,具体参数可见Request定义
+        // 调用接口
+        return service.prepayWithRequestPayment(request);
+    }
+
+    /** 微信支付订单号查询订单 */
+    public static Transaction queryOrderById() {
+
+        QueryOrderByIdRequest request = new QueryOrderByIdRequest();
+        // 调用request.setXxx(val)设置所需参数,具体参数可见Request定义
+        // 调用接口
+        return service.queryOrderById(request);
+    }
+
+    /** 商户订单号查询订单 */
+    public static Transaction queryOrderByOutTradeNo() {
+
+        QueryOrderByOutTradeNoRequest request = new QueryOrderByOutTradeNoRequest();
+        // 调用request.setXxx(val)设置所需参数,具体参数可见Request定义
+        // 调用接口
+        return service.queryOrderByOutTradeNo(request);
+    }
+}

+ 46 - 0
src/test/java/com/template/QuickStart.java

@@ -0,0 +1,46 @@
+package com.template;
+
+import com.wechat.pay.java.core.Config;
+import com.wechat.pay.java.core.RSAAutoCertificateConfig;
+import com.wechat.pay.java.service.payments.nativepay.NativePayService;
+import com.wechat.pay.java.service.payments.nativepay.model.Amount;
+import com.wechat.pay.java.service.payments.nativepay.model.PrepayRequest;
+import com.wechat.pay.java.service.payments.nativepay.model.PrepayResponse;
+/** Native 支付下单为例 */
+public class QuickStart {
+    /** 商户号 */
+    public static String merchantId = "1609853253";
+    /** 商户API私钥路径 */
+    public static String privateKeyPath = "F:\\项目资料\\创海项目资料\\iHotel_student_houtai\\src\\main\\resources\\cert\\apiclient_key.pem";
+    /** 商户证书序列号 */
+    public static String merchantSerialNumber = "61A33563F6158C1B921A27A23A4E94E963DD53DD";
+    /** 商户APIV3密钥 */
+    public static String apiV3key = "nanchangjiaotongxueyuan202188888";
+    public static void main(String[] args) {
+        // 使用自动更新平台证书的RSA配置
+        // 建议将 config 作为单例或全局静态对象,避免重复的下载浪费系统资源
+        Config config =
+                new RSAAutoCertificateConfig.Builder()
+                        .merchantId(merchantId)
+                        .privateKeyFromPath(privateKeyPath)
+                        .merchantSerialNumber(merchantSerialNumber)
+                        .apiV3Key(apiV3key)
+                        .build();
+        // 构建service
+        NativePayService service = new NativePayService.Builder().config(config).build();
+        // request.setXxx(val)设置所需参数,具体参数可见Request定义
+        PrepayRequest request = new PrepayRequest();
+        Amount amount = new Amount();
+        amount.setTotal(100);
+        request.setAmount(amount);
+        request.setAppid("wxd87cbe1db0437303");
+        request.setMchid("1609853253");
+        request.setDescription("测试商品标题");
+        request.setNotifyUrl("https://notify_url");
+        request.setOutTradeNo("out_trade_no_001");
+        // 调用下单方法,得到应答
+        PrepayResponse response = service.prepay(request);
+        // 使用微信扫描 code_url 对应的二维码,即可体验Native支付
+        System.out.println(response.getCodeUrl());
+    }
+}

BIN=BIN
target/classes/com/template/controller/HouseNumberStateController.class


BIN=BIN
target/classes/com/template/controller/HouseOrderController.class


BIN=BIN
target/classes/com/template/mapper/HouseNumberStateMapper.class


BIN=BIN
target/classes/com/template/model/dto/OpenRoomsDto.class


BIN=BIN
target/classes/com/template/model/vo/ParticularHouseNumberStatusVo.class


BIN=BIN
target/classes/com/template/services/HouseNumberStateService.class


BIN=BIN
target/classes/com/template/services/impl/HouseNumberStateServiceImpl.class


+ 4 - 0
target/classes/mapper/template/HouseNumberStateMapper.xml

@@ -26,4 +26,8 @@
           AND #{date} >= start_time
           AND end_time >= #{date}
     </select>
+    <select id="getLockHouseNumberState" resultType="com.template.model.pojo.HouseNumberState">
+
+
+    </select>
 </mapper>

BIN=BIN
target/mybatis_plus-0.0.1-SNAPSHOT.jar


BIN=BIN
target/mybatis_plus-0.0.1-SNAPSHOT.jar.original