Helius
2020-11-02 48609f16689a3d2460e2800562f95c699e6e2ef9
modify
1 files deleted
24 files modified
787 ■■■■■ changed files
src/main/java/com/xcong/excoin/modules/Sms106Send.java 9 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java 2 ●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/member/controller/ViewController.java 14 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/member/entity/MemberEntity.java 7 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/member/mapper/MemberMapper.java 4 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java 154 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/member/vo/MemberCoinWithdrawVo.java 3 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/member/vo/MemberInfoDetailVo.java 6 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/systemSetting/controller/SystemSettingController.java 40 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/trademanage/controller/OrderCoinDealController.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/trademanage/controller/OrderCoinViewController.java 1 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/trademanage/controller/TradeManageController.java 153 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/trademanage/entity/OrderCoinsDealEntity.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/monitor/controller/LogController.java 30 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/monitor/controller/LoginLogController.java 30 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/monitor/controller/ViewController.java 68 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/system/controller/LoginController.java 22 ●●●● patch | view | raw | blame | history
src/main/resources/mapper/modules/MemberCoinWithdrawMapper.xml 6 ●●●●● patch | view | raw | blame | history
src/main/resources/mapper/modules/MemberMapper.xml 4 ●●●● patch | view | raw | blame | history
src/main/resources/mapper/modules/OrderCoinDealMapper.xml 2 ●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/login.html 40 ●●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/member/member.html 38 ●●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/member/memberDetailInfo.html 79 ●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/member/withdrawCoin.html 60 ●●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/orderCoin/orderCoin.html 11 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/Sms106Send.java
@@ -36,18 +36,21 @@
    public static boolean sendRechargeMsg(String phone, String time, String orderNo) {
        String msg = "尊敬的用户,您的帐号于{}有一笔成功充值订单,如有疑问请联系客服,订单编号为{}";
        String content = StrUtil.format(msg, time, orderNo);
        return request(phone, content, "充值");
        return true;
        //return request(phone, content, "充值");
    }
    public static boolean sendWithdrawalMsg(String phone, String time, String orderNo) {
        String msg = "尊敬的用户,您的帐号于{}有一笔成功提现订单,如有疑问请联系客服,订单编号为{}";
        String content = StrUtil.format(msg, time, orderNo);
        return request(phone, content, "提现");
        return true;
       // return request(phone, content, "提现");
    }
    public static boolean sendWithdrawalCoinMsg(String phone, String time) {
        String msg = "尊敬的用户,您的帐号于{}有一笔成功提现订单,如有疑问请联系客服。";
        String content = StrUtil.format(msg, time);
        return request(phone, content, "提币");
        //return request(phone, content, "提币");
        return true;
    }
    private static boolean request(String phone, String content, String tagName) {
src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java
@@ -88,7 +88,7 @@
        Integer accountType = memberEntity.getAccountType();
        followTraderInfoEntity.setAccountType(accountType);
        //币币账户
        String walletNum = memberMapper.selectBBZCForBasicRealDataBymemberId(memberId);
        String walletNum = memberMapper.selectBBZCForBasicRealDataBymemberId(memberId,"USDT");
        followTraderInfoEntity.setWalletNum(walletNum == null ? 0 : Double.parseDouble(walletNum));
        //合约账户
        String walletCoinNum = memberMapper.selectHYZCForBasicRealDataBymemberId(memberId);
src/main/java/com/xcong/excoin/modules/member/controller/ViewController.java
@@ -28,13 +28,13 @@
    
    private final IMemberService memberService;
    
    @GetMapping("addCoin/{id}")
    @RequiresPermissions("addCoin:update")
    public String addCoin(@PathVariable long id, Model model) {
        MemberEntity data = memberService.selectMemberByid(id);
        model.addAttribute("member", data);
        return FebsUtil.view("modules/member/addCoin");
    }
//    @GetMapping("addCoin/{id}")
//    @RequiresPermissions("addCoin:update")
//    public String addCoin(@PathVariable long id, Model model) {
//        MemberEntity data = memberService.selectMemberByid(id);
//        model.addAttribute("member", data);
//        return FebsUtil.view("modules/member/addCoin");
//    }
    
    /**
     * 代理关系
src/main/java/com/xcong/excoin/modules/member/entity/MemberEntity.java
@@ -150,7 +150,12 @@
     * 是否设置预估强平价系数 0-否1-是
     */
    private Integer isForce;
    /**
     *  是否私募
     */
    private Integer ipo;
    @TableField(exist = false)
    private String account;
    
src/main/java/com/xcong/excoin/modules/member/mapper/MemberMapper.java
@@ -65,7 +65,7 @@
    
    String selectRewardratioForBasicRealDataBymid(Long memberId);
    String selectTotalAmountUsdtBForBasicRealDataBymemberId(Long memberId);
    String selectTotalAmountUsdtBForBasicRealDataBymemberId(@Param("memberId")Long memberId,@Param("symbol")String symbol);
    String selectTotalAmountUsdtSForBasicRealDataBymemberId(Long memberId);
@@ -83,7 +83,7 @@
    String selectprepriceForBasicRealDataBymemberId(Long memberId);
    String selectBBZCForBasicRealDataBymemberId(Long memberId);
    String selectBBZCForBasicRealDataBymemberId(@Param("memberId")Long memberId,@Param("symbol") String symbol);
    String selectHYZCForBasicRealDataBymemberId(Long memberId);
src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java
@@ -447,6 +447,10 @@
                BigDecimal feeAmount = memberCoinWithdrawVo.getFeeAmount();
                BigDecimal subtract = amount.subtract(feeAmount);
                memberCoinWithdrawVo.setRealAmount(subtract);
                if("Y".equals(memberCoinWithdrawVo.getIsInside())){
                    // 是内部转账 查询对应的地址
                }
            }
        }
        return findmemberQuickBuySaleListInPage;
@@ -465,7 +469,16 @@
        if(status != 1) {
            return new FebsResponse().fail().message("只有等待审核的状态才能确认!");
        }
        // 转币 需要扣除手续费
        amount = amount.subtract(selectById.getFeeAmount());
        if("ROC".equals(symbol) && !"Y".equals(selectById.getIsInside())){
            // 如果是ROC  则自动转
            String transfer = RocService.transfer(amount, address, "ROC");
            if(!"success".equals(transfer)){
                FebsResponse febsResponse = new FebsResponse();
                return  febsResponse.fail().message(transfer);
            }
        }
        // 查询币币钱包
        MemberWalletCoinEntity walletCoin = memberWalletCoinMapper.findWalletCoinByMemberIdAndWalletCode(memberId, symbol);
        
