From 15d223c549e0d94316db344f2f6337b605fffbae Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Tue, 16 Jan 2024 10:56:38 +0800
Subject: [PATCH] fapiao
---
src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java | 70 +++++++++++++++++++++++++++++++++-
1 files changed, 67 insertions(+), 3 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java b/src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java
index ba2bc2b..bef7b04 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java
@@ -3,17 +3,22 @@
import cc.mrbird.febs.common.annotation.ControllerEndpoint;
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.enumerates.DataDictionaryEnum;
-import cc.mrbird.febs.mall.dto.AdminAgentAmountDto;
-import cc.mrbird.febs.mall.dto.AdminAgentDetailDto;
-import cc.mrbird.febs.mall.dto.CashOutSettingDto;
+import cc.mrbird.febs.mall.dto.*;
import cc.mrbird.febs.mall.entity.DataDictionaryCustom;
import cc.mrbird.febs.mall.mapper.DataDictionaryCustomMapper;
import cc.mrbird.febs.mall.service.ICommonService;
import cc.mrbird.febs.mall.service.ISystemService;
+import cc.mrbird.febs.pay.model.HeaderDto;
+import cc.mrbird.febs.pay.service.WxFaPiaoService;
import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSONObject;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.httpclient.HttpClient;
+import org.apache.commons.httpclient.methods.PostMethod;
+import org.apache.commons.httpclient.methods.RequestEntity;
+import org.apache.commons.httpclient.methods.StringRequestEntity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
@@ -21,7 +26,9 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
+import java.io.IOException;
import java.math.BigDecimal;
+import java.security.KeyPair;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
@@ -38,6 +45,7 @@
private final ICommonService commonService;
private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
+ private final WxFaPiaoService wxFaPiaoService;
@PostMapping(value = "/bonusSystemSetting")
public FebsResponse bonusSystemSetting(@RequestBody Map<String, Object> map) {
@@ -121,6 +129,48 @@
return new FebsResponse().success().message("操作成功");
}
+ @PostMapping(value = "/faPiaoSet")
+ public FebsResponse faPiaoSet(FaPiaoDto faPiaoDto) {
+ dataDictionaryCustomMapper.updateDicValueByTypeAndCode(
+ DataDictionaryEnum.FP_CALLBACK_URL.getType(),
+ DataDictionaryEnum.FP_CALLBACK_URL.getCode(),
+ faPiaoDto.getCallbackUrl()
+ );
+ KeyPair privateKey = wxFaPiaoService.getPrivateKey();
+ HeaderDto headerDto = new HeaderDto();
+ headerDto.setCallback_url(faPiaoDto.getCallbackUrl());
+ headerDto.setShow_fapiao_cell(false);
+ String parseObj = JSONUtil.parseObj(headerDto).toString();
+ String baseUrl = "https://api.mch.weixin.qq.com";
+ String canonicalUrl = "/v3/new-tax-control-fapiao/merchant/development-config";
+ String postStr = wxFaPiaoService.createAuthorization(
+ "POST",
+ canonicalUrl,
+ parseObj,
+ privateKey
+ );
+ // 创建httppost
+ try {
+ HttpClient httpClient = new HttpClient();
+ PostMethod post = new PostMethod(baseUrl+canonicalUrl);
+ post.setRequestHeader("Accept", "application/json");
+ post.setRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36");
+ post.setRequestHeader("Content-Type", "application/json");
+ post.setRequestHeader("Connection", "keep-alive");
+ post.setRequestHeader("Authorization", "WECHATPAY2-SHA256-RSA2048 "+postStr);
+ RequestEntity entity = new StringRequestEntity(parseObj, "text/html", "utf-8");
+ post.setRequestEntity(entity);
+ httpClient.executeMethod(post);
+ String responseBodyAsString = post.getResponseBodyAsString();
+ cn.hutool.json.JSONObject maps = JSONUtil.parseObj(responseBodyAsString);
+ System.out.println(maps);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ return new FebsResponse().success().message("操作成功");
+ }
+
@PostMapping(value = "/agentDetail")
public FebsResponse agentDetail(AdminAgentDetailDto adminAgentDetailDto) {
DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
@@ -135,6 +185,20 @@
return new FebsResponse().success();
}
+ @PostMapping(value = "/indexVideoSet")
+ public FebsResponse indexVideoSet(AdminIndexVideoDto adminIndexVideoDto) {
+ DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+ DataDictionaryEnum.VIDEO_URL_INDEX.getType(),
+ DataDictionaryEnum.VIDEO_URL_INDEX.getCode()
+ );
+ if(ObjectUtil.isEmpty(dic)){
+ return new FebsResponse().fail().message("请刷新页面重试");
+ }
+ dic.setValue(adminIndexVideoDto.getVideoUrl());
+ dataDictionaryCustomMapper.updateById(dic);
+ return new FebsResponse().success();
+ }
+
// public static void main(String[] args) {
// List<Integer> lines = Arrays.asList(new Integer[]{1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0});
// //数字连续出现的计数
--
Gitblit v1.9.1