Browse Source

订单模块:

1.创建订单
2.订单
master
Aug 2 months ago
parent
commit
993176ffa1
10 changed files with 188 additions and 81 deletions
  1. +52
    -67
      .idea/workspace.xml
  2. +2
    -4
      han-hai-module-pay/src/main/java/org/jeecg/modules/pay/MpWxPayService.java
  3. +1
    -1
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/controller/MassageOrderController.java
  4. +1
    -2
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/entity/MassageOrder.java
  5. +1
    -1
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/mapper/MassageOrderMapper.java
  6. +1
    -1
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/service/IMassageOrderService.java
  7. +1
    -1
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/service/impl/MassageOrderServiceImpl.java
  8. +21
    -4
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/massageController/OrderController.java
  9. +13
    -0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/OrderService.java
  10. +95
    -0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/OrderServiceImpl.java

+ 52
- 67
.idea/workspace.xml View File

@ -2,39 +2,16 @@
<project version="4">
<component name="ChangeListManager">
<list default="true" id="8b88b979-c3fa-4858-8fa6-d3a5d334cf69" name="Default Changelist" comment="">
<change afterPath="$PROJECT_DIR$/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchers/controller/MassageVouchersController.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchers/entity/MassageVouchers.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchers/mapper/MassageVouchersMapper.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchers/mapper/xml/MassageVouchersMapper.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchers/service/IMassageVouchersService.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchers/service/impl/MassageVouchersServiceImpl.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchers/vue/MassageVouchersList.vue" afterDir="false" />
<change afterPath="$PROJECT_DIR$/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchers/vue/modules/MassageVouchersForm.vue" afterDir="false" />
<change afterPath="$PROJECT_DIR$/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchers/vue/modules/MassageVouchersModal.Style#Drawer.vue" afterDir="false" />
<change afterPath="$PROJECT_DIR$/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchers/vue/modules/MassageVouchersModal.vue" afterDir="false" />
<change afterPath="$PROJECT_DIR$/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchers/vue3/MassageVouchers.api.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchers/vue3/MassageVouchers.data.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchers/vue3/MassageVouchersList.vue" afterDir="false" />
<change afterPath="$PROJECT_DIR$/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchers/vue3/components/MassageVouchersModal.vue" afterDir="false" />
<change afterPath="$PROJECT_DIR$/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchersUser/controller/MassageVouchersUserController.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchersUser/entity/MassageVouchersUser.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchersUser/mapper/MassageVouchersUserMapper.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchersUser/mapper/xml/MassageVouchersUserMapper.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchersUser/service/IMassageVouchersUserService.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchersUser/service/impl/MassageVouchersUserServiceImpl.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchersUser/vue/MassageVouchersUserList.vue" afterDir="false" />
<change afterPath="$PROJECT_DIR$/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchersUser/vue/modules/MassageVouchersUserForm.vue" afterDir="false" />
<change afterPath="$PROJECT_DIR$/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchersUser/vue/modules/MassageVouchersUserModal.Style#Drawer.vue" afterDir="false" />
<change afterPath="$PROJECT_DIR$/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchersUser/vue/modules/MassageVouchersUserModal.vue" afterDir="false" />
<change afterPath="$PROJECT_DIR$/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchersUser/vue3/MassageVouchersUser.api.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchersUser/vue3/MassageVouchersUser.data.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchersUser/vue3/MassageVouchersUserList.vue" afterDir="false" />
<change afterPath="$PROJECT_DIR$/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchersUser/vue3/components/MassageVouchersUserModal.vue" afterDir="false" />
<change afterPath="$PROJECT_DIR$/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/massageController/VouchersController.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/VouchersService.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/VouchersServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/massageController/VipController.java" beforeDir="false" afterPath="$PROJECT_DIR$/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/massageController/VipController.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/han-hai-module-pay/src/main/java/org/jeecg/modules/pay/MpWxPayService.java" beforeDir="false" afterPath="$PROJECT_DIR$/han-hai-module-pay/src/main/java/org/jeecg/modules/pay/MpWxPayService.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/controller/MassageOrderController.java" beforeDir="false" afterPath="$PROJECT_DIR$/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/controller/MassageOrderController.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/entity/MassageOrder.java" beforeDir="false" afterPath="$PROJECT_DIR$/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/entity/MassageOrder.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/mapper/MassageOrderMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/mapper/MassageOrderMapper.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/service/IMassageOrderService.java" beforeDir="false" afterPath="$PROJECT_DIR$/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/service/IMassageOrderService.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/service/impl/MassageOrderServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/service/impl/MassageOrderServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/massageController/OrderController.java" beforeDir="false" afterPath="$PROJECT_DIR$/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/massageController/OrderController.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/OrderService.java" beforeDir="false" afterPath="$PROJECT_DIR$/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/OrderService.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/OrderServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/OrderServiceImpl.java" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -186,7 +163,7 @@
<updated>1741573014101</updated>
<workItem from="1741573016746" duration="4323000" />
<workItem from="1741580646045" duration="5038000" />
<workItem from="1741852577555" duration="42033000" />
<workItem from="1741852577555" duration="44039000" />
</task>
<task id="LOCAL-00001" summary="1、项目初始化">
<created>1741919155045</created>
@ -244,7 +221,14 @@
<option name="project" value="LOCAL" />
<updated>1742367599394</updated>
</task>
<option name="localTasksCounter" value="9" />
<task id="LOCAL-00009" summary="1、优惠券模块">
<created>1742377504198</created>
<option name="number" value="00009" />
<option name="presentableId" value="LOCAL-00009" />
<option name="project" value="LOCAL" />
<updated>1742377504198</updated>
</task>
<option name="localTasksCounter" value="10" />
<servers />
</component>
<component name="TypeScriptGeneratedFilesManager">
@ -271,17 +255,18 @@
<MESSAGE value="1、接口备注规范调整" />
<MESSAGE value="1、会员中心模块" />
<MESSAGE value="1、推广模块" />
<option name="LAST_COMMIT_MESSAGE" value="1、推广模块" />
<MESSAGE value="1、优惠券模块" />
<option name="LAST_COMMIT_MESSAGE" value="1、优惠券模块" />
</component>
<component name="WindowStateProjectService">
<state x="734" y="358" key="#com.intellij.execution.impl.EditConfigurationsDialog" timestamp="1741573453098">
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state x="734" y="358" key="#com.intellij.execution.impl.EditConfigurationsDialog/0.0.2560.1400@0.0.2560.1400" timestamp="1741573453098" />
<state x="1085" y="408" key="#com.intellij.ide.util.MemberChooser" timestamp="1742375877577">
<state x="1085" y="408" key="#com.intellij.ide.util.MemberChooser" timestamp="1742378026634">
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state x="1085" y="408" key="#com.intellij.ide.util.MemberChooser/0.0.2560.1400@0.0.2560.1400" timestamp="1742375877577" />
<state x="1085" y="408" key="#com.intellij.ide.util.MemberChooser/0.0.2560.1400@0.0.2560.1400" timestamp="1742378026634" />
<state x="1033" y="0" key="#com.intellij.refactoring.rename.AutomaticRenamingDialog" timestamp="1742351128151">
<screen x="0" y="0" width="2560" height="1400" />
</state>
@ -290,70 +275,70 @@
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state x="1010" y="449" key="#com.intellij.refactoring.safeDelete.UnsafeUsagesDialog/0.0.2560.1400@0.0.2560.1400" timestamp="1741587414527" />
<state x="679" y="297" key="CommitChangelistDialog2" timestamp="1742367598744">
<state x="679" y="297" key="CommitChangelistDialog2" timestamp="1742377503401">
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state x="679" y="297" key="CommitChangelistDialog2/0.0.2560.1400@0.0.2560.1400" timestamp="1742367598744" />
<state x="92" y="92" width="2376" height="1216" key="DiffContextDialog" timestamp="1742296412150">
<state x="679" y="297" key="CommitChangelistDialog2/0.0.2560.1400@0.0.2560.1400" timestamp="1742377503401" />
<state x="92" y="92" width="2376" height="1216" key="DiffContextDialog" timestamp="1742379424387">
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state x="92" y="92" width="2376" height="1216" key="DiffContextDialog/0.0.2560.1400@0.0.2560.1400" timestamp="1742296412150" />
<state width="2517" height="388" key="GridCell.Tab.0.bottom" timestamp="1742376086794">
<state x="92" y="92" width="2376" height="1216" key="DiffContextDialog/0.0.2560.1400@0.0.2560.1400" timestamp="1742379424387" />
<state width="2517" height="388" key="GridCell.Tab.0.bottom" timestamp="1742379427462">
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state width="2517" height="388" key="GridCell.Tab.0.bottom/0.0.2560.1400@0.0.2560.1400" timestamp="1742376086794" />
<state width="2517" height="388" key="GridCell.Tab.0.center" timestamp="1742376086794">
<state width="2517" height="388" key="GridCell.Tab.0.bottom/0.0.2560.1400@0.0.2560.1400" timestamp="1742379427462" />
<state width="2517" height="388" key="GridCell.Tab.0.center" timestamp="1742379427462">
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state width="2517" height="388" key="GridCell.Tab.0.center/0.0.2560.1400@0.0.2560.1400" timestamp="1742376086794" />
<state width="2517" height="388" key="GridCell.Tab.0.left" timestamp="1742376086794">
<state width="2517" height="388" key="GridCell.Tab.0.center/0.0.2560.1400@0.0.2560.1400" timestamp="1742379427462" />
<state width="2517" height="388" key="GridCell.Tab.0.left" timestamp="1742379427462">
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state width="2517" height="388" key="GridCell.Tab.0.left/0.0.2560.1400@0.0.2560.1400" timestamp="1742376086794" />
<state width="2517" height="388" key="GridCell.Tab.0.right" timestamp="1742376086794">
<state width="2517" height="388" key="GridCell.Tab.0.left/0.0.2560.1400@0.0.2560.1400" timestamp="1742379427462" />
<state width="2517" height="388" key="GridCell.Tab.0.right" timestamp="1742379427462">
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state width="2517" height="388" key="GridCell.Tab.0.right/0.0.2560.1400@0.0.2560.1400" timestamp="1742376086794" />
<state width="2517" height="388" key="GridCell.Tab.1.bottom" timestamp="1742376086701">
<state width="2517" height="388" key="GridCell.Tab.0.right/0.0.2560.1400@0.0.2560.1400" timestamp="1742379427462" />
<state width="2517" height="388" key="GridCell.Tab.1.bottom" timestamp="1742379427373">
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state width="2517" height="388" key="GridCell.Tab.1.bottom/0.0.2560.1400@0.0.2560.1400" timestamp="1742376086701" />
<state width="2517" height="388" key="GridCell.Tab.1.center" timestamp="1742376086701">
<state width="2517" height="388" key="GridCell.Tab.1.bottom/0.0.2560.1400@0.0.2560.1400" timestamp="1742379427373" />
<state width="2517" height="388" key="GridCell.Tab.1.center" timestamp="1742379427372">
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state width="2517" height="388" key="GridCell.Tab.1.center/0.0.2560.1400@0.0.2560.1400" timestamp="1742376086701" />
<state width="2517" height="388" key="GridCell.Tab.1.left" timestamp="1742376086701">
<state width="2517" height="388" key="GridCell.Tab.1.center/0.0.2560.1400@0.0.2560.1400" timestamp="1742379427372" />
<state width="2517" height="388" key="GridCell.Tab.1.left" timestamp="1742379427372">
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state width="2517" height="388" key="GridCell.Tab.1.left/0.0.2560.1400@0.0.2560.1400" timestamp="1742376086701" />
<state width="2517" height="388" key="GridCell.Tab.1.right" timestamp="1742376086701">
<state width="2517" height="388" key="GridCell.Tab.1.left/0.0.2560.1400@0.0.2560.1400" timestamp="1742379427372" />
<state width="2517" height="388" key="GridCell.Tab.1.right" timestamp="1742379427373">
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state width="2517" height="388" key="GridCell.Tab.1.right/0.0.2560.1400@0.0.2560.1400" timestamp="1742376086701" />
<state width="2517" height="388" key="GridCell.Tab.2.bottom" timestamp="1742376086701">
<state width="2517" height="388" key="GridCell.Tab.1.right/0.0.2560.1400@0.0.2560.1400" timestamp="1742379427373" />
<state width="2517" height="388" key="GridCell.Tab.2.bottom" timestamp="1742379427373">
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state width="2517" height="388" key="GridCell.Tab.2.bottom/0.0.2560.1400@0.0.2560.1400" timestamp="1742376086701" />
<state width="2517" height="388" key="GridCell.Tab.2.center" timestamp="1742376086701">
<state width="2517" height="388" key="GridCell.Tab.2.bottom/0.0.2560.1400@0.0.2560.1400" timestamp="1742379427373" />
<state width="2517" height="388" key="GridCell.Tab.2.center" timestamp="1742379427373">
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state width="2517" height="388" key="GridCell.Tab.2.center/0.0.2560.1400@0.0.2560.1400" timestamp="1742376086701" />
<state width="2517" height="388" key="GridCell.Tab.2.left" timestamp="1742376086701">
<state width="2517" height="388" key="GridCell.Tab.2.center/0.0.2560.1400@0.0.2560.1400" timestamp="1742379427373" />
<state width="2517" height="388" key="GridCell.Tab.2.left" timestamp="1742379427373">
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state width="2517" height="388" key="GridCell.Tab.2.left/0.0.2560.1400@0.0.2560.1400" timestamp="1742376086701" />
<state width="2517" height="388" key="GridCell.Tab.2.right" timestamp="1742376086701">
<state width="2517" height="388" key="GridCell.Tab.2.left/0.0.2560.1400@0.0.2560.1400" timestamp="1742379427373" />
<state width="2517" height="388" key="GridCell.Tab.2.right" timestamp="1742379427373">
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state width="2517" height="388" key="GridCell.Tab.2.right/0.0.2560.1400@0.0.2560.1400" timestamp="1742376086701" />
<state width="2517" height="388" key="GridCell.Tab.2.right/0.0.2560.1400@0.0.2560.1400" timestamp="1742379427373" />
<state x="783" y="345" key="SettingsEditor" timestamp="1741573035388">
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state x="783" y="345" key="SettingsEditor/0.0.2560.1400@0.0.2560.1400" timestamp="1741573035388" />
<state x="872" y="436" key="Vcs.Push.Dialog.v2" timestamp="1742367602002">
<state x="872" y="436" key="Vcs.Push.Dialog.v2" timestamp="1742377507940">
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state x="872" y="436" key="Vcs.Push.Dialog.v2/0.0.2560.1400@0.0.2560.1400" timestamp="1742367602002" />
<state x="872" y="436" key="Vcs.Push.Dialog.v2/0.0.2560.1400@0.0.2560.1400" timestamp="1742377507940" />
<state x="972" y="527" key="com.intellij.ide.util.TipDialog" timestamp="1741580728988">
<screen x="0" y="0" width="2560" height="1400" />
</state>


