瀏覽代碼

支付宝移动端支付

guomengjiao 5 月之前
父節點
當前提交
ca4df70587

+ 17 - 14
.idea/workspace.xml

@@ -30,13 +30,11 @@
   <component name="ChangeListManager">
     <list default="true" id="fc9366aa-6566-4981-8149-d75e02f8e884" name="默认的" comment="支付宝移动端支付">
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/modules/bjflapi/src/main/java/com/jeesite/modules/bjflapi/report/ResearchBriefReportControllerApi.java" beforeDir="false" afterPath="$PROJECT_DIR$/modules/bjflapi/src/main/java/com/jeesite/modules/bjflapi/report/ResearchBriefReportControllerApi.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/modules/bjflapi/src/main/java/com/jeesite/modules/bjflapi/report/WebsiteUserControllerApi.java" beforeDir="false" afterPath="$PROJECT_DIR$/modules/bjflapi/src/main/java/com/jeesite/modules/bjflapi/report/WebsiteUserControllerApi.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/modules/bjflapi/src/main/java/com/jeesite/modules/bjflapi/report/WebsiteUserOrderControllerApi.java" beforeDir="false" afterPath="$PROJECT_DIR$/modules/bjflapi/src/main/java/com/jeesite/modules/bjflapi/report/WebsiteUserOrderControllerApi.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/modules/core/src/main/java/com/jeesite/modules/sys/interceptor/WebsiteLoginInterceptor.java" beforeDir="false" afterPath="$PROJECT_DIR$/modules/core/src/main/java/com/jeesite/modules/sys/interceptor/WebsiteLoginInterceptor.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/modules/core/src/main/java/com/jeesite/modules/sys/utils/R.java" beforeDir="false" afterPath="$PROJECT_DIR$/modules/core/src/main/java/com/jeesite/modules/sys/utils/R.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/modules/report/src/main/java/com/jeesite/modules/report/service/WebsiteUserOrderService.java" beforeDir="false" afterPath="$PROJECT_DIR$/modules/report/src/main/java/com/jeesite/modules/report/service/WebsiteUserOrderService.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/modules/report/src/main/java/com/jeesite/modules/report/web/ResearchBriefReportController.java" beforeDir="false" afterPath="$PROJECT_DIR$/modules/report/src/main/java/com/jeesite/modules/report/web/ResearchBriefReportController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/modules/report/src/main/java/com/jeesite/modules/report/util/AlipayUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/modules/report/src/main/java/com/jeesite/modules/report/util/AlipayUtil.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/modules/report/src/main/java/com/jeesite/modules/report/web/ResearchBriefReportLabelController.java" beforeDir="false" afterPath="$PROJECT_DIR$/modules/report/src/main/java/com/jeesite/modules/report/web/ResearchBriefReportLabelController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/web/src/main/resources/config/application.yml" beforeDir="false" afterPath="$PROJECT_DIR$/web/src/main/resources/config/application.yml" afterDir="false" />
     </list>
     <option name="SHOW_DIALOG" value="false" />
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -461,14 +459,7 @@
       <workItem from="1734579234738" duration="258000" />
       <workItem from="1734579502121" duration="1272000" />
       <workItem from="1734658594781" duration="126472000" />
-      <workItem from="1735184825354" duration="18728000" />
-    </task>
-    <task id="LOCAL-00003" summary="更新">
-      <created>1678439872833</created>
-      <option name="number" value="00003" />
-      <option name="presentableId" value="LOCAL-00003" />
-      <option name="project" value="LOCAL" />
-      <updated>1678439872833</updated>
+      <workItem from="1735184825354" duration="23539000" />
     </task>
     <task id="LOCAL-00004" summary="更新">
       <created>1678439919642</created>
@@ -806,7 +797,14 @@
       <option name="project" value="LOCAL" />
       <updated>1735207878101</updated>
     </task>
-    <option name="localTasksCounter" value="52" />
+    <task id="LOCAL-00052" summary="支付宝移动端支付">
+      <created>1735264259023</created>
+      <option name="number" value="00052" />
+      <option name="presentableId" value="LOCAL-00052" />
+      <option name="project" value="LOCAL" />
+      <updated>1735264259023</updated>
+    </task>
+    <option name="localTasksCounter" value="53" />
     <servers />
   </component>
   <component name="TypeScriptGeneratedFilesManager">
@@ -896,6 +894,11 @@
           <line>140</line>
           <option name="timeStamp" value="47" />
         </line-breakpoint>
+        <line-breakpoint enabled="true" type="java-line">
+          <url>file://$PROJECT_DIR$/modules/report/src/main/java/com/jeesite/modules/report/service/WebsiteUserOrderService.java</url>
+          <line>68</line>
+          <option name="timeStamp" value="50" />
+        </line-breakpoint>
       </breakpoints>
     </breakpoint-manager>
     <watches-manager>

+ 1 - 1
modules/bjflapi/src/main/java/com/jeesite/modules/bjflapi/report/WebsiteUserOrderControllerApi.java

@@ -88,7 +88,7 @@ public class WebsiteUserOrderControllerApi extends AbstractController {
         orderWhere.setWebsiteUserId(uid);
         orderWhere.setResearchBriefReportId(reportId);
         orderWhere.setPayStatus(Constants.orderPayStatus.PAY_SUCCESS);
-        WebsiteUserOrder oldOrder = websiteUserOrderService.get(orderWhere);
+        WebsiteUserOrder oldOrder = websiteUserOrderService.getOne(orderWhere);
         if (oldOrder == null) {
             return R.fail(5002, "用户未支付");
         }

+ 3 - 0
modules/report/src/main/java/com/jeesite/modules/report/service/WebsiteUserOrderService.java

@@ -243,4 +243,7 @@ public class WebsiteUserOrderService extends CrudService<WebsiteUserOrderDao, We
 		}
 	}
 
