From eb6b6dbb35a9f029e0b7d269773685c19fd40976 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期四, 11 七月 2024 10:47:51 +0800 Subject: [PATCH] 玩湃微信商户认证代码 --- cloud-server-account/src/main/java/com/dsh/account/controller/AppUserController.java | 506 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 487 insertions(+), 19 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 26493d1..d40d094 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,15 +1,34 @@ package com.dsh.account.controller; -import com.dsh.account.model.AddAppUserVo; -import com.dsh.account.model.LoginSMSCodeVo; -import com.dsh.account.model.LoginWeChatVo; -import com.dsh.account.service.TAppUserService; +import com.alibaba.nacos.common.utils.Md5Utils; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +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.*; +import com.dsh.account.model.*; +import com.dsh.account.model.query.appUserQuery.QueryAppUser; +import com.dsh.account.model.vo.QueryAppUserVO; +import com.dsh.account.service.*; +import com.dsh.account.util.PayMoneyUtil; import com.dsh.account.util.ResultUtil; +import com.dsh.account.util.TokenUtil; +import com.dsh.account.util.ToolUtil; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; +import io.swagger.models.auth.In; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.PrintWriter; +import java.util.*; +import java.util.List; +import java.util.stream.Collectors; /** * @author zhibing.pu @@ -22,9 +41,145 @@ @Autowired private TAppUserService appUserService; + @Autowired + private PayMoneyUtil payMoneyUtil; + @Autowired + private IVipPaymentService vipPaymentService; + @Autowired + private TokenUtil tokenUtil; + @Autowired + private TCourseInfoRecordService courseInfoRecordService; + + @Autowired + private TAppGiftService appGiftService; + + /** + * 根据介绍有礼id查询当前活动参与次数 + */ + @ResponseBody + @PostMapping("/base/appUser/getActivityPeoples") + public Integer getActivityPeoples(@RequestBody Integer activityId) { + int activityId1 = appGiftService.list(new QueryWrapper<TAppGift>().eq("activityId", activityId)) + .size(); + return activityId1; + } + + /** + * 介绍有礼 -- 参与用户列表 + */ + @ResponseBody + @PostMapping("/base/appUser/queryIntroduceAll") + public List<IntroduceUser> queryIntroduceAll(@RequestBody IntroduceUserQuery query) { + return appGiftService.queryIntroduceAll(query); + } + + /** + * 获取所有用户 + */ + @ResponseBody + @PostMapping("/base/appUser/queryAppUserList") + public List<TAppUser> queryAppUserList(@RequestBody AppUserByNameAndPhoneDTO dto) { + return appUserService.queryAPPUserByNameAndPhone(dto); + } + + /** + * 根据用户姓名和电话模糊查询 + */ + @ResponseBody + @PostMapping("/base/appUser/queryAPPUserByNameAndPhone") + public List<TAppUser> queryAPPUserByNameAndPhone(@RequestBody AppUserByNameAndPhoneDTO dto) { + return appUserService.queryAPPUserByNameAndPhone(dto); + } + + /** + * 根据用户id获取用户信息 + * + * @param appUserId + * @return + */ + @ResponseBody + @PostMapping("/base/appUser/queryAppUser1") + public TAppUser queryAppUser1(@RequestBody Integer appUserId) { + TAppUser appUser = appUserService.getById(appUserId); + return appUser; + } + + /** + * 冻结/解冻 1=解冻 2=冻结 + */ + @RequestMapping("/base/appUser/changeState") + public Object changeState(@RequestBody AdvertisementChangeStateDTO dto) { + return appUserService.changeState(dto); + } + + /** + * 后台添加 + */ + @RequestMapping("/base/appUser/addAppUser1") + public Object addAppUser1(@RequestBody TAppUser query) { + // 修改 + if (query.getId() != null) { + TAppUser phone = appUserService.getOne(new QueryWrapper<TAppUser>().eq("phone", query.getPhone()).ne("id", query.getId())); + if (null != phone) { + return 5001; + } + } else { + TAppUser phone = appUserService.getOne(new QueryWrapper<TAppUser>().eq("phone", query.getPhone())); + if (null != phone) { + return 5001; + } + } + query.setIsVip(0); + query.setInsertTime(new Date()); + return appUserService.saveOrUpdate(query); + } + + /** + * 获取用户信息列表数据 + */ + @ResponseBody + @RequestMapping("/base/appUser/listAll") + public List<QueryAppUserVO> listAll(@RequestBody QueryAppUser query) { + List<QueryAppUserVO> queryAppUserVOS = appUserService.listAll(query); + ArrayList<QueryAppUserVO> res = new ArrayList<>(); + + if (query.getUserIds() != null && query.getUserIds().size() != 0) { + List<QueryAppUserVO> queryAppUserVOS1 = appUserService.listAll1(query); + queryAppUserVOS.addAll(queryAppUserVOS1); + } + List<QueryAppUserVO> collect = queryAppUserVOS.stream().distinct().collect(Collectors.toList()); + for (QueryAppUserVO vo : collect) { + // 会员到期时间小于当前时间或者会员到期时间为null 则会员过期 + if (vo.getVipEndTime() != null && vo.getVipEndTime().after(new Date())) { + vo.setIsVip(1); + } else { + vo.setIsVip(0); + } + if (query.getIsVip() != null && (!query.getIsVip().equals(""))) { + if (vo.getIsVip() == query.getIsVip()) { + res.add(vo); + } + } else { + res.add(vo); + } + } + return res; + } + + /** + * 根据用户手机号获取用户id + */ + @ResponseBody + @GetMapping("/base/appUser/getAppUserByPhone/{phone}") + public TAppUser getAppUserByPhone(@PathVariable("phone") String phone) { + TAppUser appUser = appUserService.getOne(new QueryWrapper<TAppUser>().eq("phone", phone)); + return appUser; + } + + // todo 短信验证码 @ResponseBody @PostMapping("/base/appUser/getSMSCode") @ApiOperation(value = "获取短信验证码", tags = {"APP-登录注册"}) @@ -32,11 +187,40 @@ @ApiImplicitParam(value = "类型(1:登录,2:注册,3:修改密码,4:忘记密码)", name = "type", dataType = "int", required = true), @ApiImplicitParam(value = "电话号码", name = "phone", dataType = "string", required = true) }) - public ResultUtil getSMSCode(@RequestBody Integer type, @RequestBody String phone){ + public ResultUtil getSMSCode(Integer type, String phone) { + if (ToolUtil.isEmpty(phone)) { + return ResultUtil.paranErr("phone"); + } + if (ToolUtil.isEmpty(type)) { + return ResultUtil.paranErr("type"); + } try { ResultUtil smsCode = appUserService.getSMSCode(type, phone); return smsCode; - }catch (Exception e){ + } catch (Exception e) { + e.printStackTrace(); + return ResultUtil.runErr(); + } + } + + + @Autowired + private TStudentService studentService; + + @ResponseBody + @PostMapping("/base/appUser/logOff") + @ApiOperation(value = "注销", tags = {"注销"}) + @ApiImplicitParams({ + @ApiImplicitParam(value = "账号id", name = "appId", dataType = "int", required = true) + }) + public ResultUtil<String> logOff(Integer appId) { + try { + + appUserService.removeById(appId); + studentService.remove(new QueryWrapper<TStudent>().eq("appUserId", appId)); + + return ResultUtil.success("注销成功"); + } catch (Exception e) { e.printStackTrace(); return ResultUtil.runErr(); } @@ -48,10 +232,10 @@ @ApiOperation(value = "注册用户", tags = {"APP-登录注册"}) @ApiImplicitParams({ }) - public ResultUtil addAppUser(@RequestBody AddAppUserVo addAppUserVo){ + public ResultUtil addAppUser(AddAppUserVo addAppUserVo) { try { return appUserService.addAppUser(addAppUserVo); - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); return ResultUtil.runErr(); } @@ -65,15 +249,20 @@ @ApiImplicitParam(value = "电话号码", name = "phone", dataType = "string", required = true), @ApiImplicitParam(value = "登录密码", name = "password", dataType = "string", required = true) }) - public ResultUtil<String> loginPassword(@RequestBody String phone, @RequestBody String password){ + public ResultUtil<String> loginPassword(String phone, String password) { + if (ToolUtil.isEmpty(phone)) { + return ResultUtil.paranErr("phone"); + } + if (ToolUtil.isEmpty(password)) { + return ResultUtil.paranErr("password"); + } try { return appUserService.loginPassword(phone, password); - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); return ResultUtil.runErr(); } } - @ResponseBody @@ -81,10 +270,24 @@ @ApiOperation(value = "短信验证码登录", tags = {"APP-登录注册"}) @ApiImplicitParams({ }) - public ResultUtil<String> loginSMSCode(@RequestBody LoginSMSCodeVo loginSMSCodeVo){ + public ResultUtil<String> loginSMSCode(LoginSMSCodeVo loginSMSCodeVo) { try { return appUserService.loginSMSCode(loginSMSCodeVo); - }catch (Exception e){ + } catch (Exception e) { + e.printStackTrace(); + return ResultUtil.runErr(); + } + } + + @ResponseBody + @PostMapping("/base/appUser/bind") + @ApiOperation(value = "微信登录绑定手机号", tags = {"APP-登录注册"}) + @ApiImplicitParams({ + }) + public ResultUtil bind(BindDto dto) { + try { + return appUserService.bind(dto); + } catch (Exception e) { e.printStackTrace(); return ResultUtil.runErr(); } @@ -96,15 +299,33 @@ @ApiOperation(value = "微信登录", tags = {"APP-登录注册"}) @ApiImplicitParams({ }) - public ResultUtil<String> loginWeChat(@RequestBody LoginWeChatVo loginWeChatVo){ + public ResultUtil<String> loginWeChat(LoginWeChatVo loginWeChatVo) { try { return appUserService.loginWechat(loginWeChatVo); - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); return ResultUtil.runErr(); } } + + @ResponseBody + @PostMapping("/api/appUser/updateInfo") + @ApiOperation(value = "修改个人信息", tags = {"APP-登录注册"}) + @ApiImplicitParams({ + }) + public ResultUtil<String> updateInfo(UpdateInfoDto dto) { + try { + Integer uid = tokenUtil.getUserIdFormRedis(); + if (null == uid) { + return ResultUtil.tokenErr(); + } + return appUserService.updateInfo(dto, uid); + } catch (Exception e) { + e.printStackTrace(); + return ResultUtil.runErr(); + } + } @ResponseBody @@ -115,10 +336,19 @@ @ApiImplicitParam(value = "短信验证码", name = "code", dataType = "string", required = true), @ApiImplicitParam(value = "新密码", name = "password", dataType = "string", required = true) }) - public ResultUtil updatePassword(@RequestBody String phone, @RequestBody String code, @RequestBody String password){ + public ResultUtil updatePassword(String phone, String code, String password) { + if (ToolUtil.isEmpty(phone)) { + return ResultUtil.paranErr("phone"); + } + if (ToolUtil.isEmpty(code)) { + return ResultUtil.paranErr("code"); + } + if (ToolUtil.isEmpty(password)) { + return ResultUtil.paranErr("password"); + } try { return appUserService.updatePassword(phone, code, password); - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); return ResultUtil.runErr(); } @@ -133,12 +363,250 @@ @ApiImplicitParam(value = "短信验证码", name = "code", dataType = "string", required = true), @ApiImplicitParam(value = "新密码", name = "password", dataType = "string", required = true) }) - public ResultUtil forgetPassword(@RequestBody String phone, @RequestBody String code, @RequestBody String password){ + public ResultUtil forgetPassword(String phone, String code, String password) { + if (ToolUtil.isEmpty(phone)) { + return ResultUtil.paranErr("phone"); + } + if (ToolUtil.isEmpty(code)) { + return ResultUtil.paranErr("code"); + } + if (ToolUtil.isEmpty(password)) { + return ResultUtil.paranErr("password"); + } try { return appUserService.updatePassword(phone, code, password); - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); return ResultUtil.runErr(); } } + + + @ResponseBody + @PostMapping("/api/appUser/queryJoinPlayPai") + @ApiOperation(value = "获取加入玩湃首页数据", tags = {"APP-加入玩湃"}) + @ApiImplicitParams({ + @ApiImplicitParam(value = "经度", name = "lon", dataType = "string", required = false), + @ApiImplicitParam(value = "纬度", name = "lat", dataType = "string", required = false), + @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") + }) + public ResultUtil<JoinPlayPaiVo> queryJoinPlayPai(String lon, String lat) { + + try { + Integer uid = tokenUtil.getUserIdFormRedis(); + if (null == uid) { + return ResultUtil.tokenErr(); + } + JoinPlayPaiVo joinPlayPaiVo = appUserService.queryJoinPlayPai(uid, lon, lat); + return ResultUtil.success(joinPlayPaiVo); + } catch (Exception e) { + e.printStackTrace(); + return ResultUtil.runErr(); + } + } + + + @ResponseBody + @PostMapping("/api/appUser/addVipPayment") + @ApiOperation(value = "购买年度会员", tags = {"APP-成为会员"}) + @ApiImplicitParams({ + @ApiImplicitParam(value = "支付方式(1=微信,2=支付宝)", name = "payType", 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) { + if (ToolUtil.isEmpty(payType)) { + return ResultUtil.paranErr("payType"); + } + try { + Integer uid = tokenUtil.getUserIdFormRedis(); + if (null == uid) { + return ResultUtil.tokenErr(); + } + return vipPaymentService.addVipPayment(uid, payType); + } catch (Exception e) { + e.printStackTrace(); + return ResultUtil.runErr(); + } + } + + + /** + * 购买年度会员支付微信回调 + * + * @param request + * @param response + */ + @ResponseBody + @PostMapping("/base/appUser/addVipPaymentWeChatCallback") + public void addVipPaymentWeChatCallback(HttpServletRequest request, HttpServletResponse response) { + try { + Map<String, String> map = payMoneyUtil.weixinpayCallback(request); + if (null != map) { + String out_trade_no = map.get("out_trade_no"); + String transaction_id = map.get("transaction_id"); + String result = map.get("result"); + ResultUtil resultUtil = vipPaymentService.addVipPaymentCallback(out_trade_no, transaction_id); + if (resultUtil.getCode() == 200) { + PrintWriter out = response.getWriter(); + out.write(result); + out.flush(); + out.close(); + } + } + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 购买年度会员支付支付宝回调 + * + * @param request + * @param response + */ + @ResponseBody + @PostMapping("/base/appUser/addVipPaymentAliCallback") + public void addVipPaymentAliCallback(HttpServletRequest request, HttpServletResponse response) { + try { + Map<String, String> map = payMoneyUtil.alipayCallback(request); + if (null != map) { + String out_trade_no = map.get("out_trade_no"); + String trade_no = map.get("trade_no"); + String appUserId = map.get("passback_params"); + ResultUtil resultUtil = vipPaymentService.addVipPaymentCallback(out_trade_no, trade_no); + if (resultUtil.getCode() == 200) { + PrintWriter out = response.getWriter(); + out.write("success"); + out.flush(); + out.close(); + } + } + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 根据用户id获取用户信息 + * + * @param appUserId + * @return + */ + @ResponseBody + @PostMapping("/base/appUser/queryAppUser") + public TAppUser queryAppUser(@RequestBody Integer appUserId) { + try { + TAppUser appUser = appUserService.getById(appUserId); + return appUser; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + + @Autowired + private UserIntegralChangesService userIntegralChangesService; + + /** + * 修改用户信息 + * + * @param appUser + */ + @ResponseBody + @PostMapping("/base/appUser/updateAppUser") + public void updateAppUser(@RequestBody TAppUser appUser) { + try { + appUserService.updateById(appUser); + UserIntegralChanges userIntegralChanges = new UserIntegralChanges(); + userIntegralChanges.setAppUserId(appUser.getId()); + userIntegralChanges.setOldIntegral(appUser.getIntegral() + appUser.getPoints()); + userIntegralChanges.setType(5); + userIntegralChanges.setNewIntegral(appUser.getIntegral()); + userIntegralChanges.setInsertTime(new Date()); + userIntegralChanges.setCategory(2); + userIntegralChangesService.save(userIntegralChanges); + + } catch (Exception e) { + e.printStackTrace(); + } + } + + + @PostMapping("/base/appUser/getAllUser") + @ResponseBody + public List<TAppUser> getAllUser() { + try { + return appUserService.list(); + } catch (Exception e) { + e.printStackTrace(); + return new ArrayList<>(); + } + } + + @PostMapping("/base/appUser/queryByNamePhone") + public List<TAppUser> queryByNamePhone(@RequestBody QueryByNamePhone queryByNamePhone) { + try { + LambdaQueryWrapper<TAppUser> tAppUserLambdaQueryWrapper = new LambdaQueryWrapper<>(); + if (ToolUtil.isNotEmpty(queryByNamePhone.getName())) { + tAppUserLambdaQueryWrapper.like(TAppUser::getName, queryByNamePhone.getName()); + } + if (ToolUtil.isNotEmpty(queryByNamePhone.getPhone())) { + tAppUserLambdaQueryWrapper.like(TAppUser::getPhone, queryByNamePhone.getPhone()); + } + List<TAppUser> list = appUserService.list(tAppUserLambdaQueryWrapper); + return list; + } catch (Exception e) { + e.printStackTrace(); + return new ArrayList<>(); + } + } + + @PostMapping("/base/appUser/queryById") + public TAppUser queryById(@RequestBody Integer appUserId) { + try { + return appUserService.getById(appUserId); + } catch (Exception e) { + e.printStackTrace(); + return new TAppUser(); + } + } + + + /** + * 根据名称模糊搜索用户 + * + * @param name + * @return + */ + @ResponseBody + @PostMapping("/appUser/queryAppUserListByName") + public List<TAppUser> queryAppUserListByName(@RequestBody String name) { + return appUserService.list(new QueryWrapper<TAppUser>().eq("state", 1).like("name", name)); + } + + + @PostMapping("/appUser/addCourseInfoRecord") + public Boolean addCourseInfoRecord(@RequestBody TCourseInfoRecord tCourseInfoRecord) { + boolean save = courseInfoRecordService.save(tCourseInfoRecord); + return save; + } + + @PostMapping("/appUser/getSelects") + public List<SelectDto> getSelects(@RequestBody List<Integer> studentIds) { + List<SelectDto> selectDtos = appUserService.getSelects(studentIds); + System.out.println("=======selectDtos======>" + selectDtos); + return selectDtos; + } + + + @PostMapping("/appUser/queryAppUserByCityCode") + public List<TAppUser> queryAppUserByCityCode(@RequestBody String cityCode){ + return appUserService.list(new QueryWrapper<TAppUser>() + .eq("state", 1) + .eq("cityCode", cityCode) + ); + } } -- Gitblit v1.7.1