@@ -488,8 +501,8 @@
            Long aimMemberId = selectByMap.get(0).getMemberId();
            MemberWalletCoinEntity aimWalletCoin = memberWalletCoinMapper.findWalletCoinByMemberIdAndWalletCode(aimMemberId, symbol);
            
            BigDecimal addTotal = aimWalletCoin.getTotalBalance().add(selectById.getAmount());
            BigDecimal addAvailable = aimWalletCoin.getAvailableBalance().add(selectById.getAmount());
            BigDecimal addTotal = aimWalletCoin.getTotalBalance().add(amount);
            BigDecimal addAvailable = aimWalletCoin.getAvailableBalance().add(amount);
            aimWalletCoin.setTotalBalance(addTotal);
            aimWalletCoin.setAvailableBalance(addAvailable);
            
@@ -498,7 +511,7 @@
            MemberAccountMoneyChangeEntity memberAccountMoneyChangeEntity = new MemberAccountMoneyChangeEntity();
            memberAccountMoneyChangeEntity.setContent("收款");
            memberAccountMoneyChangeEntity.setMemberId(aimMemberId);
            memberAccountMoneyChangeEntity.setAmount(selectById.getAmount());
            memberAccountMoneyChangeEntity.setAmount(amount);
            memberAccountMoneyChangeEntity.setStatus(MemberAccountMoneyChangeEntity.STATUS_SUCCESS_INTEGER);
            memberAccountMoneyChangeEntity.setSymbol(selectById.getSymbol());
            memberAccountMoneyChangeEntity.setType(MemberAccountMoneyChangeEntity.TYPE_WALLET_COIN);
