From 3f5070951e0125069cfe5ee335fcf8a674238138 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Thu, 17 Aug 2023 15:29:26 +0800
Subject: [PATCH] 后台修改

---
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java |  118 +++++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 91 insertions(+), 27 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java
index da79277..0e059b8 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java
@@ -69,6 +69,8 @@
     private final DappAccountMoneyChangeDao dappAccountMoneyChangeDao;
     private final MallAddressInfoMapper mallAddressInfoMapper;
     private final MallGoodsCategoryMapper mallGoodsCategoryMapper;
+    private final PlatformBannerMapper platformBannerMapper;
+    private final MallGoodsImagesMapper goodsImagesMapper;
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -399,6 +401,7 @@
                     teamChildListVo.setOrderCnt(mallAchieveRecords.size());
                 }
             }
+            myTeamVo.setTeam(list);
         }
         return myTeamVo;
     }
@@ -522,10 +525,12 @@
 
         DappWalletMineEntity dappWalletMineEntity = dappWalletMineDao.selectByMemberId(member.getId());
         dappMemberInfoVo.setScore(ObjectUtil.isEmpty(dappWalletMineEntity) ? BigDecimal.ZERO : dappWalletMineEntity.getTotalAmount());
-        QueryWrapper<MallOrderInfo> objectQueryWrapper = new QueryWrapper<>();
-        objectQueryWrapper.eq("status", 1);
-        Integer selectCount = mallOrderInfoMapper.selectCount(objectQueryWrapper);
-        dappMemberInfoVo.setWaitPayCnt(selectCount);
+        Integer waitPayCnt = dappMemberDao.selectOrderCntByMemberIdAndStatus(member.getId(),1);
+        Integer payCnt = dappMemberDao.selectOrderCntByMemberIdAndStatus(member.getId(),2);
+        Integer cancelCnt = dappMemberDao.selectOrderCntByMemberIdAndStatus(member.getId(),3);
+        dappMemberInfoVo.setWaitPayCnt(waitPayCnt);
+        dappMemberInfoVo.setPayCnt(payCnt);
+        dappMemberInfoVo.setCancelCnt(cancelCnt);
         return new FebsResponse().success().data(dappMemberInfoVo);
     }
 
@@ -616,6 +621,9 @@
     public MallGoodsListVo findGoodsDetailsById(Long id) {
         DappMemberEntity member = LoginUserUtil.getAppUser();
         MallGoodsListVo mallGoodsListVo = dappMemberDao.selectMallGoodsListVoById(id);
+
+        List<String> images = goodsImagesMapper.selectGoodsImagesByGoodsId(id);
+        mallGoodsListVo.setImages(images);
         return mallGoodsListVo;
     }
 
@@ -660,9 +668,10 @@
         mallOrderInfo.setAmount(totalAmount);
         mallOrderInfo.setStatus(MallOrderInfo.STATUS_WAIT);
         mallOrderInfo.setDeliverType(addOrderDto.getDeliverType());
-        if(1 == addOrderDto.getDeliverType()){
-            mallOrderInfo.setAddressId(addOrderDto.getAddressId());
-        }
+        mallOrderInfo.setAddressId(addOrderDto.getAddressId());
+//        if(1 == addOrderDto.getDeliverType()){
+//            mallOrderInfo.setAddressId(addOrderDto.getAddressId());
+//        }
         mallOrderInfo.setOrderType(1);
         mallOrderInfoMapper.insert(mallOrderInfo);
         MallOrderItem mallOrderItem = new MallOrderItem();
@@ -803,7 +812,7 @@
                 DataDictionaryEnum.PACKAGE_SCORE_PRICE.getType(),
                 DataDictionaryEnum.PACKAGE_SCORE_PRICE.getCode()
         );
-        BigDecimal packageScorePrice = new BigDecimal(ObjectUtil.isEmpty(packageScorePriceDic) ? "0" : packageScorePriceDic.getValue()).setScale(2, BigDecimal.ROUND_DOWN);
+        BigDecimal packageScorePrice = new BigDecimal(ObjectUtil.isEmpty(packageScorePriceDic) ? "0" : packageScorePriceDic.getValue()).setScale(8, BigDecimal.ROUND_DOWN);
         packageInfoVo.setPackageScorePrice(packageScorePrice);
 
         DappMemberEntity dappMemberEntity = dappMemberDao.selectById(memberId);