+ 2
- 4
han-hai-module-pay/src/main/java/org/jeecg/modules/pay/MpWxPayService.java View File

@ -98,14 +98,12 @@ public class MpWxPayService {
request.setDetail(productName); //商品详情
request.setTotalFee(price); //总金额|分计
request.setSpbillCreateIp(clientIp); //终端IP
// request.setNotifyUrl(wxPay.notifyUrl);//设置回调路径
request.setNotifyUrl("https://tai-testapi.sanhemovie.com/massage-api/post/notify");//设置回调路径
request.setNotifyUrl("http://augcl.natapp1.cc/massage-admin/massage/order/payOrderNotify");//设置回调路径
request.setProductId(productId); //商品id
request.setOpenid(openId); //JSAPI OPENID
if (dev){
request.setTotalFee(price);
// request.setNotifyUrl(wxPay.notifyUrlDev);
request.setNotifyUrl("https://tai-testapi.sanhemovie.com/massage-api/post/notify");//设置回调路径
request.setNotifyUrl("http://augcl.natapp1.cc/massage-admin/massage/order/payOrderNotify");//设置回调路径
}
try {
Object order = wxPayService.createOrder(request);


+ 1
- 1
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/controller/MassageOrderController.java View File

@ -39,7 +39,7 @@ import org.jeecg.common.aspect.annotation.AutoLog;
/**
* @Description: 订单信息表
* @Author: jeecg-boot
* @Date: 2025-03-17
* @Date: 2025-03-19
* @Version: V1.0
*/
@Api(tags="订单信息表")


+ 1
- 2
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/entity/MassageOrder.java View File

@ -22,7 +22,7 @@ import lombok.experimental.Accessors;
/**
* @Description: 订单信息表
* @Author: jeecg-boot
* @Date: 2025-03-17
* @Date: 2025-03-19
* @Version: V1.0
*/
@Data
@ -84,5 +84,4 @@ public class MassageOrder implements Serializable {
//项目信息
@TableField(exist = false)
MassageItem massageItem;
}

+ 1
- 1
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/mapper/MassageOrderMapper.java View File

@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 订单信息表
* @Author: jeecg-boot
* @Date: 2025-03-17
* @Date: 2025-03-19
* @Version: V1.0
*/
public interface MassageOrderMapper extends BaseMapper<MassageOrder> {


+ 1
- 1
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/service/IMassageOrderService.java View File

@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
/**
* @Description: 订单信息表
* @Author: jeecg-boot
* @Date: 2025-03-17
* @Date: 2025-03-19
* @Version: V1.0
*/
public interface IMassageOrderService extends IService<MassageOrder> {


+ 1
- 1
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/service/impl/MassageOrderServiceImpl.java View File

@ -10,7 +10,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* @Description: 订单信息表
* @Author: jeecg-boot
* @Date: 2025-03-17
* @Date: 2025-03-19
* @Version: V1.0
*/
@Service


+ 21
- 4
jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/massageController/OrderController.java View File

@ -9,10 +9,7 @@ import org.jeecg.modules.apiService.ItemService;
import org.jeecg.modules.apiService.OrderService;
import org.jeecg.modules.massageItem.entity.MassageItem;
import org.jeecg.modules.massageOrder.entity.MassageOrder;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@ -41,5 +38,25 @@ public class OrderController {
public Result<?> queryOrderById(@RequestHeader("X-Access-Token") String token, String id){
return orderService.queryOrderById(token, id);
}
//创建订单
@ApiOperation(value="订单-创建订单", notes="订单-创建订单")
@RequestMapping(value = "/createOrder", method = {RequestMethod.POST})
public Result<?> createOrder(@RequestHeader("X-Access-Token") String token, MassageOrder massageOrder){
return orderService.createOrder(token, massageOrder);
}
//支付订单
@ApiOperation(value="订单-支付订单", notes="订单-支付订单")
@RequestMapping(value = "/payOrder", method = {RequestMethod.POST})
public Result<?> payOrder(@RequestHeader("X-Access-Token") String token, MassageOrder massageOrder){
return orderService.payOrder(token, massageOrder);
}
//支付回调
@PostMapping("/payOrderNotify")
public Object payOrderNotify(@RequestBody String requestBody){
return orderService.payOrderNotify(requestBody);
}
}

+ 13
- 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/OrderService.java View File

@ -1,9 +1,13 @@
package org.jeecg.modules.apiService;
import io.swagger.annotations.ApiOperation;
import org.jeecg.common.api.vo.Result;
import org.jeecg.modules.apiBean.PageBean;
import org.jeecg.modules.massageItem.entity.MassageItem;
import org.jeecg.modules.massageOrder.entity.MassageOrder;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
public interface OrderService {
//查看订单列表
@ -11,4 +15,13 @@ public interface OrderService {
//查看订单详情
public Result<?> queryOrderById(String token, String id);
//创建订单
public Result<?> createOrder(String token, MassageOrder massageOrder);
//支付订单
public Result<?> payOrder(String token, MassageOrder massageOrder);
//支付回调
Object payOrderNotify(String requestBody);
}

+ 95
- 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/OrderServiceImpl.java View File

@ -1,7 +1,10 @@
package org.jeecg.modules.apiService.impl;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.binarywang.wxpay.bean.notify.WxPayOrderNotifyResult;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.jeecg.common.api.vo.Result;
import org.jeecg.config.shiro.ShiroRealm;
@ -13,13 +16,21 @@ import org.jeecg.modules.massageItem.entity.MassageItem;
import org.jeecg.modules.massageItem.service.IMassageItemService;
import org.jeecg.modules.massageOrder.entity.MassageOrder;
import org.jeecg.modules.massageOrder.service.IMassageOrderService;
import org.jeecg.modules.massageShop.entity.MassageShop;
import org.jeecg.modules.pay.MpWxPayService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
@Slf4j
@Service
public class OrderServiceImpl implements OrderService {
/******************************************************************************************************************/
//支付接口
@Autowired
private MpWxPayService mpWxPayService;
//权限验证
@Resource
private ShiroRealm shiroRealm;
@ -109,4 +120,88 @@ public class OrderServiceImpl implements OrderService {
return Result.error("订单详情查询失败");
}
}
//创建订单
@Override
public Result<?> createOrder(String token, MassageOrder massageOrder) {
//返回信息
String massege = "";
try{
//执行新增操作
boolean result = massageOrderService.save(massageOrder);
//判断是否新增成功
if(result){
return Result.OK("创建订单成功");
}else {
return Result.OK("创建订单失败");
}
}catch (Exception e){
e.printStackTrace();
return Result.error("创建订单失败");
}
}
//支付订单
@Override
public Result<?> payOrder(String token, MassageOrder massageOrder) {
//权限验证
HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token);
try{
//订单信息
String payNo = IdWorker.getIdStr();//生成订单号
massageOrder.setId(payNo);
//查询服务信息
MassageItem item = massageItemService.getById(massageOrder.getItemId());
//吊起微信支付
BigDecimal price = massageOrder.getAmount();//价格
String productName = item.getTitle();//服务名称
String s = price.multiply(new BigDecimal(100)).toString();
int i1 = Double.valueOf(s).intValue();
Object appOrder = mpWxPayService.createOrder(
"购买"+ productName ,
"127.0.0.1",
massageOrder.getId(),
i1,
massageOrder.getId(),
hanHaiMember.getAppletOpenid(),
massageOrder.toString());
return Result.OK("支付成功",appOrder);
}catch (Exception e){
e.printStackTrace();
return Result.OK("支付失败");
}
}
//开通vip-支付回调
public Result<?> payOrderNotify(String requestBody){
WxPayOrderNotifyResult notify = mpWxPayService.notify(requestBody);
String outTradeNo = notify.getOutTradeNo();
log.info("支付回调订单号码:"+outTradeNo);
try{
//查询订单信息
MassageOrder massageOrder = massageOrderService.getById(outTradeNo);
//如果订单存在则修改订单状态
if (massageOrder!=null){
if("0".equals(massageOrder.getStatus())){
massageOrder.setStatus("1");
}
massageOrderService.updateById(massageOrder);
}
}catch (Exception e){
log.info("支付回调失败,订单号码:"+outTradeNo);
e.printStackTrace();
}
return null;
}
}

Loading…
Cancel
Save