src/main/java/com/xcong/excoin/modules/otc/dao/OtcOrderDao.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/xcong/excoin/modules/otc/dao/OtcSettingDao.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/xcong/excoin/modules/otc/entity/OtcSetting.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcEntrustOrderServiceImpl.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcMarketBussinessServiceImpl.java | ●●●●● patch | view | raw | blame | history | |
src/main/resources/mapper/otc/OtcOrderDao.xml | ●●●●● patch | view | raw | blame | history | |
src/main/resources/mapper/otc/OtcSettingDao.xml | ●●●●● patch | view | raw | blame | history |
src/main/java/com/xcong/excoin/modules/otc/dao/OtcOrderDao.java
@@ -6,6 +6,7 @@ import com.xcong.excoin.modules.otc.entity.OtcOrder; import com.xcong.excoin.modules.otc.vo.OrderListVo; import org.apache.ibatis.annotations.Param; import org.web3j.abi.datatypes.Int; import java.math.BigDecimal; import java.util.List; @@ -29,4 +30,8 @@ BigDecimal selectMemberAvgPayTime(@Param("memberId") Long memberId); BigDecimal selectMemberAvgCoinTime(@Param("memberId") Long memberId); List<OtcOrder> selectOrderListForUser(@Param("memberId") Long memberId, @Param("status") Integer status); BigDecimal selectOrderTotalAmount(@Param("memberId") Long memberId); } src/main/java/com/xcong/excoin/modules/otc/dao/OtcSettingDao.java
@@ -1,5 +1,8 @@ package com.xcong.excoin.modules.otc.dao; public interface OtcSettingDao { import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.xcong.excoin.modules.otc.entity.OtcSetting; public interface OtcSettingDao extends BaseMapper<OtcSetting> { } src/main/java/com/xcong/excoin/modules/otc/entity/OtcSetting.java
@@ -2,8 +2,21 @@ import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import org.web3j.abi.datatypes.Int; import java.math.BigDecimal; @Data @TableName("otc_setting") public class OtcSetting { private Long id; private Integer orderNum; private BigDecimal completionRate; private BigDecimal totalAmount; private Integer cancellNum; } src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcEntrustOrderServiceImpl.java
@@ -83,7 +83,7 @@ memberWalletCoinDao.updateFrozenBalance(member.getId(), coinWallet.getId(), addDto.getAmount()); } if (MemberEntity.IS_TRADER_Y.equals(member.getIsTrader())) { if (!MemberEntity.IS_TRADER_Y.equals(member.getIsTrader())) { throw new GlobalException("不是市商"); } src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcMarketBussinessServiceImpl.java
@@ -1,5 +1,6 @@ package com.xcong.excoin.modules.otc.service.impl; import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.xcong.excoin.common.LoginUserUtils; import com.xcong.excoin.common.exception.GlobalException; @@ -8,9 +9,13 @@ import com.xcong.excoin.modules.member.entity.MemberEntity; 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.OtcSettingDao; import com.xcong.excoin.modules.otc.dto.MbAddDto; 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.OtcSetting; import com.xcong.excoin.modules.otc.mapper.OtcEntrustOrderMapper; import com.xcong.excoin.modules.otc.mapper.OtcMarketBussinessMapper; import com.xcong.excoin.modules.otc.service.OtcMarketBussinessService; @@ -28,6 +33,9 @@ private final OtcEntrustOrderDao otcEntrustOrderDao; private final MemberDao memberDao; private final OtcSettingDao otcSettingDao; private final OtcOrderDao otcOrderDao; @Override public void add() { MemberEntity member = LoginUserUtils.getAppLoginUser(); @@ -36,6 +44,19 @@ if (MemberEntity.IS_TRADER_Y.equals(member.getIsTrader())) { throw new GlobalException("已经是市商"); } OtcSetting setting = otcSettingDao.selectById(1L); // 所有已完成订单 List<OtcOrder> finishOrders = otcOrderDao.selectOrderListForUser(member.getId(), 0); if (CollUtil.isEmpty(finishOrders) || setting.getOrderNum() > finishOrders.size()) { throw new GlobalException("条件未达标"); } List<OtcOrder> unFinishOrders = otcOrderDao.selectOrderListForUser(member.getId(), 4); if (CollUtil.isNotEmpty(unFinishOrders)) { BigDecimal.valueOf(finishOrders.size() - unFinishOrders.size()).divide(BigDecimal.valueOf(finishOrders.size()), 2, BigDecimal.ROUND_DOWN) } BigDecimal totalAmount = otcOrderDao.selectOrderTotalAmount(member.getId()); OtcMarketBussiness mb = this.baseMapper.selectMarketBussinessByMemberId(member.getId()); OtcMarketBussiness otcMb = new OtcMarketBussiness(); src/main/resources/mapper/otc/OtcOrderDao.xml
@@ -85,4 +85,21 @@ from otc_order where status=3 and member_id=40 and order_type='S' </select> <select id="selectOrderListForUser" resultType="com.xcong.excoin.modules.otc.entity.OtcOrder"> select * from otc_order where member_id=#{memberId} <!-- 查询除完成以外所有订单 --> <if test="status != null and status == 0"> and status != 3 </if> <if test="status != null and status != 0"> and status != 3 </if> </select> <select id="selectOrderTotalAmount" resultType="java.math.BigDecimal"> select sum(total_amount) from otc_order where member_id=#{memberId} and status = 3 </select> </mapper> src/main/resources/mapper/otc/OtcSettingDao.xml
New file @@ -0,0 +1,5 @@ <?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.OtcSettingDao"> </mapper>