From 10ad2e710d2bd52aac31d5d63a7bb6beae76b6a8 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Tue, 07 Nov 2023 14:35:32 +0800
Subject: [PATCH] 用户列表增加搜索条件

---
 src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java |  160 ++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 144 insertions(+), 16 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java
index 2bbfb79..0a1ff03 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java
@@ -2,11 +2,15 @@
 
 import cc.mrbird.febs.common.entity.FebsResponse;
 import cc.mrbird.febs.common.entity.QueryRequest;
+import cc.mrbird.febs.common.enumerates.FlowTypeEnum;
+import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum;
+import cc.mrbird.febs.common.utils.RedisUtils;
 import cc.mrbird.febs.mall.dto.*;
 import cc.mrbird.febs.mall.entity.*;
 import cc.mrbird.febs.mall.mapper.*;
 import cc.mrbird.febs.mall.service.IAdminMallOrderService;
 import cc.mrbird.febs.mall.service.IApiMallMemberWalletService;
+import cc.mrbird.febs.mall.service.IMallMoneyFlowService;
 import cc.mrbird.febs.mall.vo.*;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.ObjectUtil;
@@ -19,6 +23,7 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 @Slf4j
@@ -39,6 +44,8 @@
 
     private final MallOrderRefundAddressMapper mallOrderRefundAddressMapper;
 
+    private final MallGoodsCommentMapper mallGoodsCommentMapper;
+
     private final MallMoneyFlowMapper mallMoneyFlowMapper;
 
     private final IApiMallMemberWalletService iApiMallMemberWalletService;
@@ -46,11 +53,31 @@
     private final MallMemberPaymentMapper mallMemberPaymentMapper;
 
     private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
+    private final IMallMoneyFlowService mallMoneyFlowService;
+
+
+    @Override
+    public IPage<MallOrderInfo> findOrderListInPage(MallOrderInfo mallOrderInfo, QueryRequest request) {
+        Page<MallOrderInfo> page = new Page<>(request.getPageNum(), request.getPageSize());
+        return this.baseMapper.selectInPage(mallOrderInfo, page);
+    }
 
     @Override
     public IPage<AdminMallOrderInfoVo> getOrderListInPage(MallOrderInfoDto mallOrderInfo, QueryRequest request) {
         Page<AdminMallOrderInfoVo> page = new Page<>(request.getPageNum(), request.getPageSize());
         IPage<AdminMallOrderInfoVo> adminMallOrderInfoVos = this.baseMapper.selectOrderListInPage(page, mallOrderInfo);
+//        List<AdminMallOrderInfoVo> records = adminMallOrderInfoVos.getRecords();
+//        if(CollUtil.isNotEmpty(records)){
+//            for(AdminMallOrderInfoVo adminMallOrderInfoVo : records){
+//                Long id = adminMallOrderInfoVo.getId();
+//                List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectbyOrderId(id);
+//                StringBuffer stringBuffer = new StringBuffer();
+//                for(MallOrderItem mallOrderItem : mallOrderItemList){
+//                    stringBuffer.append(mallOrderItem.getGoodsName()+"*"+mallOrderItem.getCnt()+";");
+//                }
+//                adminMallOrderInfoVo.setGoodsName(stringBuffer.toString());
+//            }
+//        }
         return adminMallOrderInfoVos;
     }
 
