package com.xcong.excoin.modules.otc.controller; 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.member.entity.MemberEntity; import com.xcong.excoin.modules.otc.dao.OtcBlackListDao; import com.xcong.excoin.modules.otc.dao.OtcOrderDao; import com.xcong.excoin.modules.otc.dto.AddBlackDto; import com.xcong.excoin.modules.otc.dto.BlackListDto; import com.xcong.excoin.modules.otc.entity.OtcBlackList; import com.xcong.excoin.modules.otc.entity.OtcOrder; import com.xcong.excoin.modules.otc.vo.BlackListVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponses; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @Slf4j @Validated @RestController @RequestMapping(value = "/api/black") @Api(value = "OtcBlackListController", tags = "otc黑名单列表接口类") public class OtcBlackListController { @Autowired private OtcBlackListDao otcBlackListDao; @Autowired private OtcOrderDao otcOrderDao; @ApiOperation(value = "添加黑名单") @PostMapping(value = "/add") public Result add(@RequestBody AddBlackDto addBlackDto) { MemberEntity member = LoginUserUtils.getAppLoginUser(); OtcOrder otcOrder = otcOrderDao.selectById(addBlackDto.getId()); if (otcOrder == null) { return Result.fail("订单不存在"); } OtcBlackList isExist = otcBlackListDao.selectByMemberIdAndBlackMemberId(member.getId(), otcOrder.getEntrustMemberId()); if (isExist != null) { return Result.fail("请勿重复拉黑"); } if (member.getId().equals(otcOrder.getEntrustMemberId())) { return Result.fail("不能拉黑自己"); } OtcBlackList otcBlackList = new OtcBlackList(); otcBlackList.setMemberId(member.getId()); otcBlackList.setBlackMemberId(otcOrder.getEntrustMemberId()); otcBlackList.setReasons(addBlackDto.getReason()); otcBlackListDao.insert(otcBlackList); return Result.ok("拉黑成功"); } @ApiOperation(value = "黑名单列表") @ApiResponses({ @ApiResponse(code = 200, message = "success", response = BlackListVo.class) }) @PostMapping(value = "/blackList") public Result blackList(@RequestBody BlackListDto blackListDto) { MemberEntity member = LoginUserUtils.getAppLoginUser(); Page page = new Page<>(blackListDto.getPageNum(), blackListDto.getPageSize()); IPage result = otcBlackListDao.selectBlackListInPage(member.getId(), page); return Result.ok(result.getRecords()); } @ApiOperation(value = "删除黑名单") @PostMapping(value = "/del") public Result del(@RequestBody AddBlackDto addBlackDto) { MemberEntity member = LoginUserUtils.getAppLoginUser(); if (addBlackDto.getType() == null) { return Result.fail("参数错误"); } if (addBlackDto.getType() == 1) { OtcOrder otcOrder = otcOrderDao.selectById(addBlackDto.getId()); if (otcOrder == null) { return Result.fail("订单不存在"); } OtcBlackList otcBlackList = otcBlackListDao.selectByMemberIdAndBlackMemberId(member.getId(), otcOrder.getEntrustMemberId()); otcBlackListDao.deleteById(otcBlackList.getId()); } else { otcBlackListDao.deleteById(addBlackDto.getId()); } return Result.ok("解除成功"); } }