用户合并修改

This commit is contained in:
wuchunlei
2024-06-21 14:23:46 +08:00
parent 0524f23ec8
commit e6a82a42d5

View File

@@ -44,6 +44,12 @@ public class UserManageServiceImpl implements UserManageService {
private TransactionDetailsDao detailsDao;
@Autowired
private JfTransactionDetailsDao jfDetailsDao;
@Autowired
private UserCourseStudyingDao userCourseStudyingDao;
@Autowired
private UserCourseVideoPositionDao userCourseVideoPositionDao;
@Autowired
private UserToCourseDao userToCourseDao;
@Override
public R userMerge(Map<String, Object> params) {
@@ -52,183 +58,21 @@ public class UserManageServiceImpl implements UserManageService {
if (mainUser != null){
if (secondUser!=null){
//币、积分、权限
mainUser.setPeanutCoin(mainUser.getPeanutCoin().add(secondUser.getPeanutCoin()));
mainUser.setJf(mainUser.getJf().add(secondUser.getJf()));
if (mainUser.getPointPower()==0){
mainUser.setPointPower(secondUser.getPointPower());
}
if (mainUser.getTgdzPower()==0){
mainUser.setTgdzPower(secondUser.getTgdzPower());
}
if (mainUser.getWylqPower()==0){
mainUser.setWylqPower(secondUser.getWylqPower());
}
if (mainUser.getPrescriptAPower()==0){
mainUser.setPrescriptAPower(secondUser.getPrescriptAPower());
}
if (mainUser.getPrescriptBPower()==0){
mainUser.setPrescriptBPower(secondUser.getPrescriptBPower());
}
userDao.updateById(mainUser);
updateCoinJf(mainUser,secondUser);
//vip vip记录
//考虑到一个账号可能是医学vip另一个是国学vip到期时间不同手动修改
//币、积分详情
updateTransactionDetails(mainUser,secondUser);
//电子书、打卡、收货地址
updateOthers(mainUser,secondUser);
//湖分、湖分剩余
updateContribution(mainUser,secondUser);
//课、播放记录、浏览记录、收藏(正在学习)
updateCourse(mainUser,secondUser);
//订单、支付宝订单、微信订单、paypaymentorder充值订单表
updateOrder(mainUser,secondUser);
//删除次用户
userDao.deleteById(secondUser.getId());
//vip
//...
//vip记录
LambdaQueryWrapper<UserVip> userVipWrapper = new LambdaQueryWrapper<>();
// userVipWrapper.eq(UserVip::getUserId,secondUser.getId());
// List<UserVip> userVips = userVipDao.selectList(userVipWrapper);
// if (userVips != null&&userVips.size()>0) {
// for (UserVip userVip : userVips) {
// userVip.setUserId(mainUser.getId());
// userVipDao.updateById(userVip);
// }
// }
//币详情
LambdaQueryWrapper<TransactionDetailsEntity> detailsWrapper = new LambdaQueryWrapper<>();
detailsWrapper.eq(TransactionDetailsEntity::getUserId,secondUser.getId());
List<TransactionDetailsEntity> details = detailsDao.selectList(detailsWrapper);
if (details != null&&details.size()>0) {
for (TransactionDetailsEntity detail : details) {
detail.setUserId(mainUser.getId());
detailsDao.updateById(detail);
}
}
//积分详情
LambdaQueryWrapper<JfTransactionDetails> jfDetailsWrapper = new LambdaQueryWrapper<>();
jfDetailsWrapper.eq(JfTransactionDetails::getUserId,secondUser.getId());
List<JfTransactionDetails> jfdetails = jfDetailsDao.selectList(jfDetailsWrapper);
if (jfdetails != null&&jfdetails.size()>0) {
for (JfTransactionDetails jfdetail : jfdetails) {
jfdetail.setUserId(mainUser.getId());
jfDetailsDao.updateById(jfdetail);
}
}
//电子书
LambdaQueryWrapper<UserEbookBuyEntity> ebookWrapper = new LambdaQueryWrapper<>();
ebookWrapper.eq(UserEbookBuyEntity :: getUserId,secondUser.getId());
List<UserEbookBuyEntity> ebooks = ebookBuyDao.selectList(ebookWrapper);
if (ebooks != null&&ebooks.size()>0) {
for (UserEbookBuyEntity ebookBuyEntity : ebooks) {
LambdaQueryWrapper<UserEbookBuyEntity> mainebookWrapper = new LambdaQueryWrapper<>();
mainebookWrapper.eq(UserEbookBuyEntity::getUserId,mainUser.getId());
mainebookWrapper.eq(UserEbookBuyEntity::getBookId,ebookBuyEntity.getBookId());
List<UserEbookBuyEntity> mainebooks = ebookBuyDao.selectList(mainebookWrapper);
if (mainebooks != null&&mainebooks.size()==0){
ebookBuyEntity.setUserId(mainUser.getId());
ebookBuyDao.updateById(ebookBuyEntity);
}
}
}
//打卡
LambdaQueryWrapper<UserBookClockEntity> clockWrapper = new LambdaQueryWrapper<>();
clockWrapper.eq(UserBookClockEntity::getUserId,secondUser.getId());
List<UserBookClockEntity> clocks = clockDao.selectList(clockWrapper);
if (clocks != null&&clocks.size()>0) {
for (UserBookClockEntity clock : clocks) {
LambdaQueryWrapper<UserBookClockEntity> mainclockWrapper = new LambdaQueryWrapper<>();
mainclockWrapper.eq(UserBookClockEntity::getUserId,mainUser.getId());
mainclockWrapper.eq(UserBookClockEntity::getBookId,clock.getBookId());
List<UserBookClockEntity> mainclocks = clockDao.selectList(mainclockWrapper);
if (mainclocks != null&&mainclocks.size()>0){
clockDao.deleteBatchIds(mainclocks);
}
clock.setUserId(mainUser.getId());
clockDao.updateById(clock);
}
}
//收货地址
LambdaQueryWrapper<UserAddress> addressWrapper = new LambdaQueryWrapper<>();
addressWrapper.eq(UserAddress::getUserId,secondUser.getId());
List<UserAddress> address = addressDao.selectList(addressWrapper);
if (address != null&&address.size()>0) {
for (UserAddress addr : address) {
LambdaQueryWrapper<UserAddress> mainaddressWrapper = new LambdaQueryWrapper<>();
mainaddressWrapper.eq(UserAddress::getUserId,mainUser.getId());
List<UserAddress> mainebooks = addressDao.selectList(mainaddressWrapper);
if (mainebooks != null&&mainebooks.size()>0){
addr.setIsDefault(0);
}
addr.setUserId(mainUser.getId());
addressDao.updateById(addr);
}
}
//湖分
LambdaQueryWrapper<UserContribution> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(UserContribution :: getUserId,secondUser.getId());
List<UserContribution> contributions = contributionDao.selectList(queryWrapper);
if (contributions != null&&contributions.size()>0) {
for (UserContribution c : contributions) {
c.setUserId(mainUser.getId());
contributionDao.updateById(c);
}
}
//湖分剩余
LambdaQueryWrapper<UserContributionExchange> exchangeWrapper = new LambdaQueryWrapper<>();
exchangeWrapper.eq(UserContributionExchange :: getUserId,secondUser.getId());
UserContributionExchange exchange = exchangeDao.selectOne(exchangeWrapper);
if (exchange != null) {
LambdaQueryWrapper<UserContributionExchange> mainExchangeWrapper = new LambdaQueryWrapper<>();
mainExchangeWrapper.eq(UserContributionExchange :: getUserId,mainUser.getId());
UserContributionExchange mainExchanges = exchangeDao.selectOne(mainExchangeWrapper);
if (mainExchanges != null) {
mainExchanges.setSurplus(mainExchanges.getSurplus()+exchange.getSurplus());
exchangeDao.updateById(mainExchanges);
}else {
exchange.setUserId(mainUser.getId());
exchangeDao.updateById(exchange);
}
}
//课
LambdaQueryWrapper<UserCourseBuyEntity> courseWrapper = new LambdaQueryWrapper<>();
courseWrapper.eq(UserCourseBuyEntity :: getUserId,secondUser.getId());
List<UserCourseBuyEntity> courseBuys = courseBuyDao.selectList(courseWrapper);
if (courseBuys != null&&courseBuys.size()>0) {
for (UserCourseBuyEntity c : courseBuys) {
c.setUserId(mainUser.getId());
courseBuyDao.updateById(c);
}
}
//订单
LambdaQueryWrapper<BuyOrder> orderWrapper = new LambdaQueryWrapper<>();
orderWrapper.eq(BuyOrder::getUserId,secondUser.getId());
List<BuyOrder> orders = orderDao.selectList(orderWrapper);
if (orders != null&&orders.size()>0) {
for (BuyOrder order : orders) {
order.setUserId(mainUser.getId());
orderDao.updateById(order);
}
}
//支付宝订单
LambdaQueryWrapper<PayZfbOrderEntity> zfbOrderWrapper = new LambdaQueryWrapper<>();
zfbOrderWrapper.eq(PayZfbOrderEntity::getCustomerid,secondUser.getId());
List<PayZfbOrderEntity> zfbOrders = zfbOrderDao.selectList(zfbOrderWrapper);
if (zfbOrders != null&&zfbOrders.size()>0) {
for (PayZfbOrderEntity zfbOrder : zfbOrders) {
zfbOrder.setCustomerid(mainUser.getId().toString());
zfbOrderDao.updateById(zfbOrder);
}
}
//微信订单
LambdaQueryWrapper<PayWechatOrderEntity> wechatOrderWrapper = new LambdaQueryWrapper<>();
wechatOrderWrapper.eq(PayWechatOrderEntity::getCustomerId,secondUser.getId());
List<PayWechatOrderEntity> wechatOrders = wechatOrderDao.selectList(wechatOrderWrapper);
if (wechatOrders != null&&wechatOrders.size()>0) {
for (PayWechatOrderEntity wechatOrder : wechatOrders) {
wechatOrder.setCustomerId(mainUser.getId());
wechatOrderDao.updateById(wechatOrder);
}
}
//paypaymentorder充值订单表
LambdaQueryWrapper<PayPaymentOrderEntity> paymentOrderWrapper = new LambdaQueryWrapper<>();
paymentOrderWrapper.eq(PayPaymentOrderEntity::getUserId,secondUser.getId());
List<PayPaymentOrderEntity> paymentOrders = paymentOrderDao.selectList(paymentOrderWrapper);
if (paymentOrders != null&&paymentOrders.size()>0) {
for (PayPaymentOrderEntity paymentOrder : paymentOrders) {
paymentOrder.setUserId(mainUser.getId());
paymentOrderDao.updateById(paymentOrder);
}
}
}else {
return R.error("次账号未找到");
}
@@ -247,4 +91,214 @@ public class UserManageServiceImpl implements UserManageService {
}
}
private void updateCoinJf(MyUserEntity mainUser,MyUserEntity secondUser){
//币、积分、权限
mainUser.setPeanutCoin(mainUser.getPeanutCoin().add(secondUser.getPeanutCoin()));
mainUser.setJf(mainUser.getJf().add(secondUser.getJf()));
if (mainUser.getPointPower()==0){
mainUser.setPointPower(secondUser.getPointPower());
}
if (mainUser.getTgdzPower()==0){
mainUser.setTgdzPower(secondUser.getTgdzPower());
}
if (mainUser.getWylqPower()==0){
mainUser.setWylqPower(secondUser.getWylqPower());
}
if (mainUser.getPrescriptAPower()==0){
mainUser.setPrescriptAPower(secondUser.getPrescriptAPower());
}
if (mainUser.getPrescriptBPower()==0){
mainUser.setPrescriptBPower(secondUser.getPrescriptBPower());
}
userDao.updateById(mainUser);
}
private void updateOthers(MyUserEntity mainUser,MyUserEntity secondUser){
//电子书
LambdaQueryWrapper<UserEbookBuyEntity> ebookWrapper = new LambdaQueryWrapper<>();
ebookWrapper.eq(UserEbookBuyEntity :: getUserId,secondUser.getId());
List<UserEbookBuyEntity> ebooks = ebookBuyDao.selectList(ebookWrapper);
if (ebooks != null&&ebooks.size()>0) {
for (UserEbookBuyEntity ebookBuyEntity : ebooks) {
LambdaQueryWrapper<UserEbookBuyEntity> mainebookWrapper = new LambdaQueryWrapper<>();
mainebookWrapper.eq(UserEbookBuyEntity::getUserId,mainUser.getId());
mainebookWrapper.eq(UserEbookBuyEntity::getBookId,ebookBuyEntity.getBookId());
List<UserEbookBuyEntity> mainebooks = ebookBuyDao.selectList(mainebookWrapper);
if (mainebooks != null&&mainebooks.size()==0){
ebookBuyEntity.setUserId(mainUser.getId());
ebookBuyDao.updateById(ebookBuyEntity);
}
}
}
//打卡
LambdaQueryWrapper<UserBookClockEntity> clockWrapper = new LambdaQueryWrapper<>();
clockWrapper.eq(UserBookClockEntity::getUserId,secondUser.getId());
List<UserBookClockEntity> clocks = clockDao.selectList(clockWrapper);
if (clocks != null&&clocks.size()>0) {
for (UserBookClockEntity clock : clocks) {
LambdaQueryWrapper<UserBookClockEntity> mainclockWrapper = new LambdaQueryWrapper<>();
mainclockWrapper.eq(UserBookClockEntity::getUserId,mainUser.getId());
mainclockWrapper.eq(UserBookClockEntity::getBookId,clock.getBookId());
List<UserBookClockEntity> mainclocks = clockDao.selectList(mainclockWrapper);
if (mainclocks != null&&mainclocks.size()>0){
clockDao.deleteBatchIds(mainclocks);
}
clock.setUserId(mainUser.getId());
clockDao.updateById(clock);
}
}
//收货地址
LambdaQueryWrapper<UserAddress> addressWrapper = new LambdaQueryWrapper<>();
addressWrapper.eq(UserAddress::getUserId,secondUser.getId());
List<UserAddress> address = addressDao.selectList(addressWrapper);
if (address != null&&address.size()>0) {
for (UserAddress addr : address) {
LambdaQueryWrapper<UserAddress> mainaddressWrapper = new LambdaQueryWrapper<>();
mainaddressWrapper.eq(UserAddress::getUserId,mainUser.getId());
List<UserAddress> mainebooks = addressDao.selectList(mainaddressWrapper);
if (mainebooks != null&&mainebooks.size()>0){
addr.setIsDefault(0);
}
addr.setUserId(mainUser.getId());
addressDao.updateById(addr);
}
}
}
private void updateTransactionDetails(MyUserEntity mainUser,MyUserEntity secondUser){
//币详情
LambdaQueryWrapper<TransactionDetailsEntity> detailsWrapper = new LambdaQueryWrapper<>();
detailsWrapper.eq(TransactionDetailsEntity::getUserId,secondUser.getId());
List<TransactionDetailsEntity> details = detailsDao.selectList(detailsWrapper);
if (details != null&&details.size()>0) {
for (TransactionDetailsEntity detail : details) {
detail.setUserId(mainUser.getId());
detailsDao.updateById(detail);
}
}
//积分详情
LambdaQueryWrapper<JfTransactionDetails> jfDetailsWrapper = new LambdaQueryWrapper<>();
jfDetailsWrapper.eq(JfTransactionDetails::getUserId,secondUser.getId());
List<JfTransactionDetails> jfdetails = jfDetailsDao.selectList(jfDetailsWrapper);
if (jfdetails != null&&jfdetails.size()>0) {
for (JfTransactionDetails jfdetail : jfdetails) {
jfdetail.setUserId(mainUser.getId());
jfDetailsDao.updateById(jfdetail);
}
}
}
private void updateContribution(MyUserEntity mainUser,MyUserEntity secondUser){
//湖分
LambdaQueryWrapper<UserContribution> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(UserContribution :: getUserId,secondUser.getId());
List<UserContribution> contributions = contributionDao.selectList(queryWrapper);
if (contributions != null&&contributions.size()>0) {
for (UserContribution c : contributions) {
c.setUserId(mainUser.getId());
contributionDao.updateById(c);
}
}
//湖分剩余
LambdaQueryWrapper<UserContributionExchange> exchangeWrapper = new LambdaQueryWrapper<>();
exchangeWrapper.eq(UserContributionExchange :: getUserId,secondUser.getId());
UserContributionExchange exchange = exchangeDao.selectOne(exchangeWrapper);
if (exchange != null) {
LambdaQueryWrapper<UserContributionExchange> mainExchangeWrapper = new LambdaQueryWrapper<>();
mainExchangeWrapper.eq(UserContributionExchange :: getUserId,mainUser.getId());
UserContributionExchange mainExchanges = exchangeDao.selectOne(mainExchangeWrapper);
if (mainExchanges != null) {
mainExchanges.setSurplus(mainExchanges.getSurplus()+exchange.getSurplus());
exchangeDao.updateById(mainExchanges);
}else {
exchange.setUserId(mainUser.getId());
exchangeDao.updateById(exchange);
}
}
}
private void updateCourse(MyUserEntity mainUser,MyUserEntity secondUser){
//课
LambdaQueryWrapper<UserCourseBuyEntity> courseWrapper = new LambdaQueryWrapper<>();
courseWrapper.eq(UserCourseBuyEntity :: getUserId,secondUser.getId());
List<UserCourseBuyEntity> courseBuys = courseBuyDao.selectList(courseWrapper);
if (courseBuys != null&&courseBuys.size()>0) {
for (UserCourseBuyEntity c : courseBuys) {
c.setUserId(mainUser.getId());
courseBuyDao.updateById(c);
}
}
//播放记录
LambdaQueryWrapper<UserCourseVideoPositionEntity> videoPositionWrapper = new LambdaQueryWrapper<>();
videoPositionWrapper.eq(UserCourseVideoPositionEntity::getUserId,secondUser.getId());
List<UserCourseVideoPositionEntity> videoPositionList = userCourseVideoPositionDao.selectList(videoPositionWrapper);
if (videoPositionList != null&&videoPositionList.size()>0) {
for (UserCourseVideoPositionEntity videoPosition : videoPositionList) {
videoPosition.setUserId(mainUser.getId());
userCourseVideoPositionDao.updateById(videoPosition);
}
}
//浏览记录
LambdaQueryWrapper<UserToCourseEntity> userToCourseWrapper = new LambdaQueryWrapper<>();
userToCourseWrapper.eq(UserToCourseEntity::getUserId,secondUser.getId());
List<UserToCourseEntity> userToCourseList = userToCourseDao.selectList(userToCourseWrapper);
if (userToCourseList != null&&userToCourseList.size()>0) {
for (UserToCourseEntity userToCourse : userToCourseList) {
userToCourse.setUserId(mainUser.getId());
userToCourseDao.updateById(userToCourse);
}
}
//收藏(正在学习)
LambdaQueryWrapper<UserCourseStudying> studyingWrapper = new LambdaQueryWrapper<>();
studyingWrapper.eq(UserCourseStudying::getUserId,secondUser.getId());
List<UserCourseStudying> sList = userCourseStudyingDao.selectList(studyingWrapper);
if (sList != null&&sList.size()>0) {
for (UserCourseStudying s : sList) {
s.setUserId(mainUser.getId());
userCourseStudyingDao.updateById(s);
}
}
}
private void updateOrder(MyUserEntity mainUser,MyUserEntity secondUser){
//订单
LambdaQueryWrapper<BuyOrder> orderWrapper = new LambdaQueryWrapper<>();
orderWrapper.eq(BuyOrder::getUserId,secondUser.getId());
List<BuyOrder> orders = orderDao.selectList(orderWrapper);
if (orders != null&&orders.size()>0) {
for (BuyOrder order : orders) {
order.setUserId(mainUser.getId());
order.setUserPhone(mainUser.getTel());
orderDao.updateById(order);
}
}
//支付宝订单
LambdaQueryWrapper<PayZfbOrderEntity> zfbOrderWrapper = new LambdaQueryWrapper<>();
zfbOrderWrapper.eq(PayZfbOrderEntity::getCustomerid,secondUser.getId());
List<PayZfbOrderEntity> zfbOrders = zfbOrderDao.selectList(zfbOrderWrapper);
if (zfbOrders != null&&zfbOrders.size()>0) {
for (PayZfbOrderEntity zfbOrder : zfbOrders) {
zfbOrder.setCustomerid(mainUser.getId().toString());
zfbOrderDao.updateById(zfbOrder);
}
}
//微信订单
LambdaQueryWrapper<PayWechatOrderEntity> wechatOrderWrapper = new LambdaQueryWrapper<>();
wechatOrderWrapper.eq(PayWechatOrderEntity::getCustomerId,secondUser.getId());
List<PayWechatOrderEntity> wechatOrders = wechatOrderDao.selectList(wechatOrderWrapper);
if (wechatOrders != null&&wechatOrders.size()>0) {
for (PayWechatOrderEntity wechatOrder : wechatOrders) {
wechatOrder.setCustomerId(mainUser.getId());
wechatOrderDao.updateById(wechatOrder);
}
}
//paypaymentorder充值订单表
LambdaQueryWrapper<PayPaymentOrderEntity> paymentOrderWrapper = new LambdaQueryWrapper<>();
paymentOrderWrapper.eq(PayPaymentOrderEntity::getUserId,secondUser.getId());
List<PayPaymentOrderEntity> paymentOrders = paymentOrderDao.selectList(paymentOrderWrapper);
if (paymentOrders != null&&paymentOrders.size()>0) {
for (PayPaymentOrderEntity paymentOrder : paymentOrders) {
paymentOrder.setUserId(mainUser.getId());
paymentOrderDao.updateById(paymentOrder);
}
}
}
}