From aff7d90dba9d9697f20b171ab7555acdb65efa52 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Fri, 24 Sep 2021 18:51:14 +0800
Subject: [PATCH] Merge branch 'master' of http://120.27.238.55:7000/r/xc-mall

---
 src/main/java/cc/mrbird/febs/mall/entity/MallMoneyFlow.java                     |   14 ++
 src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java                  |   12 ++
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java |   33 +++-
 src/main/resources/mapper/modules/MallMemberMapper.xml                          |   39 ++++++
 src/main/java/cc/mrbird/febs/mall/dto/MoneyFlowDto.java                         |   26 ++++
 src/main/java/cc/mrbird/febs/mall/vo/MoneyFlowVo.java                           |   40 ++++++
 sql/xc_mall.sql                                                                 |    3 
 src/main/java/cc/mrbird/febs/mall/dto/TeamListDto.java                          |    2 
 src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java            |   13 +
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java    |   67 +++++++++-
 src/main/java/cc/mrbird/febs/mall/vo/TeamListVo.java                            |    5 
 src/main/resources/mapper/modules/MallGoodsMapper.xml                           |    8 +
 src/main/java/cc/mrbird/febs/common/enumerates/MoneyFlowTypeEnum.java           |   38 ++++++
 src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java       |   11 +
 src/main/java/cc/mrbird/febs/mall/mapper/MallGoodsMapper.java                   |    5 
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallGoodsServiceImpl.java     |    6 +
 src/main/resources/mapper/modules/MallMoneyFlowMapper.xml                       |   18 +++
 src/main/java/cc/mrbird/febs/mall/mapper/MallMoneyFlowMapper.java               |    3 
 src/main/java/cc/mrbird/febs/mall/vo/OrderDetailVo.java                         |    2 
 19 files changed, 321 insertions(+), 24 deletions(-)

diff --git a/sql/xc_mall.sql b/sql/xc_mall.sql
index 01295a9..5490875 100644
--- a/sql/xc_mall.sql
+++ b/sql/xc_mall.sql
@@ -298,5 +298,8 @@
 alter table mall_order_refund add phone varchar(32) null comment '联系电话';
 alter table mall_order_refund add address text null comment '地址';
 
