From 88adbada822c2e3d18235374c176c1b9201358cb Mon Sep 17 00:00:00 2001
From: huliguo <2023611923@qq.com>
Date: 星期五, 06 六月 2025 19:17:19 +0800
Subject: [PATCH] 修改bug
---
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java | 183 +++++++++++----------------------------------
1 files changed, 45 insertions(+), 138 deletions(-)
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java
index 06e3056..b1031a1 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java
@@ -97,7 +97,7 @@
@Resource
private OrderClient orderClient;
- private static final String DEFAULT_AVATAR_URL = "http://qijishenghuiyuan.obs.cn-southwest-2.myhuaweicloud.com/admin/aedfbbb41280471f8d9fa7905298b65f.png";
+ private static final String DEFAULT_AVATAR_URL = "http://qijishenghuiyuan.obs.cn-southwest-2.myhuaweicloud.com/admin/58084a0ce8c34dc79f9d8b4c0bc3774a.png";
/**
@@ -115,17 +115,18 @@
}
String openid = map.get("openid").toString();
String sessionKey = map.get("sessionKey").toString();
+ //获取手机号
+ String decrypt = WXCore.decrypt(appletLogin.getEncryptedData_phone(), sessionKey, appletLogin.getIv_phone());
+ if (StringUtils.isEmpty(decrypt)) {
+ return R.fail("获取手机信息失败");
+ }
+ JSONObject phone = JSON.parseObject(decrypt);
+ String purePhoneNumber = phone.getString("phoneNumber");
//查询用户是否注册,没有注册则注册
- AppUser appUser = this.getOne(new LambdaQueryWrapper<AppUser>().eq(AppUser::getWxOpenid, openid).ne(AppUser::getStatus, 3).eq(AppUser::getDelFlag, 0));
+ AppUser appUser = this.getOne(new LambdaQueryWrapper<AppUser>().eq(AppUser::getPhone, purePhoneNumber).ne(AppUser::getStatus, 3).eq(AppUser::getDelFlag, 0));
if(null == appUser){
+ appUser = new AppUser();
//注册
- //获取手机号
- String decrypt = WXCore.decrypt(appletLogin.getEncryptedData_phone(), sessionKey, appletLogin.getIv_phone());
- if (StringUtils.isEmpty(decrypt)) {
- return R.fail("获取手机信息失败");
- }
- JSONObject phone = JSON.parseObject(decrypt);
- String purePhoneNumber = phone.getString("purePhoneNumber");
//新用户默认信息
appUser.setName(purePhoneNumber.substring(0, 3) + "****" + purePhoneNumber.substring(7));
appUser.setPhone(purePhoneNumber);
@@ -170,11 +171,17 @@
return R.fail("验证码错误");
}
}
-
- //查询用户是否注册,没有注册则系统注册
+ //查询用户是否注册,没有注册则跳转到注册页面
AppUser appUser = this.getOne(new LambdaQueryWrapper<AppUser>().eq(AppUser::getPhone, mobileLogin.getPhone())
.ne(AppUser::getStatus, 3).eq(AppUser::getDelFlag, 0));
if(null == appUser){
+ LoginVo loginVo = new LoginVo();
+ loginVo.setSkipPage(2);
+ loginVo.setPhone(mobileLogin.getPhone());
+ return R.ok(loginVo);
+ }
+ //查询用户是否注册,没有注册则系统注册
+ /*if(null == appUser){
appUser=new AppUser();
//注册
//使用jscode获取微信openid
@@ -206,7 +213,7 @@
}
this.save(appUser);
- }
+ }*/
//账户被冻结,给出提示
if(2 == appUser.getStatus()){
return R.fail("账户已被冻结,请联系管理员!");
@@ -271,16 +278,15 @@
/**
* 注册账号
*/
- /*
@Override
public R<LoginVo> registerAccount(RegisterAccount registerAccount) {
//校验验证码
-// String code = redisService.getCacheObject(registerAccount.getPhone());
-// if(!"999999".equals(registerAccount.getCode())){
-// if(null == code || !code.equals(registerAccount.getCode())){
-// return R.fail("验证码错误");
-// }
-// }
+/* String code = redisService.getCacheObject(registerAccount.getPhone());
+ if(!"999999".equals(registerAccount.getCode())){
+ if(null == code || !code.equals(registerAccount.getCode())){
+ return R.fail("验证码错误");
+ }
+ }*/
//使用jscode获取微信openid
Map<String, Object> map = weChatUtil.code2Session(registerAccount.getJscode());
Integer errcode = Integer.valueOf(map.get("errcode").toString());
@@ -303,7 +309,7 @@
String avatar = registerAccount.getAvatar();
if (StringUtils.isEmpty(avatar)){
- avatar = "http://qijishenghuiyuan.obs.cn-southwest-2.myhuaweicloud.com/admin/aedfbbb41280471f8d9fa7905298b65f.png";
+ avatar = DEFAULT_AVATAR_URL;
}
//如果手机号已注册,但是没有微信号,则将微信号添加到已有账户上
@@ -318,55 +324,11 @@
appUser.setPhone(registerAccount.getPhone());
appUser.setWxOpenid(openid);
//注册默认为普通会员
- appUser.setVipId(1);
appUser.setStatus(1);
appUser.setCreateTime(LocalDateTime.now());
appUser.setDelFlag(false);
appUser.setFirstAdd(1);
appUser.setLastLoginTime(LocalDateTime.now());
- //绑定门店为推荐人绑定的门店
- AppUser appUser2 = this.getById(registerAccount.getPromoter());
- appUser.setInviteUserId(registerAccount.getPromoter());
- appUser.setShopId(appUser2.getShopId());
- appUser.setPartPoint(0);
- appUser.setPartGrowPoint(0);
- appUser.setShopPoint(0);
- appUser.setSharePoint(0);
- appUser.setShopAmount(BigDecimal.ZERO);
- appUser.setWithdrawableAmount(BigDecimal.ZERO);
- appUser.setWithdrawnAmount(BigDecimal.ZERO);
- appUser.setTotalRechargeAmount(BigDecimal.ZERO);
- appUser.setTotalRedPacketAmount(BigDecimal.ZERO);
- appUser.setTotalDistributionAmount(BigDecimal.ZERO);
- appUser.setBalance(BigDecimal.ZERO);
- //新用户才能奖励积分,老用户注销重新注册没有
- long old = this.count(new LambdaQueryWrapper<AppUser>().eq(AppUser::getPhone, registerAccount.getPhone()).eq(AppUser::getDelFlag, 0));
- R<PointSetting> pointSettingR = pointSettingClient.getPointSetting(1);
- if (R.isError(pointSettingR)){
- throw new RuntimeException("获取积分设置失败");
- }
- PointSetting pointSetting = pointSettingR.getData();
- if (pointSetting == null){
- throw new RuntimeException("积分设置不存在");
- }
- Integer regisPoint = pointSetting.getRegisPoint();
- if(0 == old){
- Integer regisPoint1 = 0;
- //计算可用积分比例
- if(1 == pointSetting.getGetRegisPointOpen()){
- regisPoint1 = new BigDecimal(regisPoint).multiply(pointSetting.getGetRegisPoint().divide(new BigDecimal(100))).intValue();
- }
- appUser.setLavePoint(regisPoint);
- appUser.setAvailablePoint(regisPoint1);
- appUser.setTotalAvailablePoint(regisPoint1);
- if(null != pointSetting && 1 == pointSetting.getGetRegisPointGift()){
- appUser.setTransferablePoint(regisPoint1);
- }
- appUser.setTotalRegisterPoint(regisPoint);
- appUser.setTotalPoint(regisPoint);
- }
- //根据平台的配置未达标,则标注为可修改推广人
- appUser.setChangePromoter(0);
appUser.setLongitude(registerAccount.getLongitude());
appUser.setLatitude(registerAccount.getLatitude());
//调用地图获取省市区数据
@@ -383,78 +345,6 @@
appUser.setProvinceCode(region.getCode());
}
this.save(appUser);
-
- //增加积分变动记录
- if(0 == old && regisPoint > 0){
- //构建积分流水记录
- UserPoint userPoint = new UserPoint();
- userPoint.setType(7);
- userPoint.setHistoricalPoint(0);
- userPoint.setVariablePoint(regisPoint);
- userPoint.setBalance(appUser.getLavePoint());
- userPoint.setCreateTime(LocalDateTime.now());
- userPoint.setAppUserId(appUser.getId());
- userPointService.save(userPoint);
- }
-
- //拉新分佣
- if(0 == old && null != appUser2){
- pointSetting = pointSettingClient.getPointSetting(appUser2.getVipId()).getData();
- Integer newPoint = pointSetting.getNewPoint();
- Integer newPoint1 = 0;
- if(1 == pointSetting.getGetNewPointOpen()){
- newPoint1 = new BigDecimal(newPoint).multiply(pointSetting.getGetNewPoint().divide(new BigDecimal(100))).intValue();
- }
- appUser2.setLavePoint(appUser2.getLavePoint() + newPoint);
- appUser2.setAvailablePoint(appUser2.getAvailablePoint() + newPoint1);
- appUser2.setTotalAvailablePoint(appUser2.getTotalAvailablePoint() + newPoint1);
- if(null != pointSetting && 1 == pointSetting.getGetNewPointGift()){
- appUser2.setTransferablePoint(appUser2.getTransferablePoint() + newPoint1);
- }
- appUser2.setTotalInvitePoint(appUser2.getTotalInvitePoint() + newPoint);
- appUser2.setTotalPoint(appUser2.getTotalPoint() + newPoint);
- this.updateById(appUser2);
- if(newPoint > 0){
- UserPoint userPoint = new UserPoint();
- userPoint.setType(3);
- userPoint.setHistoricalPoint(appUser2.getLavePoint() - newPoint);
- userPoint.setVariablePoint(newPoint);
- userPoint.setBalance(appUser2.getLavePoint());
- userPoint.setCreateTime(LocalDateTime.now());
- userPoint.setAppUserId(appUser2.getId());
- userPointService.save(userPoint);
- }
-
- if(null != appUser2.getInviteUserId()){
- AppUser appUser3 = this.getById(appUser2.getInviteUserId());
- appUser3.setLavePoint(appUser3.getLavePoint() + newPoint);
- appUser3.setAvailablePoint(appUser3.getAvailablePoint() + newPoint1);
- appUser3.setTotalAvailablePoint(appUser3.getTotalAvailablePoint() + newPoint1);
- if(null != pointSetting && 1 == pointSetting.getGetRegisPointGift()){
- appUser3.setTransferablePoint(appUser3.getTransferablePoint() + newPoint1);
- }
- appUser3.setTotalInvitePoint(appUser3.getTotalInvitePoint() + newPoint);
- appUser3.setTotalPoint(appUser3.getTotalPoint() + newPoint);
- this.updateById(appUser3);
- if(newPoint > 0){
- UserPoint userPoint = new UserPoint();
- userPoint.setType(3);
- userPoint.setHistoricalPoint(appUser3.getLavePoint() - newPoint);
- userPoint.setVariablePoint(newPoint);
- userPoint.setBalance(appUser3.getLavePoint());
- userPoint.setCreateTime(LocalDateTime.now());
- userPoint.setAppUserId(appUser3.getId());
- userPointService.save(userPoint);
- }
- }
- }
-
- //获取微信推广二维码
- String fileName = UUID.randomUUID() + ".jpg";
- String getwxacodeunlimit = weChatUtil.getwxacodeunlimit("pages/start/start", "id=" + appUser.getId(), EnvVersion.RELEASE, filePath + fileName);
- appUser.setQrCode(getwxacodeunlimit);
- this.updateById(appUser);
-
}
LoginVo loginVo = new LoginVo();
loginVo.setSkipPage(1);
@@ -470,8 +360,7 @@
return R.ok(loginVo);
}
-*/
-
+
@@ -519,10 +408,17 @@
//查询门店,如果门店被冻结
List<Shop> shopList = shopClient.getShopByUserId(userId).getData();
user.setShopStatus(0);//未拥有门店
+
if (shopList != null && !shopList.isEmpty()) {
+ //走进来代表有门店 ,先设置为冻结中
+ user.setShopStatus(2);//门店都被冻结
for (Shop shop : shopList) {
if (shop.getStatus()==1) {
user.setShopStatus(1);//门店状态
+ }
+ if(null==user.getShopIds()){
+ Set<Integer> integers = new HashSet<>();
+ user.setShopIds(integers);
}
user.getShopIds().add(shop.getId());
user.setShopIds(user.getShopIds());
@@ -531,4 +427,15 @@
}
return user;
}
+
+ @Override
+ public PageInfo<UserPointStatisticsVO> getUserPointPageList(String name, Integer pageCurr, Integer pageSize) {
+ PageInfo<UserPointStatisticsVO> pageInfo=new PageInfo<>(pageCurr,pageSize);
+ List<UserPointStatisticsVO> list=baseMapper.getUserPointPageList(pageInfo, name);
+ list.forEach(x->{
+ x.setIdStr(String.valueOf(x.getId()));
+ });
+ pageInfo.setRecords(list);
+ return pageInfo;
+ }
}
--
Gitblit v1.7.1