From 05f53069a91f979ec3d18e0a7abc8ce67c2656b2 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期四, 04 九月 2025 14:35:01 +0800 Subject: [PATCH] bug修改 --- ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TIntegralController.java | 30 +++++++++++++++++------------- 1 files changed, 17 insertions(+), 13 deletions(-) diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TIntegralController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TIntegralController.java index 5929a93..73054d3 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TIntegralController.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TIntegralController.java @@ -39,12 +39,11 @@ import com.ruoyi.system.api.feignClient.SysUserClient; import com.ruoyi.system.api.model.LoginUser; import io.swagger.annotations.ApiOperation; +import org.apache.http.HttpResponse; import org.apache.tomcat.util.http.fileupload.ByteArrayOutputStream; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.io.ByteArrayResource; -import org.springframework.http.HttpEntity; -import org.springframework.http.HttpMethod; -import org.springframework.http.ResponseEntity; +import org.springframework.http.*; import org.springframework.mock.web.MockMultipartFile; import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.MultiValueMap; @@ -194,7 +193,7 @@ } @ApiOperation(tags = {"2.0-积分钱包"}, value = "获取小程序二维码") @PostMapping(value = "/getQrCode") - public R getQrCode() { + public R getQrCode(@RequestParam("amount") String amount ) { LoginUser loginUser = tokenService.getLoginUser(); SysUser data = sysUserClient.getSysUser(loginUser.getUserid()).getData(); // 充值手机号 @@ -203,9 +202,11 @@ OutputStream outputStream = null; String accessToken = wxAppletTools.getAccessToken(); try { - String url = "https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=" + accessToken; + String url = "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=" + accessToken; Map<String, Object> param = new HashMap<>(); - param.put("scene", "phone=" + phonenumber); +// param.put("scene", "phone=" + phonenumber); + param.put("scene", "phone=" + phonenumber+",amount="+amount); + param.put("page", "chargingPile/payMent/payMent"); param.put("check_path", false); param.put("env_version", "trial"); param.put("width", 200); //二维码尺寸 @@ -217,12 +218,14 @@ line_color.put("b", 0); param.put("line_color", line_color); System.err.println("调用生成微信URL接口传参:" + param); - MultiValueMap<String, String> headers = new LinkedMultiValueMap<>(); + HttpHeaders headers = new HttpHeaders(); + headers.setContentType(MediaType.APPLICATION_JSON); HttpEntity requestEntity = new HttpEntity(param, headers); - ResponseEntity<byte[]> entity = restTemplate.exchange(url, HttpMethod.POST, requestEntity, byte[].class, new Object[0]); + ResponseEntity<byte[]> entity = restTemplate.exchange(url, HttpMethod.POST, requestEntity, byte[].class); System.err.println("调用小程序生成微信永久小程序码URL接口返回结果:" + entity.getBody()); byte[] result = entity.getBody(); inputStream = new ByteArrayInputStream(result); + //拿到httpResponse后,在获取里面的图片 SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); // 最后上传生成的文件名 String finalFileName = System.currentTimeMillis() + "" + new SecureRandom().nextInt(0x0400) + ".jpg"; @@ -286,7 +289,7 @@ Map<String, Object> dataMap = new LinkedHashMap<String, Object>(); // 使用LinkedHashMap保持顺序 dataMap.put("goods_desc", "积分充值"); dataMap.put("huifu_id", "6666000174575407"); - dataMap.put("notify_url", "http://221.182.45.100:8084/other/wx/integralCallback"); + dataMap.put("notify_url", "http://47.120.5.122:8080/other/wx/integralCallback"); dataMap.put("req_date", date.format(new Date())); dataMap.put("req_seq_id", code); dataMap.put("trade_type", "T_MINIAPP"); @@ -400,7 +403,7 @@ Map<String, Object> dataMap = new LinkedHashMap<String, Object>(); // 使用LinkedHashMap保持顺序 dataMap.put("goods_desc", "积分充值"); dataMap.put("huifu_id", "6666000174575407"); - dataMap.put("notify_url", "http://221.182.45.100:8084/other/wx/integralCallback"); + dataMap.put("notify_url", "http://47.120.5.122:8080/other/wx/integralCallback"); dataMap.put("req_date", date.format(new Date())); dataMap.put("req_seq_id", code); dataMap.put("trade_type", "T_MINIAPP"); @@ -487,7 +490,7 @@ Map<String, Object> dataMap = new LinkedHashMap<String, Object>(); // 使用LinkedHashMap保持顺序 dataMap.put("goods_desc", "积分充值"); dataMap.put("huifu_id", "6666000174575407"); - dataMap.put("notify_url", "http://221.182.45.100:8084/other/wx/integralCallback"); + dataMap.put("notify_url", "http://47.120.5.122:8080/other/wx/integralCallback"); dataMap.put("req_date", date.format(new Date())); dataMap.put("req_seq_id", code); dataMap.put("trade_type", "T_JSAPI"); @@ -502,6 +505,7 @@ // 将dataMap转化为json对象 String signStr = JSON.toJSONString(JSONObject.parseObject(JSON.toJSONString(dataMap), TreeMap.class)); + System.out.println("待签名字符串:" + signStr); @@ -613,7 +617,7 @@ if (data != null ) { if (data.getRoleType() == 1) { // 平台 - SysConfig data1 = sysConfigClient.getInfo(8L).getData(); + SysConfig data1 = sysConfigClient.getInfo(10L).getData(); sysConfigClient.update(data1); TIntegralRule tIntegralRule = new TIntegralRule(); tIntegralRule.setChargeCredit("{\"num1\":"+data1.getConfigValue()+"}"); @@ -646,7 +650,7 @@ SysUser data = sysUserClient.getSysUser(userid).getData(); if (data.getRoleType() == 1) { - SysConfig data1 = sysConfigClient.getInfo(8L).getData(); + SysConfig data1 = sysConfigClient.getInfo(10L).getData(); JSONObject jsonObject = JSONObject.parseObject(dto.getChargeCredit()); Integer num1 = jsonObject.getInteger("num1"); data1.setConfigValue(num1.toString()); -- Gitblit v1.7.1