From b7d02900762cd81b6ddade1885a86492ecbc13dd Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Mon, 05 Sep 2022 14:35:05 +0800
Subject: [PATCH] 20220902

---
 src/main/java/cc/mrbird/febs/mall/vo/ApiLeaderProfitVo.java                      |   25 ++++++++++++
 src/main/resources/mapper/modules/MallLeaderAchieveMapper.xml                    |   17 ++++++++
 src/main/java/cc/mrbird/febs/mall/quartz/OrderSettlementJob.java                 |    1 
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java |   22 +++++++++--
 src/main/java/cc/mrbird/febs/mall/mapper/MallLeaderAchieveMapper.java            |    2 +
 src/main/java/cc/mrbird/febs/mall/controller/ApiMallTeamLeaderController.java    |   14 +++++--
 src/main/java/cc/mrbird/febs/mall/service/IApiMallTeamLeaderService.java         |    2 +
 src/main/resources/mapper/modules/MallMoneyFlowMapper.xml                        |   16 ++++++++
 src/main/resources/application-test.yml                                          |    2 
 src/main/java/cc/mrbird/febs/mall/mapper/MallMoneyFlowMapper.java                |    2 +
 10 files changed, 93 insertions(+), 10 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallTeamLeaderController.java b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallTeamLeaderController.java
index 01dbe83..04528ff 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallTeamLeaderController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallTeamLeaderController.java
@@ -4,10 +4,7 @@
 import cc.mrbird.febs.common.entity.FebsResponse;
 import cc.mrbird.febs.mall.dto.*;
 import cc.mrbird.febs.mall.service.IApiMallTeamLeaderService;
-import cc.mrbird.febs.mall.vo.ApiLeaderInfoVo;
-import cc.mrbird.febs.mall.vo.ApiLeaderListVo;
-import cc.mrbird.febs.mall.vo.ApiMallleaderStateVo;
-import cc.mrbird.febs.mall.vo.OrderListVo;
+import cc.mrbird.febs.mall.vo.*;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiResponse;
@@ -130,5 +127,14 @@
         return iApiMallTeamLeaderService.findTeamOrderMarkCnt();
     }
 
+    @ApiOperation(value = "团长收益详情", notes = "团长收益详情")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "success", response = ApiLeaderProfitVo.class)
+    })
+    @GetMapping("/leaderProfit")
+    public FebsResponse leaderProfit() {
+        return iApiMallTeamLeaderService.leaderProfit();
+    }
+
 
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallLeaderAchieveMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallLeaderAchieveMapper.java
index 4ae0352..aafb8da 100644
--- a/src/main/java/cc/mrbird/febs/mall/mapper/MallLeaderAchieveMapper.java
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallLeaderAchieveMapper.java
@@ -14,4 +14,6 @@
     List<Map<String, String>> selectListByStateAndCreateTimeAndUniqueCode(@Param("state")Integer i, @Param("offsetDay")DateTime offsetDay);
 
     int updateByUniqueCodeStateAndTime(@Param("updateTime")DateTime updateTime,@Param("uniqueCode")String uniqueCode, @Param("state")Integer stateOne, @Param("offsetDay")DateTime dateTime);
+
+    BigDecimal selectProfitByStateAndDateTimeAndUniqueCode(@Param("state")Integer state, @Param("DateTime")DateTime DateTime, @Param("uniqueCode")String uniqueCode);
 }
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 01c7027..d5c0ee7 100644
--- a/src/main/java/cc/mrbird/febs/mall/mapper/MallMoneyFlowMapper.java
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallMoneyFlowMapper.java
@@ -39,4 +39,6 @@
     BigDecimal selectThankfulCommission(@Param("date") Date date, @Param("memberId") Long memberId);
 
     MallMoneyFlow selectOneByOrderNoAndMemberId(@Param("rechargeNo")String rechargeNo, @Param("memberId")Long memberId);
