Browse Source

1、订单模块修改

master
Aug 2 months ago
parent
commit
f619475d7c
7 changed files with 295 additions and 88 deletions
  1. +114
    -43
      .idea/workspace.xml
  2. +2
    -1
      admin-hanhai-vue/.env.development
  3. +2
    -1
      admin-hanhai-vue/.env.production
  4. +13
    -6
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/massageController/OrderController.java
  5. +5
    -2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/OrderService.java
  6. +137
    -35
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/OrderServiceImpl.java
  7. +22
    -0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiUtils/CommonUtils.java

+ 114
- 43
.idea/workspace.xml View File

@ -1,14 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ChangeListManager">
<list default="true" id="8b88b979-c3fa-4858-8fa6-d3a5d334cf69" name="Default Changelist" comment="">
<list default="true" id="8b88b979-c3fa-4858-8fa6-d3a5d334cf69" name="Default Changelist" comment="优惠券列表接口调整">
<change afterPath="$PROJECT_DIR$/admin-hanhai-vue/dist.zip" afterDir="false" />
<change afterPath="$PROJECT_DIR$/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiUtils/CommonUtils.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" 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$/admin-hanhai-vue/.env.development" beforeDir="false" afterPath="$PROJECT_DIR$/admin-hanhai-vue/.env.development" afterDir="false" />
<change beforePath="$PROJECT_DIR$/admin-hanhai-vue/.env.production" beforeDir="false" afterPath="$PROJECT_DIR$/admin-hanhai-vue/.env.production" 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" />
@ -64,6 +62,7 @@
<property name="WebServerToolWindowFactoryState" value="false" />
<property name="aspect.path.notification.shown" value="true" />
<property name="last_opened_file_path" value="$PROJECT_DIR$/../.." />
<property name="nodejs_package_manager_path" value="yarn" />
<property name="project.structure.last.edited" value="Project" />
<property name="project.structure.proportion" value="0.0" />
<property name="project.structure.side.proportion" value="0.0" />
@ -79,7 +78,23 @@
<recent name="org.jeecg.modules.apiService.impl" />
</key>
</component>
<component name="RunManager">
<component name="RunManager" selected="Application.CommonUtils">
<configuration name="CommonUtils" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
<option name="ALTERNATIVE_JRE_PATH" value="1.8" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="true" />
<option name="MAIN_CLASS_NAME" value="org.jeecg.modules.apiUtils.CommonUtils" />
<module name="jeecg-boot-module-system" />
<shortenClasspath name="CLASSPATH_FILE" />
<extension name="coverage">
<pattern>
<option name="PATTERN" value="org.jeecg.modules.apiUtils.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
<configuration default="true" type="JetRunConfigurationType" factoryName="Kotlin">
<module name="massage-admin" />
<option name="VM_PARAMETERS" />
@ -145,9 +160,26 @@
<option name="Make" enabled="true" />
</method>
</configuration>
<configuration name="build" type="js.build_tools.npm" temporary="true" nameIsGenerated="true">
<package-json value="$PROJECT_DIR$/admin-hanhai-vue/package.json" />
<command value="run" />
<scripts>
<script value="build" />
</scripts>
<node-interpreter value="project" />
<envs />
<method v="2" />
</configuration>
<list>
<item itemvalue="Application.CommonUtils" />
<item itemvalue="npm.build" />
<item itemvalue="Spring Boot.JeecgSystemApplication" />
</list>
<recent_temporary>
<list>
<item itemvalue="Spring Boot.JeecgSystemApplication" />
<item itemvalue="Application.CommonUtils" />
<item itemvalue="npm.build" />
</list>
</recent_temporary>
</component>
@ -163,7 +195,7 @@
<updated>1741573014101</updated>
<workItem from="1741573016746" duration="4323000" />
<workItem from="1741580646045" duration="5038000" />
<workItem from="1741852577555" duration="44039000" />
<workItem from="1741852577555" duration="71519000" />
</task>
<task id="LOCAL-00001" summary="1、项目初始化">
<created>1741919155045</created>
@ -228,7 +260,28 @@
<option name="project" value="LOCAL" />
<updated>1742377504198</updated>
</task>
<option name="localTasksCounter" value="10" />
<task id="LOCAL-00010" summary="订单模块:&#10;1.创建订单&#10;2.订单">
<created>1742379564241</created>
<option name="number" value="00010" />
<option name="presentableId" value="LOCAL-00010" />
<option name="project" value="LOCAL" />
<updated>1742379564241</updated>
</task>
<task id="LOCAL-00011" summary="优惠券列表接口调整">
<created>1742379638881</created>
<option name="number" value="00011" />
<option name="presentableId" value="LOCAL-00011" />
<option name="project" value="LOCAL" />
<updated>1742379638881</updated>
</task>
<task id="LOCAL-00012" summary="1、用户表新增字段:是否商家">
<created>1742868065298</created>
<option name="number" value="00012" />
<option name="presentableId" value="LOCAL-00012" />
<option name="project" value="LOCAL" />
<updated>1742868065298</updated>
</task>
<option name="localTasksCounter" value="13" />
<servers />
</component>
<component name="TypeScriptGeneratedFilesManager">
@ -256,13 +309,16 @@
<MESSAGE value="1、会员中心模块" />
<MESSAGE value="1、推广模块" />
<MESSAGE value="1、优惠券模块" />
<option name="LAST_COMMIT_MESSAGE" value="1、优惠券模块" />
<MESSAGE value="订单模块:&#10;1.创建订单&#10;2.订单" />
<MESSAGE value="优惠券列表接口调整" />
<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">
<state x="734" y="358" key="#com.intellij.execution.impl.EditConfigurationsDialog" timestamp="1743581020633">
<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="734" y="358" key="#com.intellij.execution.impl.EditConfigurationsDialog/0.0.2560.1400@0.0.2560.1400" timestamp="1743581020633" />
<state x="1085" y="408" key="#com.intellij.ide.util.MemberChooser" timestamp="1742378026634">
<screen x="0" y="0" width="2560" height="1400" />
</state>
@ -275,70 +331,74 @@
<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="1742379563671">
<state x="679" y="297" key="CommitChangelistDialog2" timestamp="1742868064612">
<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="1742379563671" />
<state x="92" y="92" width="2376" height="1216" key="DiffContextDialog" timestamp="1742379424387">
<state x="679" y="297" key="CommitChangelistDialog2/0.0.2560.1400@0.0.2560.1400" timestamp="1742868064612" />
<state x="92" y="92" width="2376" height="1216" key="DiffContextDialog" timestamp="1743043766719">
<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="1742379424387" />
<state width="2517" height="388" key="GridCell.Tab.0.bottom" timestamp="1742379587062">
<state x="92" y="92" width="2376" height="1216" key="DiffContextDialog/0.0.2560.1400@0.0.2560.1400" timestamp="1743043766719" />
<state x="1060" y="458" key="FileChooserDialogImpl" timestamp="1743043710794">
<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="1742379587062" />
<state width="2517" height="388" key="GridCell.Tab.0.center" timestamp="1742379587062">
<state x="1060" y="458" key="FileChooserDialogImpl/0.0.2560.1400@0.0.2560.1400" timestamp="1743043710794" />
<state width="2517" height="388" key="GridCell.Tab.0.bottom" timestamp="1743671333588">
<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="1742379587062" />
<state width="2517" height="388" key="GridCell.Tab.0.left" timestamp="1742379587062">
<state width="2517" height="388" key="GridCell.Tab.0.bottom/0.0.2560.1400@0.0.2560.1400" timestamp="1743671333588" />
<state width="2517" height="388" key="GridCell.Tab.0.center" timestamp="1743671333588">
<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="1742379587062" />
<state width="2517" height="388" key="GridCell.Tab.0.right" timestamp="1742379587062">
<state width="2517" height="388" key="GridCell.Tab.0.center/0.0.2560.1400@0.0.2560.1400" timestamp="1743671333588" />
<state width="2517" height="388" key="GridCell.Tab.0.left" timestamp="1743671333588">
<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="1742379587062" />
<state width="2517" height="388" key="GridCell.Tab.1.bottom" timestamp="1742379586966">
<state width="2517" height="388" key="GridCell.Tab.0.left/0.0.2560.1400@0.0.2560.1400" timestamp="1743671333588" />
<state width="2517" height="388" key="GridCell.Tab.0.right" timestamp="1743671333588">
<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="1742379586966" />
<state width="2517" height="388" key="GridCell.Tab.1.center" timestamp="1742379586965">
<state width="2517" height="388" key="GridCell.Tab.0.right/0.0.2560.1400@0.0.2560.1400" timestamp="1743671333588" />
<state width="2517" height="388" key="GridCell.Tab.1.bottom" timestamp="1743671145005">
<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="1742379586965" />
<state width="2517" height="388" key="GridCell.Tab.1.left" timestamp="1742379586965">
<state width="2517" height="388" key="GridCell.Tab.1.bottom/0.0.2560.1400@0.0.2560.1400" timestamp="1743671145005" />
<state width="2517" height="388" key="GridCell.Tab.1.center" timestamp="1743671145005">
<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="1742379586965" />
<state width="2517" height="388" key="GridCell.Tab.1.right" timestamp="1742379586965">
<state width="2517" height="388" key="GridCell.Tab.1.center/0.0.2560.1400@0.0.2560.1400" timestamp="1743671145005" />
<state width="2517" height="388" key="GridCell.Tab.1.left" timestamp="1743671145005">
<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="1742379586965" />
<state width="2517" height="388" key="GridCell.Tab.2.bottom" timestamp="1742379586966">
<state width="2517" height="388" key="GridCell.Tab.1.left/0.0.2560.1400@0.0.2560.1400" timestamp="1743671145005" />
<state width="2517" height="388" key="GridCell.Tab.1.right" timestamp="1743671145005">
<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="1742379586966" />
<state width="2517" height="388" key="GridCell.Tab.2.center" timestamp="1742379586966">
<state width="2517" height="388" key="GridCell.Tab.1.right/0.0.2560.1400@0.0.2560.1400" timestamp="1743671145005" />
<state width="2517" height="388" key="GridCell.Tab.2.bottom" timestamp="1743671009635">
<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="1742379586966" />
<state width="2517" height="388" key="GridCell.Tab.2.left" timestamp="1742379586966">
<state width="2517" height="388" key="GridCell.Tab.2.bottom/0.0.2560.1400@0.0.2560.1400" timestamp="1743671009635" />
<state width="2517" height="388" key="GridCell.Tab.2.center" timestamp="1743671009635">
<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="1742379586966" />
<state width="2517" height="388" key="GridCell.Tab.2.right" timestamp="1742379586966">
<state width="2517" height="388" key="GridCell.Tab.2.center/0.0.2560.1400@0.0.2560.1400" timestamp="1743671009635" />
<state width="2517" height="388" key="GridCell.Tab.2.left" timestamp="1743671009635">
<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="1742379586966" />
<state width="2517" height="388" key="GridCell.Tab.2.left/0.0.2560.1400@0.0.2560.1400" timestamp="1743671009635" />
<state width="2517" height="388" key="GridCell.Tab.2.right" timestamp="1743671009635">
<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="1743671009635" />
<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="1742379570039">
<state x="872" y="436" key="Vcs.Push.Dialog.v2" timestamp="1742868068294">
<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="1742379570039" />
<state x="872" y="436" key="Vcs.Push.Dialog.v2/0.0.2560.1400@0.0.2560.1400" timestamp="1742868068294" />
<state x="972" y="527" key="com.intellij.ide.util.TipDialog" timestamp="1741580728988">
<screen x="0" y="0" width="2560" height="1400" />
</state>
@ -352,4 +412,15 @@
</state>
<state x="943" y="315" width="672" height="678" key="search.everywhere.popup/0.0.2560.1400@0.0.2560.1400" timestamp="1742211424843" />
</component>
<component name="XDebuggerManager">
<breakpoint-manager>
<breakpoints>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/OrderServiceImpl.java</url>
<line>265</line>
<option name="timeStamp" value="9" />
</line-breakpoint>
</breakpoints>
</breakpoint-manager>
</component>
</project>

