From 86f2368f146af23c9e16507f790752e79858a29f Mon Sep 17 00:00:00 2001
From: Hentua <wangdoubleone@gmail.com>
Date: Thu, 22 Feb 2024 22:34:31 +0800
Subject: [PATCH] fix
---
src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 152 insertions(+), 5 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 6b0cc57..3f9d310 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java
@@ -1,18 +1,25 @@
package cc.mrbird.febs.mall.controller;
+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.common.utils.AppContants;
+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;
@@ -20,6 +27,13 @@
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.security.NoSuchAlgorithmException;
+import java.security.PrivateKey;
+import java.util.Arrays;
+import java.util.List;
import java.util.Map;
@Slf4j
@@ -34,6 +48,7 @@
private final ICommonService commonService;
private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
+ private final WxFaPiaoService wxFaPiaoService;
@PostMapping(value = "/bonusSystemSetting")
public FebsResponse bonusSystemSetting(@RequestBody Map<String, Object> map) {
@@ -52,13 +67,106 @@
DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
DataDictionaryEnum.PRICE_AMOUNT.getType(), DataDictionaryEnum.PRICE_AMOUNT.getCode()
);
-
if(ObjectUtil.isEmpty(dic)){
return new FebsResponse().fail().message("请刷新页面重试");
}
+
+ DataDictionaryCustom giveStateDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.GIVE_STATE.getType(),
+ DataDictionaryEnum.GIVE_STATE.getCode());
+ if(ObjectUtil.isEmpty(giveStateDic)){
+ return new FebsResponse().fail().message("请刷新页面重试");
+ }
+
+ DataDictionaryCustom activityBulletinDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.ACTIVITY_BULLETIN.getType(),
+ DataDictionaryEnum.ACTIVITY_BULLETIN.getCode());
+ if(ObjectUtil.isEmpty(activityBulletinDic)){
+ return new FebsResponse().fail().message("请刷新页面重试");
+ }
+
+ DataDictionaryCustom giveAmountDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.GIVE_AMOUNT.getType(),
+ DataDictionaryEnum.GIVE_AMOUNT.getCode());
+ if(ObjectUtil.isEmpty(giveAmountDic)){
+ return new FebsResponse().fail().message("请刷新页面重试");
+ }
+
+ DataDictionaryCustom chargeAmountDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.CHARGE_AMOUNT.getType(),
+ DataDictionaryEnum.CHARGE_AMOUNT.getCode());
+ if(ObjectUtil.isEmpty(chargeAmountDic)){
+ return new FebsResponse().fail().message("请刷新页面重试");
+ }
+
+ String giveState = adminAgentAmountDto.getGiveState();
+ if(1 == Integer.parseInt(giveState)){
+ if(ObjectUtil.isEmpty(adminAgentAmountDto.getActivityBulletin())){
+ return new FebsResponse().fail().message("活动公告不能为空");
+ }
+ if(ObjectUtil.isEmpty(adminAgentAmountDto.getGiveAmount())){
+ return new FebsResponse().fail().message("请输入正确的赠送金额");
+ }
+ if(BigDecimal.ZERO.compareTo(new BigDecimal(adminAgentAmountDto.getGiveAmount())) > 0){
+ return new FebsResponse().fail().message("请输入正确的赠送金额");
+ }
+ if(ObjectUtil.isEmpty(adminAgentAmountDto.getChargeAmount())){
+ return new FebsResponse().fail().message("请输入正确的充值金额");
+ }
+ if(BigDecimal.ZERO.compareTo(new BigDecimal(adminAgentAmountDto.getChargeAmount())) > 0){
+ return new FebsResponse().fail().message("请输入正确的充值金额");
+ }
+ }
+
dic.setValue(adminAgentAmountDto.getAgentAmountValue());
dataDictionaryCustomMapper.updateById(dic);
- return new FebsResponse().success();
+
+ giveStateDic.setValue(adminAgentAmountDto.getGiveState());
+ dataDictionaryCustomMapper.updateById(giveStateDic);
+
+ activityBulletinDic.setValue(adminAgentAmountDto.getActivityBulletin());
+ dataDictionaryCustomMapper.updateById(activityBulletinDic);
+
+ giveAmountDic.setValue(adminAgentAmountDto.getGiveAmount());
+ dataDictionaryCustomMapper.updateById(giveAmountDic);
+
+ chargeAmountDic.setValue(adminAgentAmountDto.getChargeAmount());
+ dataDictionaryCustomMapper.updateById(chargeAmountDic);
+
+ 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()
+ );
+ HeaderDto headerDto = new HeaderDto();
+ headerDto.setCallback_url("https://api.blnka.cn/api/xcxPay/fapiaoCallBack");
+ 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 = null;
+ try {
+
+ PrivateKey privateKey = wxFaPiaoService.getPrivateKeyV3();
+ postStr = wxFaPiaoService.createAuthorization(
+ "PATCH",
+ baseUrl+canonicalUrl,
+ parseObj,
+ privateKey
+ );
+ } catch (NoSuchAlgorithmException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ String token = AppContants.FP_TOKEN_HEADER_TYPE+postStr;
+ System.out.println("WECHATPAY2-SHA256-RSA2048 "+postStr);
+ String s = wxFaPiaoService.sendPatch(baseUrl + canonicalUrl, parseObj, token);
+ log.info("配置开发选项:"+s);
+
+ return new FebsResponse().success().message(s);
}
@PostMapping(value = "/agentDetail")
@@ -74,4 +182,43 @@
dataDictionaryCustomMapper.updateById(dic);
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});
+// //数字连续出现的计数
+// Integer symbol = 0;
+// //数字连续出现的次数限制
+// Integer times = 3;
+// //出现的数字
+// Integer symbolNum = 1;
+// //满足规则的次数
+// Integer timesOneSign = 0;
+// for(int i=0;i<lines.size();i++){
+// if(symbolNum == lines.get(i)){
+// symbol = symbol + 1;
+// if(symbol >= times){
+// timesOneSign = timesOneSign + 1;
+// symbol = 0;
+// }
+// }else{
+// symbol = 0;
+// }
+// }
+//
+// System.out.println(timesOneSign);
+// }
}
--
Gitblit v1.9.1