@@ -530,12 +543,7 @@
        if(StrUtil.isNotBlank(phone)) {
            Sms106Send.sendWithdrawalCoinMsg(phone, time);
        }
        // 转币 需要扣除手续费
        amount = amount.subtract(selectById.getFeeAmount());
        if("ROC".equals(symbol)){
            // 如果是ROC  则自动转
            String transfer = RocService.transfer(amount, address, "ROC");
        }else if("USDT".equals(symbol) && !"Y".equals(selectById.getIsInside())){
         if("USDT".equals(symbol) && !"Y".equals(selectById.getIsInside())){
//            EthService ethService = new EthService();
//            // 查询余额是否足够
//            BigDecimal bigDecimal = ethService.tokenGetBalance(EthService.TOTAL_ADDRESS);
@@ -729,38 +737,38 @@
    @Override
    public FebsResponse addCoinConfirm(@Valid MemberEntity memberEntity) {
        
        Long memberId = memberEntity.getId();
        String walletCode = "USDT";
        BigDecimal amountUsdt = memberEntity.getCoinNumber();
        MemberEntity selectById = this.baseMapper.selectById(memberId);
        if(ObjectUtils.isEmpty(selectById)) {
            return new FebsResponse().message("用户已不存在");
        }
        //获取币币钱包
        MemberWalletCoinEntity memberWalletCoinEntity = memberWalletCoinMapper.findWalletCoinByMemberIdAndWalletCode(memberId,walletCode);
        BigDecimal availableBalance = memberWalletCoinEntity.getAvailableBalance();
        BigDecimal totalBalance = memberWalletCoinEntity.getTotalBalance();
        memberWalletCoinEntity.setAvailableBalance(availableBalance.add(amountUsdt));
        memberWalletCoinEntity.setTotalBalance(totalBalance.add(amountUsdt));
        // 更新
        memberWalletCoinMapper.updateById(memberWalletCoinEntity);
         //添加币币资金划转历史记录
        MemberAccountMoneyChangeEntity memberAccountMoneyChangeEntity = new MemberAccountMoneyChangeEntity();
        memberAccountMoneyChangeEntity.setContent("充值");
        memberAccountMoneyChangeEntity.setMemberId(memberId);
        memberAccountMoneyChangeEntity.setAmount(amountUsdt);
        memberAccountMoneyChangeEntity.setStatus(MemberAccountMoneyChangeEntity.STATUS_SUCCESS_INTEGER);
        memberAccountMoneyChangeEntity.setSymbol("USDT");
        memberAccountMoneyChangeEntity.setType(MemberAccountMoneyChangeEntity.TYPE_WALLET_COIN);
        memberAccountMoneyChangeEntity.setCreateBy(selectById.getCreateBy());
        memberAccountMoneyChangeEntity.setCreateTime(new Date());
        memberAccountMoneyChangeEntity.setUpdateBy(selectById.getCreateBy());
        memberAccountMoneyChangeEntity.setUpdateTime(new Date());
        memberAccountMoneyChangeMapper.insert(memberAccountMoneyChangeEntity);
//        Long memberId = memberEntity.getId();
//        String walletCode = "USDT";
//        BigDecimal amountUsdt = memberEntity.getCoinNumber();
//
//        MemberEntity selectById = this.baseMapper.selectById(memberId);
//        if(ObjectUtils.isEmpty(selectById)) {
//            return new FebsResponse().message("用户已不存在");
//        }
//        //获取币币钱包
//        MemberWalletCoinEntity memberWalletCoinEntity = memberWalletCoinMapper.findWalletCoinByMemberIdAndWalletCode(memberId,walletCode);
//        BigDecimal availableBalance = memberWalletCoinEntity.getAvailableBalance();
//        BigDecimal totalBalance = memberWalletCoinEntity.getTotalBalance();
//
//        memberWalletCoinEntity.setAvailableBalance(availableBalance.add(amountUsdt));
//        memberWalletCoinEntity.setTotalBalance(totalBalance.add(amountUsdt));
//        // 更新
//        memberWalletCoinMapper.updateById(memberWalletCoinEntity);
//
//         //添加币币资金划转历史记录
//        MemberAccountMoneyChangeEntity memberAccountMoneyChangeEntity = new MemberAccountMoneyChangeEntity();
//        memberAccountMoneyChangeEntity.setContent("充值");
//        memberAccountMoneyChangeEntity.setMemberId(memberId);
//        memberAccountMoneyChangeEntity.setAmount(amountUsdt);
//        memberAccountMoneyChangeEntity.setStatus(MemberAccountMoneyChangeEntity.STATUS_SUCCESS_INTEGER);
//        memberAccountMoneyChangeEntity.setSymbol("USDT");
//        memberAccountMoneyChangeEntity.setType(MemberAccountMoneyChangeEntity.TYPE_WALLET_COIN);
//        memberAccountMoneyChangeEntity.setCreateBy(selectById.getCreateBy());
//        memberAccountMoneyChangeEntity.setCreateTime(new Date());
//        memberAccountMoneyChangeEntity.setUpdateBy(selectById.getCreateBy());
//        memberAccountMoneyChangeEntity.setUpdateTime(new Date());
//
//        memberAccountMoneyChangeMapper.insert(memberAccountMoneyChangeEntity);
        /**
         * todo
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
@@ -782,47 +790,51 @@
        MemberInfoDetailVo memberInfoDetailVo = new MemberInfoDetailVo();
    
        //USDT充币总额+USDT提币总额
        String totalAmountUsdtB = memberMapper.selectTotalAmountUsdtBForBasicRealDataBymemberId(memberId);
        String totalAmountUsdtB = memberMapper.selectTotalAmountUsdtBForBasicRealDataBymemberId(memberId,"USDT");
        String totalAmountUsdtBRoc = memberMapper.selectTotalAmountUsdtBForBasicRealDataBymemberId(memberId,"ROC");
        memberInfoDetailVo.setChargeCoin(totalAmountUsdtB == null ? 0 : Double.parseDouble(totalAmountUsdtB));
        memberInfoDetailVo.setChargeCoinRoc(totalAmountUsdtBRoc == null ? 0 : Double.parseDouble(totalAmountUsdtBRoc));
        String totalAmountUsdtS = memberMapper.selectTotalAmountUsdtSForBasicRealDataBymemberId(memberId);
        memberInfoDetailVo.setAppealCoin(totalAmountUsdtS == null ? 0 : Double.parseDouble(totalAmountUsdtS));
        //USDT充值总额+USDT提现总额
        String totalAmountUsdtCZ = memberMapper.selectTotalAmountUsdtCZForBasicRealDataBymemberId(memberId);
        memberInfoDetailVo.setChargeUsdt(totalAmountUsdtCZ == null ? 0 : Double.parseDouble(totalAmountUsdtCZ));
        String totalAmountUsdtTX = memberMapper.selectTotalAmountUsdtTXForBasicRealDataBymemberId(memberId);
        memberInfoDetailVo.setAppealUsdt(totalAmountUsdtTX == null ? 0 : Double.parseDouble(totalAmountUsdtTX));
//        String totalAmountUsdtCZ = memberMapper.selectTotalAmountUsdtCZForBasicRealDataBymemberId(memberId);
//        memberInfoDetailVo.setChargeUsdt(totalAmountUsdtCZ == null ? 0 : Double.parseDouble(totalAmountUsdtCZ));
//        String totalAmountUsdtTX = memberMapper.selectTotalAmountUsdtTXForBasicRealDataBymemberId(memberId);
//        memberInfoDetailVo.setAppealUsdt(totalAmountUsdtTX == null ? 0 : Double.parseDouble(totalAmountUsdtTX));
        //总剩余
        double platformProfitAndLoss = 0 ;
        platformProfitAndLoss = platformProfitAndLoss + (totalAmountUsdtB == null ? 0 : Double.parseDouble(totalAmountUsdtB));
        platformProfitAndLoss = platformProfitAndLoss + (totalAmountUsdtCZ == null ? 0 : Double.parseDouble(totalAmountUsdtCZ));
        platformProfitAndLoss = platformProfitAndLoss - (totalAmountUsdtS == null ? 0 : Double.parseDouble(totalAmountUsdtS));
        platformProfitAndLoss = platformProfitAndLoss - (totalAmountUsdtTX == null ? 0 : Double.parseDouble(totalAmountUsdtTX));
        memberInfoDetailVo.setTotalCoin(platformProfitAndLoss);
//        double platformProfitAndLoss = 0 ;
//        platformProfitAndLoss = platformProfitAndLoss + (totalAmountUsdtB == null ? 0 : Double.parseDouble(totalAmountUsdtB));
//        platformProfitAndLoss = platformProfitAndLoss + (totalAmountUsdtCZ == null ? 0 : Double.parseDouble(totalAmountUsdtCZ));
//        platformProfitAndLoss = platformProfitAndLoss - (totalAmountUsdtS == null ? 0 : Double.parseDouble(totalAmountUsdtS));
//        platformProfitAndLoss = platformProfitAndLoss - (totalAmountUsdtTX == null ? 0 : Double.parseDouble(totalAmountUsdtTX));
//        memberInfoDetailVo.setTotalCoin(platformProfitAndLoss);
        //佣金
        String returnMoneyByMid = memberMapper.selectReturnMoneyForBasicRealDataBymemberId(memberId);
        memberInfoDetailVo.setFee(returnMoneyByMid == null ? 0 : Double.parseDouble(returnMoneyByMid));
//        String returnMoneyByMid = memberMapper.selectReturnMoneyForBasicRealDataBymemberId(memberId);
//        memberInfoDetailVo.setFee(returnMoneyByMid == null ? 0 : Double.parseDouble(returnMoneyByMid));
        //开仓手续费总额
        String closingpriceByMid = memberMapper.selectClosingpriceForBasicRealDataBymemberId(memberId);
        memberInfoDetailVo.setClosingPrice(closingpriceByMid == null ? 0 : Double.parseDouble(closingpriceByMid));
//        String closingpriceByMid = memberMapper.selectClosingpriceForBasicRealDataBymemberId(memberId);
//        memberInfoDetailVo.setClosingPrice(closingpriceByMid == null ? 0 : Double.parseDouble(closingpriceByMid));
        //平仓总手续费
        String sellClosingpriceByMid = memberMapper.selectSellClosingpriceForBasicRealDataBymemberId(memberId);
        memberInfoDetailVo.setSellClosingPrice(sellClosingpriceByMid == null ? 0 : Double.parseDouble(sellClosingpriceByMid));
//        String sellClosingpriceByMid = memberMapper.selectSellClosingpriceForBasicRealDataBymemberId(memberId);
//        memberInfoDetailVo.setSellClosingPrice(sellClosingpriceByMid == null ? 0 : Double.parseDouble(sellClosingpriceByMid));
        
        //总盈亏
        String rewardratioByMid = memberMapper.selectRewardratioForBasicRealDataBymemberId(memberId);
        memberInfoDetailVo.setPlatformProfitAndLoss(rewardratioByMid == null ? 0 : Double.parseDouble(rewardratioByMid));
//        //总盈亏
//        String rewardratioByMid = memberMapper.selectRewardratioForBasicRealDataBymemberId(memberId);
//        memberInfoDetailVo.setPlatformProfitAndLoss(rewardratioByMid == null ? 0 : Double.parseDouble(rewardratioByMid));
        
        //持仓手续费
        String doingPrice = memberMapper.selectprepriceForBasicRealDataBymemberId(memberId);
        memberInfoDetailVo.setDoingPrice(doingPrice == null ? 0 : Double.parseDouble(doingPrice));
//        String doingPrice = memberMapper.selectprepriceForBasicRealDataBymemberId(memberId);
//        memberInfoDetailVo.setDoingPrice(doingPrice == null ? 0 : Double.parseDouble(doingPrice));
        
        //账户金额
        String walletNum = memberMapper.selectBBZCForBasicRealDataBymemberId(memberId);
        String walletNum = memberMapper.selectBBZCForBasicRealDataBymemberId(memberId,"USDT");
        String walletNumRoc = memberMapper.selectBBZCForBasicRealDataBymemberId(memberId,"ROC");
        memberInfoDetailVo.setWalletCoinNum(walletNum == null ? 0 : Double.parseDouble(walletNum));
        String walletCoinNum = memberMapper.selectHYZCForBasicRealDataBymemberId(memberId);
        memberInfoDetailVo.setTotalContract(walletCoinNum == null ? 0 : Double.parseDouble(walletCoinNum));
        String agentNum = memberMapper.selectDLZCForBasicRealDataBymemberId(memberId);
        memberInfoDetailVo.setAgentNum(agentNum == null ? 0 : Double.parseDouble(agentNum));
        memberInfoDetailVo.setWalletCoinNumRoc(walletNumRoc == null ? 0 : Double.parseDouble(walletNumRoc));
        //String walletCoinNum = memberMapper.selectHYZCForBasicRealDataBymemberId(memberId);
        //memberInfoDetailVo.setTotalContract(walletCoinNum == null ? 0 : Double.parseDouble(walletCoinNum));
        //String agentNum = memberMapper.selectDLZCForBasicRealDataBymemberId(memberId);
        //memberInfoDetailVo.setAgentNum(agentNum == null ? 0 : Double.parseDouble(agentNum));
            
        return memberInfoDetailVo;
    }
@@ -1343,7 +1355,7 @@
        MemberInfoDetailVo memberInfoDetailVo = new MemberInfoDetailVo();
    
        //USDT充币总额+USDT提币总额
        String totalAmountUsdtB = memberMapper.selectTotalAmountUsdtBForBasicRealDataBymemberId(memberId);
        String totalAmountUsdtB = memberMapper.selectTotalAmountUsdtBForBasicRealDataBymemberId(memberId,"USDT");
        memberInfoDetailVo.setChargeCoin(totalAmountUsdtB == null ? 0 : Double.parseDouble(totalAmountUsdtB));
        String totalAmountUsdtS = memberMapper.selectTotalAmountUsdtSForBasicRealDataBymemberId(memberId);
        memberInfoDetailVo.setAppealCoin(totalAmountUsdtS == null ? 0 : Double.parseDouble(totalAmountUsdtS));
@@ -1378,7 +1390,7 @@
        memberInfoDetailVo.setDoingPrice(doingPrice == null ? 0 : Double.parseDouble(doingPrice));
        
        //账户金额
        String walletNum = memberMapper.selectBBZCForBasicRealDataBymemberId(memberId);
        String walletNum = memberMapper.selectBBZCForBasicRealDataBymemberId(memberId,"USDT");
        memberInfoDetailVo.setWalletCoinNum(walletNum == null ? 0 : Double.parseDouble(walletNum));
        String walletCoinNum = memberMapper.selectHYZCForBasicRealDataBymemberId(memberId);
        memberInfoDetailVo.setTotalContract(walletCoinNum == null ? 0 : Double.parseDouble(walletCoinNum));
src/main/java/com/xcong/excoin/modules/member/vo/MemberCoinWithdrawVo.java
@@ -67,5 +67,6 @@
    private String inviteId;
    private int accountType;
    private String insidePhone;
}
src/main/java/com/xcong/excoin/modules/member/vo/MemberInfoDetailVo.java
@@ -6,7 +6,8 @@
public class MemberInfoDetailVo {
    
    private double walletCoinNum;//币币余额
    private double walletCoinNumRoc;//币币余额ROC
    private double agentNum;//代理账户余额
    
    private double fee;//佣金
@@ -22,7 +23,8 @@
    private double appealUsdt;//提现USDT
    
    private double chargeCoin;//充币
    private double chargeCoinRoc;//充币
    private double appealCoin;//提币
    
    private double platformProfitAndLoss;//总盈亏
src/main/java/com/xcong/excoin/modules/systemSetting/controller/SystemSettingController.java
@@ -36,40 +36,40 @@
    /**
     * 交易设置---列表
     */
    @GetMapping("platformTradeSetting")
    public FebsResponse platformTradeSetting(PlatformTradeSettingEntity platformTradeSettingEntity, QueryRequest request) {
        Map<String, Object> data = getDataTable(systemSettingService.findPlatformTradeSettingInPage(platformTradeSettingEntity, request));
        return new FebsResponse().success().data(data);
    }
//    @GetMapping("platformTradeSetting")
//    public FebsResponse platformTradeSetting(PlatformTradeSettingEntity platformTradeSettingEntity, QueryRequest request) {
//        Map<String, Object> data = getDataTable(systemSettingService.findPlatformTradeSettingInPage(platformTradeSettingEntity, request));
//        return new FebsResponse().success().data(data);
//    }
    
    /**
     *交易设置---确认
     * @return
     */
    @PostMapping("platformTradeSettingConfirm")
    @ControllerEndpoint(operation = "交易设置---确认", exceptionMessage = "设置失败")
    public FebsResponse platformTradeSettingConfirm(@Valid PlatformTradeSettingEntity platformTradeSettingEntity) {
        return systemSettingService.platformTradeSettingConfirm(platformTradeSettingEntity);
    }
//    @PostMapping("platformTradeSettingConfirm")
//    @ControllerEndpoint(operation = "交易设置---确认", exceptionMessage = "设置失败")
//    public FebsResponse platformTradeSettingConfirm(@Valid PlatformTradeSettingEntity platformTradeSettingEntity) {
//        return systemSettingService.platformTradeSettingConfirm(platformTradeSettingEntity);
//    }
    
    /**
     * 币种规格---列表
     */
    @GetMapping("platformSymbolsSku")
    public FebsResponse platformSymbolsSku(PlatformSymbolsSkuEntity platformSymbolsSkuEntity, QueryRequest request) {
        Map<String, Object> data = getDataTable(systemSettingService.findPlatformSymbolsSkuInPage(platformSymbolsSkuEntity, request));
        return new FebsResponse().success().data(data);
    }
//    @GetMapping("platformSymbolsSku")
//    public FebsResponse platformSymbolsSku(PlatformSymbolsSkuEntity platformSymbolsSkuEntity, QueryRequest request) {
//        Map<String, Object> data = getDataTable(systemSettingService.findPlatformSymbolsSkuInPage(platformSymbolsSkuEntity, request));
//        return new FebsResponse().success().data(data);
//    }
    
    /**
     * 币种规格---确认
     * @return
     */
    @PostMapping("platformSymbolsSkuConfirm")
    @ControllerEndpoint(operation = "币种规格---确认", exceptionMessage = "设置失败")
    public FebsResponse platformSymbolsSkuConfirm(@Valid PlatformSymbolsSkuEntity platformSymbolsSkuEntity) {
        return systemSettingService.platformSymbolsSkuConfirm(platformSymbolsSkuEntity);
    }
//    @PostMapping("platformSymbolsSkuConfirm")
//    @ControllerEndpoint(operation = "币种规格---确认", exceptionMessage = "设置失败")
//    public FebsResponse platformSymbolsSkuConfirm(@Valid PlatformSymbolsSkuEntity platformSymbolsSkuEntity) {
//        return systemSettingService.platformSymbolsSkuConfirm(platformSymbolsSkuEntity);
//    }
    
    /**
     * 轮播图---列表
src/main/java/com/xcong/excoin/modules/trademanage/controller/OrderCoinDealController.java
@@ -7,6 +7,7 @@
import com.xcong.excoin.modules.trademanage.entity.OrderCoinsDealEntity;
import com.xcong.excoin.modules.trademanage.service.OrderCoinDealService;
import lombok.RequiredArgsConstructor;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -24,6 +25,7 @@
    private final OrderCoinDealService orderCoinDealService;
    @GetMapping("/page")
    @RequiresPermissions("orderCoins:view")
    public FebsResponse getList(OrderCoinsDealEntity contractHoldOrderEntity, QueryRequest request) {
        Map<String, Object> data = getDataTable(orderCoinDealService.findOrderCoinsDealListInPage(contractHoldOrderEntity, request));
        return new FebsResponse().success().data(data);
src/main/java/com/xcong/excoin/modules/trademanage/controller/OrderCoinViewController.java
@@ -14,6 +14,7 @@
     * 当前持仓
     */
    @GetMapping("/page")
    @RequiresPermissions("orderCoins:view")
    public String contractHoldOrder() {
        return FebsUtil.view("modules/orderCoin/orderCoin");
    }
src/main/java/com/xcong/excoin/modules/trademanage/controller/TradeManageController.java
File was deleted
src/main/java/com/xcong/excoin/modules/trademanage/entity/OrderCoinsDealEntity.java
@@ -78,4 +78,6 @@
    private String phone;
    private String email;
    private Integer ipo;
}
src/main/java/com/xcong/excoin/monitor/controller/LogController.java
@@ -39,20 +39,20 @@
        return new FebsResponse().success().data(dataTable);
    }
    @GetMapping("delete/{ids}")
    @RequiresPermissions("log:delete")
    @ControllerEndpoint(exceptionMessage = "删除日志失败")
    public FebsResponse deleteLogs(@NotBlank(message = "{required}") @PathVariable String ids) {
        String[] logIds = ids.split(StringPool.COMMA);
        this.logService.deleteLogs(logIds);
        return new FebsResponse().success();
    }
//    @GetMapping("delete/{ids}")
//    @RequiresPermissions("log:delete")
//    @ControllerEndpoint(exceptionMessage = "删除日志失败")
//    public FebsResponse deleteLogs(@NotBlank(message = "{required}") @PathVariable String ids) {
//        String[] logIds = ids.split(StringPool.COMMA);
//        this.logService.deleteLogs(logIds);
//        return new FebsResponse().success();
//    }
    @GetMapping("excel")
    @RequiresPermissions("log:export")
    @ControllerEndpoint(exceptionMessage = "导出Excel失败")
    public void export(QueryRequest request, SystemLog lg, HttpServletResponse response) {
        List<SystemLog> logs = this.logService.findLogs(lg, request).getRecords();
        ExcelKit.$Export(SystemLog.class, response).downXlsx(logs, false);
    }
//    @GetMapping("excel")
//    @RequiresPermissions("log:export")
//    @ControllerEndpoint(exceptionMessage = "导出Excel失败")
//    public void export(QueryRequest request, SystemLog lg, HttpServletResponse response) {
//        List<SystemLog> logs = this.logService.findLogs(lg, request).getRecords();
//        ExcelKit.$Export(SystemLog.class, response).downXlsx(logs, false);
//    }
}
src/main/java/com/xcong/excoin/monitor/controller/LoginLogController.java
@@ -39,20 +39,20 @@
        return new FebsResponse().success().data(dataTable);
    }
    @GetMapping("delete/{ids}")
    @RequiresPermissions("loginlog:delete")
    @ControllerEndpoint(exceptionMessage = "删除日志失败")
    public FebsResponse deleteLogss(@NotBlank(message = "{required}") @PathVariable String ids) {
        String[] loginLogIds = ids.split(StringPool.COMMA);
        this.loginLogService.deleteLoginLogs(loginLogIds);
        return new FebsResponse().success();
    }