+ 2
- 1
admin-hanhai-vue/.env.development View File

@ -1,5 +1,6 @@
NODE_ENV=development
VUE_APP_API_BASE_URL=http://localhost:8000/massage-admin/
VUE_APP_API_BASE_URL=https://adminmassage.augcl.com/massage-admin/
//VUE_APP_API_BASE_URL=http://localhost:8000/massage-admin/
VUE_APP_CAS_BASE_URL=http://cas.example.org:8443/cas
VUE_APP_ONLINE_BASE_URL=http://fileview.jeecg.com/onlinePreview


+ 2
- 1
admin-hanhai-vue/.env.production View File

@ -1,4 +1,5 @@
NODE_ENV=production
VUE_APP_API_BASE_URL=http://localhost:8000/massage-admin/
VUE_APP_API_BASE_URL=https://adminmassage.augcl.com/massage-admin/
//VUE_APP_API_BASE_URL=http://localhost:8000/massage-admin/
VUE_APP_CAS_BASE_URL=http://localhost:8888/cas
VUE_APP_ONLINE_BASE_URL=http://fileview.jeecg.com/onlinePreview

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

@ -40,17 +40,24 @@ public class OrderController {
}
//创建订单
@ApiOperation(value="订单-创建订单", notes="订单-创建订单")
@ApiOperation(value="订单-创建订单", notes="支付方式(payType):0-微信支付 1-余额支付")
@RequestMapping(value = "/createOrder", method = {RequestMethod.POST})
public Result<?> createOrder(@RequestHeader("X-Access-Token") String token, MassageOrder massageOrder){
return orderService.createOrder(token, massageOrder);
public Result<?> createOrder(@RequestHeader("X-Access-Token") String token, MassageOrder massageOrder, String payType){
return orderService.createOrder(token, massageOrder, payType);
}
//支付订单
@ApiOperation(value="订单-支付订单", notes="订单-支付订单")
@ApiOperation(value="订单-支付订单", notes="支付方式(payType):0-微信支付 1-余额支付")
@RequestMapping(value = "/payOrder", method = {RequestMethod.POST})
public Result<?> payOrder(@RequestHeader("X-Access-Token") String token, MassageOrder massageOrder){
return orderService.payOrder(token, massageOrder);
public Result<?> payOrder(@RequestHeader("X-Access-Token") String token, String orderId, String payType){
return orderService.payOrder(token, orderId, payType);
}
//订单核销
@ApiOperation(value="订单-订单核销", notes="订单-订单核销")
@RequestMapping(value = "/overOrder", method = {RequestMethod.POST})
public Result<?> overOrder(@RequestHeader("X-Access-Token") String token, String orderId){
return orderService.overOrder(token, orderId);
}
//支付回调


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

@ -17,10 +17,13 @@ public interface OrderService {
public Result<?> queryOrderById(String token, String id);
//创建订单
public Result<?> createOrder(String token, MassageOrder massageOrder);
public Result<?> createOrder(String token, MassageOrder massageOrder, String payType);
//支付订单
public Result<?> payOrder(String token, MassageOrder massageOrder);
public Result<?> payOrder(String token, String orderId, String payType);
//订单核销
public Result<?> overOrder(String token, String orderId);
//支付回调
Object payOrderNotify(String requestBody);


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

@ -10,6 +10,7 @@ import org.jeecg.common.api.vo.Result;
import org.jeecg.config.shiro.ShiroRealm;
import org.jeecg.modules.apiBean.PageBean;
import org.jeecg.modules.apiService.OrderService;
import org.jeecg.modules.apiUtils.CommonUtils;
import org.jeecg.modules.hanHaiMember.entity.HanHaiMember;
import org.jeecg.modules.hanHaiMember.service.IHanHaiMemberService;
import org.jeecg.modules.massageItem.entity.MassageItem;
@ -123,64 +124,165 @@ public class OrderServiceImpl implements OrderService {
//创建订单
@Override
public Result<?> createOrder(String token, MassageOrder massageOrder) {
//返回信息
String massege = "";
public Result<?> createOrder(String token, MassageOrder massageOrder, String payType) {
//权限验证
HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token);
try{
//执行新增操作
boolean result = massageOrderService.save(massageOrder);
//判断是否新增成功
if(result){
return Result.OK("创建订单成功");
}else {
return Result.OK("创建订单失败");
}
//订单信息
String payNo = IdWorker.getIdStr();//生成订单号
massageOrder.setId(payNo);
massageOrder.setUserId(hanHaiMember.getId());
//查询服务信息
MassageItem item = massageItemService.getById(massageOrder.getItemId());
//创建订单
massageOrderService.save(massageOrder);
//订单支付
switch (payType){
//微信支付
case "0":
//吊起微信支付
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);
//余额支付
case "1":
//用户余额
BigDecimal balance = hanHaiMember.getPrice();
//订单实付金额
BigDecimal amount = massageOrder.getAmount();
if(balance.compareTo(amount) == 1 ){
//等同于a>b
balance = balance.subtract(amount);
}
//修改用户余额
hanHaiMemberService.updateById(hanHaiMember);
//修改订单信息
massageOrder.setStatus("1");//订单状态
massageOrder.setPayTime(CommonUtils.getCurrentTime());//订单支付时间
massageOrderService.updateById(massageOrder);
return Result.OK("支付成功");
}
return Result.error("支付失败");
}catch (Exception e){
e.printStackTrace();
return Result.error("创建订单失败");
return Result.error("支付失败");
}
}
//支付订单
@Override
public Result<?> payOrder(String token, MassageOrder massageOrder) {
public Result<?> payOrder(String token, String orderId, String payType) {
//权限验证
HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token);
try{
//订单信息
String payNo = IdWorker.getIdStr();//生成订单号
massageOrder.setId(payNo);
MassageOrder massageOrder = massageOrderService.getById(orderId);
//查询服务信息
MassageItem item = massageItemService.getById(massageOrder.getItemId());
//订单支付
switch (payType){
//微信支付
case "0":
//吊起微信支付
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);
//余额支付
case "1":
//用户余额
BigDecimal balance = hanHaiMember.getPrice();
//订单实付金额
BigDecimal amount = massageOrder.getAmount();
if(balance.compareTo(amount) == 1 ){
//等同于a>b
balance = balance.subtract(amount);
}else {
return Result.error("余额不足,支付失败");
}
//修改用户余额
hanHaiMember.setPrice(balance);
hanHaiMemberService.updateById(hanHaiMember);
//修改订单信息
massageOrder.setStatus("1");//订单状态
massageOrder.setPayTime(CommonUtils.getCurrentTime());//订单支付时间
massageOrderService.updateById(massageOrder);
return Result.OK("支付成功");
}
return Result.error("支付失败");
}catch (Exception e){
e.printStackTrace();
return Result.error("支付失败");
}
}
//订单核销
@Override
public Result<?> overOrder(String token, String orderId) {
//权限验证
HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token);
try {
//订单信息
MassageOrder massageOrder = massageOrderService.getById(orderId);
//查询服务信息
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);
//修改订单信息
massageOrder.setStatus("2");//订单状态
massageOrder.setUseTime(CommonUtils.getCurrentTime());//订单支付时间
massageOrderService.updateById(massageOrder);
return Result.error("核销成功");
}catch (Exception e){
e.printStackTrace();
return Result.OK("支付失败");
return Result.error("核销失败");
}
}
//开通vip-支付回调
//订单支付回调
public Result<?> payOrderNotify(String requestBody){
WxPayOrderNotifyResult notify = mpWxPayService.notify(requestBody);
String outTradeNo = notify.getOutTradeNo();
@ -190,7 +292,7 @@ public class OrderServiceImpl implements OrderService {
//查询订单信息
MassageOrder massageOrder = massageOrderService.getById(outTradeNo);
//如果订单存在则修改订单状态
if (massageOrder!=null){
if (null != massageOrder){
if("0".equals(massageOrder.getStatus())){
massageOrder.setStatus("1");
}


+ 22
- 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiUtils/CommonUtils.java View File

@ -0,0 +1,22 @@
package org.jeecg.modules.apiUtils;
import java.text.SimpleDateFormat;
import java.util.Date;
public class CommonUtils {
//获取当前时间
public static Date getCurrentTime(){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date now = new Date();
String formattedDate = sdf.format(now);
// System.out.println(now); // 输出格式化后的当前时间
// System.out.println(formattedDate); // 输出格式化后的当前时间
return now;
}
public static void main(String[] args) {
System.out.println(getCurrentTime());
}
}

Loading…
Cancel
Save