From ee1950ffc7d2be6a8ee178e0e5beaec26d995e51 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Tue, 08 Jun 2021 15:59:36 +0800 Subject: [PATCH] modify --- src/main/java/com/xcong/excoin/modules/otc/vo/TeamVo.java | 21 +++++++ src/main/java/com/xcong/excoin/modules/otc/controller/OtcOrderController.java | 31 ++++++++- src/main/resources/mapper/otc/OtcReturnMoneyDao.xml | 23 +++++++ src/main/java/com/xcong/excoin/modules/otc/dto/TeamDto.java | 15 +++++ src/main/java/com/xcong/excoin/utils/dingtalk/DingTalkUtils.java | 2 src/main/java/com/xcong/excoin/modules/otc/entity/OtcReturnMoney.java | 22 +++++++ src/main/java/com/xcong/excoin/rabbit/consumer/OtcConsumer.java | 13 ++++ src/main/java/com/xcong/excoin/modules/otc/dao/OtcReturnMoneyDao.java | 17 +++++ 8 files changed, 138 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/xcong/excoin/modules/otc/controller/OtcOrderController.java b/src/main/java/com/xcong/excoin/modules/otc/controller/OtcOrderController.java index 3065e30..125b974 100644 --- a/src/main/java/com/xcong/excoin/modules/otc/controller/OtcOrderController.java +++ b/src/main/java/com/xcong/excoin/modules/otc/controller/OtcOrderController.java @@ -2,16 +2,17 @@ import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.xcong.excoin.common.LoginUserUtils; import com.xcong.excoin.common.response.Result; -import com.xcong.excoin.modules.otc.dto.HasPayDto; -import com.xcong.excoin.modules.otc.dto.OrderApealDto; -import com.xcong.excoin.modules.otc.dto.OrderListDto; -import com.xcong.excoin.modules.otc.dto.OtcOrderAddDto; +import com.xcong.excoin.modules.member.entity.MemberEntity; +import com.xcong.excoin.modules.otc.dao.OtcReturnMoneyDao; +import com.xcong.excoin.modules.otc.dto.*; import com.xcong.excoin.modules.otc.service.OtcOrderService; import com.xcong.excoin.modules.otc.vo.BuyOrderDetailVo; import com.xcong.excoin.modules.otc.vo.OrderListVo; import com.xcong.excoin.modules.otc.vo.SaleOrderDetailVo; -import com.xcong.excoin.utils.RedisUtils; +import com.xcong.excoin.modules.otc.vo.TeamVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiResponse; @@ -22,6 +23,10 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import java.math.BigDecimal; +import java.util.HashMap; +import java.util.Map; + @Slf4j @Validated @RestController @@ -31,6 +36,7 @@ public class OtcOrderController { private final OtcOrderService otcOrderService; + private final OtcReturnMoneyDao otcReturnMoneyDao; @ApiOperation(value = "我要购买") @PostMapping(value = "/buy") @@ -98,4 +104,19 @@ public Result orderApeal(@RequestBody OrderApealDto orderApealDto) { return otcOrderService.orderApeal(orderApealDto); } + + @ApiOperation(value = "获取我的团队") + @PostMapping(value = "/findTeamList") + public Result teamList(@RequestBody TeamDto teamDto) { + Page<TeamVo> page = new Page<>(teamDto.getPageNum(), teamDto.getPageSize()); + + MemberEntity member = LoginUserUtils.getAppLoginUser(); + IPage<TeamVo> data = otcReturnMoneyDao.selectMyTeamAmountInPage(member.getInviteId(), member.getId(), page); + BigDecimal totalAmount = otcReturnMoneyDao.selectTotalAmount(member.getId()); + Map<String, Object> result = new HashMap<>(); + result.put("totalCnt", data.getTotal()); + result.put("totalAmount", totalAmount); + result.put("result", data.getRecords()); + return Result.ok(result); + } } diff --git a/src/main/java/com/xcong/excoin/modules/otc/dao/OtcReturnMoneyDao.java b/src/main/java/com/xcong/excoin/modules/otc/dao/OtcReturnMoneyDao.java new file mode 100644 index 0000000..6315bd5 --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/otc/dao/OtcReturnMoneyDao.java @@ -0,0 +1,17 @@ +package com.xcong.excoin.modules.otc.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.xcong.excoin.modules.otc.entity.OtcReturnMoney; +import com.xcong.excoin.modules.otc.vo.TeamVo; +import org.apache.ibatis.annotations.Param; + +import java.math.BigDecimal; + +public interface OtcReturnMoneyDao extends BaseMapper<OtcReturnMoney> { + + IPage<TeamVo> selectMyTeamAmountInPage(String inviteId, Long memberId, Page<TeamVo> page); + + BigDecimal selectTotalAmount(@Param("memberId") Long memberId); +} diff --git a/src/main/java/com/xcong/excoin/modules/otc/dto/TeamDto.java b/src/main/java/com/xcong/excoin/modules/otc/dto/TeamDto.java new file mode 100644 index 0000000..706f74c --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/otc/dto/TeamDto.java @@ -0,0 +1,15 @@ +package com.xcong.excoin.modules.otc.dto; + + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class TeamDto { + + @ApiModelProperty(value = "条数", example = "10") + private Integer pageSize; + + @ApiModelProperty(value = "页码", example = "1") + private Integer pageNum; +} diff --git a/src/main/java/com/xcong/excoin/modules/otc/entity/OtcReturnMoney.java b/src/main/java/com/xcong/excoin/modules/otc/entity/OtcReturnMoney.java new file mode 100644 index 0000000..0bda18b --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/otc/entity/OtcReturnMoney.java @@ -0,0 +1,22 @@ +package com.xcong.excoin.modules.otc.entity; + + +import com.baomidou.mybatisplus.annotation.TableName; +import com.xcong.excoin.common.system.base.BaseEntity; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@TableName("otc_return_money") +public class OtcReturnMoney extends BaseEntity { + + private String orderNo; + + private Long toMemberId; + + private Long fromMemberId; + + private BigDecimal amount; + +} diff --git a/src/main/java/com/xcong/excoin/modules/otc/vo/TeamVo.java b/src/main/java/com/xcong/excoin/modules/otc/vo/TeamVo.java new file mode 100644 index 0000000..6987c8d --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/otc/vo/TeamVo.java @@ -0,0 +1,21 @@ +package com.xcong.excoin.modules.otc.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@ApiModel(value = "TeamVo", description = "我的团队接口返回参数类") +public class TeamVo { + + @ApiModelProperty(value = "邀请码") + private String inviteId; + + @ApiModelProperty(value = "级别") + private int level; + + @ApiModelProperty(value = "金额") + private BigDecimal amount; +} diff --git a/src/main/java/com/xcong/excoin/rabbit/consumer/OtcConsumer.java b/src/main/java/com/xcong/excoin/rabbit/consumer/OtcConsumer.java index 1b615a3..3766adb 100644 --- a/src/main/java/com/xcong/excoin/rabbit/consumer/OtcConsumer.java +++ b/src/main/java/com/xcong/excoin/rabbit/consumer/OtcConsumer.java @@ -13,9 +13,11 @@ import com.xcong.excoin.modules.otc.dao.OtcEntrustOrderDao; import com.xcong.excoin.modules.otc.dao.OtcMarketBussinessDao; import com.xcong.excoin.modules.otc.dao.OtcOrderDao; +import com.xcong.excoin.modules.otc.dao.OtcReturnMoneyDao; import com.xcong.excoin.modules.otc.entity.OtcEntrustOrder; import com.xcong.excoin.modules.otc.entity.OtcMarketBussiness; import com.xcong.excoin.modules.otc.entity.OtcOrder; +import com.xcong.excoin.modules.otc.entity.OtcReturnMoney; import com.xcong.excoin.utils.LogRecordUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.amqp.rabbit.annotation.RabbitListener; @@ -51,6 +53,9 @@ @Autowired private MemberWalletCoinDao memberWalletCoinDao; + + @Autowired + private OtcReturnMoneyDao otcReturnMoneyDao; @RabbitListener(queues = RabbitMqConfig.QUEUE_MARKET_BUSSINESS) public void marketBussiness(String content) { @@ -137,6 +142,14 @@ memberWalletCoinDao.updateBlockBalance(wallet.getId(), returnAmount, BigDecimal.ZERO, 0); LogRecordUtils.insertMemberAccountMoneyChange(parent.getId(),"订单返利:" + content, returnAmount, "USDT", 1, 1); + + OtcReturnMoney otcReturnMoney = new OtcReturnMoney(); + otcReturnMoney.setToMemberId(parent.getId()); + otcReturnMoney.setOrderNo(content); + otcReturnMoney.setFromMemberId(member.getId()); + otcReturnMoney.setAmount(returnAmount); + otcReturnMoneyDao.insert(otcReturnMoney); + isFirst = 0; } } diff --git a/src/main/java/com/xcong/excoin/utils/dingtalk/DingTalkUtils.java b/src/main/java/com/xcong/excoin/utils/dingtalk/DingTalkUtils.java index 3afc93a..daa7ede 100644 --- a/src/main/java/com/xcong/excoin/utils/dingtalk/DingTalkUtils.java +++ b/src/main/java/com/xcong/excoin/utils/dingtalk/DingTalkUtils.java @@ -75,7 +75,7 @@ actionCard.setTitle("异常消息"); actionCard.setBtnOrientation("0"); actionCard.setText(StrUtil.format(text, title, msg)); - actionCard.setSingleURL("http://123.60.45.251/common/getExceptionMsg?id=" + id); + actionCard.setSingleURL("http://api.topclouds.cc/common/getExceptionMsg?id=" + id); actionCard.setSingleTitle("查询详情"); request.setActionCard(actionCard); diff --git a/src/main/resources/mapper/otc/OtcReturnMoneyDao.xml b/src/main/resources/mapper/otc/OtcReturnMoneyDao.xml new file mode 100644 index 0000000..00c49bf --- /dev/null +++ b/src/main/resources/mapper/otc/OtcReturnMoneyDao.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.xcong.excoin.modules.otc.dao.OtcReturnMoneyDao"> + + <select id="selectMyTeamAmountInPage" resultType="com.xcong.excoin.modules.otc.vo.TeamVo"> + select + substring(invite_id, -4) inviteId, + case when a.referer_id = #{inviteId} then 1 + else 2 end level, + sum(IFNULL(b.amount, 0)) amount + from member a + left join otc_return_money b on b.from_member_id=a.id and b.to_member_id=#{memberId} + where find_in_set(#{inviteId}, SUBSTRING_INDEX(referer_ids, ',', 3)) + group by a.id + order by amount desc + </select> + + <select id="selectTotalAmount" resultType="java.math.BigDecimal"> + select IFNULL(sum(amount), 0) + from otc_return_money + where to_member_id=#{memberId} + </select> +</mapper> \ No newline at end of file -- Gitblit v1.9.1