+
+    BigDecimal selectAmountByFlowtypeAndType(@Param("memberId")Long memberId,@Param("flowType")Integer flowType, @Param("type")Integer type, @Param("status")Integer status);
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/quartz/OrderSettlementJob.java b/src/main/java/cc/mrbird/febs/mall/quartz/OrderSettlementJob.java
index 602e4b3..78aa155 100644
--- a/src/main/java/cc/mrbird/febs/mall/quartz/OrderSettlementJob.java
+++ b/src/main/java/cc/mrbird/febs/mall/quartz/OrderSettlementJob.java
@@ -156,7 +156,6 @@
                             achieveNo,
                             FlowTypeEnum.BALANCE.getValue());
 
-
                     //更新到已提成状态
                     mallLeaderAchieveMapper.updateByUniqueCodeStateAndTime(DateUtil.date(),uniqueCode,MallLeaderAchieve.STATE_ONE,dateTime);
                 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/IApiMallTeamLeaderService.java b/src/main/java/cc/mrbird/febs/mall/service/IApiMallTeamLeaderService.java
index 218507f..ba08fef 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/IApiMallTeamLeaderService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/IApiMallTeamLeaderService.java
@@ -30,4 +30,6 @@
     FebsResponse leaderRefundOrder(ApiLeaderRefundOrderDto apiLeaderRefundOrderDto);
 
     FebsResponse refundOrderInfo(ApiRefundOrderInfoDto apiRefundOrderInfoDto);
+
+    FebsResponse leaderProfit();
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java
index f422b2f..7a01f3a 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java
@@ -15,10 +15,7 @@
 import cc.mrbird.febs.mall.service.IApiMallMemberWalletService;
 import cc.mrbird.febs.mall.service.IApiMallTeamLeaderService;
 import cc.mrbird.febs.mall.service.IMallMoneyFlowService;
-import cc.mrbird.febs.mall.vo.ApiLeaderInfoVo;
-import cc.mrbird.febs.mall.vo.ApiLeaderListVo;
-import cc.mrbird.febs.mall.vo.ApiMallleaderStateVo;
-import cc.mrbird.febs.mall.vo.OrderListVo;
+import cc.mrbird.febs.mall.vo.*;
 import cc.mrbird.febs.pay.model.OrderStateDto;
 import cc.mrbird.febs.pay.service.IXcxPayService;
 import cc.mrbird.febs.pay.util.WechatConfigure;
@@ -62,6 +59,8 @@
     private final XcxProperties xcxProperties = SpringContextHolder.getBean(XcxProperties.class);
     private final IMallMoneyFlowService mallMoneyFlowService;
     private final IApiMallMemberWalletService memberWalletService;
+    private final MallLeaderAchieveMapper mallLeaderAchieveMapper;
+    private final MallMoneyFlowMapper mallMoneyFlowMapper;
 
     @Override
     @Transactional
@@ -386,4 +385,19 @@
         return new FebsResponse().success().data(mallRefundEntities.get(0));
     }
 