+alter table mall_money_flow add rt_member_id bigint null comment '返利用户ID';
+alter table mall_money_flow add status int null comment '提现状态 1-提现中2-成功3-拒绝';
+
 
 
diff --git a/src/main/java/cc/mrbird/febs/common/enumerates/MoneyFlowTypeEnum.java b/src/main/java/cc/mrbird/febs/common/enumerates/MoneyFlowTypeEnum.java
new file mode 100644
index 0000000..efad520
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/common/enumerates/MoneyFlowTypeEnum.java
@@ -0,0 +1,38 @@
+package cc.mrbird.febs.common.enumerates;
+
+import lombok.Getter;
+
+/**
+ * @author wzy
+ * @date 2021-09-24
+ * 1-分红收入 2-业绩奖励 3-订单支付 4-退款 5-转账
+ **/
+@Getter
+public enum MoneyFlowTypeEnum {
+    /**
+     * 分红
+     */
+    BONUS(1),
+    /**
+     * 业绩
+     */
+    ACHIEVE(2),
+    /**
+     * 支付
+     */
+    PAY(3),
+    /**
+     * 退款
+     */
+    REFUND(4),
+    /**
+     * 转账
+     */
+    TRANSFER(5);
+
+    private final int value;
+
+    MoneyFlowTypeEnum(int value) {
+        this.value = value;
+    }
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java
index 1031f9f..e1a238d 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java
@@ -3,9 +3,11 @@
 import cc.mrbird.febs.common.entity.FebsResponse;
 import cc.mrbird.febs.mall.dto.ForgetPwdDto;
 import cc.mrbird.febs.mall.dto.ModifyMemberInfoDto;
+import cc.mrbird.febs.mall.dto.MoneyFlowDto;
 import cc.mrbird.febs.mall.dto.TeamListDto;
 import cc.mrbird.febs.mall.service.IApiMallMemberService;
 import cc.mrbird.febs.mall.vo.MallMemberVo;
+import cc.mrbird.febs.mall.vo.MoneyFlowVo;
 import cc.mrbird.febs.mall.vo.TeamListVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -67,6 +69,15 @@
     })
     @PostMapping(value = "/teamList")
     public FebsResponse teamList(@RequestBody TeamListDto teamListDto) {
+        return memberService.teamList(teamListDto);
+    }
+
+    @ApiOperation(value = "资金流水列表")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "success", response = MoneyFlowVo.class)
+    })
+    @PostMapping(value = "/moneyFlow")
+    public FebsResponse moneyFlow(@RequestBody MoneyFlowDto moneyFlowDto) {
         return null;
     }
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/MoneyFlowDto.java b/src/main/java/cc/mrbird/febs/mall/dto/MoneyFlowDto.java
new file mode 100644
index 0000000..1ceb0a8
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/dto/MoneyFlowDto.java
@@ -0,0 +1,26 @@
+package cc.mrbird.febs.mall.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author wzy
+ * @date 2021-09-24
+ **/
+@Data
+@ApiModel(value = "MoneyFlowDto", description = "资金流水接收参数类")
+public class MoneyFlowDto {
+
+    @ApiModelProperty(value = "一页多少个", example = "10")
+    private Integer pageSize;
+
+    @ApiModelProperty(value = "页码", example = "1")
+    private Integer pageNum;
+
+    @ApiModelProperty(value = "类型 1-全部 2-支出 3-收入")
+    private Integer type;
+
+    @ApiModelProperty(hidden = true)
+    private Long memberId;
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/TeamListDto.java b/src/main/java/cc/mrbird/febs/mall/dto/TeamListDto.java
index 76842ea..fb0e579 100644
--- a/src/main/java/cc/mrbird/febs/mall/dto/TeamListDto.java
+++ b/src/main/java/cc/mrbird/febs/mall/dto/TeamListDto.java
@@ -12,6 +12,6 @@
 @ApiModel(value = "TeamListDto", description = "我的团队接收参数类")
 public class TeamListDto {
 
-    @ApiModelProperty(value = "用户ID", example = "1")
+    @ApiModelProperty(value = "用户ID, 若查询本账号则不传", example = "1")
     private Long id;
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/MallMoneyFlow.java b/src/main/java/cc/mrbird/febs/mall/entity/MallMoneyFlow.java
index ceacbfd..946f33f 100644
--- a/src/main/java/cc/mrbird/febs/mall/entity/MallMoneyFlow.java
+++ b/src/main/java/cc/mrbird/febs/mall/entity/MallMoneyFlow.java
@@ -18,7 +18,21 @@
 
     private BigDecimal amount;
 
+    /**
+     * 流水类型 1-分红收入 2-业绩奖励 3-订单支付 4-退款 5-转账
+     */
     private Integer type;
 
     private String orderNo;
+
+    private String description;
+
+    private String remark;
+
+    private Long rtMemberId;
+
+    /**
+     * 提现状态 1-提现中2-成功 3-拒绝
+     */
+    private Integer status;
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallGoodsMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallGoodsMapper.java
index b850a34..9e11a7f 100644
--- a/src/main/java/cc/mrbird/febs/mall/mapper/MallGoodsMapper.java
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallGoodsMapper.java
@@ -10,6 +10,9 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.apache.ibatis.annotations.Param;
 
+import java.math.BigDecimal;
+import java.util.Map;
+
 public interface MallGoodsMapper extends BaseMapper<MallGoods> {
 
     IPage<MallGoodsListVo> selectMallGoodsListQueryInPage(@Param("record") MallGoodsQueryDto queryDto, Page<MallGoodsListVo> page);
@@ -23,4 +26,6 @@
     Integer selectMallGoodsCountByGoodsNo(@Param("goodsNo")String goodsNo);
 
     AdminMailGoodsDetailVo selectMallGoodsInfoById(@Param("id")long id);
+
+    Map<String, BigDecimal> selectGoodsStockAndVolume(@Param("id") Long id);
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java
index 3708e77..ad0f53a 100644
--- a/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java
@@ -2,10 +2,14 @@
 
 import cc.mrbird.febs.mall.entity.MallMember;
 import cc.mrbird.febs.mall.vo.MallMemberVo;
+import cc.mrbird.febs.mall.vo.TeamListVo;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.apache.ibatis.annotations.Param;
+
+import java.math.BigDecimal;
+import java.util.List;
 
 /**
  * @author wzy
@@ -22,4 +26,12 @@
     MallMember selectInfoByAccountAndPwd(@Param("account") String account, @Param("password") String password);
 
     MallMemberVo getMallMemberInfoById(@Param("id")long id);
+
+    List<TeamListVo> selectTeamListByInviteId(@Param("inviteId") String inviteId);
+
+    BigDecimal selectOwnOrderAmountByInviteId(@Param("inviteId") String inviteId);
+
+    Integer selectOwnCntByInviteId(@Param("inviteId") String inviteId);
+
+    Integer selectOwnOrderCntByInviteId(@Param("inviteId") String inviteId);
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallMoneyFlowMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallMoneyFlowMapper.java
index 026adac..2a1f6e4 100644
--- a/src/main/java/cc/mrbird/febs/mall/mapper/MallMoneyFlowMapper.java
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallMoneyFlowMapper.java
@@ -1,8 +1,10 @@
 package cc.mrbird.febs.mall.mapper;
 
+import cc.mrbird.febs.mall.dto.MoneyFlowDto;
 import cc.mrbird.febs.mall.entity.MallMember;
 import cc.mrbird.febs.mall.entity.MallMoneyFlow;
 import cc.mrbird.febs.mall.vo.AdminMallMoneyFlowVo;
+import cc.mrbird.febs.mall.vo.MoneyFlowVo;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -12,4 +14,5 @@
 
     IPage<AdminMallMoneyFlowVo> selectMoneyFlowInPage(Page<AdminMallMoneyFlowVo> page, @Param("record")MallMember mallMember);
 
+    IPage<MoneyFlowVo> selectApiMoneyFlowInPage(IPage<MoneyFlowVo> page, @Param("record") MoneyFlowDto moneyFlowDto);
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java b/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java
index 1c6997f..03db35f 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java
@@ -1,12 +1,11 @@
 package cc.mrbird.febs.mall.service;
 
 import cc.mrbird.febs.common.entity.FebsResponse;
-import cc.mrbird.febs.mall.dto.ForgetPwdDto;
-import cc.mrbird.febs.mall.dto.LoginDto;
-import cc.mrbird.febs.mall.dto.ModifyMemberInfoDto;
-import cc.mrbird.febs.mall.dto.RegisterDto;
+import cc.mrbird.febs.mall.dto.*;
 import cc.mrbird.febs.mall.entity.MallMember;
 import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.math.BigDecimal;
 
 public interface IApiMallMemberService extends IService<MallMember> {
     FebsResponse register(RegisterDto registerDto);
@@ -24,4 +23,10 @@
     FebsResponse setTradePwd(ForgetPwdDto forgetPwdDto);
 
     FebsResponse modifyMemberInfo(ModifyMemberInfoDto modifyMemberInfoDto);
+
+    FebsResponse teamList(TeamListDto teamListDto);
+
+    FebsResponse moneyFlows(MoneyFlowDto moneyFlowDto);
+
+    void addMoneyFlow(Long memberId, BigDecimal amount, Integer type, String orderNo, String description, String remark, Long rtMemberId, Integer status);
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallGoodsServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallGoodsServiceImpl.java
index 7471bf9..b7fc216 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallGoodsServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallGoodsServiceImpl.java
@@ -17,7 +17,9 @@
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @author wzy
@@ -44,6 +46,10 @@
         }
         List<String> images = goodsImagesMapper.selectGoodsImagesByGoodsId(mallGoods.getId());
         MallGoodsDetailsVo mallGoodsDetailsVo = MallGoodsConversion.INSTANCE.entityToDetailsVo(mallGoods);
+
+        Map<String, BigDecimal> stockAndVolume = this.baseMapper.selectGoodsStockAndVolume(id);
+        mallGoodsDetailsVo.setStock(stockAndVolume.get("stock").intValue());
+        mallGoodsDetailsVo.setVolume(stockAndVolume.get("volume").intValue());
         mallGoodsDetailsVo.setImages(images);
         return mallGoodsDetailsVo;
     }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
index ca6e862..9a61d7f 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -7,20 +7,17 @@
 import cc.mrbird.febs.common.utils.RedisUtils;
 import cc.mrbird.febs.common.utils.ShareCodeUtil;
 import cc.mrbird.febs.mall.conversion.MallMemberConversion;
-import cc.mrbird.febs.mall.dto.ForgetPwdDto;
-import cc.mrbird.febs.mall.dto.LoginDto;
-import cc.mrbird.febs.mall.dto.ModifyMemberInfoDto;
-import cc.mrbird.febs.mall.dto.RegisterDto;
+import cc.mrbird.febs.mall.dto.*;
 import cc.mrbird.febs.mall.entity.MallMember;
 import cc.mrbird.febs.mall.entity.MallMemberWallet;
+import cc.mrbird.febs.mall.entity.MallMoneyFlow;
 import cc.mrbird.febs.mall.entity.MallShoppingCart;
-import cc.mrbird.febs.mall.mapper.MallMemberMapper;
-import cc.mrbird.febs.mall.mapper.MallMemberWalletMapper;
-import cc.mrbird.febs.mall.mapper.MallOrderInfoMapper;
-import cc.mrbird.febs.mall.mapper.MallShoppingCartMapper;
+import cc.mrbird.febs.mall.mapper.*;
 import cc.mrbird.febs.mall.service.IApiMallMemberService;
 import cc.mrbird.febs.mall.service.ICommonService;
 import cc.mrbird.febs.mall.vo.MallMemberVo;
+import cc.mrbird.febs.mall.vo.MoneyFlowVo;
+import cc.mrbird.febs.mall.vo.TeamListVo;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.IdUtil;
 import cn.hutool.core.util.ObjectUtil;
@@ -29,6 +26,8 @@
 import cn.hutool.crypto.asymmetric.KeyType;
 import cn.hutool.crypto.asymmetric.RSA;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -55,6 +54,7 @@
     private final RedisUtils redisUtils;
     private final MallOrderInfoMapper mallOrderInfoMapper;
     private final MallShoppingCartMapper mallShoppingCartMapper;
+    private final MallMoneyFlowMapper mallMoneyFlowMapper;
 
     @Value("${spring.profiles.active}")
     private String active;
@@ -264,4 +264,55 @@
         this.baseMapper.updateById(mallMember);
         return new FebsResponse().success().message("修改成功");
     }
+
+    @Override
+    public FebsResponse teamList(TeamListDto teamListDto) {
+        Long memberId = null;
+        if (teamListDto.getId() == null) {
+            memberId = LoginUserUtil.getLoginUser().getId();
+        } else {
+            memberId = teamListDto.getId();
+        }
+
+        MallMember mallMember = this.baseMapper.selectById(memberId);
+
+        List<TeamListVo> list = this.baseMapper.selectTeamListByInviteId(mallMember.getInviteId());
+        BigDecimal ownAmount = this.baseMapper.selectOwnOrderAmountByInviteId(mallMember.getInviteId());
+
+        TeamListVo own = new TeamListVo();
+        own.setCreatedTime(mallMember.getCreatedTime());
+        own.setAmount(ownAmount);
+        own.setName(mallMember.getName());
+        own.setPhone(mallMember.getPhone());
+        own.setInviteId(mallMember.getInviteId());
+        own.setIsCurrent(1);
+        own.setCnt(this.baseMapper.selectOwnCntByInviteId(mallMember.getInviteId()));
+        own.setOrderCnt(this.baseMapper.selectOwnOrderCntByInviteId(mallMember.getInviteId()));
+        own.setId(mallMember.getId());
+        list.add(0, own);
+        return new FebsResponse().success().data(list);
+    }
+
+    @Override
+    public FebsResponse moneyFlows(MoneyFlowDto moneyFlowDto) {
+        IPage<MoneyFlowVo> page = new Page<>(moneyFlowDto.getPageNum(), moneyFlowDto.getPageSize());
+        Long id = LoginUserUtil.getLoginUser().getId();
+        moneyFlowDto.setMemberId(id);
+        IPage<MoneyFlowVo> pages = mallMoneyFlowMapper.selectApiMoneyFlowInPage(page, moneyFlowDto);
+        return new FebsResponse().success().data(pages);
+    }
+
+    @Override
+    public void addMoneyFlow(Long memberId, BigDecimal amount, Integer type, String orderNo, String description, String remark, Long rtMemberId, Integer status) {
+        MallMoneyFlow flow = new MallMoneyFlow();
+        flow.setMemberId(memberId);
+        flow.setAmount(amount);
+        flow.setType(type);
+        flow.setOrderNo(orderNo);
+        flow.setDescription(description);
+        flow.setRemark(remark);
+        flow.setRtMemberId(rtMemberId);
+        flow.setStatus(status);
+        mallMoneyFlowMapper.insert(flow);
+    }
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
index dee52ce..70da7dc 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -1,5 +1,6 @@
 package cc.mrbird.febs.mall.service.impl;
 
+import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum;
 import cc.mrbird.febs.common.enumerates.OrderRefundStatusEnum;
 import cc.mrbird.febs.common.enumerates.OrderStatusEnum;
 import cc.mrbird.febs.common.exception.FebsException;
@@ -12,8 +13,10 @@
 import cc.mrbird.febs.mall.dto.*;
 import cc.mrbird.febs.mall.entity.*;
 import cc.mrbird.febs.mall.mapper.*;
+import cc.mrbird.febs.mall.service.IApiMallMemberService;
 import cc.mrbird.febs.mall.service.IApiMallMemberWalletService;
 import cc.mrbird.febs.mall.service.IApiMallOrderInfoService;
+import cc.mrbird.febs.mall.service.MallMemberService;
 import cc.mrbird.febs.mall.vo.OrderDetailVo;
 import cc.mrbird.febs.mall.vo.OrderListVo;
 import cc.mrbird.febs.mall.vo.OrderRefundVo;
@@ -55,6 +58,7 @@
     private final MallOrderRefundMapper mallOrderRefundMapper;
     private final MallOrderRefundOperationMapper mallOrderRefundOperationMapper;
     private final MallShoppingCartMapper mallShoppingCartMapper;
+    private final IApiMallMemberService memberService;
     private final RedisUtils redisUtils;
 
     @Override
@@ -113,6 +117,7 @@
             mallOrderItemMapper.insert(orderItem);
 
             sku.setStock(sku.getStock() - item.getCnt());
+            sku.setSkuVolume(sku.getSkuVolume() + item.getCnt());
             mallGoodsSkuMapper.updateById(sku);
 
             if (addOrderDto.getType() == 1) {
@@ -160,19 +165,32 @@
             throw new FebsException("订单状态不能支付");
         }
 
+        String orderNo = "";
         switch (payOrderDto.getType()) {
             case "1":
                 // TODO 微信支付
+                orderInfo.setPayMethod("微信支付");
                 break;
             case "2":
                 // TODO 支付宝支付
+                orderInfo.setPayMethod("支付宝支付");
                 break;
             case "3":
-                return balancePay(orderInfo, payOrderDto.getTradePwd());
+                orderNo = balancePay(orderInfo, payOrderDto.getTradePwd());
+
+                orderInfo.setPayMethod("积分支付");
             default:
 
         }
-        return "";
+
+        orderInfo.setStatus(OrderStatusEnum.WAIT_SHIPPING.getValue());
+        orderInfo.setPayTime(new Date());
+        orderInfo.setPayOrderNo(orderInfo.getOrderNo());
+        orderInfo.setPayResult("1");
+        this.baseMapper.updateById(orderInfo);
+
+        memberService.addMoneyFlow(member.getId(), orderInfo.getAmount().negate(), MoneyFlowTypeEnum.PAY.getValue(), orderInfo.getOrderNo(), null, null, null, null);
+        return orderNo;
     }
 
     private String balancePay(MallOrderInfo orderInfo, String tradePwd) {
@@ -192,12 +210,6 @@
 
         memberWalletService.reduceBalance(orderInfo.getAmount(), mallMember.getId());
 
-        orderInfo.setStatus(OrderStatusEnum.WAIT_SHIPPING.getValue());
-        orderInfo.setPayTime(new Date());
-        orderInfo.setPayMethod("积分支付");
-        orderInfo.setPayOrderNo(orderInfo.getOrderNo());
-        orderInfo.setPayResult("1");
-        this.baseMapper.updateById(orderInfo);
         return orderInfo.getOrderNo();
     }
 
@@ -288,6 +300,7 @@
             throw new FebsException("该订单不能退款");
         }
 
+        Integer beforeStatus = orderInfo.getStatus();
         MallMember member = LoginUserUtil.getLoginUser();
         orderInfo.setStatus(OrderStatusEnum.REFUNDING.getValue());
         this.baseMapper.updateById(orderInfo);
@@ -301,7 +314,7 @@
             orderRefund.setReason(addRefundDto.getReason());
             orderRefund.setType(addRefundDto.getType());
             orderRefund.setRefundTime(new Date());
-            orderRefund.setBeforeStatus(orderInfo.getStatus());
+            orderRefund.setBeforeStatus(beforeStatus);
             orderRefund.setStatus(OrderRefundStatusEnum.REFUND_APPLY.getValue());
             mallOrderRefundMapper.insert(orderRefund);
         } else {
@@ -309,7 +322,7 @@
             orderRefund.setReason(addRefundDto.getReason());
             orderRefund.setType(addRefundDto.getType());
             orderRefund.setRefundTime(new Date());
-            orderRefund.setBeforeStatus(orderInfo.getStatus());
+            orderRefund.setBeforeStatus(beforeStatus);
             orderRefund.setStatus(OrderRefundStatusEnum.REFUND_APPLY.getValue());
             mallOrderRefundMapper.updateById(orderRefund);
         }
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/MoneyFlowVo.java b/src/main/java/cc/mrbird/febs/mall/vo/MoneyFlowVo.java
new file mode 100644
index 0000000..b961ce3
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/vo/MoneyFlowVo.java
@@ -0,0 +1,40 @@
+package cc.mrbird.febs.mall.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @author wzy
+ * @date 2021-09-24
+ **/
+@Data
+@ApiModel(value = "MoneyFlowVo", description = "资金列表返回参数类")
+public class MoneyFlowVo {
+
+    @ApiModelProperty(value = "订单号")
+    private String orderNo;
+
+    @ApiModelProperty(value = "金额,有正负")
+    private BigDecimal amount;
+
+    @ApiModelProperty(value = "类型 1-分红收入 2-业绩奖励 3-订单支付 4-退款 5-转账")
+    private Integer type;
+
+    @ApiModelProperty(value = "对方手机号")
+    private String phone;
+
+    @ApiModelProperty(value = "代理等级")
+    private String memberLevel;
+
+    @ApiModelProperty(value = "提现状态 1-提现中2-成功 3-拒绝")
+    private Integer status;
+
+    @ApiModelProperty(value = "时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createdTime;
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/OrderDetailVo.java b/src/main/java/cc/mrbird/febs/mall/vo/OrderDetailVo.java
index 4a88c14..4eacd0c 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/OrderDetailVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/OrderDetailVo.java
@@ -1,5 +1,6 @@
 package cc.mrbird.febs.mall.vo;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -23,6 +24,7 @@
     private String orderNo;
 
     @ApiModelProperty(value = "下单时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date orderTime;
 
     @ApiModelProperty(value = "支付方式")
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/TeamListVo.java b/src/main/java/cc/mrbird/febs/mall/vo/TeamListVo.java
index 2584c2f..b47daa9 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/TeamListVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/TeamListVo.java
@@ -31,7 +31,10 @@
     @ApiModelProperty(value = "金额")
     private BigDecimal amount;
 
-    @ApiModelProperty(value = "数量")
+    @ApiModelProperty(value = "订单数量")
+    private Integer orderCnt;
+
+    @ApiModelProperty(value = "团队数量")
     private Integer cnt;
 
     @ApiModelProperty(value = "注册时间")
diff --git a/src/main/resources/mapper/modules/MallGoodsMapper.xml b/src/main/resources/mapper/modules/MallGoodsMapper.xml
index d27bff4..3070af0 100644
--- a/src/main/resources/mapper/modules/MallGoodsMapper.xml
+++ b/src/main/resources/mapper/modules/MallGoodsMapper.xml
@@ -118,4 +118,12 @@
     <select id="selectMallGoodsInfoById" resultType="cc.mrbird.febs.mall.vo.AdminMailGoodsDetailVo">
         select * from mall_goods a where a.id = #{id}
     </select>
+
+    <select id="selectGoodsStockAndVolume" resultType="java.util.HashMap">
+        select
+            sum(stock) stock,
+            sum(sku_volume) volume
+        from mall_goods_sku
+        where goods_id=#{id}
+    </select>
 </mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/modules/MallMemberMapper.xml b/src/main/resources/mapper/modules/MallMemberMapper.xml
index 96f8df2..0d8527d 100644
--- a/src/main/resources/mapper/modules/MallMemberMapper.xml
+++ b/src/main/resources/mapper/modules/MallMemberMapper.xml
@@ -55,4 +55,43 @@
     <select id="selectInfoByAccountAndPwd" resultType="cc.mrbird.febs.mall.entity.MallMember">
         select * from mall_member where (phone=#{account} or email=#{account}) and password=#{password}
     </select>
+
+    <select id="selectTeamListByInviteId" resultType="cc.mrbird.febs.mall.vo.TeamListVo">
+        select
+            a.id,
+            a.name,
+            a.phone,
+            a.invite_id,
+            2 isCurrent,
+            a.created_time,
+            (select sum(b.amount) from mall_member e
+                                           inner join mall_order_info b on e.id=b.member_id and b.status=4
+             where e.invite_id=a.invite_id or e.referrer_id=a.invite_id) amount,
+            (select count(1) from mall_member e
+                                      inner join mall_order_info b on e.id=b.member_id and b.status=4
+             where e.invite_id=a.invite_id or e.referrer_id=a.invite_id) orderCnt,
+            (select count(1) from mall_member x where x.referrer_id=a.invite_id) cnt
+        from mall_member a
+        where a.referrer_id=#{inviteId}
+    </select>
+
+    <select id="selectOwnOrderAmountByInviteId" resultType="java.math.BigDecimal">
+        select
+            IFNULL(sum(b.amount),0)
+        from mall_member e
+          inner join mall_order_info b on e.id=b.member_id and b.status=4
+        where e.invite_id=#{inviteId} or e.referrer_id=#{inviteId}
+    </select>
+
+    <select id="selectOwnCntByInviteId" resultType="java.lang.Integer">
+        select IFNULL(count(1),0) from mall_member x where x.referrer_id=#{inviteId}
+    </select>
+
+    <select id="selectOwnOrderCntByInviteId" resultType="java.lang.Integer">
+        select
+            IFNULL(count(1),0)
+        from mall_member e
+                 inner join mall_order_info b on e.id=b.member_id and b.status=4
+        where e.invite_id=#{inviteId} or e.referrer_id=#{inviteId}
+    </select>
 </mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml b/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml
index 9dfef8f..f5e1eb1 100644
--- a/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml
+++ b/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml
@@ -7,4 +7,22 @@
         order by a.CREATED_TIME desc
     </select>
 
+    <select id="selectApiMoneyFlowInPage" resultType="cc.mrbird.febs.mall.vo.MoneyFlowVo">
+        select
+            a.*,
+            b.phone
+        from mall_money_flow a
+            inner join mall_member on a.rt_member_id=b.member_id
+        <where>
+            <if test="record.type == 2">
+                and a.amount > 0
+            </if>
+            <if test="record.type == 3">
+                and 0 > a.amount
+            </if>
+            <if test="record.memberId != null">
+                and a.member_id=#{record.memberId}
+            </if>
+        </where>
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.1