diff --git a/src/main/java/com/example/demo/Util/GoldTistV2.java b/src/main/java/com/example/demo/Util/GoldTistV2.java index b8022ac..e7a1ca2 100644 --- a/src/main/java/com/example/demo/Util/GoldTistV2.java +++ b/src/main/java/com/example/demo/Util/GoldTistV2.java @@ -215,6 +215,28 @@ public class GoldTistV2 { return resp; } + public static String addDCCoinNew(String jwcode, int lx, double jbs, String sjzfc, + String remark,double yjjb,String czr,String goodsname){ + //查错误使用 +// String sjzfc = RandomUid(10); + String resp = ""; + try { + + DESGB desjbkc = new DESGB("Jbxt.205"); + String sk = "jwcode="+jwcode+"&number="+jbs+"&uid="+sjzfc+"&remark="+ + remark+"&czr="+czr+"&yjjb="+yjjb+"&czpt=4&goodsname="+goodsname+"&type="+lx; + System.out.println("签名前:"+sk); + String sign = generateSignature(sk.split("&"),"222251821eba7efab6d48e388b8f6baa"); + sk = desjbkc.encrypt(new String(sk.getBytes(), "UTF-8")); + System.out.println(url+"goldUpdate_sign.gold?app=4&sk="+sk+"&sign="+sign); + resp = doGet(url+"goldUpdate_sign.gold?app=4&sk="+sk+"&sign="+sign); + }catch (Exception e){ + System.out.println("加金币异常"+e.toString()); + } + System.out.println(resp); + return resp; + } + /** addCoinRecordNew("94226013","测试","lzh","测试商品"); * @功能描述: 添加一条单独的记录不更新金币 * @开发人员: 弘历研发部 刘志红 于 2025-3-21下午1:58:13 创建 diff --git a/src/main/java/com/example/demo/controller/coin/RechargeController.java b/src/main/java/com/example/demo/controller/coin/RechargeController.java index a3344f7..9dc15da 100644 --- a/src/main/java/com/example/demo/controller/coin/RechargeController.java +++ b/src/main/java/com/example/demo/controller/coin/RechargeController.java @@ -160,6 +160,15 @@ public class RechargeController { } } + @Log("DC免费金币充值") + @PostMapping("/addDC") + public Result addDC(@RequestBody RechargeUser rechargeUser) { + try { + return rechargeService.addDC(rechargeUser); + } catch (Exception e) { + return Result.error(e.getMessage()); + } + } public Result select(@RequestBody Page page, @RequestHeader(defaultValue = "zh_CN") String lang) { try { diff --git a/src/main/java/com/example/demo/security/SecurityConfig.java b/src/main/java/com/example/demo/security/SecurityConfig.java index a237b44..5511027 100644 --- a/src/main/java/com/example/demo/security/SecurityConfig.java +++ b/src/main/java/com/example/demo/security/SecurityConfig.java @@ -60,7 +60,7 @@ public class SecurityConfig { request .requestMatchers( HttpMethod.POST, // 用户不登录就可以访问的路径 - "/admin/login","/upload/**","/detailY/ERP","/home/java/haiwaiyanfa/gold1/**","/home/java/haiwaiyanfa/**","/statistics/**","/Mysql/**","/Temporary/**").permitAll() + "/admin/login","/upload/**","/detailY/ERP","/home/java/haiwaiyanfa/gold1/**","/home/java/haiwaiyanfa/**","/statistics/**","/Mysql/**","/Temporary/**","/beanRecharge/addBeanDC").permitAll() .requestMatchers( "/error","alipay/**","/upload/**","/home/java/haiwaiyanfa/gold1/**","/home/java/haiwaiyanfa/**" ).permitAll() diff --git a/src/main/java/com/example/demo/service/coin/RechargeService.java b/src/main/java/com/example/demo/service/coin/RechargeService.java index 3cf8a1c..fcccb63 100644 --- a/src/main/java/com/example/demo/service/coin/RechargeService.java +++ b/src/main/java/com/example/demo/service/coin/RechargeService.java @@ -27,4 +27,6 @@ public interface RechargeService { //添加充值记录 Result add(RechargeUser rechargeUser); + + Result addDC(RechargeUser rechargeUser); } diff --git a/src/main/java/com/example/demo/serviceImpl/coin/RechargeServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/coin/RechargeServiceImpl.java index 74b5742..aa7bf98 100644 --- a/src/main/java/com/example/demo/serviceImpl/coin/RechargeServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/coin/RechargeServiceImpl.java @@ -1,8 +1,10 @@ package com.example.demo.serviceImpl.coin; +import com.example.demo.Util.GoldTistV2; import com.example.demo.Util.SimpleIdGenerator; import com.example.demo.domain.entity.UserGoldRecord; import com.example.demo.domain.vo.bean.BeanUserCard; +import com.example.demo.exception.SystemException; import com.example.demo.mapper.bean.BeanUserMapper; import com.example.demo.mapper.coin.MarketMapper; import com.example.demo.mapper.coin.RechargeMapper; @@ -150,4 +152,25 @@ public class RechargeServiceImpl implements RechargeService { rechargeMapper.add(userGoldRecord); return Result.success(); } + + @Override + public Result addDC(RechargeUser rechargeUser) { + + if (rechargeUser.getJwcode()==null||rechargeUser.getJwcode()<10000000||rechargeUser.getJwcode()>99999999){ + throw new SystemException("精网号位数小于8位或大于8位"); + } + if (rechargeUser.getFreeGold()==null||rechargeUser.getFreeGold().compareTo(BigDecimal.ZERO)<0){ + throw new SystemException("免费金币不能小于0"); + } + String result = GoldTistV2.addDCCoinNew(rechargeUser.getJwcode().toString(),63,rechargeUser.getFreeGold().doubleValue(),"","DC免费金币赠送",0,"DC","DC免费金币赠送"); + // 只关注 -1, -6, -7 + if ("-6".equals(result)) { + throw new SystemException(String.format("金币发放失败:类型错误(-6),jwcode=%s", rechargeUser.getJwcode())); + // 检查 lx=63 是否被支持 + } else if ("-7".equals(result)) { + throw new SystemException(String.format("金币发放失败:签名错误(-7),jwcode=%s", rechargeUser.getJwcode())); + // 检查签名逻辑或密钥 + } + return Result.success(); + } }