From ac3e9a7f0b21fb630049f9e191bd760eefd21467 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期六, 16 八月 2025 18:04:38 +0800 Subject: [PATCH] 管理后台会员管理 --- cloud-server-account/src/main/java/com/dsh/account/controller/AppUserController.java | 101 ++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 88 insertions(+), 13 deletions(-) diff --git a/cloud-server-account/src/main/java/com/dsh/account/controller/AppUserController.java b/cloud-server-account/src/main/java/com/dsh/account/controller/AppUserController.java index d08d1cb..c3f74a1 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/controller/AppUserController.java +++ b/cloud-server-account/src/main/java/com/dsh/account/controller/AppUserController.java @@ -1,17 +1,15 @@ package com.dsh.account.controller; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.api.R; import com.dsh.account.dto.BindDto; import com.dsh.account.dto.IntroduceUserQuery; import com.dsh.account.dto.SelectDto; import com.dsh.account.dto.UpdateInfoDto; -import com.dsh.account.entity.IntroduceUser; -import com.dsh.account.entity.TAppGift; -import com.dsh.account.entity.TAppUser; -import com.dsh.account.entity.TCourseInfoRecord; -import com.dsh.account.entity.TStudent; -import com.dsh.account.entity.UserIntegralChanges; +import com.dsh.account.entity.*; +import com.dsh.account.feignclient.other.VipClient; import com.dsh.account.model.AddAppUserVo; import com.dsh.account.model.AdvertisementChangeStateDTO; import com.dsh.account.model.AppUserByNameAndPhoneDTO; @@ -32,6 +30,9 @@ import com.dsh.account.util.ResultUtil; import com.dsh.account.util.TokenUtil; import com.dsh.account.util.ToolUtil; +import com.dsh.account.util.wx.WxV3PayConfig; +import com.dsh.account.vo.VipPaymentVO; +import com.wechat.pay.contrib.apache.httpclient.util.AesUtil; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; @@ -46,7 +47,9 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.io.BufferedReader; import java.io.PrintWriter; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -63,6 +66,8 @@ @Autowired private TAppUserService appUserService; + @Autowired + private VipClient vipClient; @Autowired private PayMoneyUtil payMoneyUtil; @@ -198,7 +203,8 @@ @ResponseBody @GetMapping("/base/appUser/getAppUserByPhone/{phone}") public TAppUser getAppUserByPhone(@PathVariable("phone") String phone) { - TAppUser appUser = appUserService.getOne(new QueryWrapper<TAppUser>().eq("phone", phone)); + TAppUser appUser = appUserService.getOne(new QueryWrapper<TAppUser>().eq("phone", phone) + .eq("state",1)); return appUser; } @@ -290,8 +296,7 @@ @ResponseBody @PostMapping("/base/appUser/loginSMSCode") @ApiOperation(value = "短信验证码登录", tags = {"APP-登录注册"}) - @ApiImplicitParams({ - }) + public ResultUtil<String> loginSMSCode(LoginSMSCodeVo loginSMSCodeVo) { try { return appUserService.loginSMSCode(loginSMSCodeVo); @@ -433,9 +438,10 @@ @ApiOperation(value = "购买年度会员", tags = {"APP-成为会员"}) @ApiImplicitParams({ @ApiImplicitParam(value = "支付方式(1=微信,2=支付宝)", name = "payType", dataType = "int", required = true), + @ApiImplicitParam(value = "会员卡id", name = "id", dataType = "int", required = true), @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) - public ResultUtil addVipPayment(Integer payType) { + public ResultUtil addVipPayment(Integer payType,Integer id) { if (ToolUtil.isEmpty(payType)) { return ResultUtil.paranErr("payType"); } @@ -444,14 +450,84 @@ if (null == uid) { return ResultUtil.tokenErr(); } - return vipPaymentService.addVipPayment(uid, payType); + return vipPaymentService.addVipPayment(uid, payType, id); } catch (Exception e) { e.printStackTrace(); return ResultUtil.runErr(); } } + @ResponseBody + @PostMapping("/api/appUser/vipPayment") + @ApiOperation(value = "页面数据展示", tags = {"APP-成为会员"}) + @ApiImplicitParams({ + @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") + }) + public ResultUtil<VipPaymentVO> vipPayment() { - + try { + Integer uid = tokenUtil.getUserIdFormRedis(); + if (null == uid) { + return ResultUtil.tokenErr(); + } + TAppUser appUser = appUserService.getById(uid); + VipPaymentVO res = new VipPaymentVO(); + res.setHeadImg(appUser.getHeadImg()); + res.setName(appUser.getName()); + res.setIsVip(appUser.getIsVip()); + List<Vip> vips = vipClient.listAll(); + res.setVipList(vips); + } catch (Exception e) { + e.printStackTrace(); + return ResultUtil.runErr(); + } + return ResultUtil.success(); + } +// +// /** +// * 购买年度会员支付微信回调V3版本回调 +// * +// * @param request +// * @param response +// */ +// @ResponseBody +// @PostMapping("/base/appUser/addVipPaymentWeChatCallback1") +// public void addVipPaymentWeChatCallback1(HttpServletRequest request, HttpServletResponse response) { +// try { +// System.err.println("微信回调"); +// System.err.println("请求" + request); +// BufferedReader reader = request.getReader(); +// String string1 = reader.toString(); +// System.err.println("请求reader" + string1); +// StringBuilder requestBody = new StringBuilder(); +// String line; +// while ((line = reader.readLine()) != null) { +// requestBody.append(line); +// } +// System.err.println("全部请求体" + requestBody); +// JSONObject jsonObject = JSONObject.parseObject(requestBody.toString()); +// JSONObject resource = jsonObject.getJSONObject("resource"); +// +// AesUtil aesUtil = new AesUtil(WxV3PayConfig.apiV3Key.getBytes(StandardCharsets.UTF_8)); +// String decryptedData = aesUtil.decryptToString(resource.getString("associated_data").getBytes(StandardCharsets.UTF_8), resource.getString("nonce").getBytes(StandardCharsets.UTF_8), +// resource.getString("ciphertext")); +// System.err.println("微信解密的字符串信息" + decryptedData); +// JSONObject jsonInfo = (JSONObject) JSONObject.parse(decryptedData); +// String out_trade_no = jsonInfo.getString("out_trade_no"); +// String transaction_id = jsonInfo.getString("transaction_id"); +// String trade_state = jsonInfo.getString("trade_state"); +// if (trade_state.equals("SUCCESS")) { +// ResultUtil resultUtil = vipPaymentService.addVipPaymentCallback(out_trade_no, transaction_id); +// if (resultUtil.getCode() == 200) { +// PrintWriter out = response.getWriter(); +// out.write("SUCCESS"); +// out.flush(); +// out.close(); +// } +// } +// } catch (Exception e) { +// e.printStackTrace(); +// } +// } /** * 购买年度会员支付微信回调 * @@ -479,7 +555,6 @@ e.printStackTrace(); } } - /** * 购买年度会员支付支付宝回调 -- Gitblit v1.7.1