From bfde6acbf95e55846239cb2c7a0fe48dea287f69 Mon Sep 17 00:00:00 2001 From: rentaiming <806181062@qq.com> Date: 星期四, 06 六月 2024 18:22:37 +0800 Subject: [PATCH] 用户端商品 --- ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/forepart/ForepartMemberController.java | 18 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/PaylogServiceImpl.java | 11 ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/controller/forepart/dto/MemberArticleCollectionDTO.java | 2 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java | 7 ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/enums/ArticleTypeEnum.java | 5 ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/ArticleServiceImpl.java | 14 ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/controller/forepart/dto/ArticleDTO.java | 4 ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java | 34 -- ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/inner/MemberController.java | 7 ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/domain/Article.java | 1 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java | 57 --- ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IMemberService.java | 5 ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/controller/forepart/dto/MemberLikeDTO.java | 2 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/MemberInvoiceRiseServiceImpl.java | 11 /dev/null | 350 -------------------------- ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java | 9 ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/impl/PromotionWishListServiceImpl.java | 14 ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/controller/forepart/dto/ArticleCommentsDTO.java | 2 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberServiceImpl.java | 167 ++++++------ ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/domain/PromotionWishList.java | 1 20 files changed, 136 insertions(+), 585 deletions(-) diff --git a/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java b/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java index 27c269e..af14835 100644 --- a/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java +++ b/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java @@ -70,15 +70,6 @@ return R.ok(tokenService.createMiniToken(appMiniLoginVo)); } - @ApiOperation("小程序注册") - @PostMapping("miniRegister") - public R<?> miniRegister(@RequestBody AppMiniRegisterDTO appUserRegisterDto) - { - // 小程序用户登录 - AppMiniLoginVO appMiniLoginVo = sysLoginService.miniRegister(appUserRegisterDto); - // 获取登录token - return R.ok(tokenService.createMiniToken(appMiniLoginVo)); - } @ApiOperation("拍卖师小程序登录") diff --git a/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java b/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java index 011989d..840ba2b 100644 --- a/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java +++ b/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java @@ -149,40 +149,6 @@ return userInfo; } - public AppMiniLoginVO miniRegister(AppMiniRegisterDTO appUserRegisterDto) - { - // 查询用户信息 - R<AppMiniLoginVO> userResult = MemberClient.miniRegister(appUserRegisterDto); - if (R.FAIL == userResult.getCode()) - { - throw new ServiceException(userResult.getMsg()); - } - AppMiniLoginVO appMiniRegisterVo = userResult.getData(); - SysUser user=appMiniRegisterVo.getSysUser(); - if(appMiniRegisterVo.getSysUser()!=null){ - String username = user.getUserName(); - // IP黑名单校验 - String blackStr = Convert.toStr(redisService.getCacheObject(CacheConstants.SYS_LOGIN_BLACKIPLIST)); - if (IpUtils.isMatchedIp(blackStr, IpUtils.getIpAddr())) - { - recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "很遗憾,访问IP已被列入系统黑名单"); - throw new ServiceException("很遗憾,访问IP已被列入系统黑名单"); - } - if (UserStatus.DELETED.getCode().equals(user.getDelFlag())) - { - recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "对不起,您的账号已被删除"); - throw new ServiceException("对不起,您的账号: 已被删除"); - } - if (UserStatus.DISABLE.getCode().equals(user.getStatus())) - { - recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "用户已停用,请联系管理员"); - throw new ServiceException("对不起,您的账号: 已停用"); - } - recordLogService.recordLogininfor(username, Constants.LOGIN_SUCCESS, "登录成功"); - } - return appMiniRegisterVo; - } - public AppMiniLoginVO actionMiniLogin(AppMiniLoginDTO appMiniLoginDto) { // 查询用户信息 diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/enums/ArticleTypeEnum.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/enums/ArticleTypeEnum.java index d811d27..565baed 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/enums/ArticleTypeEnum.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/enums/ArticleTypeEnum.java @@ -10,9 +10,10 @@ public enum ArticleTypeEnum { PLATFORM_RELEASE(1, "平台发布"), USER_POSTING(2, "用户发布"); - @JsonValue - private final Integer code; + @EnumValue + private final Integer code; + @JsonValue private final String desc; public static ArticleTypeEnum getEnumByCode(Integer code) { diff --git a/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/controller/forepart/dto/ArticleCommentsDTO.java b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/controller/forepart/dto/ArticleCommentsDTO.java index 14ae921..5e97a41 100644 --- a/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/controller/forepart/dto/ArticleCommentsDTO.java +++ b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/controller/forepart/dto/ArticleCommentsDTO.java @@ -2,11 +2,13 @@ import com.baomidou.mybatisplus.annotation.*; import com.ruoyi.common.core.web.page.BasePage; +import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.time.LocalDateTime; @Data +@ApiModel(value = "评论对象", description = "评论对象") public class ArticleCommentsDTO extends BasePage { @ApiModelProperty(value = "资讯评论id") diff --git a/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/controller/forepart/dto/ArticleDTO.java b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/controller/forepart/dto/ArticleDTO.java index 2340600..3c38bb3 100644 --- a/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/controller/forepart/dto/ArticleDTO.java +++ b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/controller/forepart/dto/ArticleDTO.java @@ -4,11 +4,13 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.ruoyi.common.core.enums.ArticleTypeEnum; import com.ruoyi.common.core.web.page.BasePage; +import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.web.multipart.MultipartFile; @Data +@ApiModel(value = "资讯传输对象", description = "资讯传输对象") public class ArticleDTO extends BasePage { @ApiModelProperty(value = "资讯id") private Long id; @@ -29,5 +31,5 @@ private Long memberId; @ApiModelProperty(value = "资讯图片") - private MultipartFile[] rticleImageUrl; + private String rticleImageUrl; } diff --git a/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/controller/forepart/dto/MemberArticleCollectionDTO.java b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/controller/forepart/dto/MemberArticleCollectionDTO.java index b6cb1d7..9bb2c5e 100644 --- a/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/controller/forepart/dto/MemberArticleCollectionDTO.java +++ b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/controller/forepart/dto/MemberArticleCollectionDTO.java @@ -1,10 +1,12 @@ package com.ruoyi.article.controller.forepart.dto; import com.ruoyi.common.core.web.page.BasePage; +import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data +@ApiModel(value = "資訊收藏对象", description = "資訊收藏对象") public class MemberArticleCollectionDTO extends BasePage { @ApiModelProperty(value = "收藏目标id") diff --git a/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/controller/forepart/dto/MemberLikeDTO.java b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/controller/forepart/dto/MemberLikeDTO.java index 47cc2f1..5306980 100644 --- a/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/controller/forepart/dto/MemberLikeDTO.java +++ b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/controller/forepart/dto/MemberLikeDTO.java @@ -1,10 +1,12 @@ package com.ruoyi.article.controller.forepart.dto; import com.ruoyi.common.core.web.page.BasePage; +import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data +@ApiModel(value = "資訊點讚对象", description = "資訊點讚对象") public class MemberLikeDTO extends BasePage { @ApiModelProperty(value = "会员id") private Long memberId; diff --git a/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/domain/Article.java b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/domain/Article.java index f2f1b06..79eddde 100644 --- a/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/domain/Article.java +++ b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/domain/Article.java @@ -92,6 +92,7 @@ @ApiModelProperty(value = "会员id") private Long memberId; + @ApiModelProperty(value = "拒绝原因") private String refuseComment; diff --git a/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/ArticleServiceImpl.java b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/ArticleServiceImpl.java index f670453..0c82005 100644 --- a/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/ArticleServiceImpl.java +++ b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/ArticleServiceImpl.java @@ -123,22 +123,12 @@ article=this.getById(articleDTO.getId()); } article.setMemberId(articleDTO.getMemberId()); + article.setArticleType(ArticleTypeEnum.USER_POSTING); article.setStatus(AuditStatusEnum.TO_BE_REVIEWED); article.setContent(articleDTO.getContent()); article.setTitle(articleDTO.getTitle()); - List<String> urlList=new ArrayList<>(); - if (articleDTO.getRticleImageUrl().length>0){ - for (MultipartFile file:articleDTO.getRticleImageUrl()){ - try { - String url= HuaWeiOBSUtil.obsUpload(file); - urlList.add(url); - } catch (IOException e) { - throw new RuntimeException(e); - } - } - article.setImages(urlList.toString()); - } + article.setImages(articleDTO.getRticleImageUrl()); this.saveOrUpdate(article); } diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java index e5d9bda..90a79ed 100644 --- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java +++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java @@ -50,6 +50,7 @@ import com.ruoyi.system.api.domain.dto.RefundDTO; import com.ruoyi.system.api.domain.vo.AuctionGoodsListVO; import com.ruoyi.system.api.domain.vo.AuctionGoodsinfoVO; +import com.ruoyi.system.api.feignClient.AuctionClient; import com.ruoyi.system.api.feignClient.GoodsSkuClient; import com.ruoyi.system.api.feignClient.MemberClient; import com.ruoyi.system.api.feignClient.OrderClient; @@ -86,6 +87,8 @@ private final GoodsSkuClient goodsSkuClient; private final MemberClient memberClient; private final OrderClient orderClient; + + private final AuctionClient auctionClient; private final IAuctionBidRecordService auctionBidRecordService; private final AuctionAsyncMethodService auctionAsyncMethodService; // 创建一个静态共享的ObjectMapper实例以重用 @@ -459,7 +462,7 @@ }else { auctionGoodsinfoVO.setIsCollection(1); } - List<OrderAuctionBond> datas = orderClient.getAuctionGoodsOrderAuctionBondList(auctionGoodsListDTO, SecurityConstants.INNER).getData(); + List<OrderAuctionBond> datas = auctionClient.getAuctionGoodsOrderAuctionBondList(auctionGoodsListDTO, SecurityConstants.INNER).getData(); if (datas.size()>0){ auctionGoodsinfoVO.setIsApply(2); }else{ @@ -498,7 +501,7 @@ public PageDTO<AuctionGoodsListVO> getWdAuctionSalesList(AuctionGoodsListDTO auctionGoodsListDTO) { MemberAuctionSalesroomDTO memberAuctionSalesroomDTO =new MemberAuctionSalesroomDTO(); memberAuctionSalesroomDTO.setMemberId(auctionGoodsListDTO.getMemberId()); - List<OrderAuctionBond> data = orderClient.getAuctionGoodsOrderAuctionBondList(auctionGoodsListDTO, SecurityConstants.INNER).getData(); + List<OrderAuctionBond> data = auctionClient.getAuctionGoodsOrderAuctionBondList(auctionGoodsListDTO, SecurityConstants.INNER).getData(); Set<Long> goodsSkuIdList = null; goodsSkuIdList = data.stream().map(OrderAuctionBond::getAuctionSalesroomId) .collect(Collectors.toSet()); diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java index b1379ab..72655bd 100644 --- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java +++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java @@ -60,6 +60,7 @@ import com.ruoyi.common.core.utils.page.Checker; import com.ruoyi.common.core.utils.page.CollUtils; import com.ruoyi.common.core.utils.page.PageDTO; +import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.system.api.domain.AppMiniLoginVO; import com.ruoyi.system.api.domain.AuctionGoods; import com.ruoyi.system.api.domain.AuctionSalesroom; @@ -233,12 +234,10 @@ public AuctionSalesroom getAuctionBidRecordOne(ForepartAuctionBidRecordDTO arepartAuctionBidRecordDTO) { R<SysUser> r=sysUserClient.queryUserByPhone(arepartAuctionBidRecordDTO.getPhone()); SysUser sysUser=r.getData(); - - if (sysUser!=null){ + if (sysUser==null){ throw new ServiceException("手机号未注册"); } - - if (!sysUser.getPassword().equals(arepartAuctionBidRecordDTO.getPassword())){ + if (!SecurityUtils.matchesPassword(arepartAuctionBidRecordDTO.getPassword(), sysUser.getPassword())){ throw new ServiceException("密码输入错误"); } @@ -255,48 +254,6 @@ if (appMiniLoginDto.getType()==1) { if (appMiniLoginDto.getAuth_code() == null || appMiniLoginDto.getAuth_code().length() == 0) { } else { - /* AppMiniLoginVO user=new AppMiniLoginVO(); - //String serverUrl, String appId, String privateKey, String format,String charset, String alipayPublicKey, String signType - //实例化客户端 参数:正式环境URL,Appid,商户私钥 PKCS8格式,字符编码格式,字符格式,支付宝公钥,签名方式 - AlipayClient alipayClient = new DefaultAlipayClient(ALIPAY_BORDER_PROD,APP_ID_PROD, APP_PRIVATE_KEY, "json", "GBK", ALIPAY_PUBLIC_KEY, "RSA2"); - AlipaySystemOauthTokenRequest request = new AlipaySystemOauthTokenRequest(); - // 值为authorization_code时,代表用code换取 - request.setGrantType("authorization_code"); - //授权码,用户对应用授权后得到的 - request.setCode(appMiniLoginDto.getAuth_code()); - //这里使用execute方法 - AlipaySystemOauthTokenResponse response = null; - try { - response = alipayClient.execute(request); - } catch (AlipayApiException e) { - throw new RuntimeException(e); - } - //刷新令牌,上次换取访问令牌时得到。见出参的refresh_token字段 - - //返回成功时 就将唯一标识返回 - if (response.isSuccess()) { - System.out.println("调用成功"); - //我这里只返回了一个字段给前端用 - String user1= response.getOpenId(); - appMiniLoginVo.setZfbuserid(response.getOpenId()); - AlipayUserInfoShareResponse alipayUserInfoShareResponse= null; - try { - AlipayUserInfoShareRequest request1 = new AlipayUserInfoShareRequest(); - AlipayUserInfoShareResponse response1 = alipayClient.execute(request1, response.getAccessToken()); - appMiniLoginVo.setPhone(response1.getPhone()); - } catch (Exception e) { - throw new RuntimeException(e); - } - - R<SysUser> sysUserR = sysUserClient.queryUserByPhone(alipayUserInfoShareResponse.getPhone()); - SysUser data = sysUserR.getData(); - appMiniLoginVo.setSysUser(data); - } - }*/ - - - String response = JSON.parseObject(appMiniLoginDto.getAuth_code()).getString("response"); - //1. 获取验签和解密所需要的参数 Map<String, String> openapiResult = JSON.parseObject(appMiniLoginDto.getAuth_code(), new TypeReference<Map<String, String>>() { @@ -340,6 +297,14 @@ plainData = content; } + Map<String, String> openapiResult1 = JSON.parseObject(plainData, + new TypeReference<Map<String, String>>() { + }, Feature.OrderedField); + + R<SysUser> sysUserR = sysUserClient.queryUserByPhone(openapiResult1.get("mobile")); + SysUser data = sysUserR.getData(); + appMiniLoginVo.setSysUser(data); + appMiniLoginVo.setPhone(openapiResult1.get("mobile")); } }else{ diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/forepart/ForepartAlipayAppController.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/forepart/ForepartAlipayAppController.java deleted file mode 100644 index cbf6a65..0000000 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/forepart/ForepartAlipayAppController.java +++ /dev/null @@ -1,87 +0,0 @@ -package com.ruoyi.member.controller.forepart; - -import com.alipay.api.AlipayApiException; -import com.alipay.api.AlipayClient; -import com.alipay.api.DefaultAlipayClient; -import com.alipay.api.request.AlipaySystemOauthTokenRequest; -import com.alipay.api.response.AlipaySystemOauthTokenResponse; -import com.ruoyi.common.core.domain.R; -import com.ruoyi.system.api.domain.AppMiniLoginVO; -import com.ruoyi.system.api.domain.dto.AppMiniLoginDTO; -import io.swagger.annotations.ApiOperation; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; - -/*@Controller -@RequestMapping("/forepart/alipay") -public class ForepartAlipayAppController { - - *//** - * Alipay客户端 - *//* - private AlipayClient alipayClient; - - *//**支付宝网关*//* - *//** - * 沙箱的 - *//* - private static final String ALIPAY_BORDER_DEV = "https://openapi-sandbox.dl.alipaydev.com/gateway.do"; - *//** - * 个人用户的 - *//* - private static final String ALIPAY_BORDER_PROD = "https://openapi.alipay.com/gateway.do"; - *//** - * appID - **//* - private static final String APP_ID_PROD = "2021003196653501"; - *//** - * 私钥 - *//* - private static final String APP_PRIVATE_KEY = ""; - *//** - * 支付宝公钥 - *//* - private static final String ALIPAY_PUBLIC_KEY = ""; - - - @PostMapping("/getalipayInfo") - @ApiOperation(value = "获取支付宝授权码") - public R<AppMiniLoginVO> getInfo(AppMiniLoginDTO appMiniLoginDto) { - //使用支付宝小程序的固定方法获取auth_code - if (appMiniLoginDto.getAuth_code()== null || appMiniLoginDto.getAuth_code().length() == 0) { - return R.fail("请求参数auth_code不能为空"); - } else { - AppMiniLoginVO user=new AppMiniLoginVO(); - //String serverUrl, String appId, String privateKey, String format,String charset, String alipayPublicKey, String signType - //实例化客户端 参数:正式环境URL,Appid,商户私钥 PKCS8格式,字符编码格式,字符格式,支付宝公钥,签名方式 - AlipayClient alipayClient = new DefaultAlipayClient(ALIPAY_BORDER_PROD,APP_ID_PROD, APP_PRIVATE_KEY, "json", "GBK", ALIPAY_PUBLIC_KEY, "RSA2"); - AlipaySystemOauthTokenRequest request = new AlipaySystemOauthTokenRequest(); - // 值为authorization_code时,代表用code换取 - request.setGrantType("authorization_code"); - //授权码,用户对应用授权后得到的 - request.setCode(appMiniLoginDto.getAuth_code()); - //这里使用execute方法 - AlipaySystemOauthTokenResponse response = null; - try { - response = alipayClient.execute(request); - } catch (AlipayApiException e) { - throw new RuntimeException(e); - } - //刷新令牌,上次换取访问令牌时得到。见出参的refresh_token字段 - request.setRefreshToken(response.getAccessToken()); - //返回成功时 就将唯一标识返回 - if (response.isSuccess()) { - System.out.println("调用成功"); - //我这里只返回了一个字段给前端用 - String user1= response.getUserId(); - user.setZfbuserid(user1); - return R.ok(user); - } else { - return R.fail("调用失败"); - } - } - } - - -}*/ diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/forepart/ForepartMemberController.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/forepart/ForepartMemberController.java index 48e54af..13d88d2 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/forepart/ForepartMemberController.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/forepart/ForepartMemberController.java @@ -2,13 +2,10 @@ import com.ruoyi.common.core.domain.R; -import com.ruoyi.system.api.domain.dto.CustomConfigDTO; -import com.ruoyi.system.api.domain.dto.MemberDTO; +import com.ruoyi.system.api.domain.dto.*; import com.ruoyi.member.service.IMemberService; import com.ruoyi.system.api.domain.AppMiniLoginVO; import com.ruoyi.system.api.domain.Member; -import com.ruoyi.system.api.domain.dto.AppMiniLoginDTO; -import com.ruoyi.system.api.domain.dto.AppMiniRegisterDTO; import com.ruoyi.system.api.feignClient.SysUserClient; import com.ruoyi.system.api.util.HuaWeiOBSUtil; import io.swagger.annotations.Api; @@ -50,14 +47,11 @@ } } - @PostMapping(value = "/miniRegister") - @ApiOperation(value = "用户端-小程序注册") - public R<AppMiniLoginVO> miniRegister(@RequestBody AppMiniRegisterDTO appMiniRegisterDTO) { - AppMiniLoginVO appUserRegisterVo = iMemberService.miniRegister(appMiniRegisterDTO); - if(appUserRegisterVo ==null){ - return R.fail("注册失败!"); - } - return R.ok(appUserRegisterVo); + @PostMapping(value = "/mobile") + @ApiOperation(value = "用户端-小程序获取电话号码") + public R mobile(@RequestBody MobileDTO mobileDTO) { + iMemberService.mobile(mobileDTO); + return R.ok(); } @PostMapping("/getMembeid") diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/forepart/WeiXinAppController.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/forepart/WeiXinAppController.java deleted file mode 100644 index c1dda36..0000000 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/forepart/WeiXinAppController.java +++ /dev/null @@ -1,350 +0,0 @@ -/* -package com.ruoyi.member.controller; - -import java.io.BufferedReader; - -import java.io.IOException; -import java.io.InputStreamReader; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.security.AlgorithmParameters; -import java.security.Security; -import java.util.Arrays; -import java.util.Date; -import java.util.HashMap; -import java.util.Map; - -import javax.annotation.Resource; -import javax.crypto.Cipher; -import javax.crypto.spec.IvParameterSpec; -import javax.crypto.spec.SecretKeySpec; -import javax.servlet.http.HttpServletRequest; - -import cn.binarywang.wx.miniapp.api.WxMaService; -import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult; -import com.ruoyi.common.core.domain.R; -import com.ruoyi.common.core.utils.StringUtils; -import com.ruoyi.common.core.utils.sign.Base64; -import com.ruoyi.system.api.domain.AppMiniLoginVO; -import com.ruoyi.system.api.domain.dto.AppMiniLoginDTO; -import com.ruoyi.member.util.*; -import io.swagger.annotations.ApiOperation; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; - -import com.alibaba.fastjson.JSONObject; - - -import org.bouncycastle.jce.provider.BouncyCastleProvider; - -*/ -/** - * 微信授权方面 - * - * @author tuzx - * @date 2018年8月9日 - * @version 1.0 - *//* - -@Controller -@RequestMapping("/weixin") -public class WeiXinAppController { - - private static String appid = "wx0e4769839d84fde0"; - private static String appSecret = "ede69db0303ddde49b5db95f186918ec"; - - @Resource - private WxMaService wxMaService; - - @RequestMapping("/getAddress") - @ResponseBody - @ApiOperation(value = "获取微信的地址信息") - public R<Map<String, String>> getAddress(String url, HttpServletRequest request) { - Map<String,String> data=new HashMap<>(); - String jsapiTicket = JsapiTicketUtil.getJSApiTicket(); - Map<String, String> map = Sign.sign(jsapiTicket, url); - request.getSession().setAttribute("nonceStr", map.get("nonceStr")); - request.getSession().setAttribute("timestamp", map.get("timestamp")); - request.getSession().setAttribute("signature", map.get("signature")); - data.put("nonceStr", map.get("nonceStr")); - data.put("timestamp", map.get("timestamp")); - data.put("signature", map.get("signature")); - data.put("url",url); - data.put("jsapi_ticket", jsapiTicket); - return R.ok(map); - } - - @ResponseBody - @PostMapping("/miniLogin") - @ApiOperation("小程序登录") - public R<AppMiniLoginVO> getMemberByCode(@RequestBody AppMiniLoginDTO appMiniLoginDto) - { - AppMiniLoginVO appMiniLoginVo = new AppMiniLoginVO(); - WxMaJscode2SessionResult session = null; - String unionid; - String openid; - String sessionKey = null; - //获取session - try { - session = wxMaService.getUserService().getSessionInfo(appMiniLoginDto.getCode()); - } catch (Exception e) { - e.printStackTrace(); - return null; - } - if (session != null && StringUtils.isNotBlank(session.getOpenid())) { - unionid = session.getUnionid(); - openid = session.getOpenid(); - sessionKey = session.getSessionKey(); - - appMiniLoginVo.setMiniOpenid(openid); - appMiniLoginVo.setWxUnionid(unionid); - appMiniLoginVo.setSessionKey(sessionKey); - } - - if(appMiniLoginVo ==null){ - return R.fail("登录失败!"); - } - return R.ok(appMiniLoginVo); - } - - @ResponseBody - @RequestMapping("getUserInfoAccessToken") - @ApiOperation(value = "获取微信的UserInfoAccessToken") - public R<String> getUserInfoAccessToken(String code) { - try { - //微信端登录code - String wxCode = code; - String requestUrl = "https://api.weixin.qq.com/sns/jscode2session"; - Map<String,String> requestUrlParam = new HashMap<String, String>( ); - requestUrlParam.put( "appid",appid);//小程序appId - requestUrlParam.put( "secret",appSecret ); - requestUrlParam.put( "js_code",wxCode );//小程序端返回的code - requestUrlParam.put( "grant_type","authorization_code" );//默认参数 - String jsonObject = HttpRequestUtil.getRequest(requestUrl,requestUrlParam ); - return R.ok(jsonObject); - } catch (Exception e) { - e.printStackTrace(); - } - return R.fail("获取异常"); - } - - @ResponseBody - @RequestMapping("/getRdSession") - @ApiOperation(value = "获取微信的Session") - public R<Map<String, String>> getRdSession(String code, String rdSession, HttpServletRequest request) { - try { - Map<String, String> map = new HashMap<>(); - if (SinataUtil.isNotEmpty(rdSession)) { - String str = (String) request.getSession().getAttribute(rdSession); - if (SinataUtil.isNotEmpty(str)) { - map = new HashMap<String, String>(); - map.put("rdSession", rdSession); - map.put("status", "1"); - map.put("appId", appid); - map.put("session_key", str); - } else { - map = new HashMap<String, String>(); - map.put("rdSession", rdSession); - map.put("status", "2");// 过期 - map.put("appId", appid); - map.put("session_key", str); - } - } - map = JsapiTicketUtil.getToken(code); - String openid = map.get("openid"); - String session_key = map.get("session_key"); - String rdSessions = new Date().getTime() + ""; - if (SinataUtil.isNotEmpty(openid)) { - request.getSession().setAttribute(rdSessions, session_key + openid); - map = new HashMap<String, String>(); - map.put("rdSession", rdSessions); - map.put("status", "1"); - map.put("appId", appid); - map.put("session_key", session_key); - } else { - map = new HashMap<String, String>(); - map.put("rdSession", rdSessions); - map.put("status", "3");// 获取失败 - map.put("appId", appid); - map.put("session_key", session_key); - } - - return R.ok(map); - } catch (Exception e) { - e.printStackTrace(); - } - return R.fail("获取异常"); - } - - */ -/** - * 获取微信用户信息 - * - * @param token - * @param openid - * @return - *//* - - @ResponseBody - @RequestMapping("/getWXinfo") - @ApiOperation(value = "获取微信用户信息") - public R<Object> getWXinfo(String token, String openid) { - try { - String str = getJSApiTicket(token, openid); - return R.ok(str); - } catch (Exception e) { - e.printStackTrace(); - } - return R.fail("获取异常"); - } - - public static String getJSApiTicket(String token, String openid) { - // 获取token - // String acess_token= JsapiTicketUtil.getAccessToken(); - - String urlStr = "https://api.weixin.qq.com/sns/userinfo?access_token=" + token + "&openid=" + openid - + "&lang=zh_CN"; - String backData = sendGet(urlStr, "utf-8", 10000); - // String ticket = (String) - // JSONObject.fromObject(backData).get("ticket"); - return backData; - - } - - - */ -/** - * 小程序使用jscode获取openid - * @param jscode - * @return - *//* -*/ -/* - public String code2Session(String jscode){ - String url = "https://api.weixin.qq.com/sns/jscode2session?appid=" + appid + "&secret=" + appSecret - + "&js_code=" + jscode + "&grant_type=authorization_code"; - String forObject = restTemplate.getForObject(url, String.class); - JSONObject jsonObject = JSON.parseObject(forObject); - int errcode = jsonObject.getIntValue("errcode"); - if(errcode == 0){//成功 - return forObject; - } - if(errcode == -1){//系统繁忙,此时请开发者稍候再试 - return jsonObject.getString("errmsg"); - } - if(errcode == 40029){//code 无效 - return jsonObject.getString("errmsg"); - } - if(errcode == 45011){//频率限制,每个用户每分钟100次 - return jsonObject.getString("errmsg"); - } - return null; - }*//* - - - */ -/*** - * 模拟get请求 - * - * @param url - * @param charset - * @param timeout - * @return - *//* - - public static String sendGet(String url, String charset, int timeout) { - String result = ""; - try { - URL u = new URL(url); - try { - URLConnection conn = u.openConnection(); - conn.connect(); - conn.setConnectTimeout(timeout); - BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream(), charset)); - String line = ""; - while ((line = in.readLine()) != null) { - - result = result + line; - } - in.close(); - } catch (IOException e) { - return result; - } - } catch (MalformedURLException e) { - return result; - } - - return result; - } - - static void senMsg(String openId, String access_token, String namen, String OrderNum, String isstate) { - // 用户是否订阅该公众号标识 (0代表此用户没有关注该公众号 1表示关注了该公众号) - Integer state = WX_UserUtil.subscribeState(openId, access_token); - // 绑定了微信并且关注了服务号的用户 , 注册成功-推送注册短信 - if (state == 1) { - Map<String, TemplateData> param = new HashMap<>(); - param.put("first", new TemplateData(namen, "#696969")); - param.put("OrderSn", new TemplateData(OrderNum, "#696969")); - param.put("OrderStatus", new TemplateData(isstate, "#696969")); - // 调用发送微信消息给用户的接口 - WX_TemplateMsgUtil.sendWechatMsgToUser(openId, "RZfKB9pj1rIjrBIjFTiTss_NJzxGU11s0k6nf9fyi6w", "", "#000000", - WX_TemplateMsgUtil.packJsonmsg(param), access_token); - } - - } - - public static void main(String[] args) { - Object phoneNumber = getPhoneNumber( - "vgq1QAPOVeBN3F4x5a/Gcq8SuCUiDb3S4g6AlMLnkueD3Gs0sVDygNd6JKSMgQjuYtEwFeFJH8jkR95pAUJIaedNiZSvwtwtuVBtgO0bs5n0aL3ALnTvyJ7j48x15mDi1tGQhSVamzi0qSf2lVCAsIvmoahraUdRts+HexODDr5YueIj9VELFLkyFP12ve2dO/vNwiUiNVnqwbGL4gq34Q==", - "0332NDK62xknkK0UAVL62oCvK622NDKr", "nB7w8ZM8obq3wY5OzMbDPg=="); - System.out.println(phoneNumber); - net.sf.json.JSONObject parse = net.sf.json.JSONObject.fromObject(phoneNumber); - System.out.println(parse.get("phoneNumber")); - } - - public static Object getPhoneNumber(String encryptedData, String code, String iv) { - Map<String, String> map = JsapiTicketUtil.getToken(code); - String session_key = ""; - if (map != null) { - // session_key = json.getString("session_key"); - session_key = map.get("session_key"); - // 被加密的数据 - byte[] dataByte = Base64.decode(encryptedData); - // 加密秘钥 - byte[] keyByte = Base64.decode(session_key); - // 偏移量 - byte[] ivByte = Base64.decode(iv); - try { - // 如果密钥不足16位,那么就补足. 这个if 中的内容很重要 - int base = 16; - if (keyByte.length % base != 0) { - int groups = keyByte.length / base + (keyByte.length % base != 0 ? 1 : 0); - byte[] temp = new byte[groups * base]; - Arrays.fill(temp, (byte) 0); - System.arraycopy(keyByte, 0, temp, 0, keyByte.length); - keyByte = temp; - } - // 初始化 - Security.addProvider(new BouncyCastleProvider()); - Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); - SecretKeySpec spec = new SecretKeySpec(keyByte, "AES"); - AlgorithmParameters parameters = AlgorithmParameters.getInstance("AES"); - parameters.init(new IvParameterSpec(ivByte)); - cipher.init(Cipher.DECRYPT_MODE, spec, parameters);// 初始化 - byte[] resultByte = cipher.doFinal(dataByte); - if (null != resultByte && resultByte.length > 0) { - String result = new String(resultByte, "UTF-8"); - return JSONObject.parseObject(result); - } - } catch (Exception e) { - e.printStackTrace(); - } - } - return null; - } -} -*/ diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/inner/MemberController.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/inner/MemberController.java index 39fdf17..f84442c 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/inner/MemberController.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/inner/MemberController.java @@ -34,4 +34,11 @@ return R.ok(memberService.getById(userId)); } + + @PostMapping("/updMembeOne") + @InnerAuth + public R updMembeOne(@RequestBody Long userId) { + return R.ok(memberService.getById(userId)); + } + } diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IMemberService.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IMemberService.java index 96584eb..a3074a7 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IMemberService.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IMemberService.java @@ -11,6 +11,8 @@ import com.ruoyi.system.api.domain.dto.MemberDTO; import java.util.List; import java.util.Set; + +import com.ruoyi.system.api.domain.dto.MobileDTO; import org.springframework.web.bind.annotation.RequestBody; /** @@ -33,7 +35,8 @@ List<Member> getMemberListByIds(Set<Long> memberIdList); - AppMiniLoginVO miniRegister(@RequestBody AppMiniRegisterDTO appMiniRegisterDTO); + + void mobile(@RequestBody MobileDTO mobileDTO); /** * 获取会员管理分页列表 diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberServiceImpl.java index 8a47337..65ee508 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberServiceImpl.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberServiceImpl.java @@ -5,9 +5,13 @@ import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.TypeReference; +import com.alibaba.fastjson.parser.Feature; import com.alipay.api.AlipayApiException; import com.alipay.api.AlipayClient; import com.alipay.api.DefaultAlipayClient; +import com.alipay.api.internal.util.AlipayEncrypt; +import com.alipay.api.internal.util.AlipaySignature; import com.alipay.api.request.AlipaySystemOauthTokenRequest; import com.alipay.api.response.AlipaySystemOauthTokenResponse; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -43,6 +47,8 @@ import java.util.Set; import java.util.concurrent.TimeUnit; import javax.annotation.Resource; + +import com.ruoyi.system.api.domain.dto.MobileDTO; import org.apache.commons.io.IOUtils; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; @@ -122,7 +128,6 @@ @Override public AppMiniLoginVO loginThird(AppMiniLoginDTO appMiniLoginDto) throws Exception { AppMiniLoginVO appMiniLoginVo = new AppMiniLoginVO(); - if(appMiniLoginDto.getType()==1){ if (appMiniLoginDto.getAuth_code()== null || appMiniLoginDto.getAuth_code().length() == 0) { } else { @@ -172,11 +177,9 @@ String password = "123456"; sysUser.setPassword(SecurityUtils.encryptPassword(password)); sysUser = sysUserService.registerUser(sysUser).getData(); - if (sysUser==null){ sysUser = sysUserService.getSysUser(member.getUserId()).getData(); } - member = new Member(); member.setUserId(sysUser.getUserId()); member.setDelFlag(0); @@ -215,7 +218,6 @@ if (member != null) { sysUser = sysUserService.getSysUser(member.getUserId()).getData(); } - LambdaQueryWrapper<Member> wrapper1= Wrappers.lambdaQuery(); wrapper1.eq(Member::getMiniOpenid,openid); Member member1=this.getOne(wrapper1); @@ -234,8 +236,6 @@ if (sysUser==null){ sysUser = sysUserService.getSysUser(member.getUserId()).getData(); } - - member = new Member(); member.setUserId(sysUser.getUserId()); member.setDelFlag(0); @@ -244,7 +244,6 @@ member.setWxUnionid(unionid); member.setMiniOpenid(openid); this.save(member); - appMiniLoginVo.setMiniOpenid(member.getMiniOpenid()); appMiniLoginVo.setWxUnionid(member.getWxUnionid()); appMiniLoginVo.setSysUser(sysUser); @@ -293,14 +292,12 @@ member.setPhone(memberDTO.getPhone()); member.setIdNumber(memberDTO.getIdNumber()); member.setRealName(memberDTO.getRealName()); - String realname = "";// 姓名 String idcard = "";// 身份证 int type = 1;// 普通版,不需要加密 Map<String, Object> params = new HashMap<>(); params.put("realname", realname); params.put("idcard", idcard); - CloseableHttpClient httpClient = HttpClients.createDefault(); CloseableHttpResponse response = null; String result = null; @@ -331,7 +328,6 @@ if (Integer.valueOf(jsonObject1.get("res").toString())==2){ throw new ServiceException("实名认证失败"); } - String sex=getGender(idcard); if (sex.equals("女")){ member.setGender(GenderEnum.FEMALE); @@ -339,7 +335,6 @@ if (sex.equals("男")){ member.setGender(GenderEnum.MALE); } - this.updateById(member); } @@ -347,7 +342,6 @@ int genderNum = Integer.parseInt(idNumber.substring(16, 17)); return genderNum % 2 == 0 ? "女" : "男"; } - public static String urlencode(Map<String, ?> data) { StringBuilder sb = new StringBuilder(); @@ -369,92 +363,89 @@ } @Override - public AppMiniLoginVO miniRegister(AppMiniRegisterDTO appMiniRegisterDTO) { - AppMiniLoginVO appMiniLoginVO =new AppMiniLoginVO(); - SysUser sysUser; - if (appMiniRegisterDTO.getType() == 1) { - LambdaQueryWrapper<Member> wrapper = Wrappers.lambdaQuery(); - wrapper.eq(Member::getZfbOpenid, appMiniRegisterDTO.getZfbuserid()); - Member member = this.getOne(wrapper); + public void mobile(MobileDTO mobileDTO) { + Member byId = this.getById(mobileDTO.getMemberid()); + if (mobileDTO.getType()==1) { + if (mobileDTO.getAuth_code() == null || mobileDTO.getAuth_code().length() == 0) { + } else { + //1. 获取验签和解密所需要的参数 + Map<String, String> openapiResult = JSON.parseObject(mobileDTO.getAuth_code(), + new TypeReference<Map<String, String>>() { + }, Feature.OrderedField); + String signType = "RSA2"; + String charset = "UTF-8"; + String encryptType = "AES"; + String sign = openapiResult.get("sign"); + String content = openapiResult.get("response"); - //获取用户为空则新建 - if (member == null) { - //创建新用户 - String memberId = IdUtils.simpleUUID(); - sysUser = new SysUser(); - sysUser.setUserName(memberId); - sysUser.setNickName("白金用户"); - sysUser.setPhonenumber(appMiniRegisterDTO.getMiniOpenid()); - sysUser.setAvatar("https://hongruitang.oss-cn-beijing.aliyuncs.com/default.png"); - String password = "123456"; - sysUser.setPassword(SecurityUtils.encryptPassword(password)); - sysUser = sysUserService.registerUser(sysUser).getData(); + //如果密文的 + boolean isDataEncrypted = !content.startsWith("{"); + boolean signCheckPass = false; - member = new Member(); - member.setUserId(sysUser.getUserId()); - member.setDelFlag(0); - member.setRealName("白酒用户"); - member.setAvatar("https://hongruitang.oss-cn-beijing.aliyuncs.com/default.png"); - member.setWxUnionid(appMiniRegisterDTO.getWxUnionid()); - member.setMiniOpenid(appMiniRegisterDTO.getMiniOpenid()); - this.save(member); + //2. 验签 + String signContent = content; - appMiniLoginVO.setMiniOpenid(member.getMiniOpenid()); - appMiniLoginVO.setWxUnionid(member.getWxUnionid()); - appMiniLoginVO.setSysUser(sysUser); - appMiniLoginVO.setMemberid(member.getId()); - } else { - sysUser = sysUserService.getSysUser(member.getUserId()).getData(); - appMiniLoginVO.setZfbuserid( appMiniRegisterDTO.getZfbuserid()); - appMiniLoginVO.setSysUser(sysUser); - appMiniLoginVO.setMemberid(member.getId()); + //如果是加密的报文则需要在密文的前后添加双引号 + if (isDataEncrypted) { + signContent = "\"" + signContent + "\""; + } + try { + signCheckPass = AlipaySignature.rsaCheck(signContent, sign, ALIPAY_PUBLIC_KEY, charset, signType); + } catch (AlipayApiException e) { + //验签异常, 日志 + } + if (!signCheckPass) { + //验签不通过(异常或者报文被篡改),终止流程(不需要做解密) } - } - if (appMiniRegisterDTO.getType() == 2) { - LambdaQueryWrapper<Member> wrapper = Wrappers.lambdaQuery(); - wrapper.eq(Member::getMiniOpenid, appMiniRegisterDTO.getMiniOpenid()); - Member member = this.getOne(wrapper); - //获取用户为空则新建 - if (member == null) { - //创建新用户 - String memberId = IdUtils.simpleUUID(); - sysUser = new SysUser(); - sysUser.setUserName(memberId); - sysUser.setNickName("白金用户"); - sysUser.setPhonenumber(appMiniRegisterDTO.getMiniOpenid()); - sysUser.setAvatar("https://hongruitang.oss-cn-beijing.aliyuncs.com/default.png"); - String password = "123456"; - sysUser.setPassword(SecurityUtils.encryptPassword(password)); - sysUser = sysUserService.registerUser(sysUser).getData(); - - member = new Member(); - member.setUserId(sysUser.getUserId()); - member.setDelFlag(0); - member.setRealName("白酒用户"); - member.setAvatar("https://hongruitang.oss-cn-beijing.aliyuncs.com/default.png"); - member.setWxUnionid(appMiniRegisterDTO.getWxUnionid()); - member.setMiniOpenid(appMiniRegisterDTO.getMiniOpenid()); - this.save(member); - - appMiniLoginVO.setMiniOpenid(member.getMiniOpenid()); - appMiniLoginVO.setWxUnionid(member.getWxUnionid()); - appMiniLoginVO.setSysUser(sysUser); - appMiniLoginVO.setMemberid(member.getId()); - } else { - sysUser = sysUserService.getSysUser(member.getUserId()).getData(); - appMiniLoginVO.setMiniOpenid(member.getMiniOpenid()); - appMiniLoginVO.setWxUnionid(member.getWxUnionid()); - appMiniLoginVO.setSysUser(sysUser); - appMiniLoginVO.setMemberid(member.getId()); + //3. 解密 + String plainData = null; + if (isDataEncrypted) { + try { + plainData = AlipayEncrypt.decryptContent(content, encryptType, "VSpPcLQjLSoTz6Yd7KNoyQ==", charset); + } catch (AlipayApiException e) { + //解密异常, 记录日志 + e.getMessage(); } + } else { + plainData = content; + } + Map<String, String> openapiResult1 = JSON.parseObject(plainData, + new TypeReference<Map<String, String>>() { + }, Feature.OrderedField); - - + byId.setPhone(openapiResult1.get("mobile")); + this.updateById(byId); } - return appMiniLoginVO; + }else{ + String responseAccessToken = null; + try { + responseAccessToken = getAccessTokenByWX(); + } catch (Exception e) { + throw new RuntimeException(e); + } + JSONObject jsonAccessToken = JSONObject.parseObject(responseAccessToken); + String accessToken = jsonAccessToken.getString("access_token"); + String errmsg = jsonAccessToken.getString("errmsg"); + Long expiresIn = jsonAccessToken.getLong("expires_in"); + if (StringUtils.isBlank(accessToken)) { + throw new ServiceException(errmsg); + } + String responseUserPhoneNumber = null; + try { + responseUserPhoneNumber = getMobileByWX(accessToken, mobileDTO.getCode()); + } catch (Exception e) { + throw new RuntimeException(e); + } + JSONObject jsonUserPhoneNumber = JSONObject.parseObject(responseUserPhoneNumber); + String phoneInfo = jsonUserPhoneNumber.getString("phone_info"); + JSONObject jsonUserPhoneInfo = JSONObject.parseObject(phoneInfo); + String mobile = jsonUserPhoneInfo.getString("purePhoneNumber"); + byId.setPhone(mobile); + this.updateById(byId); + } } public static String getAccessTokenByWX() throws Exception { diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/MemberInvoiceRiseServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/MemberInvoiceRiseServiceImpl.java index 3f57859..a299696 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/MemberInvoiceRiseServiceImpl.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/MemberInvoiceRiseServiceImpl.java @@ -69,18 +69,7 @@ memberInvoiceRise.setCorporationPhone(memberInvoiceRiseDTO.getCorporationPhone()); memberInvoiceRise.setIsDefault(memberInvoiceRiseDTO.getIsDefault()); - this.saveOrUpdate(memberInvoiceRise); - - LambdaQueryWrapper<MemberInvoiceRise> wrapper= Wrappers.lambdaQuery(); - wrapper.eq(MemberInvoiceRise::getMemberId,memberInvoiceRiseDTO.getMemberId()); - wrapper.eq(MemberInvoiceRise::getDelFlag,0); - wrapper.eq(MemberInvoiceRise::getIsDefault,2); - MemberInvoiceRise memberInvoiceRise1= this.getOne(wrapper); - - if (memberInvoiceRise1==null){ - memberInvoiceRise.setIsDefault(2); - } } @Override diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/PaylogServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/PaylogServiceImpl.java index d926c5f..4c496f4 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/PaylogServiceImpl.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/PaylogServiceImpl.java @@ -17,6 +17,7 @@ import com.ruoyi.common.core.enums.PointStatusEnum; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.order.domain.Paylog; +import com.ruoyi.order.mapper.OrderMapper; import com.ruoyi.order.mapper.PaylogMapper; import com.ruoyi.order.service.IOrderService; import com.ruoyi.order.service.IPaylogService; @@ -69,7 +70,7 @@ @Resource - private IOrderService iOrderService; + private OrderMapper OrderMapper; @Resource private AuctionClient auctionClient; @@ -151,9 +152,9 @@ LambdaQueryWrapper<Order> wrapper1= Wrappers.lambdaQuery(); wrapper1.eq(Order::getOrderNo,paylog1.getOutTradeNo()); wrapper1.eq(Order::getDelFlag,0); - Order page1 = iOrderService.getOne(wrapper1); + Order page1 = OrderMapper.selectOne(wrapper1); page1.setOrderStatus(OrderStatusEnum.GOODS_TO_BE_RECEIVED); - iOrderService.updateById(page1); + OrderMapper.updateById(page1); MemberPointsDTO memberPointsDTO=new MemberPointsDTO(); memberPointsDTO.setMemberId(page1.getMemberId()); @@ -258,9 +259,9 @@ LambdaQueryWrapper<Order> wrapper1= Wrappers.lambdaQuery(); wrapper1.eq(Order::getOrderNo,paylog.getOutTradeNo()); wrapper1.eq(Order::getDelFlag,0); - Order page1 = iOrderService.getOne(wrapper1); + Order page1 = OrderMapper.selectOne(wrapper1); page1.setOrderStatus(OrderStatusEnum.GOODS_TO_BE_RECEIVED); - iOrderService.updateById(page1); + OrderMapper.updateById(page1); MemberPointsDTO memberPointsDTO=new MemberPointsDTO(); memberPointsDTO.setMemberId(page1.getMemberId()); diff --git a/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/domain/PromotionWishList.java b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/domain/PromotionWishList.java index d1e510a..2b58574 100644 --- a/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/domain/PromotionWishList.java +++ b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/domain/PromotionWishList.java @@ -72,6 +72,7 @@ private Integer delFlag; @ApiModelProperty(value = "会员id") + @TableField(value = "member_id") private Long memberId; } diff --git a/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/impl/PromotionWishListServiceImpl.java b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/impl/PromotionWishListServiceImpl.java index 0f4db48..c79192d 100644 --- a/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/impl/PromotionWishListServiceImpl.java +++ b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/impl/PromotionWishListServiceImpl.java @@ -44,18 +44,8 @@ promotionWishList.setExpectedPrice(promotionWishListDTO.getExpectedPrice()); promotionWishList.setGoodsName(promotionWishListDTO.getGoodsName()); promotionWishList.setRemark(promotionWishListDTO.getRemark()); - List<String> urlList=new ArrayList<>(); - if (promotionWishListDTO.getGoodsImageUrl().length>0){ - for (MultipartFile file:promotionWishListDTO.getGoodsImageUrl()){ - try { - String url= HuaWeiOBSUtil.obsUpload(file); - urlList.add(url); - } catch (IOException e) { - throw new RuntimeException(e); - } - } - promotionWishList.setGoodsImageUrl(urlList.toString()); - } + promotionWishList.setGoodsImageUrl(promotionWishListDTO.getGoodsImageUrl()); + promotionWishList.setMemberId(promotionWishListDTO.getMemberId()); this.save(promotionWishList); } -- Gitblit v1.7.1