Helius
2021-06-08 ee1950ffc7d2be6a8ee178e0e5beaec26d995e51
modify
3 files modified
5 files added
144 ■■■■■ changed files
src/main/java/com/xcong/excoin/modules/otc/controller/OtcOrderController.java 31 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/otc/dao/OtcReturnMoneyDao.java 17 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/otc/dto/TeamDto.java 15 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/otc/entity/OtcReturnMoney.java 22 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/otc/vo/TeamVo.java 21 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/rabbit/consumer/OtcConsumer.java 13 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/utils/dingtalk/DingTalkUtils.java 2 ●●● patch | view | raw | blame | history
src/main/resources/mapper/otc/OtcReturnMoneyDao.xml 23 ●●●●● 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>