@@ -143,15 +170,24 @@
         mallOrderInfoMapper.updateById(mallOrderInfo);
 
         if(!"微信支付".equals(mallOrderInfo.getPayMethod()) && !"支付宝支付".equals(mallOrderInfo.getPayMethod())){
+            BigDecimal amount = mallOrderRefund.getAmount();
             //用户钱包增加对应的余额
-            iApiMallMemberWalletService.addBalance(mallOrderInfo.getAmount(),mallOrderInfo.getMemberId());
-            //新增一条资金流水
-            MallMoneyFlow mallMoneyFlow = new MallMoneyFlow();
-            mallMoneyFlow.setMemberId(mallOrderRefund.getMemberId());
-            mallMoneyFlow.setOrderNo(mallOrderInfo.getOrderNo());
-            mallMoneyFlow.setType(4);
-            mallMoneyFlow.setAmount(mallOrderInfo.getAmount());
-            mallMoneyFlowMapper.insert(mallMoneyFlow);
+            iApiMallMemberWalletService.addBalance(amount, mallOrderInfo.getMemberId());
+
+            mallMoneyFlowService.addMoneyFlow(mallOrderRefund.getMemberId(), amount, MoneyFlowTypeEnum.REFUND.getValue(), mallOrderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue());
+
+            //积分池减少对应的数值
+            String redisKey = "scorePool";
+            String scorePoolRedis = redisUtils.getString(redisKey);
+            if(StrUtil.isBlank(scorePoolRedis)){
+                redisUtils.set(redisKey,0,0L);
+            }
+            BigDecimal scorePoolOld = new BigDecimal(redisUtils.getString(redisKey));
+            if(scorePoolOld.compareTo(amount) < 0){
+                redisUtils.set(redisKey,0,0L);
+            }else{
+                redisUtils.set(redisKey,scorePoolOld.subtract(amount).intValue(),0L);
+            }
         }
 
         MallOrderRefundOperation mallOrderRefundOperation = new MallOrderRefundOperation();
@@ -189,6 +225,7 @@
         return new FebsResponse().success();
     }
 
+    private final RedisUtils redisUtils;
     @Override
     public FebsResponse refundConfirm(Long id) {
         MallOrderRefund mallOrderRefund = mallOrderRefundMapper.selectById(id);
@@ -215,17 +252,24 @@
         mallOrderInfo.setStatus(6);
         mallOrderInfoMapper.updateById(mallOrderInfo);
 
+        BigDecimal refundAmount = mallOrderRefund.getAmount();
         //用户钱包增加对应的余额
-        iApiMallMemberWalletService.addBalance(mallOrderInfo.getAmount(),mallOrderInfo.getMemberId());
+        iApiMallMemberWalletService.addBalance(refundAmount, mallOrderInfo.getMemberId());
+        //积分池减少对应的数值
+        String redisKey = "scorePool";
+        String scorePoolRedis = redisUtils.getString(redisKey);
+        if(StrUtil.isBlank(scorePoolRedis)){
+            redisUtils.set(redisKey,0,0L);
+        }
+        BigDecimal scorePoolOld = new BigDecimal(redisUtils.getString(redisKey));
+        if(scorePoolOld.compareTo(refundAmount) < 0){
+            redisUtils.set(redisKey,0,0L);
+        }else{
+            redisUtils.set(redisKey,scorePoolOld.subtract(refundAmount).intValue(),0L);
+        }
 
         //新增一条资金流水
-        MallMoneyFlow mallMoneyFlow = new MallMoneyFlow();
-        mallMoneyFlow.setMemberId(mallOrderRefund.getMemberId());
-        mallMoneyFlow.setOrderNo(mallOrderInfo.getOrderNo());
-        mallMoneyFlow.setType(4);
-        mallMoneyFlow.setAmount(mallOrderInfo.getAmount());
-        mallMoneyFlowMapper.insert(mallMoneyFlow);
-
+        mallMoneyFlowService.addMoneyFlow(mallOrderRefund.getMemberId(), refundAmount, MoneyFlowTypeEnum.REFUND.getValue(), mallOrderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue());
         return new FebsResponse().success();
     }
 
@@ -359,5 +403,89 @@
         return adminMallMemberPaymentVo;
     }
 
+    @Override
+    public IPage<AdminMallGoodsCommentVo> getCommentListInPage(AdminMallGoodsCommentDto adminMallGoodsCommentDto, QueryRequest request) {
+        Page<AdminMallGoodsCommentVo> page = new Page<>(request.getPageNum(), request.getPageSize());
+        IPage<AdminMallGoodsCommentVo> adminMallGoodsCommentVos = mallGoodsCommentMapper.getCommentListInPage(page, adminMallGoodsCommentDto);
+        return adminMallGoodsCommentVos;
+    }
 