+	public WebsiteUserOrder getOne(WebsiteUserOrder orderWhere) {
+		return super.get(orderWhere);
+	}
 }

+ 27 - 8
modules/report/src/main/java/com/jeesite/modules/report/util/AlipayUtil.java

@@ -5,15 +5,10 @@ import com.alipay.api.AlipayApiException;
 import com.alipay.api.AlipayClient;
 import com.alipay.api.DefaultAlipayClient;
 import com.alipay.api.domain.AlipayTradePagePayModel;
+import com.alipay.api.domain.AlipayTradeRefundModel;
 import com.alipay.api.domain.AlipayTradeWapPayModel;
-import com.alipay.api.request.AlipayTradeCloseRequest;
-import com.alipay.api.request.AlipayTradePagePayRequest;
-import com.alipay.api.request.AlipayTradeQueryRequest;
-import com.alipay.api.request.AlipayTradeWapPayRequest;
-import com.alipay.api.response.AlipayTradeCloseResponse;
-import com.alipay.api.response.AlipayTradePagePayResponse;
-import com.alipay.api.response.AlipayTradeQueryResponse;
-import com.alipay.api.response.AlipayTradeWapPayResponse;
+import com.alipay.api.request.*;
+import com.alipay.api.response.*;
 import com.jeesite.modules.report.entity.WebsiteUserOrder;
 import lombok.Data;
 import org.slf4j.Logger;
@@ -184,4 +179,28 @@ public class AlipayUtil {
             return null;
         }
     }
+
+    public String refund(WebsiteUserOrder websiteUserOrder) throws AlipayApiException {
+        // 初始化SDK
+        AlipayClient alipayClient = getAlipayClient();
+
+        // 构造请求参数以调用接口
+        AlipayTradeRefundRequest request = new AlipayTradeRefundRequest();
+        AlipayTradeRefundModel model = new AlipayTradeRefundModel();
+        // 设置商户订单号
+        model.setOutTradeNo(websiteUserOrder.getOrderNumber());
+        // 设置退款金额
+        model.setRefundAmount(websiteUserOrder.getPayPrice().toString());
+        // 设置退款原因说明
+        model.setRefundReason("测试退款");
+
+        request.setBizModel(model);
+        AlipayTradeRefundResponse response = alipayClient.execute(request);
+        logger.info("支付宝 refund 响应:{}", JSONObject.toJSONString(response));
+        if (response.isSuccess()) {
+            return response.getBody();
+        } else {
+            return null;
+        }
+    }
 }

+ 27 - 12
modules/report/src/main/java/com/jeesite/modules/report/web/ResearchBriefReportLabelController.java

@@ -126,20 +126,35 @@ public class ResearchBriefReportLabelController extends BaseController {
 		} else {
 			researchBriefReportLabel.setLevelNum(2);
 		}
+		boolean nameFlag = true;
+		boolean sortNumFlag = true;
+		if (StringUtils.isNotEmpty(researchBriefReportLabel.getId())) {
+			ResearchBriefReportLabel oldLable = researchBriefReportLabelService.get(researchBriefReportLabel.getId());
+			if (oldLable.getName().equals(researchBriefReportLabel.getName())) {
+				nameFlag = false;
+			}
+			if (oldLable.getSortNum().equals(researchBriefReportLabel.getSortNum())) {
+				sortNumFlag = false;
+			}
+		}
 		//判断名称是否重复
-		ResearchBriefReportLabel where = new ResearchBriefReportLabel();
-		where.setName(researchBriefReportLabel.getName());
-		where.setLevelNum(researchBriefReportLabel.getLevelNum());
-		List<ResearchBriefReportLabel> labelList = researchBriefReportLabelService.findNameAndLevel(where);
-		if (CollectionUtils.isNotEmpty(labelList)) {
-			return renderResult(Global.FALSE, text("简报分类本层级名称已存在!"));
+		if (nameFlag) {
+			ResearchBriefReportLabel where = new ResearchBriefReportLabel();
+			where.setName(researchBriefReportLabel.getName());
+			where.setLevelNum(researchBriefReportLabel.getLevelNum());
+			List<ResearchBriefReportLabel> labelList = researchBriefReportLabelService.findNameAndLevel(where);
+			if (CollectionUtils.isNotEmpty(labelList)) {
+				return renderResult(Global.FALSE, text("简报分类本层级名称已存在!"));
+			}
 		}
-		where = new ResearchBriefReportLabel();
-		where.setSortNum(researchBriefReportLabel.getSortNum());
-		where.setLevelNum(researchBriefReportLabel.getLevelNum());
-		labelList = researchBriefReportLabelService.findNameAndLevel(where);
-		if (CollectionUtils.isNotEmpty(labelList)) {
-			return renderResult(Global.FALSE, text("简报分类本层级排序值已存在!"));
+		if (sortNumFlag) {
+			ResearchBriefReportLabel where = new ResearchBriefReportLabel();
+			where.setSortNum(researchBriefReportLabel.getSortNum());
+			where.setLevelNum(researchBriefReportLabel.getLevelNum());
+			List<ResearchBriefReportLabel> labelList = researchBriefReportLabelService.findNameAndLevel(where);
+			if (CollectionUtils.isNotEmpty(labelList)) {
+				return renderResult(Global.FALSE, text("简报分类本层级排序值已存在!"));
+			}
 		}
 		researchBriefReportLabelService.save(researchBriefReportLabel);
 		return renderResult(Global.TRUE, text("保存简报分类成功!"));

文件差異過大導致無法顯示
+ 7 - 7
web/src/main/resources/config/application.yml