From 6127f9c2f53b4e11d2ddfc5575631e5403da0410 Mon Sep 17 00:00:00 2001 From: Administrator <15274802129@163.com> Date: Thu, 05 Jun 2025 17:34:45 +0800 Subject: [PATCH] feat(mall): 添加年排行功能并优化积分查询性能 --- src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java | 69 +++++++++++++++++++++++----------- 1 files changed, 46 insertions(+), 23 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 bef7b04..36b5d3a 100644 --- a/src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java +++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java @@ -2,7 +2,9 @@ import cc.mrbird.febs.common.annotation.ControllerEndpoint; import cc.mrbird.febs.common.entity.FebsResponse; +import cc.mrbird.febs.common.enumerates.CommonDictionaryEnum; import cc.mrbird.febs.common.enumerates.DataDictionaryEnum; +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; @@ -29,6 +31,8 @@ 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; @@ -136,39 +140,34 @@ DataDictionaryEnum.FP_CALLBACK_URL.getCode(), faPiaoDto.getCallbackUrl() ); - KeyPair privateKey = wxFaPiaoService.getPrivateKey(); HeaderDto headerDto = new HeaderDto(); - headerDto.setCallback_url(faPiaoDto.getCallbackUrl()); + 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 = wxFaPiaoService.createAuthorization( - "POST", - canonicalUrl, - parseObj, - privateKey - ); - // 创建httppost + String postStr = null; 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); + + PrivateKey privateKey = wxFaPiaoService.getPrivateKeyV3(); + postStr = wxFaPiaoService.createAuthorization( + "PATCH", + baseUrl+canonicalUrl, + parseObj, + privateKey + ); + } catch (NoSuchAlgorithmException e) { + e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } - return new FebsResponse().success().message("操作成功"); + 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") @@ -199,6 +198,30 @@ return new FebsResponse().success(); } + @PostMapping(value = "/indexPngSet") + public FebsResponse indexPngSet(AdminIndexVideoDto adminIndexVideoDto) { +// DataDictionaryCustom pngDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( +// CommonDictionaryEnum.PNG_URL_INDEX.getType(), +// CommonDictionaryEnum.PNG_URL_INDEX.getCode() +// ); +// if(ObjectUtil.isEmpty(pngDic)){ +// return new FebsResponse().fail().message("请刷新页面重试"); +// } +// pngDic.setValue(adminIndexVideoDto.getPngUrl()); +// dataDictionaryCustomMapper.updateById(pngDic); + + DataDictionaryCustom timeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( + CommonDictionaryEnum.TIME_URL_INDEX.getType(), + CommonDictionaryEnum.TIME_URL_INDEX.getCode() + ); + if(ObjectUtil.isEmpty(timeDic)){ + return new FebsResponse().fail().message("请刷新页面重试"); + } + timeDic.setValue(adminIndexVideoDto.getTimeStop()); + dataDictionaryCustomMapper.updateById(timeDic); + 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