+    @Override
+    public FebsResponse showStateSwitchOn(Long id) {
+        MallGoodsComment mallGoodsComment = mallGoodsCommentMapper.selectById(id);
+        if (ObjectUtil.isEmpty(mallGoodsComment)) {
+            return new FebsResponse().fail().message("评论不存在,请刷新当前页面");
+        }
+        mallGoodsComment.setShowState(MallGoodsComment.SHOW_STATE_ENABLE);
+        mallGoodsCommentMapper.updateById(mallGoodsComment);
+        return new FebsResponse().success();
+    }
+
+    @Override
+    public FebsResponse showStateSwitchOff(Long id) {
+        MallGoodsComment mallGoodsComment = mallGoodsCommentMapper.selectById(id);
+        if (ObjectUtil.isEmpty(mallGoodsComment)) {
+            return new FebsResponse().fail().message("评论不存在,请刷新当前页面");
+        }
+        mallGoodsComment.setShowState(MallGoodsComment.SHOW_STATE_DISABLED);
+        mallGoodsCommentMapper.updateById(mallGoodsComment);
+        return new FebsResponse().success();
+    }
+
+    @Override
+    public FebsResponse delOrder(Long id) {
+        MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(id);
+        if(ObjectUtil.isEmpty(mallOrderInfo)){
+            return new FebsResponse().fail().message("订单不存在,请刷新重试");
+        }
+        Integer status = mallOrderInfo.getStatus();
+        if(status != 7){
+            return new FebsResponse().fail().message("订单不是已取消状态");
+        }
+        mallOrderInfoMapper.deleteById(id);
+        return new FebsResponse().success();
+    }
+
+    @Override
+    public FebsResponse takeGoods(Long id) {
+        MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(id);
+        if(ObjectUtil.isEmpty(mallOrderInfo)){
+            return new FebsResponse().fail().message("订单不存在,刷新后重试");
+        }
+        Integer status = mallOrderInfo.getStatus();
+        if(2 != status){
+            return new FebsResponse().fail().message("订单不是待发货状态");
+        }
+
+        mallOrderInfo.setStatus(3);
+        mallOrderInfoMapper.updateById(mallOrderInfo);
+        return new FebsResponse().success();
+    }
+
+    @Override
+    public IPage<AdminMallMoneyFlowVo> orderMoneyFlow(QueryRequest request, MallOrderInfo mallOrderInfo) {
+        MallOrderInfo mallOrder = this.baseMapper.selectById(mallOrderInfo.getId());
+        Page<AdminMallMoneyFlowVo> page = new Page<>(request.getPageNum(), request.getPageSize());
+        IPage<AdminMallMoneyFlowVo> adminMallMoneyFlowVos = mallMoneyFlowMapper.selectOrderMoneyFlowInPage(page, mallOrder);
+        return adminMallMoneyFlowVos;
+    }
+
+    @Override
+    public void deliverGoodsByOrderNo(DeliverGoodsDto deliverGoodsDto) {
+        MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectByOrderNo(deliverGoodsDto.getOrderNo());
+        if (mallOrderInfo == null) {
+            return;
+        }
+
+        MallExpressInfo mallExpressInfo = new MallExpressInfo();
+        mallExpressInfo.setMemberId(mallOrderInfo.getMemberId());
+        mallExpressInfo.setOrderId(mallOrderInfo.getId());
+        mallExpressInfo.setExpressNo(deliverGoodsDto.getExpressNo());
+        mallExpressInfo.setExpressCom(deliverGoodsDto.getExpressCom());
+        mallExpressInfo.setExpressCode(deliverGoodsDto.getExpressCode());
+        mallExpressInfoMapper.insert(mallExpressInfo);
+
+        mallOrderInfo.setStatus(3);
+        mallOrderInfoMapper.updateById(mallOrderInfo);
+    }
 }

--
Gitblit v1.9.1