//    @GetMapping("delete/{ids}")
//    @RequiresPermissions("loginlog:delete")
//    @ControllerEndpoint(exceptionMessage = "删除日志失败")
//    public FebsResponse deleteLogss(@NotBlank(message = "{required}") @PathVariable String ids) {
//        String[] loginLogIds = ids.split(StringPool.COMMA);
//        this.loginLogService.deleteLoginLogs(loginLogIds);
//        return new FebsResponse().success();
//    }
    @GetMapping("excel")
    @RequiresPermissions("loginlog:export")
    @ControllerEndpoint(exceptionMessage = "导出Excel失败")
    public void export(QueryRequest request, LoginLog loginLog, HttpServletResponse response) {
        List<LoginLog> loginLogs = this.loginLogService.findLoginLogs(loginLog, request).getRecords();
        ExcelKit.$Export(LoginLog.class, response).downXlsx(loginLogs, false);
    }
//    @GetMapping("excel")
//    @RequiresPermissions("loginlog:export")
//    @ControllerEndpoint(exceptionMessage = "导出Excel失败")
//    public void export(QueryRequest request, LoginLog loginLog, HttpServletResponse response) {
//        List<LoginLog> loginLogs = this.loginLogService.findLoginLogs(loginLog, request).getRecords();
//        ExcelKit.$Export(LoginLog.class, response).downXlsx(loginLogs, false);
//    }
}
src/main/java/com/xcong/excoin/monitor/controller/ViewController.java
@@ -51,38 +51,38 @@
        return FebsUtil.view("monitor/httpTrace");
    }
    @GetMapping("jvm")
    @RequiresPermissions("jvm:view")
    public String jvmInfo(Model model) {
        List<FebsMetricResponse> jvm = actuatorHelper.getMetricResponseByType("jvm");
        JvmInfo jvmInfo = actuatorHelper.getJvmInfoFromMetricData(jvm);
        model.addAttribute("jvm", jvmInfo);
        return FebsUtil.view("monitor/jvmInfo");
    }
    @GetMapping("tomcat")
    @RequiresPermissions("tomcat:view")
    public String tomcatInfo(Model model) {
        List<FebsMetricResponse> tomcat = actuatorHelper.getMetricResponseByType("tomcat");
        TomcatInfo tomcatInfo = actuatorHelper.getTomcatInfoFromMetricData(tomcat);
        model.addAttribute("tomcat", tomcatInfo);
        return FebsUtil.view("monitor/tomcatInfo");
    }
    @GetMapping("server")
    @RequiresPermissions("server:view")
    public String serverInfo(Model model) {
        List<FebsMetricResponse> jdbcInfo = actuatorHelper.getMetricResponseByType("jdbc");
        List<FebsMetricResponse> systemInfo = actuatorHelper.getMetricResponseByType("system");
        List<FebsMetricResponse> processInfo = actuatorHelper.getMetricResponseByType("process");
        ServerInfo serverInfo = actuatorHelper.getServerInfoFromMetricData(jdbcInfo, systemInfo, processInfo);
        model.addAttribute("server", serverInfo);
        return FebsUtil.view("monitor/serverInfo");
    }
    @GetMapping("swagger")
    public String swagger() {
        return FebsUtil.view("monitor/swagger");
    }
