package com.ydtech.modules.admin.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ydtech.core.page.HttpResult; import com.ydtech.exception.SystemException; import com.ydtech.modules.admin.dao.SysUserBankCardMapper; import com.ydtech.modules.admin.model.po.SysUserBankCard; import com.ydtech.modules.admin.model.po.SysUserBankCardHistory; import com.ydtech.modules.admin.model.vo.SysUserBankCardVO; import com.ydtech.modules.admin.service.SysUserBankCardHistoryService; import com.ydtech.modules.admin.service.SysUserBankCardService; import com.ydtech.modules.base.controller.BaseController; import com.ydtech.modules.order.entity.BasePageResult; import com.ydtech.modules.protocol.utils.AssertionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.Date; import java.util.List; /** * @author Administrator * @description 针对表【sys_user_bank_card(银行卡号)】的数据库操作Service实现 * @createDate 2024-03-05 11:52:30 */ @Service public class SysUserBankCardServiceImpl extends ServiceImpl implements SysUserBankCardService { @Resource private SysUserBankCardService sysUserBankCardService; @Resource private SysUserBankCardHistoryService sysUserBankCardHistoryService; @Override public BasePageResult queryByVo(SysUserBankCardVO sysUserBankCardVO) { Page page = new Page<>(sysUserBankCardVO.getPageNum(), sysUserBankCardVO.getPageSize()); LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); if (StringUtils.isNotEmpty(sysUserBankCardVO.getUserId())) { wrapper.eq(SysUserBankCard::getUserId, sysUserBankCardVO.getUserId()); } if (StringUtils.isNotEmpty(sysUserBankCardVO.getBankNumber())) { wrapper.eq(SysUserBankCard::getBankNumber, sysUserBankCardVO.getBankNumber()); } if (StringUtils.isNotEmpty(sysUserBankCardVO.getBankAccount())) { wrapper.eq(SysUserBankCard::getBankAccount, sysUserBankCardVO.getBankAccount()); } if (StringUtils.isNotEmpty(sysUserBankCardVO.getBankAddress())) { wrapper.eq(SysUserBankCard::getBankAddress, sysUserBankCardVO.getBankAddress()); } if (StringUtils.isNotEmpty(sysUserBankCardVO.getUserName())) { wrapper.eq(SysUserBankCard::getUserName, sysUserBankCardVO.getUserName()); } if (sysUserBankCardVO.getAuditStatus() != null) { wrapper.eq(SysUserBankCard::getAuditStatus, sysUserBankCardVO.getAuditStatus()); } wrapper.orderByAsc(SysUserBankCard::getAuditTime); Page insOrdersPage = page(page, wrapper); return new BasePageResult<>(sysUserBankCardVO.getPageNum(), page.getSize(), insOrdersPage.getTotal(), page.getPages(), insOrdersPage.getRecords()); } @Override public void deleteSysUserBank(Long id) { boolean b = removeById(id); AssertionUtils.isSucceed(b, "删除失败"); } @Override public void unbind(SysUserBankCard sysUserBankCard) { SysUserBankCard sub = sysUserBankCardService.getById(sysUserBankCard.getId()); if (!sub.getAuditStatus().equals("1")) { throw new SystemException("该卡审核还未通过,不可解绑"); } sub.setDelFlag(sysUserBankCard.getDelFlag()); sub.setAuditStatus(sub.getAuditStatus()); sub.setAuditTime(null); sub.setAuditUserName(null); sub.setAuditUserId(null); sub.setRemark(""); sysUserBankCardService.updateById(sub); SysUserBankCardHistory sysUserBankCardHistory = new SysUserBankCardHistory(); sysUserBankCardHistory.setBankNumber(sysUserBankCard.getBankNumber()); sysUserBankCardHistory.setType("unbind"); sysUserBankCardHistory.setCreateTime(new Date()); sysUserBankCardHistory.setCreator(BaseController.getUser().getId()); sysUserBankCardHistory.setBankNumberUserId(sub.getUserId()); sysUserBankCardHistoryService.save(sysUserBankCardHistory); } @Override public void rebind(SysUserBankCard sysUserBankCard) { SysUserBankCard sub = sysUserBankCardService.getOne(new LambdaQueryWrapper() .eq(SysUserBankCard::getBankNumber, sysUserBankCard.getBankNumber())); sub.setDelFlag(sysUserBankCard.getDelFlag()); sub.setAuditStatus("0"); sub.setAuditTime(null); sub.setAuditUserId(null); sub.setAuditUserName(null); sysUserBankCardService.updateById(sub); SysUserBankCardHistory sysUserBankCardHistory = new SysUserBankCardHistory(); sysUserBankCardHistory.setBankNumber(sysUserBankCard.getBankNumber()); sysUserBankCardHistory.setType("rebind"); sysUserBankCardHistory.setCreateTime(new Date()); sysUserBankCardHistory.setCreator(BaseController.getUser().getId()); sysUserBankCardHistory.setBankNumberUserId(sub.getUserId()); sysUserBankCardHistoryService.save(sysUserBankCardHistory); } @Override public void uodate(SysUserBankCardVO sysUserBankCardVO) { SysUserBankCard sysUserBankCard = new SysUserBankCard(); BeanUtils.copyProperties(sysUserBankCardVO, sysUserBankCard); super.updateById(sysUserBankCard); } @Override public HttpResult getByUserId(String userId) { return baseMapper.getByUserId(userId); } @Override public SysUserBankCard getByBankNumber(String bankNumber, String userId) { return baseMapper.getByBankNumber(bankNumber, userId); } @Override @Transactional public void insertByBankNumber(SysUserBankCardVO sysUserBankCardVO) { SysUserBankCard findSysUserBankCard = sysUserBankCardService.getOne(new LambdaQueryWrapper() .eq(SysUserBankCard::getBankNumber, sysUserBankCardVO.getBankNumber()) .eq(SysUserBankCard::getUserId, sysUserBankCardVO.getUserId())); if (findSysUserBankCard != null) { findSysUserBankCard.setDelFlag("0"); findSysUserBankCard.setAuditStatus("0"); findSysUserBankCard.setAuditUserId(null); findSysUserBankCard.setAuditUserName(null); findSysUserBankCard.setAuditTime(null); findSysUserBankCard.setRemark(""); findSysUserBankCard.setBankAddress(sysUserBankCardVO.getBankAddress()); findSysUserBankCard.setBankAccount(sysUserBankCardVO.getBankAccount()); findSysUserBankCard.setRealUserName(sysUserBankCardVO.getRealUserName()); sysUserBankCardService.updateById(findSysUserBankCard); SysUserBankCardHistory sysUserBankCardHistory = new SysUserBankCardHistory(); sysUserBankCardHistory.setBankNumber(sysUserBankCardVO.getBankNumber()); sysUserBankCardHistory.setType("rebind"); sysUserBankCardHistory.setCreateTime(new Date()); sysUserBankCardHistory.setCreator(BaseController.getUser().getId()); sysUserBankCardHistory.setBankNumberUserId(findSysUserBankCard.getUserId()); sysUserBankCardHistoryService.save(sysUserBankCardHistory); }else { SysUserBankCard sysUserBankCard = new SysUserBankCard(); BeanUtils.copyProperties(sysUserBankCardVO, sysUserBankCard); sysUserBankCard.setDelFlag("0"); sysUserBankCard.setCreateTime(new Date()); sysUserBankCard.setAuditStatus("0"); //待审核 sysUserBankCard.setIsDefault(0); sysUserBankCard.setBankNumber(sysUserBankCardVO.getBankNumber().replaceAll("\\s+", "")); sysUserBankCard.setUserName(sysUserBankCardVO.getUserName()); sysUserBankCard.setUserId(sysUserBankCardVO.getUserId()); baseMapper.insert(sysUserBankCard); SysUserBankCardHistory sysUserBankCardHistory = new SysUserBankCardHistory(); sysUserBankCardHistory.setBankNumber(sysUserBankCardVO.getBankNumber()); sysUserBankCardHistory.setType("add"); sysUserBankCardHistory.setCreateTime(new Date()); sysUserBankCardHistory.setCreator(BaseController.getUser().getId()); sysUserBankCardHistory.setBankNumberUserId(sysUserBankCardVO.getUserId()); sysUserBankCardHistoryService.save(sysUserBankCardHistory); } } @Override @Transactional public void auditByBankNumber(SysUserBankCardVO sysUserBankCardVO) { SysUserBankCard sysUserBankCard = sysUserBankCardService.getById(sysUserBankCardVO.getId()); if(sysUserBankCard != null && StringUtils.isNotBlank(sysUserBankCard.getAuditStatus()) && !"0".equals(sysUserBankCard.getAuditStatus())){ throw new SystemException("账户已审核不能重复审核"); } sysUserBankCard.setAuditStatus(sysUserBankCardVO.getAuditStatus()); sysUserBankCard.setAuditTime(new Date()); sysUserBankCard.setAuditUserId(BaseController.getUser().getId()); sysUserBankCard.setAuditUserName(BaseController.getUser().getName()); sysUserBankCard.setRemark(sysUserBankCardVO.getRemark()); sysUserBankCardService.updateById(sysUserBankCard); if (sysUserBankCardVO.getAuditStatus().equals("1")) { SysUserBankCardHistory sysUserBankCardHistory = new SysUserBankCardHistory(); sysUserBankCardHistory.setBankNumber(sysUserBankCard.getBankNumber()); sysUserBankCardHistory.setType("pass"); sysUserBankCardHistory.setCreateTime(new Date()); sysUserBankCardHistory.setCreator(BaseController.getUser().getId()); sysUserBankCardHistory.setBankNumberUserId(sysUserBankCard.getUserId()); sysUserBankCardHistoryService.save(sysUserBankCardHistory); } if (sysUserBankCardVO.getAuditStatus().equals("2")) { SysUserBankCardHistory sysUserBankCardHistory = new SysUserBankCardHistory(); sysUserBankCardHistory.setBankNumber(sysUserBankCard.getBankNumber()); sysUserBankCardHistory.setType("refuse"); sysUserBankCardHistory.setCreateTime(new Date()); sysUserBankCardHistory.setCreator(BaseController.getUser().getId()); sysUserBankCardHistory.setBankNumberUserId(sysUserBankCard.getUserId()); sysUserBankCardHistoryService.save(sysUserBankCardHistory); } } @Override public List queryUsableCard(SysUserBankCard sysUserBankCard) { return baseMapper.queryUsableCard(sysUserBankCard); } @Override public HttpResult> getUserBankList(SysUserBankCard sysUserBankCard) { sysUserBankCard.setUserId(BaseController.getUser().getId()); List sysUserBankCardList = baseMapper.getUserBankList(sysUserBankCard); return HttpResult.ok("success", sysUserBankCardList); } public HttpResult> getUserBankListByQueryParam(SysUserBankCard sysUserBankCard) { sysUserBankCard.setUserId(sysUserBankCard.getUserId()); List sysUserBankCardList = baseMapper.getUserBankList(sysUserBankCard); return HttpResult.ok("success", sysUserBankCardList); } @Override public HttpResult> getUserBankCardHistoryList(SysUserBankCardHistory sysUserBankCardHistory) { List sysUserBankCardHistoryList = baseMapper.getUserBankCardHistoryList(sysUserBankCardHistory); return HttpResult.ok("success", sysUserBankCardHistoryList); } }