+    @Override
+    public FebsResponse leaderProfit() {
+        MallMember loginUser = LoginUserUtil.getLoginUser();
+        ApiLeaderProfitVo apiLeaderProfitVo = new ApiLeaderProfitVo();
+//        BigDecimal TotalProfit = mallLeaderAchieveMapper.selectProfitByStateAndDateTimeAndUniqueCode(null,null,loginUser.getInviteId()).setScale(2,BigDecimal.ROUND_DOWN);
+//        apiLeaderProfitVo.setTotalProfit(TotalProfit);
+        BigDecimal todayProfit = mallLeaderAchieveMapper.selectProfitByStateAndDateTimeAndUniqueCode(2,DateUtil.date(),loginUser.getInviteId()).setScale(2,BigDecimal.ROUND_DOWN);
+        apiLeaderProfitVo.setTodayProfit(todayProfit);
+        BigDecimal waitProfit = mallLeaderAchieveMapper.selectProfitByStateAndDateTimeAndUniqueCode(1,null,loginUser.getInviteId()).setScale(2,BigDecimal.ROUND_DOWN);
+        apiLeaderProfitVo.setWaitProfit(waitProfit);
+        BigDecimal totalProfit = mallMoneyFlowMapper.selectAmountByFlowtypeAndType(loginUser.getId(),FlowTypeEnum.BALANCE.getValue(),MoneyFlowTypeEnum.LEADERACHIEVE.getValue(),null);
+        apiLeaderProfitVo.setTotalProfit(totalProfit);
+        return new FebsResponse().success().data(apiLeaderProfitVo);
+    }
+
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/ApiLeaderProfitVo.java b/src/main/java/cc/mrbird/febs/mall/vo/ApiLeaderProfitVo.java
new file mode 100644
index 0000000..76e2035
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/vo/ApiLeaderProfitVo.java
@@ -0,0 +1,25 @@
+package cc.mrbird.febs.mall.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+@ApiModel(value = "ApiLeaderProfitVo", description = "团长收益信息返回类")
+public class ApiLeaderProfitVo {
+
+    @ApiModelProperty(value = "总收益")
+    private BigDecimal totalProfit;
+
+    @ApiModelProperty(value = "今日收益")
+    private BigDecimal todayProfit;
+
+    @ApiModelProperty(value = "本月收益")
+    private BigDecimal monthProfit;
+
+    @ApiModelProperty(value = "待结算")
+    private BigDecimal waitProfit;
+
+}
diff --git a/src/main/resources/application-test.yml b/src/main/resources/application-test.yml
index 8e0da64..e45a001 100644
--- a/src/main/resources/application-test.yml
+++ b/src/main/resources/application-test.yml
@@ -72,7 +72,7 @@
   wechar_login_url: https://api.weixin.qq.com/sns/jscode2session?appid=%s&secret=%s&js_code=%s&grant_type=authorization_code
   xcx_appid: wx0b515f652282158e
   xcx_secret: 8d3d3c14221f7dc37650b861dc0fc570
-  debug: false
+  debug: true
   wecharPaynotifyUrl: http://groupbuy.csxuncong.com/api/xcxPay/wxpayCallback
   wecharRechargePaynotifyUrl: http://groupbuy.csxuncong.com/api/xcxPay/rechargeCallBack
   certLocalPath: /home/yyscCert/apiclient_cert.p12
diff --git a/src/main/resources/mapper/modules/MallLeaderAchieveMapper.xml b/src/main/resources/mapper/modules/MallLeaderAchieveMapper.xml
index f62b5af..5959604 100644
--- a/src/main/resources/mapper/modules/MallLeaderAchieveMapper.xml
+++ b/src/main/resources/mapper/modules/MallLeaderAchieveMapper.xml
@@ -21,4 +21,21 @@
         and date_format(CREATED_TIME, '%Y-%m-%d') = date_format(#{offsetDay}, '%Y-%m-%d')
     </update>
 
+    <select id="selectProfitByStateAndDateTimeAndUniqueCode" resultType="java.math.BigDecimal">
+        select
+            IFNULL(sum(a.amount),0) amount
+        from mall_leader_achieve a
+        <where>
+            <if test="state!=null and state!=''">
+                and  a.state = #{state}
+            </if>
+            <if test="DateTime!=null and DateTime!=''">
+                and date_format(a.CREATED_TIME, '%Y-%m-%d') = date_format(#{DateTime}, '%Y-%m-%d')
+            </if>
+            <if test="uniqueCode!=null and uniqueCode!=''">
+                and  a.unique_code = #{uniqueCode}
+            </if>
+        </where>
+    </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 9089ced..b827e24 100644
--- a/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml
+++ b/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml
@@ -136,4 +136,20 @@
         select a.* from mall_money_flow a
         where a.order_no = #{rechargeNo} and a.member_id = #{memberId}
     </select>
+
+    <select id="selectAmountByFlowtypeAndType" resultType="java.math.BigDecimal">
+        select ifnull(sum(amount),0) from mall_money_flow
+        <where>
+            a.member_id = #{memberId}
+            <if test="flowType!=null and flowType!=''">
+                and  a.flow_type = #{flowType}
+            </if>
+            <if test="type!=null and type!=''">
+                and  a.type = #{type}
+            </if>
+            <if test="status!=null and status!=''">
+                and  a.status = #{status}
+            </if>
+        </where>
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.1