//    @GetMapping("jvm")
//    @RequiresPermissions("jvm:view")
//    public String jvmInfo(Model model) {
//        List<FebsMetricResponse> jvm = actuatorHelper.getMetricResponseByType("jvm");
//        JvmInfo jvmInfo = actuatorHelper.getJvmInfoFromMetricData(jvm);
//        model.addAttribute("jvm", jvmInfo);
//        return FebsUtil.view("monitor/jvmInfo");
//    }
//
//    @GetMapping("tomcat")
//    @RequiresPermissions("tomcat:view")
//    public String tomcatInfo(Model model) {
//        List<FebsMetricResponse> tomcat = actuatorHelper.getMetricResponseByType("tomcat");
//        TomcatInfo tomcatInfo = actuatorHelper.getTomcatInfoFromMetricData(tomcat);
//        model.addAttribute("tomcat", tomcatInfo);
//        return FebsUtil.view("monitor/tomcatInfo");
//    }
//
//    @GetMapping("server")
//    @RequiresPermissions("server:view")
//    public String serverInfo(Model model) {
//        List<FebsMetricResponse> jdbcInfo = actuatorHelper.getMetricResponseByType("jdbc");
//        List<FebsMetricResponse> systemInfo = actuatorHelper.getMetricResponseByType("system");
//        List<FebsMetricResponse> processInfo = actuatorHelper.getMetricResponseByType("process");
//
//        ServerInfo serverInfo = actuatorHelper.getServerInfoFromMetricData(jdbcInfo, systemInfo, processInfo);
//        model.addAttribute("server", serverInfo);
//        return FebsUtil.view("monitor/serverInfo");
//    }
//
//    @GetMapping("swagger")
//    public String swagger() {
//        return FebsUtil.view("monitor/swagger");
//    }
}
src/main/java/com/xcong/excoin/system/controller/LoginController.java
@@ -60,17 +60,17 @@
        return new FebsResponse().success();
    }
    @PostMapping("regist")
    public FebsResponse regist(
            @NotBlank(message = "{required}") String username,
            @NotBlank(message = "{required}") String password) throws FebsException {
        User user = userService.findByName(username);
        if (user != null) {
            throw new FebsException("该用户名已存在");
        }
        this.userService.regist(username, password);
        return new FebsResponse().success();
    }