@@ -816,6 +825,9 @@
     public FebsResponse salePackage(SalePackageDto salePackageDto) {
         Long memberId = LoginUserUtil.getAppUser().getId();
         BigDecimal cnt = salePackageDto.getCnt();
+        if(ObjectUtil.isEmpty(salePackageDto.getCnt())){
+            throw new FebsException("请输入正确的数量");
+        }
         DappMemberEntity dappMemberEntity = dappMemberDao.selectById(memberId);
         BigDecimal saleDoing = dappFundFlowDao.selectSumAmountByMemberIdAndTypeAndStatus(memberId, FundFlowEnum.SALE_PACKAGE.getCode(), DappFundFlowEntity.WITHDRAW_STATUS_ING);
         if(BigDecimal.ZERO.compareTo(saleDoing) < 0){
@@ -945,6 +957,7 @@
     public IPage<MallAddressInfo> findAddressList(MallGoodsQueryDto queryDto) {
         Long memberId = LoginUserUtil.getAppUser().getId();
         Page<MallAddressInfo> page = new Page<>(queryDto.getPageNow(), queryDto.getPageSize());
+        queryDto.setMemberId(memberId);
         return dappMemberDao.selectAddressListInPage(queryDto, page);
     }
 
@@ -1050,28 +1063,32 @@
                 //获取每个人的业绩
                 //业绩集合
                 List<BigDecimal> list = new ArrayList<>();
-                //总业绩
-                BigDecimal teamIncomeMax = BigDecimal.ZERO;
                 //所有直推团队,就是这个会员的所有区域的业绩。
 
-                // 直推用户
-                List<DappMemberEntity> childs = dappMemberDao.selectMemberInfoByRefererId(dappMemberEntity.getInviteId());
-                List<String> childsInviteIds = childs.stream().map(DappMemberEntity::getInviteId).collect(Collectors.toList());
-                if(CollUtil.isNotEmpty(childsInviteIds)){
-                    for(String inviteId : childsInviteIds){
-                        BigDecimal totalIncomeMember = dappMemberDao.selectAchieveRecordByInviteId(inviteId);
-                        teamIncomeMax = teamIncomeMax.add(totalIncomeMember);
-                        list.add(totalIncomeMember);
-                    }
-                    //去掉一个最大区的业绩
-                    BigDecimal bigMax = list.stream().max(BigDecimal::compareTo).get();
-                    teamIncomeMax = teamIncomeMax.subtract(bigMax);
-
-                    MallAchieveRecord mallAchieveRecord = new MallAchieveRecord();
-                    mallAchieveRecord.setMemberId(dappMemberEntity.getId());
-                    mallAchieveRecord.setAmount(teamIncomeMax);
-                    mallAchieveRecordList.add(mallAchieveRecord);
+                BigDecimal teamIncomeMax = dappFundFlowDao.selectSumAmountByMemberIdAndTypeAndStatus(dappMemberEntity.getId(),
+                        FundFlowEnum.ADD_AMOUNT_REAL.getCode(),
+                        DappFundFlowEntity.WITHDRAW_STATUS_AGREE);
+                if(BigDecimal.ZERO.compareTo(teamIncomeMax) >= 0){
+                    continue;
                 }
+
+                MallAchieveRecord mallAchieveRecord = new MallAchieveRecord();
+                mallAchieveRecord.setMemberId(dappMemberEntity.getId());
+                mallAchieveRecord.setAmount(teamIncomeMax);
+                mallAchieveRecordList.add(mallAchieveRecord);
+//                // 直推用户
+//                List<DappMemberEntity> childs = dappMemberDao.selectMemberInfoByRefererId(dappMemberEntity.getInviteId());
+//                List<String> childsInviteIds = childs.stream().map(DappMemberEntity::getInviteId).collect(Collectors.toList());
+//                if(CollUtil.isNotEmpty(childsInviteIds)){
+//                    for(String inviteId : childsInviteIds){
+//                        BigDecimal totalIncomeMember = dappMemberDao.selectAchieveRecordByInviteId(inviteId);
+//                        teamIncomeMax = teamIncomeMax.add(totalIncomeMember);
+//                        list.add(totalIncomeMember);
+//                    }
+//                    //去掉一个最大区的业绩
+//                    BigDecimal bigMax = list.stream().max(BigDecimal::compareTo).get();
+//                    teamIncomeMax = teamIncomeMax.subtract(bigMax);
+//                }
             }
             if(CollUtil.isNotEmpty(mallAchieveRecordList)){
                 //按照小区业绩的多少排名
@@ -1223,6 +1240,53 @@
         return new FebsResponse().success();
     }
 
+    @Override
+    public IPage<MallAddressInfo> shopAddressList(MallGoodsQueryDto queryDto) {
+        Long memberId = LoginUserUtil.getAppUser().getId();
+        Page<MallAddressInfo> page = new Page<>(queryDto.getPageNow(), queryDto.getPageSize());
+        queryDto.setMemberId(1L);
+        return dappMemberDao.selectShopAddressListInPage(queryDto, page);
+    }
+
+    @Override
+    public FebsResponse findAllBanner() {
+        QueryWrapper<PlatformBanner> queryWrapper = new QueryWrapper<>();
+        queryWrapper.orderByAsc("is_top");
+        List<PlatformBanner> paymentMethodList = platformBannerMapper.selectList(queryWrapper);
+        return new FebsResponse().success().data(paymentMethodList);
+    }
+
+    @Override
+    public void setDefaultAddress(Long id) {
+        Long memberId = LoginUserUtil.getAppUser().getId();
+        MallAddressInfo addressInfo = mallAddressInfoMapper.selectById(id);
+        if (addressInfo == null) {
+            throw new FebsException("地址不存在");
+        }
+        this.baseMapper.updateIsDefault(MallAddressInfo.IS_YOUR_N, memberId, null);
+
+        this.baseMapper.updateIsDefault(MallAddressInfo.IS_YOUR_Y, memberId, id);
+    }
+
+    @Override
+    public void confirmOrder(Long id) {
+        Long memberId = LoginUserUtil.getAppUser().getId();
+        MallOrderInfo orderInfo = mallOrderInfoMapper.selectById(id);
+        if (ObjectUtil.isEmpty(orderInfo)) {
+            throw new FebsException("订单不存在");
+        }
+
+        if (orderInfo.getStatus() != MallOrderInfo.STATUS_PAY) {
+            throw new FebsException("该状态不能确认收货");
+        }
+        if (orderInfo.getDeliverState() != MallOrderInfo.DELIVER_STATUS_DONE) {
+            throw new FebsException("该状态不能确认收货");
+        }
+
+        orderInfo.setDeliverState(MallOrderInfo.DELIVER_STATUS_OVER);
+        mallOrderInfoMapper.updateById(orderInfo);
+    }
+
     public static List<List<String>> partitionList(List<String> originalList, int partitionSize) {
         List<List<String>> partitionedList = new ArrayList<>();
         int size = originalList.size();

--
Gitblit v1.9.1