From 657d6ca995fade9e0f23002c54263f1c972a254f Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Mon, 14 Aug 2023 15:16:33 +0800
Subject: [PATCH] 后台修改

---
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java |  162 +++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 154 insertions(+), 8 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 689b667..e8b8d60 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
@@ -11,10 +11,7 @@
 import cc.mrbird.febs.dapp.contract.andao.AndaoContractMain;
 import cc.mrbird.febs.dapp.dto.*;
 import cc.mrbird.febs.dapp.entity.*;
-import cc.mrbird.febs.dapp.enumerate.DataDictionaryEnum;
-import cc.mrbird.febs.dapp.enumerate.FundFlowEnum;
-import cc.mrbird.febs.dapp.enumerate.MemberLevelEnum;
-import cc.mrbird.febs.dapp.enumerate.PoolEnum;
+import cc.mrbird.febs.dapp.enumerate.*;
 import cc.mrbird.febs.dapp.mapper.*;
 import cc.mrbird.febs.dapp.service.DappMemberService;
 import cc.mrbird.febs.dapp.vo.*;
@@ -69,6 +66,8 @@
     private final MallOrderInfoMapper mallOrderInfoMapper;
     private final MallOrderItemMapper mallOrderItemMapper;
     private final MallAchieveRecordMapper mallAchieveRecordMapper;
+    private final DappAccountMoneyChangeDao dappAccountMoneyChangeDao;
+    private final MallAddressInfoMapper mallAddressInfoMapper;
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -149,7 +148,7 @@
             int nodeType = 0;
             //
             if (!"asdf4321".equals(connectDto.getInviteId())) {
-                DappMemberEntity parent = dappMemberDao.selectByAddress(connectDto.getInviteId(), null);
+                DappMemberEntity parent = dappMemberDao.selectMemberInfoByInviteId(connectDto.getInviteId());
                 if (parent == null) {
                     throw new FebsException("recommender is not exist");
                 }
@@ -522,6 +521,10 @@
 
         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);
         return new FebsResponse().success().data(dappMemberInfoVo);
     }
 
@@ -555,7 +558,7 @@
         if(ObjectUtil.isEmpty(dappMemberEntity)) {
             return new FebsResponse().fail().message("会员信息不存在");
         }
-        dappMemberEntity.setActiveStatus(1);
+        dappMemberEntity.setActiveStatus(2);
         dappMemberDao.updateById(dappMemberEntity);
         return new FebsResponse().success();
     }
@@ -597,6 +600,14 @@
         MallOrderListVo mallOrderListVo = dappMemberDao.selectMallOrderListVoById(id);
         List<MallOrderItemVo> mallOrderItemVoList = dappMemberDao.selectMallOrderItemVoByOrderId(id);
         mallOrderListVo.setItems(mallOrderItemVoList);
+        long addressId = ObjectUtil.isEmpty(mallOrderListVo.getAddressId()) ? 0L : mallOrderListVo.getAddressId();
+        MallAddressInfo mallAddressInfo = mallAddressInfoMapper.selectById(addressId);
+        if(ObjectUtil.isNotEmpty(mallAddressInfo)){
+            mallOrderListVo.setName(mallAddressInfo.getName());
+            mallOrderListVo.setPhone(mallAddressInfo.getPhone());
+            mallOrderListVo.setArea(mallAddressInfo.getArea());
+            mallOrderListVo.setAddress(mallAddressInfo.getAddress());
+        }
         return mallOrderListVo;
     }
 
