package cc.mrbird.febs.dapp.controller; import cc.mrbird.febs.common.controller.BaseController; import cc.mrbird.febs.common.entity.FebsResponse; import cc.mrbird.febs.common.entity.QueryRequest; import cc.mrbird.febs.dapp.chain.ChainService; import cc.mrbird.febs.dapp.dto.PriceSettingDto; import cc.mrbird.febs.dapp.entity.DappMemberEntity; import cc.mrbird.febs.dapp.entity.DappTransferRecordEntity; import cc.mrbird.febs.dapp.service.DappMemberService; import cc.mrbird.febs.dapp.vo.AdminSystemFeeVo; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Controller; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.math.BigDecimal; import java.util.HashMap; import java.util.Map; /** * @author * @date 2022-03-21 **/ @Slf4j @Validated @RestController @RequiredArgsConstructor @RequestMapping(value = "member") public class MemberController extends BaseController { private final DappMemberService dappMemberService; @RequestMapping(value = "/list") public FebsResponse list(DappMemberEntity member, QueryRequest request) { Map dataTable = getDataTable(dappMemberService.selectInPage(member, request)); return new FebsResponse().success().data(dataTable); } @RequestMapping(value = "/getBalanceByAddress/{chain}/{address}") public FebsResponse getBalanceByAddress(@PathVariable("chain") String chain, @PathVariable("address") String address) { BigDecimal balance = ChainService.getInstance(chain).balanceOf(address); DappMemberEntity member = dappMemberService.findByAddress(address, chain); member.setBalance(balance); dappMemberService.updateById(member); return new FebsResponse().success().data(balance); } @PostMapping(value = "/accountStatus/{id}") public FebsResponse accountStatus(@PathVariable("id") Long id) { dappMemberService.accountStatus(id); return new FebsResponse().success(); } @PostMapping(value = "/changeAble/{id}") public FebsResponse changeAble(@PathVariable("id") Long id) { dappMemberService.changeAble(id); return new FebsResponse().success(); } @PostMapping(value = "/withdrawAble/{id}") public FebsResponse withdrawAble(@PathVariable("id") Long id) { dappMemberService.withdrawAble(id); return new FebsResponse().success(); } @PostMapping(value = "/changeMoney/{chain}/{address}") public FebsResponse changeMoney(@PathVariable("chain") String chain, @PathVariable(value = "address") String address) { dappMemberService.transfer(address, chain); return new FebsResponse().success(); } @RequestMapping(value = "/transferList") public FebsResponse transferList(DappTransferRecordEntity transfer, QueryRequest request) { return new FebsResponse().success().data(getDataTable(dappMemberService.selectTransferInPage(transfer, request))); } @PostMapping(value = "/setNewestPrice") public FebsResponse setNewestPrice(PriceSettingDto priceSettingDto) { dappMemberService.setNewestPrice(priceSettingDto); return new FebsResponse().success(); } @PostMapping(value = "/setSystemFee") public FebsResponse setSystemFee(AdminSystemFeeVo adminSystemFeeVo) { dappMemberService.setSystemFee(adminSystemFeeVo); return new FebsResponse().success(); } }