src/main/java/com/xcong/excoin/modules/otc/controller/OtcOrderController.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/xcong/excoin/modules/otc/dao/OtcReturnMoneyDao.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/xcong/excoin/modules/otc/dto/TeamDto.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/xcong/excoin/modules/otc/entity/OtcReturnMoney.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/xcong/excoin/modules/otc/vo/TeamVo.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/xcong/excoin/rabbit/consumer/OtcConsumer.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/xcong/excoin/utils/dingtalk/DingTalkUtils.java | ●●●●● patch | view | raw | blame | history | |
src/main/resources/mapper/otc/OtcReturnMoneyDao.xml | ●●●●● patch | view | raw | blame | history |
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); } } src/main/java/com/xcong/excoin/modules/otc/dao/OtcReturnMoneyDao.java
New file @@ -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); } src/main/java/com/xcong/excoin/modules/otc/dto/TeamDto.java
New file @@ -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; } src/main/java/com/xcong/excoin/modules/otc/entity/OtcReturnMoney.java
New file @@ -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; } src/main/java/com/xcong/excoin/modules/otc/vo/TeamVo.java
New file @@ -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; } 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; } } 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); src/main/resources/mapper/otc/OtcReturnMoneyDao.xml
New file @@ -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>