From e6a82a42d56881564449d91cef048220dca31d78 Mon Sep 17 00:00:00 2001 From: wuchunlei Date: Fri, 21 Jun 2024 14:23:46 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=90=88=E5=B9=B6=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/UserManageServiceImpl.java | 404 ++++++++++-------- 1 file changed, 229 insertions(+), 175 deletions(-) diff --git a/src/main/java/com/peanut/modules/master/service/impl/UserManageServiceImpl.java b/src/main/java/com/peanut/modules/master/service/impl/UserManageServiceImpl.java index 4f43a3d3..78f527ee 100644 --- a/src/main/java/com/peanut/modules/master/service/impl/UserManageServiceImpl.java +++ b/src/main/java/com/peanut/modules/master/service/impl/UserManageServiceImpl.java @@ -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 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 userVipWrapper = new LambdaQueryWrapper<>(); -// userVipWrapper.eq(UserVip::getUserId,secondUser.getId()); -// List userVips = userVipDao.selectList(userVipWrapper); -// if (userVips != null&&userVips.size()>0) { -// for (UserVip userVip : userVips) { -// userVip.setUserId(mainUser.getId()); -// userVipDao.updateById(userVip); -// } -// } - //币详情 - LambdaQueryWrapper detailsWrapper = new LambdaQueryWrapper<>(); - detailsWrapper.eq(TransactionDetailsEntity::getUserId,secondUser.getId()); - List details = detailsDao.selectList(detailsWrapper); - if (details != null&&details.size()>0) { - for (TransactionDetailsEntity detail : details) { - detail.setUserId(mainUser.getId()); - detailsDao.updateById(detail); - } - } - //积分详情 - LambdaQueryWrapper jfDetailsWrapper = new LambdaQueryWrapper<>(); - jfDetailsWrapper.eq(JfTransactionDetails::getUserId,secondUser.getId()); - List jfdetails = jfDetailsDao.selectList(jfDetailsWrapper); - if (jfdetails != null&&jfdetails.size()>0) { - for (JfTransactionDetails jfdetail : jfdetails) { - jfdetail.setUserId(mainUser.getId()); - jfDetailsDao.updateById(jfdetail); - } - } - //电子书 - LambdaQueryWrapper ebookWrapper = new LambdaQueryWrapper<>(); - ebookWrapper.eq(UserEbookBuyEntity :: getUserId,secondUser.getId()); - List ebooks = ebookBuyDao.selectList(ebookWrapper); - if (ebooks != null&&ebooks.size()>0) { - for (UserEbookBuyEntity ebookBuyEntity : ebooks) { - LambdaQueryWrapper mainebookWrapper = new LambdaQueryWrapper<>(); - mainebookWrapper.eq(UserEbookBuyEntity::getUserId,mainUser.getId()); - mainebookWrapper.eq(UserEbookBuyEntity::getBookId,ebookBuyEntity.getBookId()); - List mainebooks = ebookBuyDao.selectList(mainebookWrapper); - if (mainebooks != null&&mainebooks.size()==0){ - ebookBuyEntity.setUserId(mainUser.getId()); - ebookBuyDao.updateById(ebookBuyEntity); - } - } - } - //打卡 - LambdaQueryWrapper clockWrapper = new LambdaQueryWrapper<>(); - clockWrapper.eq(UserBookClockEntity::getUserId,secondUser.getId()); - List clocks = clockDao.selectList(clockWrapper); - if (clocks != null&&clocks.size()>0) { - for (UserBookClockEntity clock : clocks) { - LambdaQueryWrapper mainclockWrapper = new LambdaQueryWrapper<>(); - mainclockWrapper.eq(UserBookClockEntity::getUserId,mainUser.getId()); - mainclockWrapper.eq(UserBookClockEntity::getBookId,clock.getBookId()); - List mainclocks = clockDao.selectList(mainclockWrapper); - if (mainclocks != null&&mainclocks.size()>0){ - clockDao.deleteBatchIds(mainclocks); - } - clock.setUserId(mainUser.getId()); - clockDao.updateById(clock); - } - } - //收货地址 - LambdaQueryWrapper addressWrapper = new LambdaQueryWrapper<>(); - addressWrapper.eq(UserAddress::getUserId,secondUser.getId()); - List address = addressDao.selectList(addressWrapper); - if (address != null&&address.size()>0) { - for (UserAddress addr : address) { - LambdaQueryWrapper mainaddressWrapper = new LambdaQueryWrapper<>(); - mainaddressWrapper.eq(UserAddress::getUserId,mainUser.getId()); - List mainebooks = addressDao.selectList(mainaddressWrapper); - if (mainebooks != null&&mainebooks.size()>0){ - addr.setIsDefault(0); - } - addr.setUserId(mainUser.getId()); - addressDao.updateById(addr); - } - } - //湖分 - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(UserContribution :: getUserId,secondUser.getId()); - List contributions = contributionDao.selectList(queryWrapper); - if (contributions != null&&contributions.size()>0) { - for (UserContribution c : contributions) { - c.setUserId(mainUser.getId()); - contributionDao.updateById(c); - } - } - //湖分剩余 - LambdaQueryWrapper exchangeWrapper = new LambdaQueryWrapper<>(); - exchangeWrapper.eq(UserContributionExchange :: getUserId,secondUser.getId()); - UserContributionExchange exchange = exchangeDao.selectOne(exchangeWrapper); - if (exchange != null) { - LambdaQueryWrapper 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 courseWrapper = new LambdaQueryWrapper<>(); - courseWrapper.eq(UserCourseBuyEntity :: getUserId,secondUser.getId()); - List courseBuys = courseBuyDao.selectList(courseWrapper); - if (courseBuys != null&&courseBuys.size()>0) { - for (UserCourseBuyEntity c : courseBuys) { - c.setUserId(mainUser.getId()); - courseBuyDao.updateById(c); - } - } - //订单 - LambdaQueryWrapper orderWrapper = new LambdaQueryWrapper<>(); - orderWrapper.eq(BuyOrder::getUserId,secondUser.getId()); - List orders = orderDao.selectList(orderWrapper); - if (orders != null&&orders.size()>0) { - for (BuyOrder order : orders) { - order.setUserId(mainUser.getId()); - orderDao.updateById(order); - } - } - //支付宝订单 - LambdaQueryWrapper zfbOrderWrapper = new LambdaQueryWrapper<>(); - zfbOrderWrapper.eq(PayZfbOrderEntity::getCustomerid,secondUser.getId()); - List zfbOrders = zfbOrderDao.selectList(zfbOrderWrapper); - if (zfbOrders != null&&zfbOrders.size()>0) { - for (PayZfbOrderEntity zfbOrder : zfbOrders) { - zfbOrder.setCustomerid(mainUser.getId().toString()); - zfbOrderDao.updateById(zfbOrder); - } - } - //微信订单 - LambdaQueryWrapper wechatOrderWrapper = new LambdaQueryWrapper<>(); - wechatOrderWrapper.eq(PayWechatOrderEntity::getCustomerId,secondUser.getId()); - List wechatOrders = wechatOrderDao.selectList(wechatOrderWrapper); - if (wechatOrders != null&&wechatOrders.size()>0) { - for (PayWechatOrderEntity wechatOrder : wechatOrders) { - wechatOrder.setCustomerId(mainUser.getId()); - wechatOrderDao.updateById(wechatOrder); - } - } - //paypaymentorder充值订单表 - LambdaQueryWrapper paymentOrderWrapper = new LambdaQueryWrapper<>(); - paymentOrderWrapper.eq(PayPaymentOrderEntity::getUserId,secondUser.getId()); - List 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 ebookWrapper = new LambdaQueryWrapper<>(); + ebookWrapper.eq(UserEbookBuyEntity :: getUserId,secondUser.getId()); + List ebooks = ebookBuyDao.selectList(ebookWrapper); + if (ebooks != null&&ebooks.size()>0) { + for (UserEbookBuyEntity ebookBuyEntity : ebooks) { + LambdaQueryWrapper mainebookWrapper = new LambdaQueryWrapper<>(); + mainebookWrapper.eq(UserEbookBuyEntity::getUserId,mainUser.getId()); + mainebookWrapper.eq(UserEbookBuyEntity::getBookId,ebookBuyEntity.getBookId()); + List mainebooks = ebookBuyDao.selectList(mainebookWrapper); + if (mainebooks != null&&mainebooks.size()==0){ + ebookBuyEntity.setUserId(mainUser.getId()); + ebookBuyDao.updateById(ebookBuyEntity); + } + } + } + //打卡 + LambdaQueryWrapper clockWrapper = new LambdaQueryWrapper<>(); + clockWrapper.eq(UserBookClockEntity::getUserId,secondUser.getId()); + List clocks = clockDao.selectList(clockWrapper); + if (clocks != null&&clocks.size()>0) { + for (UserBookClockEntity clock : clocks) { + LambdaQueryWrapper mainclockWrapper = new LambdaQueryWrapper<>(); + mainclockWrapper.eq(UserBookClockEntity::getUserId,mainUser.getId()); + mainclockWrapper.eq(UserBookClockEntity::getBookId,clock.getBookId()); + List mainclocks = clockDao.selectList(mainclockWrapper); + if (mainclocks != null&&mainclocks.size()>0){ + clockDao.deleteBatchIds(mainclocks); + } + clock.setUserId(mainUser.getId()); + clockDao.updateById(clock); + } + } + //收货地址 + LambdaQueryWrapper addressWrapper = new LambdaQueryWrapper<>(); + addressWrapper.eq(UserAddress::getUserId,secondUser.getId()); + List address = addressDao.selectList(addressWrapper); + if (address != null&&address.size()>0) { + for (UserAddress addr : address) { + LambdaQueryWrapper mainaddressWrapper = new LambdaQueryWrapper<>(); + mainaddressWrapper.eq(UserAddress::getUserId,mainUser.getId()); + List 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 detailsWrapper = new LambdaQueryWrapper<>(); + detailsWrapper.eq(TransactionDetailsEntity::getUserId,secondUser.getId()); + List details = detailsDao.selectList(detailsWrapper); + if (details != null&&details.size()>0) { + for (TransactionDetailsEntity detail : details) { + detail.setUserId(mainUser.getId()); + detailsDao.updateById(detail); + } + } + //积分详情 + LambdaQueryWrapper jfDetailsWrapper = new LambdaQueryWrapper<>(); + jfDetailsWrapper.eq(JfTransactionDetails::getUserId,secondUser.getId()); + List 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 queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(UserContribution :: getUserId,secondUser.getId()); + List contributions = contributionDao.selectList(queryWrapper); + if (contributions != null&&contributions.size()>0) { + for (UserContribution c : contributions) { + c.setUserId(mainUser.getId()); + contributionDao.updateById(c); + } + } + //湖分剩余 + LambdaQueryWrapper exchangeWrapper = new LambdaQueryWrapper<>(); + exchangeWrapper.eq(UserContributionExchange :: getUserId,secondUser.getId()); + UserContributionExchange exchange = exchangeDao.selectOne(exchangeWrapper); + if (exchange != null) { + LambdaQueryWrapper 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 courseWrapper = new LambdaQueryWrapper<>(); + courseWrapper.eq(UserCourseBuyEntity :: getUserId,secondUser.getId()); + List courseBuys = courseBuyDao.selectList(courseWrapper); + if (courseBuys != null&&courseBuys.size()>0) { + for (UserCourseBuyEntity c : courseBuys) { + c.setUserId(mainUser.getId()); + courseBuyDao.updateById(c); + } + } + //播放记录 + LambdaQueryWrapper videoPositionWrapper = new LambdaQueryWrapper<>(); + videoPositionWrapper.eq(UserCourseVideoPositionEntity::getUserId,secondUser.getId()); + List videoPositionList = userCourseVideoPositionDao.selectList(videoPositionWrapper); + if (videoPositionList != null&&videoPositionList.size()>0) { + for (UserCourseVideoPositionEntity videoPosition : videoPositionList) { + videoPosition.setUserId(mainUser.getId()); + userCourseVideoPositionDao.updateById(videoPosition); + } + } + //浏览记录 + LambdaQueryWrapper userToCourseWrapper = new LambdaQueryWrapper<>(); + userToCourseWrapper.eq(UserToCourseEntity::getUserId,secondUser.getId()); + List userToCourseList = userToCourseDao.selectList(userToCourseWrapper); + if (userToCourseList != null&&userToCourseList.size()>0) { + for (UserToCourseEntity userToCourse : userToCourseList) { + userToCourse.setUserId(mainUser.getId()); + userToCourseDao.updateById(userToCourse); + } + } + //收藏(正在学习) + LambdaQueryWrapper studyingWrapper = new LambdaQueryWrapper<>(); + studyingWrapper.eq(UserCourseStudying::getUserId,secondUser.getId()); + List 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 orderWrapper = new LambdaQueryWrapper<>(); + orderWrapper.eq(BuyOrder::getUserId,secondUser.getId()); + List 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 zfbOrderWrapper = new LambdaQueryWrapper<>(); + zfbOrderWrapper.eq(PayZfbOrderEntity::getCustomerid,secondUser.getId()); + List zfbOrders = zfbOrderDao.selectList(zfbOrderWrapper); + if (zfbOrders != null&&zfbOrders.size()>0) { + for (PayZfbOrderEntity zfbOrder : zfbOrders) { + zfbOrder.setCustomerid(mainUser.getId().toString()); + zfbOrderDao.updateById(zfbOrder); + } + } + //微信订单 + LambdaQueryWrapper wechatOrderWrapper = new LambdaQueryWrapper<>(); + wechatOrderWrapper.eq(PayWechatOrderEntity::getCustomerId,secondUser.getId()); + List wechatOrders = wechatOrderDao.selectList(wechatOrderWrapper); + if (wechatOrders != null&&wechatOrders.size()>0) { + for (PayWechatOrderEntity wechatOrder : wechatOrders) { + wechatOrder.setCustomerId(mainUser.getId()); + wechatOrderDao.updateById(wechatOrder); + } + } + //paypaymentorder充值订单表 + LambdaQueryWrapper paymentOrderWrapper = new LambdaQueryWrapper<>(); + paymentOrderWrapper.eq(PayPaymentOrderEntity::getUserId,secondUser.getId()); + List paymentOrders = paymentOrderDao.selectList(paymentOrderWrapper); + if (paymentOrders != null&&paymentOrders.size()>0) { + for (PayPaymentOrderEntity paymentOrder : paymentOrders) { + paymentOrder.setUserId(mainUser.getId()); + paymentOrderDao.updateById(paymentOrder); + } + } + } + + + }