//    @PostMapping("regist")
//    public FebsResponse regist(
//            @NotBlank(message = "{required}") String username,
//            @NotBlank(message = "{required}") String password) throws FebsException {
//        User user = userService.findByName(username);
//        if (user != null) {
//            throw new FebsException("该用户名已存在");
//        }
//        this.userService.regist(username, password);
//        return new FebsResponse().success();
//    }
    @GetMapping("index/{username}")
    public FebsResponse index(@NotBlank(message = "{required}") @PathVariable String username) {
src/main/resources/mapper/modules/MemberCoinWithdrawMapper.xml
@@ -4,9 +4,11 @@
    <select id="findmemberWithdrawCoinListInPage" resultType="com.xcong.excoin.modules.member.vo.MemberCoinWithdrawVo">
        SELECT
            *
            *,
        (select phone from member where id = (select member_id from member_coin_address where address =s.address  and symbol =s.symbol )) insidePhone
        FROM
            member_coin_withdraw s left join member m on m.id = s.member_id
            member_coin_withdraw s
            left join member m on m.id = s.member_id
         <where>
             s.member_id not in (26,187,454)
            <if test="record != null" >
src/main/resources/mapper/modules/MemberMapper.xml
@@ -229,7 +229,7 @@
        FROM
            member_coin_charge a
        WHERE
            a.symbol = 'USDT'
            a.symbol = #{symbol}
        AND a.member_id = #{memberId}
    </select>
    <select id="selectTotalAmountUsdtBForBasicRealData" resultType="java.lang.String">
@@ -1257,7 +1257,7 @@
        FROM
            member_wallet_coin
        WHERE
            wallet_code = 'USDT'
            wallet_code = #{symbol}
        AND member_id = #{memberId}
    </select>
    <select id="selectBBZCForBasicRealData" resultType="java.lang.String">
src/main/resources/mapper/modules/OrderCoinDealMapper.xml
@@ -4,7 +4,7 @@
    <select id="selectOrderCoinsDealListInPage" resultType="com.xcong.excoin.modules.trademanage.entity.OrderCoinsDealEntity">
        SELECT
            s.*,m.phone,m.email
            s.*,m.phone,m.email,m.ipo
        FROM
        coins_order_deal s
        LEFT JOIN member m ON m.id = s.member_id
src/main/resources/templates/febs/views/login.html
@@ -62,47 +62,7 @@
                                    </button>
                                </div>
                            </div>
<!--                            <div class="layui-form-item febs-tr">-->
<!--                                <a id="regist-href">注册账号</a>-->
<!--                            </div>-->
                        </div>
                    </div>
                </div>
                <div class="layui-col-xs12 layui-col-lg4 layui-col-lg-offset4 febs-hide" id="regist-div">
                    <div class="layui-form" lay-filter="regist-form">
                        <div class="layui-anim layui-anim-upbit">
                            <ul class="login-type-tab">
                                <li class="active">账号注册</li>
                            </ul>
                            <div class="normal-login-form">
                                <div class="layui-form-item">
                                    <label class="layui-icon label-icon layui-icon-username"></label>
                                    <input type="text" name="username" minlength="2" maxlength="10" lay-verify="range"
                                           placeholder="用户名" autocomplete="off" class="layui-input">
                                </div>
                                <div class="layui-form-item password-block">
                                    <label class="layui-icon label-icon layui-icon-password"></label>
                                    <input type="password" name="password" minlength="6" lay-verify="range"
                                           placeholder="密码" autocomplete="off" class="layui-input">
                                </div>
                                <div class="layui-form-item password-block">
                                    <label class="layui-icon label-icon layui-icon-password"></label>
                                    <input type="password" name="passwordB" lay-verify="required"
                                           placeholder="密码确认" autocomplete="off" class="layui-input">
                                </div>
                                <div class="layui-form-item">
                                    <button class="layui-btn layui-btn-normal layui-btn-fluid" lay-submit
                                            lay-filter="regist-submit" id="regist">
                                        <i style="display: none"
                                           class="layui-icon layui-icon-loading layui-icon layui-anim layui-anim-rotate layui-anim-loop"></i>
                                        立即注册
                                    </button>
                                </div>
                            </div>
                        </div>
                        <div class="layui-form-item febs-tr">
                            <a id="login-href">已有账号?马上登录</a>
                        </div>
                    </div>
                </div>
src/main/resources/templates/febs/views/modules/member/member.html
@@ -117,24 +117,24 @@
                id: 'userTable',
                url: ctx + 'member/getList',
                cols: [[
                    {field: 'phone', title: '手机号', minWidth: 100,align:'left'},
                    {field: 'email', title: '邮箱', minWidth: 200,align:'left'},
                    {field: 'realName', title: '姓名', minWidth: 200,align:'left'},
                    {field: 'phone', title: '手机号', minWidth: 150,align:'left'},
                    {field: 'email', title: '邮箱', minWidth: 100,align:'left'},
                    {field: 'realName', title: '姓名', minWidth: 50,align:'left'},
                    {field: 'inviteId', title: '邀请码UID',
                        templet: function (d) {
                                return '<a lay-event="examine" shiro:hasPermission="user:update">'+d.inviteId+'</a>'
                            }, minWidth: 80,align:'center'},
                    {field: 'refererId', title: '上级邀请码UID', minWidth: 80,align:'center'},
                    {field: 'accountType', title: '账号类型',
                        templet: function (d) {
                            if (d.accountType === 2) {
                                return '<span style="color:green;">测试账号</span>'
                            } else if (d.accountType === 1) {
                                return '<span style="color:red;">正常账号</span>'
                            }else{
                                return ''
                            }
                        }, minWidth: 80,align:'center'},
                    // {field: 'accountType', title: '账号类型',
                    //     templet: function (d) {
                    //         if (d.accountType === 2) {
                    //             return '<span style="color:green;">测试账号</span>'
                    //         } else if (d.accountType === 1) {
                    //             return '<span style="color:red;">正常账号</span>'
                    //         }else{
                    //             return ''
                    //         }
                    //     }, minWidth: 80,align:'center'},
                    {field: 'refererId', title: '账号状态',
                            templet: function (d) {
                                if (d.accountStatus === 1) {
@@ -145,6 +145,16 @@
                                    return ''
                                }
                            }, minWidth: 80,align:'center'},
                    {field: 'ipo', title: '私募',
                        templet: function (d) {
                            if (d.ipo === 1) {
                                return '<span style="color:red;">是</span>'
                            } else if (d.ipo === 0) {
                                return '<span style="color:gray;">否</span>'
                            }else{
                                return '<span style="color:gray;">否</span>'
                            }
                        }, minWidth: 80,align:'center'},
                    {field: 'refererId', title: '审核状态',
                                templet: function (d) {
                                    if (d.certifyStatus === 0) {
@@ -160,7 +170,7 @@
                                    }
                                }, minWidth: 80,align:'center'},
                    {field: 'createTime', title: '注册时间', minWidth: 180,align:'center'},
                    {title: '操作',
                    {title: '操作',
                        // templet: function (d) {
                        //     if (d.certifyStatus === 1) {
                        //         return '<a lay-event="edit" shiro:hasPermission="user:update">审核认证</a>'
src/main/resources/templates/febs/views/modules/member/memberDetailInfo.html
@@ -20,89 +20,42 @@
<div class="layui-fluid" id="user-update">
    <form class="layui-form" action="" lay-filter="user-update-form">
        <div class="layui-form-item">
            <label class="layui-form-label febs-form-item-require">币币余额:</label>
            <label class="layui-form-label febs-form-item-require">USDT余额:</label>
            <div class="layui-input-block">
                <input type="text" name="walletCoinNum" minlength="4" maxlength="10" data-th-id="${member.walletCoinNum}"
                       lay-verify="range|walletCoinNum" autocomplete="off" class="layui-input" readonly>
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label febs-form-item-require">合约余额:</label>
            <label class="layui-form-label febs-form-item-require">ROC余额:</label>
            <div class="layui-input-block">
                <input type="text" name="totalContract" minlength="4" maxlength="10" data-th-id="${member.totalContract}"
                       lay-verify="range|totalContract" autocomplete="off" class="layui-input" readonly>
                <input type="text" name="walletCoinNumRoc" minlength="4" maxlength="10" data-th-id="${member.walletCoinNumRoc}"
                       lay-verify="range|walletCoinNumRoc" autocomplete="off" class="layui-input" readonly>
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label febs-form-item-require">代理余额:</label>
            <div class="layui-input-block">
                <input type="text" name="agentNum" minlength="4" maxlength="10" data-th-id="${member.agentNum}"
                       lay-verify="range|agentNum" autocomplete="off" class="layui-input" readonly>
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label febs-form-item-require">佣金:</label>
            <div class="layui-input-block">
                <input type="text" name="fee" minlength="4" maxlength="10" data-th-id="${member.fee}"
                       lay-verify="range|fee" autocomplete="off" class="layui-input" readonly>
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label febs-form-item-require">充值:</label>
            <div class="layui-input-block">
                <input type="text" name="chargeUsdt" minlength="4" maxlength="10" data-th-id="${member.chargeUsdt}"
                       lay-verify="range|chargeUsdt" autocomplete="off" class="layui-input" readonly>
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label febs-form-item-require">提现:</label>
            <div class="layui-input-block">
                <input type="text" name="appealUsdt" minlength="4" maxlength="10" data-th-id="${member.appealUsdt}"
                       lay-verify="range|appealUsdt" autocomplete="off" class="layui-input" readonly>
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label febs-form-item-require">充币:</label>
            <label class="layui-form-label febs-form-item-require">充币USDT:</label>
            <div class="layui-input-block">
                <input type="text" name="chargeCoin" minlength="4" maxlength="10" data-th-id="${member.chargeCoin}"
                       lay-verify="range|chargeCoin" autocomplete="off" class="layui-input" readonly>
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label febs-form-item-require">提币:</label>
            <label class="layui-form-label febs-form-item-require">充币ROC:</label>
            <div class="layui-input-block">
                <input type="text" name="chargeCoinRoc" minlength="4" maxlength="10" data-th-id="${member.chargeCoinRoc}"
                       lay-verify="range|chargeCoinRoc" autocomplete="off" class="layui-input" readonly>
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label febs-form-item-require">提币USDT:</label>
            <div class="layui-input-block">
                <input type="text" name="appealCoin" minlength="4" maxlength="10" data-th-id="${member.appealCoin}"
                       lay-verify="range|appealCoin" autocomplete="off" class="layui-input" readonly>
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label febs-form-item-require">总盈亏:</label>
            <div class="layui-input-block">
                <input type="text" name="platformProfitAndLoss" minlength="4" maxlength="10" data-th-id="${member.platformProfitAndLoss}"
                       lay-verify="range|platformProfitAndLoss" autocomplete="off" class="layui-input" readonly>
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label febs-form-item-require">开仓手续费:</label>
            <div class="layui-input-block">
                <input type="text" name="closingPrice" minlength="4" maxlength="10" data-th-id="${member.closingPrice}"
                       lay-verify="range|closingPrice" autocomplete="off" class="layui-input" readonly>
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label febs-form-item-require">平仓手续费:</label>
            <div class="layui-input-block">
                <input type="text" name="sellClosingPrice" minlength="4" maxlength="10" data-th-id="${member.sellClosingPrice}"
                       lay-verify="range|sellClosingPrice" autocomplete="off" class="layui-input" readonly>
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label febs-form-item-require">持仓手续费:</label>
            <div class="layui-input-block">
                <input type="text" name="doingPrice" minlength="4" maxlength="10" data-th-id="${member.doingPrice}"
                       lay-verify="range|doingPrice" autocomplete="off" class="layui-input" readonly>
            </div>
        </div>
    </form>
</div>
@@ -128,12 +81,14 @@
                "platformProfitAndLoss": member.platformProfitAndLoss,
                "appealCoin": member.appealCoin,
                "chargeCoin": member.chargeCoin,
                "chargeCoinRoc": member.chargeCoinRoc,
                "appealUsdt": member.appealUsdt,
                "chargeUsdt": member.chargeUsdt,
                "fee": member.fee,
                "agentNum": member.agentNum,
                "totalContract": member.totalContract,
                "walletCoinNum": member.walletCoinNum,
                "walletCoinNumRoc": member.walletCoinNumRoc,
                "totalCoin": member.totalCoin
            });
        }
src/main/resources/templates/febs/views/modules/member/withdrawCoin.html
@@ -63,12 +63,16 @@
</div>
<!-- 表格操作栏 start -->
<script type="text/html" id="user-option">
    <span shiro:lacksPermission="user:view,user:update,user:delete">
        <span class="layui-badge-dot febs-bg-orange"></span> 无权限
    </span>
    <a lay-event="confirm" shiro:hasPermission="user:delete">确认</a>
    <i class="layui-icon febs-edit-area febs-blue">&#xe7a4;</i>
    <a lay-event="cancel" shiro:hasPermission="user:delete">拒绝</a>
<!--    <span shiro:lacksPermission="coin:check">-->
<!--        <span class="layui-badge-dot febs-bg-orange"></span> 无权限-->
<!--    </span>-->
    {{# if(d.status === 1) { }}
        <a lay-event="confirm" shiro:hasPermission="coin:check">确认</a>
        <a lay-event="cancel" shiro:hasPermission="coin:check">拒绝</a>
        <a lay-event="examine" >查看</a>
    {{# } else { }}
        <a lay-event="examine" >查看</a>
    {{# } }}
</script>
<!-- 表格操作栏 end -->
<script data-th-inline="none" type="text/javascript">
@@ -147,16 +151,16 @@
                totalRow: true,
                cols: [[
                    {field: 'phone', title: '手机号码', minWidth: 120,align:'left',totalRowText: '合计'},
                    {field: 'realName', title: '姓名', minWidth: 120,align:'left'},
                    {field: 'email', title: '邮箱', minWidth: 200,align:'left'},
                    {field: 'accountType', title: '账号类型',
                        templet: function (d) {
                            if (d.accountType === 2) {
                                return '<span style="color:red;">测试账号</span>'
                            } else {
                                return '<span style="color:green;">正常账号</span>'
                            }
                        },minWidth: 100,align:'center'},
                    {field: 'realName', title: '姓名', minWidth: 50,align:'left'},
                    {field: 'email', title: '邮箱', minWidth: 100,align:'left'},
                    // {field: 'accountType', title: '账号类型',
                    //     templet: function (d) {
                    //         if (d.accountType === 2) {
                    //             return '<span style="color:red;">测试账号</span>'
                    //         } else {
                    //             return '<span style="color:green;">正常账号</span>'
                    //         }
                    //     },minWidth: 100,align:'center'},
                    {field: 'inviteId', title: '邀请码UID', minWidth: 80,align:'center'},
                    {field: 'symbol', title: '币种', minWidth: 100,align:'center'},
                    {field: 'isInside', title: '内部转账',
@@ -167,6 +171,7 @@
                                return '<span style="color:green;">否</span>'
                            }
                        },minWidth: 100,align:'center'},
                    {field: 'insidePhone', title: '内部账户', minWidth: 120,align:'center' },
                    {field: 'amount', title: '提币数量', minWidth: 120,align:'center' ,totalRow: true},
                    {field: 'realAmount', title: '到账金额', minWidth: 120,align:'center' ,totalRow: true},
                    {field: 'address', title: '提币地址', minWidth: 300,align:'center'},
@@ -182,17 +187,18 @@
                                return '<span style="color:red;">拒绝</span>'
                            }
                        },minWidth: 100,align:'center'},
                    {title: '操作',
                        templet: function (d) {
                            if (d.status === 1) {
                                return '<a lay-event="confirm" shiro:hasPermission="user:delete">确认</a>'
                                +'<i class="layui-icon febs-edit-area febs-blue">&#xe7a4;</i>'
                                +'<a lay-event="cancel" shiro:hasPermission="user:delete">拒绝</a>'
                                +'<a lay-event="examine" >查看</a>'
                            }else {
                                return '<a lay-event="examine" >查看</a>'
                            }
                        },minWidth: 200,align:'center'}
                    {title: '操作', toolbar: '#user-option'
                        // templet: function (d) {
                        //     if (d.status === 1) {
                        //         return '<a lay-event="confirm" shiro:hasPermission="coin:check">确认</a>'
                        //         +'<i class="layui-icon febs-edit-area febs-blue">&#xe7a4;</i>'
                        //         +'<a lay-event="cancel" shiro:hasPermission="coin:check">拒绝</a>'
                        //         +'<a lay-event="examine" >查看</a>'
                        //     }else {
                        //         return '<a lay-event="examine" >查看</a>'
                        //     }
                        // }
                        ,minWidth: 200,align:'center'}
                ]]
            });
        }
src/main/resources/templates/febs/views/modules/orderCoin/orderCoin.html
@@ -109,6 +109,17 @@
                    {field: 'entrustPrice', title: '委托价', minWidth: 30,align:'center'},
                    {field: 'dealPrice', title: '成交价', minWidth: 30,align:'center'},
                    {field: 'dealAmount', title: '成交金额', minWidth: 30,align:'center'},
                    {field: 'ipo', title: '私募',
                        templet: function (d) {
                            if (d.ipo == 1) {
                                return '<span style="color:red;">是</span>'
                            } else if (d.ipo == 0) {
                                return '<span style="color:gray;">否</span>'
                            } else{
                                return '<span style="color:red;">是</span>'
                            }
                        },
                        minWidth: 20,align:'center'},
                    {field: 'feeAmount', title: '手续费', minWidth: 30,align:'center'},
                    {field: 'createTime', title: '创建时间', minWidth: 200,align:'center'},
                ]]