From 324b5cd032c143693f7b89fb40756d92602bcac7 Mon Sep 17 00:00:00 2001
From: phpcjl <phpcjl@gmail.com>
Date: 星期三, 18 十二月 2024 17:25:03 +0800
Subject: [PATCH] 1
---
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java | 102 +++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 87 insertions(+), 15 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 4bbcdb1..6adc13f 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
@@ -3,6 +3,8 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.account.api.model.AppUserShop;
import com.ruoyi.account.api.model.UserChangeLog;
@@ -31,8 +33,10 @@
import com.ruoyi.system.api.feignClient.SysUserClient;
import com.ruoyi.system.api.model.LoginUser;
import org.apache.logging.log4j.core.util.UuidUtil;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.math.BigDecimal;
@@ -74,28 +78,25 @@
@Resource
private VipSettingClient vipSettingClient;
+
+ @Resource
+ private PointSettingClient pointSettingClient;
@Resource
private UserChangeLogService userChangeLogService;
-
+
@Value("${file.upload.location}")
private String filePath;
@Value("${file.upload.accessPath}")
private String accessPath;
-
- @Resource
- private PointSettingClient pointSettingClient;
-
+
@Resource
private UserPointService userPointService;
-
-
-
-
-
-
-
+ @Autowired
+ private AppUserMapper appUserMapper;
+
+
/**
* 小程序一键登录
* @param appletLogin
@@ -297,8 +298,22 @@
appUser.setTotalRedPacketAmount(BigDecimal.ZERO);
appUser.setTotalDistributionAmount(BigDecimal.ZERO);
appUser.setBalance(BigDecimal.ZERO);
- appUser.setLavePoint(0);
- appUser.setTotalPoint(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 getRegisPoint = pointSetting.getGetRegisPoint();
+ Integer getRegisPoint1 = getRegisPoint;
+ //计算可用积分比例
+ if(1 == pointSetting.getGetRegisPointOpen()){
+ getRegisPoint1 = getRegisPoint1 * (100 - pointSetting.getGetRegisPoint());
+ }
+ appUser.setLavePoint(getRegisPoint1);
+ appUser.setTotalPoint(getRegisPoint);
//根据平台的配置未达标,则标注为可修改推广人
appUser.setChangePromoter(0);
appUser.setLongitude(registerAccount.getLongitude());
@@ -311,6 +326,18 @@
// appUser.setDistrict();
// appUser.setDistrictCode();
this.save(appUser);
+ //增加积分变动记录
+ if(getRegisPoint1 > 0){
+ //构建积分流水记录
+ UserPoint userPoint = new UserPoint();
+ userPoint.setType(10);
+ userPoint.setHistoricalPoint(0);
+ userPoint.setVariablePoint(getRegisPoint1);
+ userPoint.setBalance(appUser.getLavePoint());
+ userPoint.setCreateTime(LocalDateTime.now());
+ userPoint.setAppUserId(appUser.getId());
+ userPointService.save(userPoint);
+ }
//获取微信推广二维码
String fileName = UUID.randomUUID() + ".jpg";
weChatUtil.getwxacodeunlimit("pages/login/login", "id=" + appUser.getId(), EnvVersion.DEVELOP, filePath + fileName);
@@ -367,6 +394,28 @@
*/
public void vipUpgrade(Long id){
AppUser appUser = this.getById(id);
+ Integer lavePoint = appUser.getLavePoint();
+ //计算积分
+ PointSetting pointSetting = pointSettingClient.getPointSetting(appUser.getVipId()).getData();
+ Integer newPoint = pointSetting.getNewPoint();
+ Integer newPoint1 = newPoint;
+ if(null != pointSetting && 1 == pointSetting.getGetNewPointOpen()){
+ newPoint1 = newPoint1 * (100 - pointSetting.getGetNewPoint());
+ }
+ appUser.setLavePoint(appUser.getLavePoint() + newPoint1);
+ appUser.setTotalPoint(appUser.getTotalPoint() + newPoint);
+ //记录积分变动
+ if(newPoint1 > 0){
+ //构建积分流水记录
+ UserPoint userPoint = new UserPoint();
+ userPoint.setType(3);
+ userPoint.setHistoricalPoint(lavePoint);
+ userPoint.setVariablePoint(newPoint1);
+ userPoint.setBalance(appUser.getLavePoint());
+ userPoint.setCreateTime(LocalDateTime.now());
+ userPoint.setAppUserId(appUser.getId());
+ userPointService.save(userPoint);
+ }
Integer vipId = appUser.getVipId();
//钻石会员
VipSetting vipSetting3 = vipSettingClient.getVipSetting(3).getData();
@@ -583,9 +632,13 @@
PointSetting pointSetting = pointSettingClient.getPointSetting(appUser.getVipId()).getData();
if(null != pointSetting){
int hourPoint = pointSetting.getHourPoint().intValue();
+ int hourPoint1 = hourPoint;
+ if(1 == pointSetting.getWorkPointOpen()){
+ hourPoint1 = hourPoint1 * (100 - pointSetting.getWorkPoint());
+ }
Integer lavePoint = appUser.getLavePoint();
appUser.setTotalPoint(appUser.getTotalPoint() + hourPoint);
- appUser.setLavePoint(appUser.getLavePoint() + hourPoint);
+ appUser.setLavePoint(appUser.getLavePoint() + hourPoint1);
this.updateById(appUser);
//添加积分变动记录
UserPoint userPoint = new UserPoint();
@@ -602,4 +655,23 @@
}
}
}
+
+ @Override
+ public IPage<AppUser> getAppuserPage(Integer pageNum, Integer pageSize, AppUser appUser) {
+ if (StringUtils.isNotEmpty(appUser.getShopName())){
+ R<Set<Integer>> shopR = shopClient.getShopIdByName(appUser.getShopName());
+ if (R.isSuccess(shopR)){
+ Set<Integer> shopIds = shopR.getData();
+ if (!CollectionUtils.isEmpty(shopIds)){
+ appUser.setShopIds(shopIds);
+ }
+ }
+ }
+ return appUserMapper.getAppuserPage(new Page<>(pageNum, pageSize), appUser);
+ }
+ @Override
+ public IPage<AppUser> getAppuserPage1(Integer pageNum, Integer pageSize, AppUser appUser,Integer objectId,List<Long> userIds) {
+
+ return appUserMapper.getAppuserPage1(new Page<>(pageNum, pageSize), appUser,objectId,userIds);
+ }
}
--
Gitblit v1.7.1