@@ -611,6 +622,7 @@
     @Transactional
     public Long createOrder(AddOrderDto addOrderDto) {
         DappMemberEntity member = LoginUserUtil.getAppUser();
+//        DappMemberEntity member = dappMemberDao.selectById(1L);
         /**
          * 1、商品是否上架
          * 2、用户余额是否足够
@@ -646,6 +658,10 @@
         mallOrderInfo.setOrderTime(DateUtil.date());
         mallOrderInfo.setAmount(totalAmount);
         mallOrderInfo.setStatus(MallOrderInfo.STATUS_WAIT);
+        mallOrderInfo.setDeliverType(addOrderDto.getDeliverType());
+        if(1 == addOrderDto.getDeliverType()){
+            mallOrderInfo.setAddressId(addOrderDto.getAddressId());
+        }
         mallOrderInfo.setOrderType(1);
         mallOrderInfoMapper.insert(mallOrderInfo);
         MallOrderItem mallOrderItem = new MallOrderItem();
@@ -662,7 +678,8 @@
     @Override
     @Transactional
     public void cancelOrder(Long id) {
-        DappMemberEntity member = LoginUserUtil.getAppUser();
+//        DappMemberEntity member = LoginUserUtil.getAppUser();
+        DappMemberEntity member = dappMemberDao.selectById(1L);
         MallOrderInfo orderInfo = mallOrderInfoMapper.selectById(id);
         if (ObjectUtil.isEmpty(orderInfo)) {
             throw new FebsException("订单异常");
@@ -681,6 +698,7 @@
     @Transactional
     public void payOrder(Long id) {
         DappMemberEntity member = LoginUserUtil.getAppUser();
+//        DappMemberEntity member = dappMemberDao.selectById(1L);
         MallOrderInfo orderInfo = mallOrderInfoMapper.selectById(id);
         if (ObjectUtil.isEmpty(orderInfo)) {
             throw new FebsException("订单异常");
@@ -736,14 +754,16 @@
         String payOrderNo = MallUtils.getOrderNum("PAY");
         orderInfo.setPayOrderNo(payOrderNo);
         orderInfo.setPayMethod("余额支付");
-        orderInfo.setPayResult("成功");
+        orderInfo.setPayResult(1);
         orderInfo.setStatus(MallOrderInfo.STATUS_PAY);
+        orderInfo.setDeliverState(MallOrderInfo.DELIVER_STATUS_WAIT);
         mallOrderInfoMapper.updateById(orderInfo);
         /**
          * 更新用户余额
          */
         dappWalletCoinDao.reduceTotalAndAvailableByMemberId(member.getId(),totalAmount);
         DappFundFlowEntity donateScoreFlow = new DappFundFlowEntity(
+                AccountFlowEnum.AMOUNT.getCode(),
                 member.getId(),
                 totalAmount.negate(),
                 FundFlowEnum.PAY_ORDER.getCode(),
@@ -751,6 +771,7 @@
                 BigDecimal.ZERO,
                 payOrderNo,
                 id);
+        dappFundFlowDao.insert(donateScoreFlow);
 
         /**
          * 支付成功,消费后成有效账户后可分享(有效用户可推广)
@@ -823,6 +844,131 @@
         return new FebsResponse().success();
     }
 
+    @Override
+    public FebsResponse updateSystemPay(MallSystemPayDto mallSystemPayDto) {
+        Long memberId = mallSystemPayDto.getId();
+        DappMemberEntity mallMember = dappMemberDao.selectById(memberId);
+        if(ObjectUtil.isEmpty(mallMember)){
+            return new FebsResponse().fail().message("系统繁忙,请刷新页面重试");
+        }
+
+        BigDecimal bigDecimal = mallSystemPayDto.getAddBalance();
+
+        Integer type = mallSystemPayDto.getType();
+        if (type == 1) {
+            dappWalletCoinDao.addTotalAndaddAvailableByMemberId(memberId,bigDecimal);
+            //插入流水
+            DappFundFlowEntity amountFlow = new DappFundFlowEntity(
+                    memberId,
+                    bigDecimal,
+                    FundFlowEnum.SYSTEM_AMOUNT.getCode(),
+                    DappFundFlowEntity.WITHDRAW_STATUS_AGREE,
+                    BigDecimal.ZERO);
+            dappFundFlowDao.insert(amountFlow);
+        } else if (type == 2) {
+            dappWalletMineDao.addTotalAndaddAvailableById(bigDecimal,memberId);
+            //插入流水
+            DappFundFlowEntity amountFlow = new DappFundFlowEntity(
+                    memberId,
+                    bigDecimal,
+                    FundFlowEnum.SYSTEM_SCORE.getCode(),
+                    DappFundFlowEntity.WITHDRAW_STATUS_AGREE,
+                    BigDecimal.ZERO);
+            dappFundFlowDao.insert(amountFlow);
+        } else if (type == 3) {
+            BigDecimal balance = mallMember.getBalance();
+            balance = balance.add(bigDecimal);
+            mallMember.setBalance(balance);
+            dappMemberDao.updateById(mallMember);
+            //插入流水
+            DappFundFlowEntity amountFlow = new DappFundFlowEntity(
+                    memberId,
+                    bigDecimal,
+                    FundFlowEnum.SYSTEM_PACKAGE.getCode(),
+                    DappFundFlowEntity.WITHDRAW_STATUS_AGREE,
+                    BigDecimal.ZERO);
+            dappFundFlowDao.insert(amountFlow);
+        } else {
+            throw new FebsException("参数错误");
+        }
+        return new FebsResponse().success();
+    }
+
+    @Override
+    public IPage<MemberMoneyFlowVo> memberMoneyFlow(QueryRequest request, DappMemberEntity dappMemberEntity) {
+        Page<MemberMoneyFlowVo> page = new Page<>(request.getPageNum(), request.getPageSize());
+        IPage<MemberMoneyFlowVo> memberMoneyFlowVos = dappAccountMoneyChangeDao.selectMemberMoneyFlowInPage(page, dappMemberEntity);
+        return memberMoneyFlowVos;
+    }
+
+    @Override
+    public void delOrder(Long id) {
+        Long memberId = LoginUserUtil.getAppUser().getId();
+
+        mallOrderInfoMapper.deleteById(id);
+        QueryWrapper<MallOrderItem> objectQueryWrapper = new QueryWrapper<>();
+        objectQueryWrapper.eq("order_id", id);
+        List<MallOrderItem> mallOrderItems = mallOrderItemMapper.selectList(objectQueryWrapper);
+        if(CollUtil.isNotEmpty(mallOrderItems)){
+            for(MallOrderItem mallOrderItem : mallOrderItems){
+                mallOrderItemMapper.deleteById(mallOrderItem.getId());
+            }
+        }
+    }
+
+    @Override
+    public void createAddress(CreateAddressDto createAddressDto) {
+        Long memberId = LoginUserUtil.getAppUser().getId();
+        MallAddressInfo mallAddressInfo = new MallAddressInfo();
+        mallAddressInfo.setMemberId(memberId);
+        mallAddressInfo.setName(createAddressDto.getName());
+        mallAddressInfo.setPhone(createAddressDto.getPhone());
+        mallAddressInfo.setArea(createAddressDto.getArea());
+        mallAddressInfo.setAddress(createAddressDto.getAddress());
+        mallAddressInfo.setIsDefault(1);
+        mallAddressInfoMapper.insert(mallAddressInfo);
+    }
+
+    @Override
+    public void delAddress(Long id) {
+        Long memberId = LoginUserUtil.getAppUser().getId();
+        MallAddressInfo mallAddressInfo = mallAddressInfoMapper.selectById(id);
+        if(ObjectUtil.isEmpty(mallAddressInfo)){
+            throw new FebsException("地址不存在");
+        }
+        mallAddressInfo.setIsDefault(2);
+        mallAddressInfoMapper.updateById(mallAddressInfo);
+    }
+
+    @Override
+    public IPage<MallAddressInfo> findAddressList(MallGoodsQueryDto queryDto) {
+        Long memberId = LoginUserUtil.getAppUser().getId();
+        Page<MallAddressInfo> page = new Page<>(queryDto.getPageNow(), queryDto.getPageSize());
+        return dappMemberDao.selectAddressListInPage(queryDto, page);
+    }
+
+    @Override
+    public MallAddressInfo addressDetails(Long id) {
+        Long memberId = LoginUserUtil.getAppUser().getId();
+        MallAddressInfo mallAddressInfo = mallAddressInfoMapper.selectById(id);
+        return mallAddressInfo;
+    }
+
+    @Override
+    public void updateAddress(CreateAddressDto createAddressDto) {
+        Long memberId = LoginUserUtil.getAppUser().getId();
+
+        MallAddressInfo mallAddressInfo = mallAddressInfoMapper.selectById(createAddressDto.getId());
+        if(ObjectUtil.isEmpty(mallAddressInfo)){
+            throw new FebsException("地址不存在");
+        }
+        mallAddressInfo.setName(createAddressDto.getName());
+        mallAddressInfo.setPhone(createAddressDto.getPhone());
+        mallAddressInfo.setArea(createAddressDto.getArea());
+        mallAddressInfo.setAddress(createAddressDto.getAddress());
+        mallAddressInfoMapper.updateById(mallAddressInfo);
+    }
+
     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